aboutsummaryrefslogtreecommitdiff
path: root/env/.zshrc
diff options
context:
space:
mode:
authoriceyrazor <iceyrazor@mailfence.com>2026-09-20 01:57:45 -0500
committericeyrazor <iceyrazor@mailfence.com>2026-09-20 01:57:45 -0500
commit95b3608c70e96f72a01a6115219e3e0496d70785 (patch)
treefa34d8a6bc988321461d13b4ae2e1597a91f250f /env/.zshrc
parentc058edf67d703e5adc22f2953cdcdd696b969f41 (diff)
Squashed commit of the following:
theme change nnn config made COPY_COMMAND variable added .local/bin to env added CSI patch to st
Diffstat (limited to 'env/.zshrc')
-rwxr-xr-xenv/.zshrc31
1 files changed, 31 insertions, 0 deletions
diff --git a/env/.zshrc b/env/.zshrc
index 91eb0ec..8bce2b3 100755
--- a/env/.zshrc
+++ b/env/.zshrc
@@ -23,6 +23,37 @@ function vi-yank-clipboard {
fi
}
+n ()
+{
+ # 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="${XDG_CONFIG_HOME:-$HOME/.config}/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
+ }
+}
+
zle -N vi-yank-clipboard
bindkey -M vicmd ' y' vi-yank-clipboard