diff options
author | Joe <rbo@gmx.us> | 2025-09-06 06:15:17 +0200 |
---|---|---|
committer | Joe <rbo@gmx.us> | 2025-09-06 06:15:17 +0200 |
commit | aae2946b57ac3c9180977b57b4aeafe93ed87972 (patch) | |
tree | f7527c26dd09fa93c000dda31e66f7a3f366a41a /.config/zsh | |
parent | up (diff) | |
download | dotfiles-bsd-aae2946b57ac3c9180977b57b4aeafe93ed87972.tar.gz dotfiles-bsd-aae2946b57ac3c9180977b57b4aeafe93ed87972.tar.bz2 dotfiles-bsd-aae2946b57ac3c9180977b57b4aeafe93ed87972.tar.xz dotfiles-bsd-aae2946b57ac3c9180977b57b4aeafe93ed87972.tar.zst dotfiles-bsd-aae2946b57ac3c9180977b57b4aeafe93ed87972.zip |
up
Diffstat (limited to '.config/zsh')
-rw-r--r-- | .config/zsh/.zshrc | 32 | ||||
-rw-r--r-- | .config/zsh/alias.zsh | 1 |
2 files changed, 32 insertions, 1 deletions
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 843180b..37acce6 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -113,7 +113,37 @@ lfcd () { [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir" fi } -bindkey -s '^o' '^ulfcd\n' +nnncd () +{ + # Block nesting of nnn in subshells + [ "${NNNLVL:-0}" -eq 0 ] || { + echo "nnn is already running" + return + } + + # The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set) + # If NNN_TMPFILE is set to a custom path, it must be exported for nnn to + # see. To cd on quit only on ^G, remove the "export" and make sure not to + # use a custom path, i.e. set NNN_TMPFILE *exactly* as follows: + # NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd" + export NNN_TMPFILE="/tmp/nnn_lastd" + + # Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn + # stty start undef + # stty stop undef + # stty lwrap undef + # stty lnext undef + + # The command builtin allows one to alias nnn to n, if desired, without + # making an infinitely recursive alias + command nnn "$@" + + [ ! -f "$NNN_TMPFILE" ] || { + . "$NNN_TMPFILE" + rm -f -- "$NNN_TMPFILE" > /dev/null + } +} +bindkey -s '^o' '^unnncd\n' bindkey -v "^ " globalias bindkey -v " " magic-space diff --git a/.config/zsh/alias.zsh b/.config/zsh/alias.zsh index 63b8be9..41b090c 100644 --- a/.config/zsh/alias.zsh +++ b/.config/zsh/alias.zsh @@ -60,6 +60,7 @@ alias \ irssi='irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi' \ irc='irssi' \ free='freecolor' \ + n='nnn' \ gt='gpg-tui' \ lg='lazygit' \ tf='terraform' \ |