From 650f9548aab722280a1ccb16b393ec83cd0faba5 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 16 Feb 2025 16:03:48 +0200 Subject: feat(bash): Add nnn function call and set VISUAL editor to nvim --- .bashrc | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to '.bashrc') 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 {{{ -- cgit v1.2.3