addet lf config

This commit is contained in:
piecka 2025-02-25 09:58:13 +01:00
parent 1e49f36e96
commit 0f8e1b4fde
3 changed files with 620 additions and 0 deletions

132
colors Normal file
View file

@ -0,0 +1,132 @@
# 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 03;01;38;5;116 # LINK (cyan)
or 38;5;203 # ORPHAN (red)
tw 38;5;109 # STICKY_OTHER_WRITABLE (light blue)
ow 38;5;109 # OTHER_WRITABLE (light blue)
st 01;38;5;110 # STICKY (blue)
di 01;38;5;111 # DIR (blue)
pi 38;5;175 # FIFO (purple)
so 01;38;5;203 # SOCK (red)
bd 38;5;175;01 # BLK (purple)
cd 38;5;175;01 # CHR (purple)
su 01;38;5;116 # SETUID (light cyan)
sg 01;38;5;116 # SETGID (light cyan)
ex 01;38;5;29 # EXEC (orange)
fi 38;5;252 # FILE (light gray)
# archives or compressed
*.tar 38;5;168
*.tgz 38;5;168
*.zip 38;5;168
*.gz 38;5;168
*.bz2 38;5;168
*.xz 38;5;168
*.rar 38;5;168
*.7z 38;5;168
# image formats
*.jpg 01;38;5;135
*.jpeg 01;38;5;135
*.gif 01;38;5;135
*.bmp 01;38;5;135
*.png 01;38;5;135
*.svg 01;38;5;135
*.ico 03;01;38;5;135
# audio formats
*.mp3 01;38;5;120
*.wav 01;38;5;120
*.flac 01;38;5;120
*.ogg 01;38;5;120
# video formats
*.mp4 38;5;167
*.mkv 38;5;167
*.avi 38;5;167
*.mov 38;5;167
# documents
*.pdf 01;38;5;160
*.doc 01;38;5;160
*.docx 01;38;5;160
*.xls 01;38;5;160
*.xlsx 01;38;5;160
*.ppt 01;38;5;160
*.pptx 01;38;5;160
# source code
*.c 01;38;5;69
*.cpp 01;38;5;69
*.py 01;38;5;69
*.js 38;5;69
*.java 01;38;5;69
*.jar 01;38;5;69
*.sh 01;38;5;69
*.rb 01;38;5;69
*.html 01;38;5;69
*.css 03;01;38;5;69
*.php 01;38;5;69
# text documents
*.md 01;38;5;185
*.txt 01;38;5;185
*.note 01;38;5;185
*.log 03;01;38;5;185
# git related stuff
*.gitignore 03;38;5;131
*.gitmodules 03;38;5;131
*.gitattributes 03;38;5;131
# docker stuff
*.yaml 01;38;5;63
*.yml 01;38;5;63
*.env 01;38;5;63
# config stuff
*.json 01;38;5;161
*.toml 01;38;5;161
*.lock 01;38;5;161
*.xml 01;38;5;161

384
icons Normal file
View file

@ -0,0 +1,384 @@
# vim:ft=conf
# These examples require Nerd Fonts or a compatible font to be used.
# See https://www.nerdfonts.com for more information.
# default values from lf (with matching order)
# ln l # LINK
# or l # ORPHAN
# tw t # STICKY_OTHER_WRITABLE
# ow d # OTHER_WRITABLE
# st t # STICKY
# di d # DIR
# pi p # FIFO
# so s # SOCK
# bd b # BLK
# cd c # CHR
# su u # SETUID
# sg g # SETGID
# ex x # EXEC
# fi - # FILE
# file types (with matching order)
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
# disable some default filetype icons, let them choose icon by filename
# ln  # LINK
# or  # ORPHAN
# tw # STICKY_OTHER_WRITABLE
# ow # OTHER_WRITABLE
# st # STICKY
# di  # DIR
# pi # FIFO
# so # SOCK
# bd # BLK
# cd # CHR
# su # SETUID
# sg # SETGID
# ex # EXEC
# fi  # FILE
# file extensions (vim-devicons)
*.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 
*.pub 󰣀
'^*id_rsa*' 󰣀
*.conf 
*.ini 
*.env 
*.yml 
*.yaml 
*.toml 
*.bat 
*.mk 
*.jpg 
*.jpeg 
*.bmp 
*.png 
*.webp 
*.gif 󰵸
*.ico 
*.twig 
*.cpp 
*.c++ 
*.cxx 
*.cc 
*.cp 
*.c 
*.cs 󰌛
*.h 
*.hh 
*.hpp 
*.hxx 
*.hs 
*.lhs 
*.nix 
*.lua 
*.java 
*.sh 
*.fish 
*.bash 
*.zsh 
*.ksh 
*.csh 
*.awk 
*.ps1 
*.ml λ
*.mli λ
*.diff 
*.db 
*.sql 
*.dump 
*.clj 
*.cljc 
*.cljs 
*.edn 
*.scala 
*.go 
*.dart 
*.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 (vim-devicons) (case-insensitive not supported in lf)
*gruntfile.coffee 
*gruntfile.js 
*gruntfile.ls 
*gulpfile.coffee 
*gulpfile.js 
*gulpfile.ls 
*mix.lock 
*dropbox 
*.ds_store 
*.gitconfig 
*.gitignore 
*.gitattributes 
*.gitlab-ci.yml 
*.bashrc 
*.zshrc 
*.zshenv 
*.zprofile 
*.vimrc 
*.gvimrc 
*_vimrc 
*_gvimrc 
*.bashprofile 
*favicon.ico 
*license 
*node_modules 
*react.jsx 
*procfile 
*dockerfile 
*docker-compose.yml 
*docker-compose.yaml 
*compose.yml 
*compose.yaml 
*rakefile 
*config.ru 
*gemfile 
*makefile 
*cmakelists.txt 
*robots.txt 󰚩
*hyprland.conf 
*hotkeys.conf 
*style.conf 
# file names (case-sensitive adaptations)
*Gruntfile.coffee 
*Gruntfile.js 
*Gruntfile.ls 
*Gulpfile.coffee 
*Gulpfile.js 
*Gulpfile.ls 
*Dropbox 
*.DS_Store 
*LICENSE 
*React.jsx 
*Procfile 
*Dockerfile 
*Docker-compose.yml 
*Docker-compose.yaml 
*Rakefile 
*Gemfile 
*Makefile 
*CMakeLists.txt 
# file patterns (vim-devicons) (patterns not supported in lf)
# .*jquery.*\.js$ 
# .*angular.*\.js$ 
# .*backbone.*\.js$ 
# .*require.*\.js$ 
# .*materialize.*\.js$ 
# .*materialize.*\.css$ 
# .*mootools.*\.js$ 
# .*vimrc.* 
# Vagrantfile$ 
# file patterns (file name adaptations)
*jquery.min.js 
*angular.min.js 
*backbone.min.js 
*require.min.js 
*materialize.min.js 
*materialize.min.css 
*mootools.min.js 
*vimrc 
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 
# image formats (extensions from dircolors defaults)
*.jpg 
*.jpeg 
*.mjpg 
*.mjpeg 
*.gif 󰵸
*.bmp 
*.pbm 
*.pgm 
*.ppm 
*.tga 
*.xbm 
*.xpm 
*.tif 
*.tiff 
*.png 
*.svg 
*.svgz 
*.mng 
*.pcx 
*.mov 
*.mpg 
*.mpeg 
*.m2v 
*.mkv 
*.webm 
*.ogm 
*.mp4 
*.m4v 
*.mp4v 
*.vob 
*.qt 
*.nuv 
*.wmv 
*.asf 
*.rm 
*.rmvb 
*.flc 
*.avi 
*.fli 
*.flv 
*.gl 
*.dl 
*.xcf 
*.xwd 
*.yuv 
*.cgm 
*.emf 
*.ogv 
*.ogx 
# audio formats (extensions from dircolors defaults)
*.aac 
*.au 
*.flac 
*.m4a 
*.mid 
*.midi 
*.mka 
*.mp3 
*.mpc 
*.ogg 
*.ra 
*.wav 
*.oga 
*.opus 
*.spx 
*.xspf 
# other formats
*.pdf 

104
lfrc Normal file
View file

@ -0,0 +1,104 @@
# ───────────────────────────────────< set some options >───────────────────────────────────
# ─< interpreter for shell commands >─────────────────────────────────────────────────────
set shell zsh
set hidden!
# ─< set '-eu' options for shell commands >───────────────────────────────────────────────
set shellopts '-eu'
# ─< set internal field separator (IFS) to "\n" for shell commands >──────────────────────
set ifs "\n"
# ─< leave some space at the top and the bottom of the screen >───────────────────────────
set scrolloff 6
# ─< Use the `dim` attribute instead of underline for the cursor in the preview pane >────
set cursorpreviewfmt "\033[7;2m"
set drawbox
set icons true
# ───────────────────────────────────────< keymaps >─────────────────────────────────────
map t shell
map c :cut
map H set hidden!
map <esc> quit
# show the result of execution of previous commands
map <c-t> !true
map gd :cd
# execute current file (must be executable)
map x $$f
map X !$f
# dedicated keys for file opener actions
map o &mimeopen $f
map O $mimeopen --ask $f
map N &nvim $f
# ─< open everything in neovim >──────────────────────────────────────────────────────────
# map l $if [ -d "$f" ]; then lf -remote "send $id cd \"$f\""; elif [[ "$f" == *.php || "$f" == *.txt || "$f" == *.sh || "$f" == *.html ]]; then nvim "$f"; else $OPENER "$f" > /dev/null 2> /dev/null & fi
# ─< define a custom 'open' command >─────────────────────────────────────────────────────
cmd open &{{
case $(file --mime-type -Lb $f) in
text/*) lf -remote "send $id \$$EDITOR \$fx";;
*) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;;
esac
}}
# ─< Create a new file and open it in the editor >────────────────────────────────────────
map a :push %touch<space>
# ─< mkdir command >──────────────────────────────────────────────────────────────────────
map A :push %mkdir<space>
# ─< make sure trash folder exists >──────────────────────────────────────────────────────
%mkdir -p ~/.local/share/Trash
# move current file or selected files to trash folder
cmd trash %set; mv $fx ~/.local/share/Trash
# ─< use '<delete>' key for 'trash' command >─────────────────────────────────────────────
# map <c-d> trash
map <c-d> trash
# ─< extract the current file with the right command >────────────────────────────────────
cmd extract ${{
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
}}
# ─< compress current file or selected files with tar and gunzip >────────────────────────
cmd tar ${{
set -f
mkdir $1
cp -r $fx $1
tar czf $1.tar.gz $1
rm -rf $1
}}
# ─< compress current file or selected files with zip >───────────────────────────────────
cmd zip ${{
set -f
mkdir $1
cp -r $fx $1
zip -r $1.zip $1
rm -rf $1
}}
# ─< Show file size, last modification time, and permissions in columns >─────────────────
set info 'size:time'
# ─< Enable icons for directories, executables, and symlinks (requires patched font) >────
set icons true
map d :
map v :