From 59a7c790e536d065bbc303a1e3bd49d256fed568 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Tue, 13 Feb 2024 11:43:06 +0100 Subject: [PATCH] Update vifm configuration --- files/config/vifm/vifmrc | 95 +++++++++++++++++++++++++++++++++------- 1 file changed, 80 insertions(+), 15 deletions(-) diff --git a/files/config/vifm/vifmrc b/files/config/vifm/vifmrc index 233ced4..14ea468 100644 --- a/files/config/vifm/vifmrc +++ b/files/config/vifm/vifmrc @@ -1,13 +1,4 @@ " vim: filetype=vifm : -" Sample configuration file for vifm (last updated: 8 August, 2022) -" You can edit this file by hand. -" The " character at the beginning of a line comments out the line. -" Blank lines are ignored. -" The basic format for each item is shown with an example. - -" ------------------------------------------------------------------------------ -" Main settings -" ------------------------------------------------------------------------------ " Command used to edit files in various contexts. The default is vim. " If you would like to use another vi clone such as Elvis or Vile @@ -177,11 +168,14 @@ command! reload :write | restart full " " You can also add %CLEAR if you want to clear screen before running FUSE " program. There is also %FOREGROUND, which is useful for entering passwords. - fileviewer .*/,*/ ls --group-directories-first --classify --color %c fileviewer {*.pdf}, pdftotext -nopgbrk %c - +filetype {*.pdf}, + \ xdg-open fileviewer {*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm}, - \ chafa -f sixel -s %pwx%ph %c:p %pd %N 2>/dev/null + \ chafa --font-ratio='1/3' %c +filetype {*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm}, + \ xdg-open fileviewer *.zip,*.jar,*.war,*.ear,*.oxt tar -tf %f fileviewer *.tgz,*.tar.gz tar -tzf %c fileviewer *.tar.bz2,*.tbz2 tar -tjf %c @@ -193,14 +187,13 @@ fileviewer {*.tar}, tar -tf %c fileviewer {*.rar}, unrar v %c fileviewer {*.7z}, 7z l %c -fileviewer highlight -O xterm256 - \ --config ~/.config/highlight/base16-default-dark.theme %c -filetype * xdg-open +fileviewer bat --color always --wrap never --pager never %c -p +fileviewer * echo "Unknown file type..." " Customize view columns a bit (enable ellipsis for truncated file names) set viewcolumns=-{name}..,6{}. " Show vertical border -set fillchars=vborder:│ +set fillchars=vborder: " Filter-out build and temporary files " filter! {*.lo,*.o,*.d,*.class,*.pyc,*.pyo,.*~} @@ -304,6 +297,9 @@ nnoremap :sync %c " Swap panes nnoremap x +" source somes plugins +source ~/.config/vifm/devicons.vifm + " ------------------------------------------------------------------------------ " Various customization examples " ------------------------------------------------------------------------------ @@ -333,4 +329,73 @@ nnoremap x " Icon decorations example " ------------------------------------------------------------------------------ +" Ranger devicons for ViFM " https://github.com/cirala/vifm_devicons +" +" Filetypes/directories +set classify=' :dir:/, :exe:, :reg:, :link:,? :?:, ::../::' + +" Specific files +set classify+=' ::.Xdefaults,,.Xresources,,.bashprofile,,.bash_profile,,.bashrc,,.dmrc,,.d_store,,.fasd,,.gitconfig,,.gitignore,,.jack-settings,,.mime.types,,.nvidia-settings-rc,,.pam_environment,,.profile,,.recently-used,,.selected_editor,,.xinitpurc,,.zprofile,,.yarnc,,.snclirc,,.tmux.conf,,.urlview,,.config,,.ini,,.user-dirs.dirs,,.mimeapps.list,,.offlineimaprc,,.msmtprc,,.Xauthority,,config::' +set classify+=' ::dropbox::' +set classify+=' ::favicon.*,,README,,readme::' +set classify+=' ::.vim,,.vimrc,,.gvimrc,,.vifm::' +set classify+=' ::gruntfile.coffee,,gruntfile.js,,gruntfile.ls::' +set classify+=' ::gulpfile.coffee,,gulpfile.js,,gulpfile.ls::' +set classify+=' ::ledger::' +set classify+=' ::license,,copyright,,copying,,LICENSE,,COPYRIGHT,,COPYING::' +set classify+=' ::node_modules::' +set classify+=' ::react.jsx::' + +" File extensions +set classify+='λ ::*.ml,,*.mli::' +set classify+=' ::*.styl::' +set classify+=' ::*.scss::' +set classify+=' ::*.py,,*.pyc,,*.pyd,,*.pyo::' +set classify+=' ::*.php::' +set classify+=' ::*.markdown,,*.md::' +set classify+=' ::*.json::' +set classify+=' ::*.js::' +set classify+=' ::*.bmp,,*.gif,,*.ico,,*.jpeg,,*.jpg,,*.png,,*.svg,,*.svgz,,*.tga,,*.tiff,,*.xmb,,*.xcf,,*.xpm,,*.xspf,,*.xwd,,*.cr2,,*.dng,,*.3fr,,*.ari,,*.arw,,*.bay,,*.crw,,*.cr3,,*.cap,,*.data,,*.dcs,,*.dcr,,*.drf,,*.eip,,*.erf,,*.fff,,*.gpr,,*.iiq,,*.k25,,*.kdc,,*.mdc,,*.mef,,*.mos,,*.mrw,,*.obm,,*.orf,,*.pef,,*.ptx,,*.pxn,,*.r3d,,*.raf,,*.raw,,*.rwl,,*.rw2,,*.rwz,,*.sr2,,*.srf,,*.srw,,*.tif,,*.x3f,,*.webp,,*.avif,,*.jxl::' +set classify+=' ::*.ejs,,*.htm,,*.html,,*.slim,,*.xml::' +set classify+=' ::*.mustasche::' +set classify+=' ::*.css,,*.less,,*.bat,,*.conf,,*.ini,,*.rc,,*.yml,,*.cfg::' +set classify+=' ::*.rss::' +set classify+=' ::*.coffee::' +set classify+=' ::*.twig::' +set classify+=' ::*.c++,,*.cpp,,*.cxx,,*.h::' +set classify+=' ::*.cc,,*.c::' +set classify+=' ::*.hs,,*.lhs::' +set classify+=' ::*.lua::' +set classify+=' ::*.jl::' +set classify+=' ::*.go::' +set classify+=' ::*.ts::' +set classify+=' ::*.db,,*.dump,,*.sql::' +set classify+=' ::*.sln,,*.suo::' +set classify+=' ::*.exe::' +set classify+=' ::*.diff,,*.sum,,*.md5,,*.sha512::' +set classify+=' ::*.scala::' +set classify+=' ::*.java,,*.jar::' +set classify+=' ::*.xul::' +set classify+=' ::*.clj,,*.cljc::' +set classify+=' ::*.pl,,*.pm,,*.t::' +set classify+=' ::*.cljs,,*.edn::' +set classify+=' ::*.rb::' +set classify+=' ::*.fish,,*.sh,,*.bash::' +set classify+=' ::*.dart::' +set classify+=' ::*.f#,,*.fs,,*.fsi,,*.fsscript,,*.fsx::' +set classify+=' ::*.rlib,,*.rs::' +set classify+=' ::*.d::' +set classify+=' ::*.erl,,*.hrl::' +set classify+=' ::*.ai::' +set classify+=' ::*.psb,,*.psd::' +set classify+=' ::*.jsx::' +set classify+=' ::*.aac,,*.anx,,*.asf,,*.au,,*.axa,,*.flac,,*.m2a,,*.m4a,,*.mid,,*.midi,,*.mp3,,*.mpc,,*.oga,,*.ogg,,*.ogx,,*.ra,,*.ram,,*.rm,,*.spx,,*.wav,,*.wma,,*.ac3::' +set classify+=' ::*.avi,,*.flv,,*.mkv,,*.mov,,*.mp4,,*.mpeg,,*.mpg,,*.webm,,*.av1::' +set classify+=' ::*.epub,,*.pdf,,*.fb2,,*.djvu::' +set classify+=' ::*.7z,,*.apk,,*.bz2,,*.cab,,*.cpio,,*.deb,,*.gem,,*.gz,,*.gzip,,*.lh,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.tar,,*.tgz,,*.xz,,*.zip,,*.zst::' +set classify+=' ::*.cbr,,*.cbz::' +set classify+=' ::*.log::' +set classify+=' ::*.doc,,*.docx,,*.adoc::' +set classify+=' ::*.xls,,*.xlsmx::' +set classify+=' ::*.pptx,,*.ppt::'