1
0
Fork 0

lf config changes

This commit is contained in:
Luca Bilke 2023-11-16 15:50:22 +01:00
parent 2859ffb97b
commit 4a47f28636
3 changed files with 559 additions and 12 deletions
.config/lf

174
.config/lf/colors Normal file
View file

@ -0,0 +1,174 @@
# vim:ft=dircolors
# (This is not a dircolors file but it helps to highlight colors and comments)
# default values from dircolors
# (entries with a leading # are not implemented in lf)
# #no 00 # NORMAL
# fi 00 # FILE
# #rs 0 # RESET
# di 01;34 # DIR
# ln 01;36 # LINK
# #mh 00 # MULTIHARDLINK
# pi 40;33 # FIFO
# so 01;35 # SOCK
# #do 01;35 # DOOR
# bd 40;33;01 # BLK
# cd 40;33;01 # CHR
# or 40;31;01 # ORPHAN
# #mi 00 # MISSING
# su 37;41 # SETUID
# sg 30;43 # SETGID
# #ca 30;41 # CAPABILITY
# tw 30;42 # STICKY_OTHER_WRITABLE
# ow 34;42 # OTHER_WRITABLE
# st 37;44 # STICKY
# ex 01;32 # EXEC
# default values from lf (with matching order)
# ln 01;36 # LINK
# or 31;01 # ORPHAN
# tw 01;34 # STICKY_OTHER_WRITABLE
# ow 01;34 # OTHER_WRITABLE
# st 01;34 # STICKY
# di 01;34 # DIR
# pi 33 # FIFO
# so 01;35 # SOCK
# bd 33;01 # BLK
# cd 33;01 # CHR
# su 01;32 # SETUID
# sg 01;32 # SETGID
# ex 01;32 # EXEC
# fi 00 # FILE
# file types (with matching order)
ln 01;36 # LINK
or 01;31 # ORPHAN
tw 01;34 # STICKY_OTHER_WRITABLE
ow 01;34 # OTHER_WRITABLE
st 34 # STICKY
di 01;34 # DIR
pi 33 # FIFO
so 35 # SOCK
bd 33 # BLK
cd 33 # CHR
su 32 # SETUID
sg 32 # SETGID
ex 32 # EXEC
fi 00 # FILE
# archives or compressed (dircolors defaults)
*.tar 33
*.tgz 33
*.arc 33
*.arj 33
*.taz 33
*.lha 33
*.lz4 33
*.lzh 33
*.lzma 33
*.tlz 33
*.txz 33
*.tzo 33
*.t7z 33
*.zip 33
*.z 33
*.dz 33
*.gz 33
*.lrz 33
*.lz 33
*.lzo 33
*.xz 33
*.zst 33
*.tzst 33
*.bz2 33
*.bz 33
*.tbz 33
*.tbz2 33
*.tz 33
*.deb 33
*.rpm 33
*.jar 33
*.war 33
*.ear 33
*.sar 33
*.rar 33
*.alz 33
*.ace 33
*.zoo 33
*.cpio 33
*.7z 33
*.rz 33
*.cab 33
*.wim 33
*.swm 33
*.dwm 33
*.esd 33
# image formats (dircolors defaults)
*.jpg 35
*.jpeg 35
*.mjpg 35
*.mjpeg 35
*.gif 35
*.bmp 35
*.pbm 35
*.pgm 35
*.ppm 35
*.tga 35
*.xbm 35
*.xpm 35
*.tif 35
*.tiff 35
*.png 35
*.svg 35
*.svgz 35
*.mng 35
*.pcx 35
*.mov 35
*.mpg 35
*.mpeg 35
*.m2v 35
*.mkv 35
*.webm 35
*.ogm 35
*.mp4 35
*.m4v 35
*.mp4v 35
*.vob 35
*.qt 35
*.nuv 35
*.wmv 35
*.asf 35
*.rm 35
*.rmvb 35
*.flc 35
*.avi 35
*.fli 35
*.flv 35
*.gl 35
*.dl 35
*.xcf 35
*.xwd 35
*.yuv 35
*.cgm 35
*.emf 35
*.ogv 35
*.ogx 35
# audio formats (dircolors defaults)
*.aac 36
*.au 36
*.flac 36
*.m4a 36
*.mid 36
*.midi 36
*.mka 36
*.mp3 36
*.mpc 36
*.ogg 36
*.ra 36
*.wav 36
*.oga 36
*.opus 36
*.spx 36
*.xspf 36

331
.config/lf/icons Normal file
View file

@ -0,0 +1,331 @@
# file types
ln  # LINK
or  # ORPHAN
tw t # STICKY_OTHER_WRITABLE
ow  # OTHER_WRITABLE
st t # STICKY
di  # DIR
pi p # FIFO
so s # SOCK
bd b # BLK
cd c # CHR
su u # SETUID
sg g # SETGID
ex  # EXEC
fi  # FILE
# file extensions
*.styl 
*.sass 
*.scss 
*.htm 
*.html 
*.slim 
*.haml 
*.ejs 
*.css 
*.less 
*.md 
*.mdx 
*.markdown 
*.rmd 
*.json 
*.webmanifest 
*.js 
*.mjs 
*.jsx 
*.rb 
*.gemspec 
*.rake 
*.php 
*.py 
*.pyc 
*.pyo 
*.pyd 
*.coffee 
*.mustache 
*.hbs 
*.conf 
*.ini 
*.yml 
*.yaml 
*.toml 
*.bat 
*.mk 
*.twig 
*.cpp 
*.c++ 
*.cxx 
*.cc 
*.cp 
*.c 
*.cs 
*.h 
*.hh 
*.hpp 
*.hxx 
*.hs 
*.lhs 
*.nix 
*.lua 
*.java 
*.cmd 
*.sh 
*.fish 
*.bash 
*.zsh 
*.ksh 
*.csh 
*.awk 
*.ps1 
*.ml λ
*.mli λ
*.diff 
*.db 
*.sql 
*.dump 
*.clj 
*.cljc 
*.cljs 
*.edn 
*.scala 
*.go 
*.dart 
*.pro 
*.xul 
*.sln 
*.suo 
*.pl 
*.pm 
*.t 
*.rss 
'*.f#' 
*.fsscript 
*.fsx 
*.fs 
*.fsi 
*.rs 
*.rlib 
*.d 
*.erl 
*.hrl 
*.ex 
*.exs 
*.eex 
*.leex 
*.heex 
*.vim 
*.ai 
*.psd 
*.psb 
*.ts 
*.tsx 
*.jl 
*.pp 
*.vue 
*.elm 
*.swift 
*.xcplayground 
*.tex ﭨ
*.r ﳒ
*.rproj 鉶
*.sol ﲹ
*.pem 
# file names
*gruntfile.coffee 
*Gruntfile.coffee 
*gruntfile.js 
*Gruntfile.js 
*gruntfile.ls 
*Gruntfile.ls 
*gulpfile.coffee 
*Gulpfile.coffee 
*gulpfile.js 
*Gulpfile.js 
*gulpfile.ls 
*Gulpfile.ls 
*mix.lock 
*dropbox 
*Dropbox 
*.ds_store 
*.DS_Store 
*.gitconfig 
*.gitignore 
*.gitmodules 
*.gitattributes 
*.gitlab-ci.yml 
*.bashrc 
*.zshrc 
*.zshenv 
*.zprofile 
*.vimrc 
*.gvimrc 
*_vimrc 
*_gvimrc 
*.bashprofile 
*favicon.ico 
*license 
*LICENSE 
*node_modules 
*react.jsx 
*React.jsx 
*procfile 
*Procfile 
*dockerfile 
*Dockerfile 
*docker-compose.yml 
*Docker-compose.yml 
*rakefile 
*Rakefile 
*config.ru 
*gemfile 
*Gemfile 
*makefile 
*Makefile 
*cmakelists.txt 
*CMakeLists.txt 
*robots.txt
# file patterns (patterns not supported in lf yet)
# .*jquery.*\.js$ 
# .*angular.*\.js$ 
# .*backbone.*\.js$ 
# .*require.*\.js$ 
# .*materialize.*\.js$ 
# .*materialize.*\.css$ 
# .*mootools.*\.js$ 
# .*vimrc.* 
# Vagrantfile$ 
# file patterns
*jquery.min.js 
*angular.min.js 
*backbone.min.js 
*require.min.js 
*materialize.min.js 
*materialize.min.css 
*mootools.min.js 
Vagrantfile 
# archives or compressed (extensions from dircolors defaults)
*.tar 
*.tgz 
*.arc 
*.arj 
*.taz 
*.lha 
*.lz4 
*.lzh 
*.lzma 
*.tlz 
*.txz 
*.tzo 
*.t7z 
*.zip 
*.z 
*.dz 
*.gz 
*.lrz 
*.lz 
*.lzo 
*.xz 
*.zst 
*.tzst 
*.bz2 
*.bz 
*.tbz 
*.tbz2 
*.tz 
*.deb 
*.rpm 
*.jar 
*.war 
*.ear 
*.sar 
*.rar 
*.alz 
*.ace 
*.zoo 
*.cpio 
*.7z 
*.rz 
*.cab 
*.wim 
*.swm 
*.dwm 
*.esd 
# media formats
*.jpg 
*.jpeg 
*.mjpg 
*.mjpeg 
*.bmp 
*.pbm 
*.pgm 
*.ppm 
*.tga 
*.xbm 
*.xpm 
*.tif 
*.tiff 
*.png 
*.svg 
*.svgz 
*.pcx 
*.webp 
*.xcf 
*.xwd 
*.cgm 
*.emf 
*.gif 
*.mng 
*.mov 
*.mpg 
*.mpeg 
*.m2v 
*.mkv 
*.webm 
*.ogm 
*.mp4 
*.m4v 
*.mp4v 
*.vob 
*.qt 
*.nuv 
*.wmv 
*.rmvb 
*.dvx 
*.flc 
*.avi 
*.fli 
*.flv 
*.gl 
*.yuv 
*.ogv 
*.ogx 
*.rm 
*.asf 
*.aac 
*.au 
*.flac 
*.m4a 
*.mid 
*.midi 
*.mka 
*.mp3 
*.mpc 
*.ogg 
*.ra 
*.wav 
*.oga 
*.opus 
*.spx 
*.xspf 
# other formats
*.pdf 

View file

@ -8,7 +8,9 @@ set icons
set wrapscroll
set period 1
set previewer ~/.config/lf/preview
set cleaner ~/.config/lf/clean
# set cleaner ~/.config/lf/clean
set cursorpreviewfmt "\033[7;90m"
set promptfmt "\033[34;1m%u\033[36m@\033[34m%h \033[35m[\033[0;1m%d\033[35m]\033[32m » \033[33m%f\033[0m"
cmd open ${{
case $(file --mime-type "$(readlink -f $f)" -b) in
@ -19,6 +21,16 @@ cmd open ${{
cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')"
cmd dupe %{{
for file in $fx; do
find "$PWD" "$file" -maxdepth 0 | grep -oP '(?<=.\.~)\d+(?=~$)' | sort -n | tail -1 | (
ext=$(($(cat /dev/stdin)+1))
filedest="$(echo "$file" | sed 's/.~[[:digit:]]*~$//').~$ext~"
cp -r "$file" "$filedest"
)
done
}}
cmd edit ${{
clear
if [ -w $f ]; then
@ -61,14 +73,16 @@ cmd trash ${{
fi
}}
cmd rsyncto %{{
cmd rsyncto ${{
clear; tput cup $(($(tput lines)/3)); tput bold
set -f
clear; echo "rsync to where?"
clear; echo -n "rsync -azvhP <selected files> "
read dest
clear
for x in $fx; do
eval rsync -aAXHv \"$x\" \"$dest\"
done
eval rsync -azvhP \"$x\" \"$dest\"
done &&
notify-send "File(s) rsynced." "File(s) copies to $dest."
}}
# y (select for copy) and P to paste soft-link
@ -123,21 +137,49 @@ cmd paste &{{
lf -remote "send clear"
}}
cmd share $curl -F"file=@$fx" https://0x0.snaile.de | xclip -r -selection c
cmd fzfsearch ${{
file="$(fzf)"
[ -d $file ] && lf -remote "send $id cd $file" && return 0
[ -f $file ] && lf -remote "send $id select $file"
}}
cmd fzftags ${{
file="$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/tags | sed 's/:\*$//' | fzf)"
[ -d $file ] && lf -remote "send $id cd $file" && return 0
[ -f $file ] && lf -remote "send $id select $file"
}}
cmd fzfmarks ${{
file="$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/marks | sed 's/^.://' | fzf)"
[ -d $file ] && lf -remote "send $id cd $file" && return 0
[ -f $file ] && lf -remote "send $id select $file"
}}
cmd fzfshortcut ${{
file="$(cat ${XDG_CONFIG_HOME:-$HOME/.config}/lf/shortcutrc | cut -d '"' -f2 | fzf)"
[ -d $file ] && lf -remote "send $id cd $file" && return 0
[ -f $file ] && lf -remote "send $id select $file"
}}
cmd fzfgrep ${{
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
res="$(
FZF_DEFAULT_COMMAND="$RG_PREFIX ''" \
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
--ansi --layout=reverse --header 'Search in files' \
| cut -d':' -f1 | sed 's/\\/\\\\/g;s/"/\\"/g'
)"
[ -n "$res" ] && lf -remote "send $id select \"$res\""
}}
# Bindings
map <c-c>a $lf -remote "send $id select '$(fzf)'"
map <c-c>t $lf -remote "send $id select '$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/tags | sed 's/:\*$//' | fzf)'"
map <c-c>f $lf -remote "send $id select '$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/shortcut-files | fzf)'"
map <c-c>d $lf -remote "send $id cd '$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/shortcut-dirs | fzf)'"
map J $dir=$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf) && lf -remote "send $id cd $(eval echo $dir)"
map <c-c>a fzfsearch
map <c-c>t fzftags
map <c-c>m fzfmarks
map <c-c>f fzfshortcut
map <c-c>g fzfgrep
map D trash
map <c-d> delete
map T $trash-restore $PWD
map <c-e> extract
map R rsyncto
map P link
map S share
map <c-g> $lazygit
map <c-v> push :!$EDITOR<space>
map <c-n> push :mkdir<space>