# shell and scripts set shell sh set shellopts '-eu' set ifs "\n" set previewer '~/.config/lf/previewer' # appearance set scrolloff 5 set cursorpreviewfmt "\033[7;2m" # 'dim' cursor for preview pane set hidden true # other behavior set ignorecase true # common directories map gc cd ~/.config map gb cd ~/.local/bin map gS cd ~/.local/share map gD cd ~/documents map gd cd ~/downloads map gM cd ~/mail map gm cd ~/music map gp cd ~/pictures map gs cd ~/pictures/screenshots map gw cd ~/pictures/wallpapers map gr cd ~/repos map gv cd ~/videos map gR cd ~/videos/recordings # custom functions cmd cdtemp &{{ tmp=$(mktemp -d) || exit 1 lf -remote "send $id cd '$tmp'" }} cmd unar ${{ set -f case $f in *.tar.bz | *.tar.bz2 | *.tbz | *.tbz2) tar xjvf $f ;; *.tar.gz | *.tgz) tar xzvf $f ;; *.tar.xz | *.txz) tar xJvf $f ;; *.zip) unzip $f ;; *.rar) unrar x $f ;; *.7z) 7z x $f ;; esac }} cmd mktgz %{{ set -f printf "mktgz: " read -r path mkdir "$path" cp -r $fx "$path" tar czf "$path.tar.gz" "$path" rm -rf "$path" }} cmd mkzip %{{ set -f printf "mkzip: " read -r path mkdir "$path" cp -r $fx "$path" zip -r "$path.zip" "$path" rm -rf "$path" }} cmd touch %{{ printf "touch: " read -r path touch "$path" }} cmd mkdir %{{ printf "mkdir: " read -r path mkdir -p "$path" }} cmd chmod %{{ set -f printf "chmod: " read -r mod chmod "$mod" $fx lf -remote "send $id reload" }} cmd nsxiv &{{ set -f nsxiv -r $fx }} # custom maps map shell map ` !true map D delete map . set hidden! map T cdtemp map au unar map ag mktgz map az mkzip map af touch map ad mkdir map ac chmod map ai nsxiv