summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bashrc31
1 files changed, 31 insertions, 0 deletions
diff --git a/.bashrc b/.bashrc
index 67adc2f..53a7c46 100644
--- a/.bashrc
+++ b/.bashrc
@@ -290,6 +290,36 @@ EOF
alias cds="cdrepo source "
complete -o nospace -F _cdrepo_comp cds
+
+ 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 -deHoJU "$@"
+
+ [ ! -f "$NNN_TMPFILE" ] || {
+ . "$NNN_TMPFILE"
+ rm -f -- "$NNN_TMPFILE" > /dev/null
+ }
+ }
# }}}
# Processes {{{
@@ -327,6 +357,7 @@ EOF
# Variables {{{
export NIX_SHELL_PRESERVE_PROMPT=1
+ export VISUAL=nvim
# }}}
# File operations {{{