" 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 " you will need to change this setting. set vicmd=nvim " Preview by default view " set previewoptions=graphicsdelay:50000,hardgraphicsclear " This makes vifm perform file operations on its own instead of relying on " standard utilities like `cp`. While using `cp` and alike is a more universal " solution, it's also much slower when processing large amounts of files and " doesn't support progress measuring. set syscalls " Position indicator on the left set number " Trash Directory " The default is to move files that are deleted with dd or :d to " the trash directory. If you change this you will not be able to move " files by deleting them and then using p to put the file in the new location. " I recommend not changing this until you are familiar with vifm. " This probably shouldn't be an option. set trash " This is how many directories to store in the directory history. set history=100 " Automatically resolve symbolic links on l or Enter (only for files). set nofollowlinks " With this option turned on you can run partially entered commands with " unambiguous beginning using :! (e.g. :!Te instead of :!Terminal or :!Te). set fastrun " Natural sort of (version) numbers within text. set sortnumbers " Maximum number of changes that can be undone. set undolevels=100 " Use Vim's format of help file (has highlighting and "hyperlinks"). " If you would rather use a plain text help file set novimhelp. set vimhelp " If you would like to run an executable file when you " press return on the file name set this. set norunexec " Selected color scheme colorscheme nord " Format for displaying time in file list. For example: " TIME_STAMP_FORMAT=%m/%d-%H:%M " See man date or man strftime for details. set timefmt=%Y-%m-%d\ %H:%M " Show list of matches on tab completion in command-line mode set wildmenu " Display completions in a form of popup with descriptions of the matches set wildstyle=popup " Show dotfiles set dotfiles " No ../ set dotdirs=treeleafsparent " Show number of sub-items set dirsize=nitems " Display suggestions in normal, visual and view modes for keys, marks and " registers (at most 5 files). In other view, when available. set suggestoptions=normal,visual,view,otherpane,keys,marks,registers " Ignore case in search patterns unless it contains at least one uppercase letter set ignorecase set smartcase " Case insensitve path completion set caseoptions=p " Don't highlight search results automatically set nohlsearch " Use increment searching (search while typing) set incsearch " Try to leave some space from cursor to upper/lower border in lists set scrolloff=4 " Don't do too many requests to slow file systems set slowfs=curlftpfs " Miller mode " set millerview " set milleroptions=lsize:1,csize:3 " Set custom status line look set statusline=" %t%[ -> %T%]%= %A %10u:%-7g %5E %5a %20d " " Set custom ruler line look set rulerformat='%2l/%S%[ +%x%]' " What should be saved automatically between vifm sessions set vifminfo=state,dhistory,chistory,shistory,phistory,bookmarks,bmarks " Use ripgrep instead of grep set grepprg='rg --follow --hidden --color never --column --line-number --no-heading --smart-case %i %a %s' " Use fd instead of find set findprg='fd --follow --hidden --exclude .git --color never %p %s' " ------------------------------------------------------------------------------ " :com[mand][!] command_name action " The following macros can be used in a command " %a is replaced with the user arguments. " %c the current file under the cursor. " %C the current file under the cursor in the other directory. " %f the current selected file, or files. " %F the current selected file, or files in the other directory. " %b same as %f %F. " %d the current directory name. " %D the other window directory name. " %m run the command in a menu window command! df df -h %m 2> /dev/null command! diff nvim -d %f %F command! zip zip -r %a.zip %f command! tar tar cfv %a.tar %f command! atool atool -x %f command! run !! ./%f command! make !!make %a command! mkcd :mkdir %a | cd %a command! vgrep nvim "+grep %a" command! reload :write | restart " fzf file command! fzf : let $FZF_RES = term('fzf --preview-window left --preview "$HOME/.local/bin/garbage/preview {} 2>/dev/null" 2>&0') \| if $FZF_RES != '' \| goto $FZF_RES \| endif " fzf dir command! fzd : let $FZF_RES = term('fd --type d --follow --hidden --exclude .git | fzf --preview "exa -1a --sort=type --color always --icons {} 2>/dev/null" 2> /dev/tty') \| if $FZF_RES != '' \| cd $FZF_RES \| endif " fzf zoxide/zlua command! z : let $FZF_RES = term('fzfz 2>&0') \| if $FZF_RES != '' \| cd $FZF_RES \| endif " ------------------------------------------------------------------------------ mark h ~/ mark C ~/Code mark D ~/Downloads mark P ~/Pictures mark V ~/Videos mark A ~/Media mark U ~/Music mark f ~/.config mark l ~/.local/share mark e /etc mark u /usr/share mark o /opt mark b /boot mark m /media mark M /mnt mark i /run/media mark v /var mark t /tmp mark d /dev mark s /srv mark r / " mark k /bedrock/strata " ------------------------------------------------------------------------------ " Pdf filextype *.pdf zathura %c %i &, filetype *.pdf fbpdf, fimgs, fbgs " PostScript filextype *.ps,*.eps,*.ps.gz \ zathura %f, filetype *.ps,*,eps fimgs, fbgs " Djvu, comics, epub filextype *.mobi,*.pdb ebook-viewer, FBReader filextype *.djvu,*.epub,*.cbr,*.cbz,*.cbt,*.cb7 \ zathura %f, " Audio filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus \ ffplay -nodisp -autoexit %c, " Video filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, \*.as[fx] \ mpv %f &, " Web filextype *.html,*.htm,*.xhtml \ firefox %f &, \ qutebrowser %f &, filetype *.html,*.htm,*.xhtml lynx %f " Object filetype *.o nm %f | less " Man page filetype *.[1-8] man ./%c " Images filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm \ qimgv %f 2>/dev/null &, \ pqiv %f &, \ imv %f &, \ feh %f & filextype *.svg \ inkscape %f &, " OpenRaster filextype *.ora \ krita %f &, " Mindmap filextype *.vym \ vym %f &, " MD5 filetype *.md5 \ md5sum -c %f %S, " SHA1 filetype *.sha1 \ sha1sum -c %f %S, " SHA256 filetype *.sha256 \ sha256sum -c %f %S, " SHA512 filetype *.sha512 \ sha512sum -c %f %S, " GPG signature filetype *.asc \ !!gpg --verify %c, " Torrent filetype *.torrent rtorrent %f & " FuseZipMount filetype *.zip,*.jar,*.war,*.ear,*.oxt,*.apkg \ {Mount with fuse-zip} \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR, \ {View contents} \ zip -sf %c | less, \ {Extract here} \ tar -xf %c, " ArchiveMount filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz \ {Mount with archivemount} \ FUSE_MOUNT|archivemount %SOURCE_FILE %DESTINATION_DIR, " Rar2FsMount and rar archives filetype *.rar \ {Mount with rar2fs} \ FUSE_MOUNT|rar2fs %SOURCE_FILE %DESTINATION_DIR, " IsoMount filetype *.iso \ {Mount with fuseiso} \ FUSE_MOUNT|fuseiso %SOURCE_FILE %DESTINATION_DIR, " SshMount filetype *.ssh \ {Mount with sshfs} \ FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR %FOREGROUND, " FtpMount filetype *.ftp \ {Mount with curlftpfs} \ FUSE_MOUNT2|curlftpfs -o ftp_port=-,,disable_eprt %PARAM %DESTINATION_DIR %FOREGROUND, " Fuse7z and 7z archives filetype *.7z \ {Mount with fuse-7z} \ FUSE_MOUNT|fuse-7z %SOURCE_FILE %DESTINATION_DIR, " Office files filextype *.odt,*.doc,*.docx,*.sxw,*.xls,*.xlsx,*.ods,*.odp,*.pptx libreoffice %f & " TuDu files filetype *.tudu tudu -f %c " Qt projects filextype *.pro qtcreator %f & " mbox filetype *.mbox neomutt -f " Directories filextype */ \ pcmanfm %f &, filextype [\.]*/ \ pcmanfm %f &, " filextype * xdg-open " ------------------------------------------------------------------------------ " if $TERM == 'foot' " fileviewer ,