05aa7d1182
* Changed paru to yay due to new LARBS changes * Fix & improve lf's moveto, copyto and cd to bm-dir When using any of the above functions they returned exit code 1. This was due to the cut command having tab as the delimiter, but spaces are used in the bm-dirs file. As an improvement comments are now automatically removed from the fzf options, because selecting those wouldn't work anyway. The final sed command substituting "~" for "$HOME" is also removed because that doesn't seem to do anything looking at the current structure of the bm-dirs file. The J bind needed more parsing and environment variable substitution because cd didn't work by default with values from a subshell.
107 lines
2.8 KiB
Text
107 lines
2.8 KiB
Text
# Luke's lf settings
|
|
|
|
# Basic vars
|
|
set shell bash
|
|
set shellopts '-eu'
|
|
set ifs "\n"
|
|
set scrolloff 10
|
|
set icons
|
|
set period 1
|
|
set hiddenfiles ".*:*.aux:*.log:*.bbl:*.bcf:*.blg:*.run.xml"
|
|
|
|
# Vars that depend on environmental variables
|
|
$lf -remote "send $id set previewer ${XDG_CONFIG_HOME:-$HOME/.config}/lf/scope"
|
|
|
|
# cmds/functions
|
|
cmd open ${{
|
|
case $(file --mime-type $f -b) in
|
|
image/vnd.djvu|application/pdf|application/octet-stream) setsid -f zathura $fx >/dev/null 2>&1 ;;
|
|
text/*) $EDITOR $fx;;
|
|
image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;;
|
|
image/svg+xml) display -- $f ;;
|
|
image/*) rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|tif\|ico\)\(_large\)*$" | sxiv -aio 2>/dev/null | lf-select ;;
|
|
audio/*) mpv --audio-display=no $f ;;
|
|
video/*) setsid -f mpv $f -quiet >/dev/null 2>&1 ;;
|
|
application/pdf|application/vnd*|application/epub*) setsid -f zathura $fx >/dev/null 2>&1 ;;
|
|
application/pgp-encrypted) $EDITOR $fx ;;
|
|
*) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;;
|
|
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" ] && ext $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="$(awk '{ gsub(/#.*/, ""); } !/^$/ { print $2 }' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf)" &&
|
|
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="$(awk '{ gsub(/#.*/, ""); } !/^$/ { print $2 }' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf)" &&
|
|
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 $(awk '{ gsub(/#.*/, ""); } !/^$/ { print $2 }' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed "s/\${.*-// ; s/}//" | envsubst)"
|
|
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>
|
|
|
|
# Source Bookmarks
|
|
source "~/.config/lf/shortcutrc"
|