|
|
- # Luke's lf settings
-
-
- # Note on Image Previews
- # For those wanting image previews, like this system, there are four steps to
- # set it up. These are done automatically for LARBS users, but I will state
- # them here for others doing it manually.
- #
- # 1. ueberzug must be installed.
- # 2. The scope file (~/.config/lf/scope for me), must have a command similar to
- # mine to generate ueberzug images.
- # 3. A `set cleaner` line as below is a cleaner script.
- # 4. lf should be started through a wrapper script (~/.local/bin/lfub for me)
- # that creates the environment for ueberzug. This command can be be aliased
- # in your shellrc (`alias lf="lfub") or if set to a binding, should be
- # called directly instead of normal lf.
-
- # Basic vars
- set shellopts '-eu'
- set ifs "\n"
- set scrolloff 10
- set icons
- set period 1
- set hiddenfiles ".*:*.aux:*.log:*.bbl:*.bcf:*.blg:*.run.xml"
- set cleaner '~/.config/lf/cleaner'
- set previewer '~/.config/lf/scope'
-
- # cmds/functions
- cmd open ${{
- case $(file --mime-type "$(readlink -f $f)" -b) in
- application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) localc $fx ;;
- image/vnd.djvu|application/pdf|application/octet-stream|application/postscript) setsid -f zathura $fx >/dev/null 2>&1 ;;
- text/*|application/json|inode/x-empty) $EDITOR $fx;;
- image/x-xcf) gimp $f >/dev/null 2>&1 ;;
- image) display -- $f ;;
- audio/*) mpv --audio-display=no $f ;;
- video/*) mpv $f -quiet >/dev/null 2>&1 ;;
- application/pdf|application/vnd*|application/epub*) zathura $fx >/dev/null 2>&1 ;;
- esac
- }}
-
- cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')"
-
- cmd extract ${{
- clear; tput cup $(($(tput lines)/3)); tput bold
- set -f
- printf "%s\n\t" "$fx"
- printf "extract?[y/N]"
- read ans
- [ $ans = "y" ] && aunpack $fx
- }}
-
- cmd delete ${{
- clear; tput cup $(($(tput lines)/3)); tput bold
- set -f
- printf "%s\n\t" "$fx"
- printf "delete?[y/N]"
- read ans
- [ $ans = "y" ] && rm -rf -- $fx
- }}
-
- cmd moveto ${{
- clear; tput cup $(($(tput lines)/3)); tput bold
- set -f
- clear; echo "Move to where?"
- dest="$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed 's|~|$HOME|')" &&
- for x in $fx; do
- eval mv -iv \"$x\" \"$dest\"
- done &&
- notify-send "🚚 File(s) moved." "File(s) moved to $dest."
- }}
-
- cmd copyto ${{
- clear; tput cup $(($(tput lines)/3)); tput bold
- set -f
- clear; echo "Copy to where?"
- dest="$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed 's|~|$HOME|')" &&
- for x in $fx; do
- eval cp -ivr \"$x\" \"$dest\"
- done &&
- notify-send "📋 File(s) copied." "File(s) copies to $dest."
- }}
-
- cmd setbg "$1"
- cmd bulkrename $vidir
-
- # Bindings
- map <c-f> $lf -remote "send $id select '$(fzf)'"
- map J $lf -remote "send $id cd $(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf)"
- map gh
- map g top
- map D delete
- map E extract
- map C copyto
- map M moveto
- map <c-n> push :mkdir<space>
- map <c-r> reload
- map <c-s> set hidden!
- map <enter> shell
- map x $$f
- map X !$f
- map o &mimeopen $f
- map O $mimeopen --ask $f
-
- map A rename # at the very end
- map c push A<c-u> # new rename
- map I push A<c-a> # at the very beginning
- map i push A<a-b><a-b><a-f> # before extention
- map a push A<a-b> # after extention
- map B bulkrename
- map b $setbg $f
-
- map <c-e> down
- map <c-y> up
- map V push :!nvim<space>
-
- map W $setsid -f $TERMINAL >/dev/null 2>&1
-
- map Y $printf "%s" "$fx" | xclip -selection clipboard
|