From 2b3c8b5c7df142fab16dfbb0f991aad49140ac2c Mon Sep 17 00:00:00 2001 From: Jan Andrle Date: Sun, 18 Feb 2024 10:38:10 +0100 Subject: [PATCH] :zap: add vifm --- .config/vifm/colors/Default.vifm | 81 + .config/vifm/colors/codedark.vifm | 26 + .config/vifm/colors/zenburn_1.vifm | 29 + .config/vifm/tags | 857 ++++ .config/vifm/vifm-help.txt | 6509 ++++++++++++++++++++++++++++ .config/vifm/vifmrc | 1 + 6 files changed, 7503 insertions(+) create mode 100644 .config/vifm/colors/Default.vifm create mode 100644 .config/vifm/colors/codedark.vifm create mode 100644 .config/vifm/colors/zenburn_1.vifm create mode 100644 .config/vifm/tags create mode 100644 .config/vifm/vifm-help.txt create mode 120000 .config/vifm/vifmrc diff --git a/.config/vifm/colors/Default.vifm b/.config/vifm/colors/Default.vifm new file mode 100644 index 0000000..c47cbfa --- /dev/null +++ b/.config/vifm/colors/Default.vifm @@ -0,0 +1,81 @@ +" You can edit this file by hand. +" The " character at the beginning of a line comments out the line. +" Blank lines are ignored. + +" The Default color scheme is used for any directory that does not have +" a specified scheme and for parts of user interface like menus. A +" color scheme set for a base directory will also +" be used for the sub directories. + +" The standard ncurses colors are: +" Default = -1 = None, can be used for transparency or default color +" Black = 0 +" Red = 1 +" Green = 2 +" Yellow = 3 +" Blue = 4 +" Magenta = 5 +" Cyan = 6 +" White = 7 + +" Light versions of colors are also available (set bold attribute): +" LightBlack +" LightRed +" LightGreen +" LightYellow +" LightBlue +" LightMagenta +" LightCyan +" LightWhite + +" Available attributes (some of them can be combined): +" bold +" underline +" reverse or inverse +" standout +" italic (on unsupported systems becomes reverse) +" none + +" Vifm supports 256 colors you can use color numbers 0-255 +" (requires properly set up terminal: set your TERM environment variable +" (directly or using resources) to some color terminal name (e.g. +" xterm-256color) from /usr/lib/terminfo/; you can check current number +" of colors in your terminal with tput colors command) + +" highlight group cterm=attrs ctermfg=foreground_color ctermbg=background_color + +highlight clear + +highlight Win cterm=none ctermfg=white ctermbg=black +highlight Directory cterm=bold ctermfg=cyan ctermbg=default +highlight Link cterm=bold ctermfg=yellow ctermbg=default +highlight BrokenLink cterm=bold ctermfg=red ctermbg=default +highlight Socket cterm=bold ctermfg=magenta ctermbg=default +highlight Device cterm=bold ctermfg=red ctermbg=default +highlight Fifo cterm=bold ctermfg=cyan ctermbg=default +highlight Executable cterm=bold ctermfg=green ctermbg=default +highlight Selected cterm=bold ctermfg=magenta ctermbg=default +highlight CurrLine cterm=bold,reverse ctermfg=default ctermbg=default +highlight TopLine cterm=none ctermfg=black ctermbg=white +highlight TopLineSel cterm=bold ctermfg=black ctermbg=default +highlight StatusLine cterm=bold ctermfg=black ctermbg=white +highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black +highlight CmdLine cterm=none ctermfg=white ctermbg=black +highlight ErrorMsg cterm=none ctermfg=red ctermbg=black +highlight Border cterm=none ctermfg=black ctermbg=white +highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white +highlight SuggestBox cterm=bold ctermfg=default ctermbg=default +highlight CmpMismatch cterm=bold ctermfg=white ctermbg=red +highlight AuxWin cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight TabLine cterm=none ctermfg=white ctermbg=black +highlight TabLineSel cterm=bold,reverse ctermfg=default ctermbg=default +highlight User1 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight User2 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight User3 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight User4 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight User5 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight User6 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight User7 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight User8 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight User9 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default +highlight OtherWin cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default diff --git a/.config/vifm/colors/codedark.vifm b/.config/vifm/colors/codedark.vifm new file mode 100644 index 0000000..4e2e58d --- /dev/null +++ b/.config/vifm/colors/codedark.vifm @@ -0,0 +1,26 @@ +" codedark like color scheme for vifm +" Reset all styles first +highlight clear + +highlight Win cterm=none ctermfg=188 ctermbg=none +highlight Border cterm=none ctermfg=none ctermbg=none + +highlight TopLine cterm=none ctermfg=117 ctermbg=235 +highlight TopLineSel cterm=bold ctermfg=75 ctermbg=235 +highlight StatusLine cterm=bold ctermfg=65 ctermbg=234 +highlight ErrorMsg cterm=bold ctermfg=203 ctermbg=235 +highlight JobLine cterm=bold ctermfg=75 ctermbg=235 +highlight WildMenu cterm=bold ctermfg=188 ctermbg=235 +highlight CmdLine cterm=none ctermfg=188 ctermbg=235 + +highlight CurrLine cterm=none ctermfg=none ctermbg=0 +highlight OtherLine cterm=none ctermfg=247 ctermbg=237 +highlight Selected cterm=none ctermfg=none ctermbg=235 + +highlight Directory cterm=none ctermfg=179 ctermbg=none +highlight Executable cterm=none ctermfg=176 ctermbg=none +highlight Link cterm=none ctermfg=173 ctermbg=none +highlight BrokenLink cterm=none ctermfg=164 ctermbg=none +highlight Device cterm=none ctermfg=187 ctermbg=none +highlight Fifo cterm=none ctermfg=187 ctermbg=none +highlight Socket cterm=none ctermfg=187 ctermbg=none diff --git a/.config/vifm/colors/zenburn_1.vifm b/.config/vifm/colors/zenburn_1.vifm new file mode 100644 index 0000000..86b4338 --- /dev/null +++ b/.config/vifm/colors/zenburn_1.vifm @@ -0,0 +1,29 @@ +" zenburn like color scheme for vifm +" http://kippura.org/zenburnpage/ + +" Reset all styles first +highlight clear + +highlight Border cterm=none ctermfg=235 ctermbg=237 + +highlight TopLine cterm=none ctermfg=108 ctermbg=235 +highlight TopLineSel cterm=bold ctermfg=186 ctermbg=235 + +highlight Win cterm=none ctermfg=188 ctermbg=237 +highlight Directory cterm=none ctermfg=108 ctermbg=237 +highlight CurrLine cterm=none ctermfg=223 ctermbg=235 +highlight OtherLine cterm=none ctermfg=247 ctermbg=237 +highlight Selected cterm=none ctermfg=116 ctermbg=238 + +highlight JobLine cterm=bold ctermfg=116 ctermbg=238 +highlight StatusLine cterm=bold ctermfg=144 ctermbg=236 +highlight ErrorMsg cterm=bold ctermfg=115 ctermbg=237 +highlight WildMenu cterm=bold ctermfg=235 ctermbg=144 +highlight CmdLine cterm=none ctermfg=188 ctermbg=237 + +highlight Executable cterm=none ctermfg=172 ctermbg=237 +highlight Link cterm=none ctermfg=142 ctermbg=237 +highlight BrokenLink cterm=none ctermfg=174 ctermbg=237 +highlight Device cterm=none ctermfg=228 ctermbg=237 +highlight Fifo cterm=none ctermfg=109 ctermbg=237 +highlight Socket cterm=none ctermfg=110 ctermbg=237 diff --git a/.config/vifm/tags b/.config/vifm/tags new file mode 100644 index 0000000..f3d0eb8 --- /dev/null +++ b/.config/vifm/tags @@ -0,0 +1,857 @@ +vifm-!! vifm-help.txt /*vifm-!!* +vifm-$ vifm-help.txt /*vifm-$* +vifm-$HOME vifm-help.txt /*vifm-$HOME* +vifm-$MYVIFMRC vifm-help.txt /*vifm-$MYVIFMRC* +vifm-$VIFM vifm-help.txt /*vifm-$VIFM* +vifm-$VIFM_FUSE_FILE vifm-help.txt /*vifm-$VIFM_FUSE_FILE* +vifm-% vifm-help.txt /*vifm-%* +vifm-%C vifm-help.txt /*vifm-%C* +vifm-%D vifm-help.txt /*vifm-%D* +vifm-%F vifm-help.txt /*vifm-%F* +vifm-%IU vifm-help.txt /*vifm-%IU* +vifm-%Iu vifm-help.txt /*vifm-%Iu* +vifm-%L vifm-help.txt /*vifm-%L* +vifm-%M vifm-help.txt /*vifm-%M* +vifm-%N vifm-help.txt /*vifm-%N* +vifm-%Pl vifm-help.txt /*vifm-%Pl* +vifm-%Pz vifm-help.txt /*vifm-%Pz* +vifm-%S vifm-help.txt /*vifm-%S* +vifm-%U vifm-help.txt /*vifm-%U* +vifm-%a vifm-help.txt /*vifm-%a* +vifm-%b vifm-help.txt /*vifm-%b* +vifm-%c vifm-help.txt /*vifm-%c* +vifm-%d vifm-help.txt /*vifm-%d* +vifm-%f vifm-help.txt /*vifm-%f* +vifm-%i vifm-help.txt /*vifm-%i* +vifm-%l vifm-help.txt /*vifm-%l* +vifm-%m vifm-help.txt /*vifm-%m* +vifm-%n vifm-help.txt /*vifm-%n* +vifm-%pc vifm-help.txt /*vifm-%pc* +vifm-%pd vifm-help.txt /*vifm-%pd* +vifm-%ph vifm-help.txt /*vifm-%ph* +vifm-%pu vifm-help.txt /*vifm-%pu* +vifm-%pw vifm-help.txt /*vifm-%pw* +vifm-%px vifm-help.txt /*vifm-%px* +vifm-%py vifm-help.txt /*vifm-%py* +vifm-%q vifm-help.txt /*vifm-%q* +vifm-%r vifm-help.txt /*vifm-%r* +vifm-%s vifm-help.txt /*vifm-%s* +vifm-%u vifm-help.txt /*vifm-%u* +vifm-%v vifm-help.txt /*vifm-%v* +vifm-' vifm-help.txt /*vifm-'* +vifm-'aproposprg' vifm-help.txt /*vifm-'aproposprg'* +vifm-'autocd' vifm-help.txt /*vifm-'autocd'* +vifm-'autochpos' vifm-help.txt /*vifm-'autochpos'* +vifm-'caseoptions' vifm-help.txt /*vifm-'caseoptions'* +vifm-'cd' vifm-help.txt /*vifm-'cd'* +vifm-'cdpath' vifm-help.txt /*vifm-'cdpath'* +vifm-'cf' vifm-help.txt /*vifm-'cf'* +vifm-'chaselinks' vifm-help.txt /*vifm-'chaselinks'* +vifm-'classify' vifm-help.txt /*vifm-'classify'* +vifm-'co' vifm-help.txt /*vifm-'co'* +vifm-'columns' vifm-help.txt /*vifm-'columns'* +vifm-'confirm' vifm-help.txt /*vifm-'confirm'* +vifm-'cpo' vifm-help.txt /*vifm-'cpo'* +vifm-'cpoptions' vifm-help.txt /*vifm-'cpoptions'* +vifm-'cvoptions' vifm-help.txt /*vifm-'cvoptions'* +vifm-'deleteprg' vifm-help.txt /*vifm-'deleteprg'* +vifm-'dirsize' vifm-help.txt /*vifm-'dirsize'* +vifm-'dotdirs' vifm-help.txt /*vifm-'dotdirs'* +vifm-'dotfiles' vifm-help.txt /*vifm-'dotfiles'* +vifm-'fastrun' vifm-help.txt /*vifm-'fastrun'* +vifm-'fcs' vifm-help.txt /*vifm-'fcs'* +vifm-'fillchars' vifm-help.txt /*vifm-'fillchars'* +vifm-'findprg' vifm-help.txt /*vifm-'findprg'* +vifm-'followlinks' vifm-help.txt /*vifm-'followlinks'* +vifm-'fusehome' vifm-help.txt /*vifm-'fusehome'* +vifm-'gd' vifm-help.txt /*vifm-'gd'* +vifm-'gdefault' vifm-help.txt /*vifm-'gdefault'* +vifm-'grepprg' vifm-help.txt /*vifm-'grepprg'* +vifm-'hi' vifm-help.txt /*vifm-'hi'* +vifm-'histcursor' vifm-help.txt /*vifm-'histcursor'* +vifm-'history' vifm-help.txt /*vifm-'history'* +vifm-'hls' vifm-help.txt /*vifm-'hls'* +vifm-'hlsearch' vifm-help.txt /*vifm-'hlsearch'* +vifm-'ic' vifm-help.txt /*vifm-'ic'* +vifm-'iec' vifm-help.txt /*vifm-'iec'* +vifm-'ignorecase' vifm-help.txt /*vifm-'ignorecase'* +vifm-'incsearch' vifm-help.txt /*vifm-'incsearch'* +vifm-'iooptions' vifm-help.txt /*vifm-'iooptions'* +vifm-'is' vifm-help.txt /*vifm-'is'* +vifm-'laststatus' vifm-help.txt /*vifm-'laststatus'* +vifm-'lines' vifm-help.txt /*vifm-'lines'* +vifm-'locateprg' vifm-help.txt /*vifm-'locateprg'* +vifm-'ls' vifm-help.txt /*vifm-'ls'* +vifm-'lsoptions' vifm-help.txt /*vifm-'lsoptions'* +vifm-'lsview' vifm-help.txt /*vifm-'lsview'* +vifm-'mediaprg' vifm-help.txt /*vifm-'mediaprg'* +vifm-'milleroptions' vifm-help.txt /*vifm-'milleroptions'* +vifm-'millerview' vifm-help.txt /*vifm-'millerview'* +vifm-'mintimeoutlen' vifm-help.txt /*vifm-'mintimeoutlen'* +vifm-'nu' vifm-help.txt /*vifm-'nu'* +vifm-'number' vifm-help.txt /*vifm-'number'* +vifm-'numberwidth' vifm-help.txt /*vifm-'numberwidth'* +vifm-'nuw' vifm-help.txt /*vifm-'nuw'* +vifm-'previewoptions' vifm-help.txt /*vifm-'previewoptions'* +vifm-'previewprg' vifm-help.txt /*vifm-'previewprg'* +vifm-'quickview' vifm-help.txt /*vifm-'quickview'* +vifm-'relativenumber' vifm-help.txt /*vifm-'relativenumber'* +vifm-'rnu' vifm-help.txt /*vifm-'rnu'* +vifm-'ruf' vifm-help.txt /*vifm-'ruf'* +vifm-'rulerformat' vifm-help.txt /*vifm-'rulerformat'* +vifm-'runexec' vifm-help.txt /*vifm-'runexec'* +vifm-'scb' vifm-help.txt /*vifm-'scb'* +vifm-'scrollbind' vifm-help.txt /*vifm-'scrollbind'* +vifm-'scrolloff' vifm-help.txt /*vifm-'scrolloff'* +vifm-'scs' vifm-help.txt /*vifm-'scs'* +vifm-'sessionoptions' vifm-help.txt /*vifm-'sessionoptions'* +vifm-'sh' vifm-help.txt /*vifm-'sh'* +vifm-'shcf' vifm-help.txt /*vifm-'shcf'* +vifm-'shell' vifm-help.txt /*vifm-'shell'* +vifm-'shellcmdflag' vifm-help.txt /*vifm-'shellcmdflag'* +vifm-'shm' vifm-help.txt /*vifm-'shm'* +vifm-'shortmess' vifm-help.txt /*vifm-'shortmess'* +vifm-'showtabline' vifm-help.txt /*vifm-'showtabline'* +vifm-'sizefmt' vifm-help.txt /*vifm-'sizefmt'* +vifm-'slowfs' vifm-help.txt /*vifm-'slowfs'* +vifm-'smartcase' vifm-help.txt /*vifm-'smartcase'* +vifm-'so' vifm-help.txt /*vifm-'so'* +vifm-'sort' vifm-help.txt /*vifm-'sort'* +vifm-'sortgroups' vifm-help.txt /*vifm-'sortgroups'* +vifm-'sortnumbers' vifm-help.txt /*vifm-'sortnumbers'* +vifm-'sortorder' vifm-help.txt /*vifm-'sortorder'* +vifm-'ssop' vifm-help.txt /*vifm-'ssop'* +vifm-'stal' vifm-help.txt /*vifm-'stal'* +vifm-'statusline' vifm-help.txt /*vifm-'statusline'* +vifm-'stl' vifm-help.txt /*vifm-'stl'* +vifm-'suggestoptions' vifm-help.txt /*vifm-'suggestoptions'* +vifm-'syncregs' vifm-help.txt /*vifm-'syncregs'* +vifm-'syscalls' vifm-help.txt /*vifm-'syscalls'* +vifm-'tablabel' vifm-help.txt /*vifm-'tablabel'* +vifm-'tabprefix' vifm-help.txt /*vifm-'tabprefix'* +vifm-'tabscope' vifm-help.txt /*vifm-'tabscope'* +vifm-'tabstop' vifm-help.txt /*vifm-'tabstop'* +vifm-'tabsuffix' vifm-help.txt /*vifm-'tabsuffix'* +vifm-'timefmt' vifm-help.txt /*vifm-'timefmt'* +vifm-'timeoutlen' vifm-help.txt /*vifm-'timeoutlen'* +vifm-'title' vifm-help.txt /*vifm-'title'* +vifm-'tm' vifm-help.txt /*vifm-'tm'* +vifm-'to' vifm-help.txt /*vifm-'to'* +vifm-'trash' vifm-help.txt /*vifm-'trash'* +vifm-'trashdir' vifm-help.txt /*vifm-'trashdir'* +vifm-'ts' vifm-help.txt /*vifm-'ts'* +vifm-'tuioptions' vifm-help.txt /*vifm-'tuioptions'* +vifm-'ul' vifm-help.txt /*vifm-'ul'* +vifm-'undolevels' vifm-help.txt /*vifm-'undolevels'* +vifm-'vicmd' vifm-help.txt /*vifm-'vicmd'* +vifm-'viewcolumns' vifm-help.txt /*vifm-'viewcolumns'* +vifm-'vifminfo' vifm-help.txt /*vifm-'vifminfo'* +vifm-'vimhelp' vifm-help.txt /*vifm-'vimhelp'* +vifm-'vixcmd' vifm-help.txt /*vifm-'vixcmd'* +vifm-'wildmenu' vifm-help.txt /*vifm-'wildmenu'* +vifm-'wildstyle' vifm-help.txt /*vifm-'wildstyle'* +vifm-'wmnu' vifm-help.txt /*vifm-'wmnu'* +vifm-'wordchars' vifm-help.txt /*vifm-'wordchars'* +vifm-'wrap' vifm-help.txt /*vifm-'wrap'* +vifm-'wrapscan' vifm-help.txt /*vifm-'wrapscan'* +vifm-'ws' vifm-help.txt /*vifm-'ws'* +vifm-( vifm-help.txt /*vifm-(* +vifm-) vifm-help.txt /*vifm-)* +vifm-, vifm-help.txt /*vifm-,* +vifm--+c vifm-help.txt /*vifm--+c* +vifm---choose-dir vifm-help.txt /*vifm---choose-dir* +vifm---choose-files vifm-help.txt /*vifm---choose-files* +vifm---delimiter vifm-help.txt /*vifm---delimiter* +vifm---help vifm-help.txt /*vifm---help* +vifm---logging vifm-help.txt /*vifm---logging* +vifm---no-configs vifm-help.txt /*vifm---no-configs* +vifm---on-choose vifm-help.txt /*vifm---on-choose* +vifm---remote vifm-help.txt /*vifm---remote* +vifm---remote-expr vifm-help.txt /*vifm---remote-expr* +vifm---select vifm-help.txt /*vifm---select* +vifm---server-list vifm-help.txt /*vifm---server-list* +vifm---server-name vifm-help.txt /*vifm---server-name* +vifm---version vifm-help.txt /*vifm---version* +vifm--c vifm-help.txt /*vifm--c* +vifm--f vifm-help.txt /*vifm--f* +vifm--h vifm-help.txt /*vifm--h* +vifm--v vifm-help.txt /*vifm--v* +vifm-. vifm-help.txt /*vifm-.* +vifm-/ vifm-help.txt /*vifm-\/* +vifm-0 vifm-help.txt /*vifm-0* +vifm-: vifm-help.txt /*vifm-:* +vifm-:! vifm-help.txt /*vifm-:!* +vifm-:!! vifm-help.txt /*vifm-:!!* +vifm-:alink vifm-help.txt /*vifm-:alink* +vifm-:apropos vifm-help.txt /*vifm-:apropos* +vifm-:au vifm-help.txt /*vifm-:au* +vifm-:autocmd vifm-help.txt /*vifm-:autocmd* +vifm-:bar vifm-help.txt /*vifm-:bar* +vifm-:bmark vifm-help.txt /*vifm-:bmark* +vifm-:bmarks vifm-help.txt /*vifm-:bmarks* +vifm-:bmgo vifm-help.txt /*vifm-:bmgo* +vifm-:c vifm-help.txt /*vifm-:c* +vifm-:ca vifm-help.txt /*vifm-:ca* +vifm-:cabbrev vifm-help.txt /*vifm-:cabbrev* +vifm-:cd vifm-help.txt /*vifm-:cd* +vifm-:cds vifm-help.txt /*vifm-:cds* +vifm-:change vifm-help.txt /*vifm-:change* +vifm-:chmod vifm-help.txt /*vifm-:chmod* +vifm-:chown vifm-help.txt /*vifm-:chown* +vifm-:clone vifm-help.txt /*vifm-:clone* +vifm-:cm vifm-help.txt /*vifm-:cm* +vifm-:cmap vifm-help.txt /*vifm-:cmap* +vifm-:cno vifm-help.txt /*vifm-:cno* +vifm-:cnorea vifm-help.txt /*vifm-:cnorea* +vifm-:cnoreabbrev vifm-help.txt /*vifm-:cnoreabbrev* +vifm-:cnoremap vifm-help.txt /*vifm-:cnoremap* +vifm-:co vifm-help.txt /*vifm-:co* +vifm-:colo vifm-help.txt /*vifm-:colo* +vifm-:colorscheme vifm-help.txt /*vifm-:colorscheme* +vifm-:com vifm-help.txt /*vifm-:com* +vifm-:comc vifm-help.txt /*vifm-:comc* +vifm-:comclear vifm-help.txt /*vifm-:comclear* +vifm-:command vifm-help.txt /*vifm-:command* +vifm-:command-params vifm-help.txt /*vifm-:command-params* +vifm-:compare vifm-help.txt /*vifm-:compare* +vifm-:cope vifm-help.txt /*vifm-:cope* +vifm-:copen vifm-help.txt /*vifm-:copen* +vifm-:copy vifm-help.txt /*vifm-:copy* +vifm-:cq vifm-help.txt /*vifm-:cq* +vifm-:cquit vifm-help.txt /*vifm-:cquit* +vifm-:cu vifm-help.txt /*vifm-:cu* +vifm-:cuna vifm-help.txt /*vifm-:cuna* +vifm-:cunabbrev vifm-help.txt /*vifm-:cunabbrev* +vifm-:cunmap vifm-help.txt /*vifm-:cunmap* +vifm-:d vifm-help.txt /*vifm-:d* +vifm-:delbmarks vifm-help.txt /*vifm-:delbmarks* +vifm-:delc vifm-help.txt /*vifm-:delc* +vifm-:delcommand vifm-help.txt /*vifm-:delcommand* +vifm-:delete vifm-help.txt /*vifm-:delete* +vifm-:delm vifm-help.txt /*vifm-:delm* +vifm-:delmarks vifm-help.txt /*vifm-:delmarks* +vifm-:delsession vifm-help.txt /*vifm-:delsession* +vifm-:di vifm-help.txt /*vifm-:di* +vifm-:dirs vifm-help.txt /*vifm-:dirs* +vifm-:display vifm-help.txt /*vifm-:display* +vifm-:dm vifm-help.txt /*vifm-:dm* +vifm-:dmap vifm-help.txt /*vifm-:dmap* +vifm-:dn vifm-help.txt /*vifm-:dn* +vifm-:dnoremap vifm-help.txt /*vifm-:dnoremap* +vifm-:du vifm-help.txt /*vifm-:du* +vifm-:dunmap vifm-help.txt /*vifm-:dunmap* +vifm-:e vifm-help.txt /*vifm-:e* +vifm-:ec vifm-help.txt /*vifm-:ec* +vifm-:echo vifm-help.txt /*vifm-:echo* +vifm-:edit vifm-help.txt /*vifm-:edit* +vifm-:el vifm-help.txt /*vifm-:el* +vifm-:else vifm-help.txt /*vifm-:else* +vifm-:elsei vifm-help.txt /*vifm-:elsei* +vifm-:elseif vifm-help.txt /*vifm-:elseif* +vifm-:empty vifm-help.txt /*vifm-:empty* +vifm-:en vifm-help.txt /*vifm-:en* +vifm-:endif vifm-help.txt /*vifm-:endif* +vifm-:exe vifm-help.txt /*vifm-:exe* +vifm-:execute vifm-help.txt /*vifm-:execute* +vifm-:exi vifm-help.txt /*vifm-:exi* +vifm-:exit vifm-help.txt /*vifm-:exit* +vifm-:f vifm-help.txt /*vifm-:f* +vifm-:file vifm-help.txt /*vifm-:file* +vifm-:filet vifm-help.txt /*vifm-:filet* +vifm-:filetype vifm-help.txt /*vifm-:filetype* +vifm-:filev vifm-help.txt /*vifm-:filev* +vifm-:fileviewer vifm-help.txt /*vifm-:fileviewer* +vifm-:filex vifm-help.txt /*vifm-:filex* +vifm-:filextype vifm-help.txt /*vifm-:filextype* +vifm-:filter vifm-help.txt /*vifm-:filter* +vifm-:fin vifm-help.txt /*vifm-:fin* +vifm-:find vifm-help.txt /*vifm-:find* +vifm-:fini vifm-help.txt /*vifm-:fini* +vifm-:finish vifm-help.txt /*vifm-:finish* +vifm-:go vifm-help.txt /*vifm-:go* +vifm-:goto vifm-help.txt /*vifm-:goto* +vifm-:gr vifm-help.txt /*vifm-:gr* +vifm-:grep vifm-help.txt /*vifm-:grep* +vifm-:h vifm-help.txt /*vifm-:h* +vifm-:help vifm-help.txt /*vifm-:help* +vifm-:hi vifm-help.txt /*vifm-:hi* +vifm-:hideui vifm-help.txt /*vifm-:hideui* +vifm-:highlight vifm-help.txt /*vifm-:highlight* +vifm-:his vifm-help.txt /*vifm-:his* +vifm-:histnext vifm-help.txt /*vifm-:histnext* +vifm-:history vifm-help.txt /*vifm-:history* +vifm-:histprev vifm-help.txt /*vifm-:histprev* +vifm-:if vifm-help.txt /*vifm-:if* +vifm-:invert vifm-help.txt /*vifm-:invert* +vifm-:jobs vifm-help.txt /*vifm-:jobs* +vifm-:keepsel vifm-help.txt /*vifm-:keepsel* +vifm-:let vifm-help.txt /*vifm-:let* +vifm-:locate vifm-help.txt /*vifm-:locate* +vifm-:ls vifm-help.txt /*vifm-:ls* +vifm-:lstrash vifm-help.txt /*vifm-:lstrash* +vifm-:m vifm-help.txt /*vifm-:m* +vifm-:ma vifm-help.txt /*vifm-:ma* +vifm-:map vifm-help.txt /*vifm-:map* +vifm-:mark vifm-help.txt /*vifm-:mark* +vifm-:marks vifm-help.txt /*vifm-:marks* +vifm-:media vifm-help.txt /*vifm-:media* +vifm-:mes vifm-help.txt /*vifm-:mes* +vifm-:messages vifm-help.txt /*vifm-:messages* +vifm-:mkdir vifm-help.txt /*vifm-:mkdir* +vifm-:mm vifm-help.txt /*vifm-:mm* +vifm-:mmap vifm-help.txt /*vifm-:mmap* +vifm-:mn vifm-help.txt /*vifm-:mn* +vifm-:mnoremap vifm-help.txt /*vifm-:mnoremap* +vifm-:move vifm-help.txt /*vifm-:move* +vifm-:mu vifm-help.txt /*vifm-:mu* +vifm-:munmap vifm-help.txt /*vifm-:munmap* +vifm-:nm vifm-help.txt /*vifm-:nm* +vifm-:nmap vifm-help.txt /*vifm-:nmap* +vifm-:nn vifm-help.txt /*vifm-:nn* +vifm-:nnoremap vifm-help.txt /*vifm-:nnoremap* +vifm-:no vifm-help.txt /*vifm-:no* +vifm-:noh vifm-help.txt /*vifm-:noh* +vifm-:nohlsearch vifm-help.txt /*vifm-:nohlsearch* +vifm-:noremap vifm-help.txt /*vifm-:noremap* +vifm-:norm vifm-help.txt /*vifm-:norm* +vifm-:normal vifm-help.txt /*vifm-:normal* +vifm-:nun vifm-help.txt /*vifm-:nun* +vifm-:nunmap vifm-help.txt /*vifm-:nunmap* +vifm-:on vifm-help.txt /*vifm-:on* +vifm-:only vifm-help.txt /*vifm-:only* +vifm-:plugin vifm-help.txt /*vifm-:plugin* +vifm-:plugins vifm-help.txt /*vifm-:plugins* +vifm-:popd vifm-help.txt /*vifm-:popd* +vifm-:pu vifm-help.txt /*vifm-:pu* +vifm-:pushd vifm-help.txt /*vifm-:pushd* +vifm-:put vifm-help.txt /*vifm-:put* +vifm-:pw vifm-help.txt /*vifm-:pw* +vifm-:pwd vifm-help.txt /*vifm-:pwd* +vifm-:q vifm-help.txt /*vifm-:q* +vifm-:qa vifm-help.txt /*vifm-:qa* +vifm-:qall vifm-help.txt /*vifm-:qall* +vifm-:qm vifm-help.txt /*vifm-:qm* +vifm-:qmap vifm-help.txt /*vifm-:qmap* +vifm-:qn vifm-help.txt /*vifm-:qn* +vifm-:qnoremap vifm-help.txt /*vifm-:qnoremap* +vifm-:quit vifm-help.txt /*vifm-:quit* +vifm-:qun vifm-help.txt /*vifm-:qun* +vifm-:qunmap vifm-help.txt /*vifm-:qunmap* +vifm-:range vifm-help.txt /*vifm-:range* +vifm-:redr vifm-help.txt /*vifm-:redr* +vifm-:redraw vifm-help.txt /*vifm-:redraw* +vifm-:reg vifm-help.txt /*vifm-:reg* +vifm-:registers vifm-help.txt /*vifm-:registers* +vifm-:regular vifm-help.txt /*vifm-:regular* +vifm-:rename vifm-help.txt /*vifm-:rename* +vifm-:restart vifm-help.txt /*vifm-:restart* +vifm-:restore vifm-help.txt /*vifm-:restore* +vifm-:rlink vifm-help.txt /*vifm-:rlink* +vifm-:s vifm-help.txt /*vifm-:s* +vifm-:screen vifm-help.txt /*vifm-:screen* +vifm-:se vifm-help.txt /*vifm-:se* +vifm-:select vifm-help.txt /*vifm-:select* +vifm-:session vifm-help.txt /*vifm-:session* +vifm-:set vifm-help.txt /*vifm-:set* +vifm-:setg vifm-help.txt /*vifm-:setg* +vifm-:setglobal vifm-help.txt /*vifm-:setglobal* +vifm-:setl vifm-help.txt /*vifm-:setl* +vifm-:setlocal vifm-help.txt /*vifm-:setlocal* +vifm-:sh vifm-help.txt /*vifm-:sh* +vifm-:shell vifm-help.txt /*vifm-:shell* +vifm-:siblnext vifm-help.txt /*vifm-:siblnext* +vifm-:siblprev vifm-help.txt /*vifm-:siblprev* +vifm-:so vifm-help.txt /*vifm-:so* +vifm-:sor vifm-help.txt /*vifm-:sor* +vifm-:sort vifm-help.txt /*vifm-:sort* +vifm-:source vifm-help.txt /*vifm-:source* +vifm-:sp vifm-help.txt /*vifm-:sp* +vifm-:split vifm-help.txt /*vifm-:split* +vifm-:st vifm-help.txt /*vifm-:st* +vifm-:stop vifm-help.txt /*vifm-:stop* +vifm-:substitute vifm-help.txt /*vifm-:substitute* +vifm-:sync vifm-help.txt /*vifm-:sync* +vifm-:tabc vifm-help.txt /*vifm-:tabc* +vifm-:tabclose vifm-help.txt /*vifm-:tabclose* +vifm-:tabm vifm-help.txt /*vifm-:tabm* +vifm-:tabmove vifm-help.txt /*vifm-:tabmove* +vifm-:tabn vifm-help.txt /*vifm-:tabn* +vifm-:tabname vifm-help.txt /*vifm-:tabname* +vifm-:tabnew vifm-help.txt /*vifm-:tabnew* +vifm-:tabnext vifm-help.txt /*vifm-:tabnext* +vifm-:tabo vifm-help.txt /*vifm-:tabo* +vifm-:tabonly vifm-help.txt /*vifm-:tabonly* +vifm-:tabp vifm-help.txt /*vifm-:tabp* +vifm-:tabprevious vifm-help.txt /*vifm-:tabprevious* +vifm-:touch vifm-help.txt /*vifm-:touch* +vifm-:tr vifm-help.txt /*vifm-:tr* +vifm-:trashes vifm-help.txt /*vifm-:trashes* +vifm-:tree vifm-help.txt /*vifm-:tree* +vifm-:undol vifm-help.txt /*vifm-:undol* +vifm-:undolist vifm-help.txt /*vifm-:undolist* +vifm-:unl vifm-help.txt /*vifm-:unl* +vifm-:unlet vifm-help.txt /*vifm-:unlet* +vifm-:unm vifm-help.txt /*vifm-:unm* +vifm-:unmap vifm-help.txt /*vifm-:unmap* +vifm-:unselect vifm-help.txt /*vifm-:unselect* +vifm-:ve vifm-help.txt /*vifm-:ve* +vifm-:version vifm-help.txt /*vifm-:version* +vifm-:vie vifm-help.txt /*vifm-:vie* +vifm-:view vifm-help.txt /*vifm-:view* +vifm-:vifm vifm-help.txt /*vifm-:vifm* +vifm-:vm vifm-help.txt /*vifm-:vm* +vifm-:vmap vifm-help.txt /*vifm-:vmap* +vifm-:vn vifm-help.txt /*vifm-:vn* +vifm-:vnoremap vifm-help.txt /*vifm-:vnoremap* +vifm-:volume vifm-help.txt /*vifm-:volume* +vifm-:vs vifm-help.txt /*vifm-:vs* +vifm-:vsplit vifm-help.txt /*vifm-:vsplit* +vifm-:vu vifm-help.txt /*vifm-:vu* +vifm-:vunmap vifm-help.txt /*vifm-:vunmap* +vifm-:w vifm-help.txt /*vifm-:w* +vifm-:winc vifm-help.txt /*vifm-:winc* +vifm-:wincmd vifm-help.txt /*vifm-:wincmd* +vifm-:windo vifm-help.txt /*vifm-:windo* +vifm-:winrun vifm-help.txt /*vifm-:winrun* +vifm-:wq vifm-help.txt /*vifm-:wq* +vifm-:wqa vifm-help.txt /*vifm-:wqa* +vifm-:wqall vifm-help.txt /*vifm-:wqall* +vifm-:write vifm-help.txt /*vifm-:write* +vifm-:x vifm-help.txt /*vifm-:x* +vifm-:xa vifm-help.txt /*vifm-:xa* +vifm-:xall vifm-help.txt /*vifm-:xall* +vifm-:xit vifm-help.txt /*vifm-:xit* +vifm-:y vifm-help.txt /*vifm-:y* +vifm-:yank vifm-help.txt /*vifm-:yank* +vifm-; vifm-help.txt /*vifm-;* +vifm-= vifm-help.txt /*vifm-=* +vifm-? vifm-help.txt /*vifm-?* +vifm-C vifm-help.txt /*vifm-C* +vifm-CTRL-A vifm-help.txt /*vifm-CTRL-A* +vifm-CTRL-B vifm-help.txt /*vifm-CTRL-B* +vifm-CTRL-C vifm-help.txt /*vifm-CTRL-C* +vifm-CTRL-D vifm-help.txt /*vifm-CTRL-D* +vifm-CTRL-E vifm-help.txt /*vifm-CTRL-E* +vifm-CTRL-F vifm-help.txt /*vifm-CTRL-F* +vifm-CTRL-G vifm-help.txt /*vifm-CTRL-G* +vifm-CTRL-I vifm-help.txt /*vifm-CTRL-I* +vifm-CTRL-L vifm-help.txt /*vifm-CTRL-L* +vifm-CTRL-N vifm-help.txt /*vifm-CTRL-N* +vifm-CTRL-O vifm-help.txt /*vifm-CTRL-O* +vifm-CTRL-P vifm-help.txt /*vifm-CTRL-P* +vifm-CTRL-R vifm-help.txt /*vifm-CTRL-R* +vifm-CTRL-U vifm-help.txt /*vifm-CTRL-U* +vifm-CTRL-W_+ vifm-help.txt /*vifm-CTRL-W_+* +vifm-CTRL-W_- vifm-help.txt /*vifm-CTRL-W_-* +vifm-CTRL-W_< vifm-help.txt /*vifm-CTRL-W_<* +vifm-CTRL-W_= vifm-help.txt /*vifm-CTRL-W_=* +vifm-CTRL-W_> vifm-help.txt /*vifm-CTRL-W_>* +vifm-CTRL-W_H vifm-help.txt /*vifm-CTRL-W_H* +vifm-CTRL-W_J vifm-help.txt /*vifm-CTRL-W_J* +vifm-CTRL-W_K vifm-help.txt /*vifm-CTRL-W_K* +vifm-CTRL-W_L vifm-help.txt /*vifm-CTRL-W_L* +vifm-CTRL-W__ vifm-help.txt /*vifm-CTRL-W__* +vifm-CTRL-W_b vifm-help.txt /*vifm-CTRL-W_b* +vifm-CTRL-W_bar vifm-help.txt /*vifm-CTRL-W_bar* +vifm-CTRL-W_h vifm-help.txt /*vifm-CTRL-W_h* +vifm-CTRL-W_j vifm-help.txt /*vifm-CTRL-W_j* +vifm-CTRL-W_k vifm-help.txt /*vifm-CTRL-W_k* +vifm-CTRL-W_l vifm-help.txt /*vifm-CTRL-W_l* +vifm-CTRL-W_o vifm-help.txt /*vifm-CTRL-W_o* +vifm-CTRL-W_p vifm-help.txt /*vifm-CTRL-W_p* +vifm-CTRL-W_s vifm-help.txt /*vifm-CTRL-W_s* +vifm-CTRL-W_t vifm-help.txt /*vifm-CTRL-W_t* +vifm-CTRL-W_v vifm-help.txt /*vifm-CTRL-W_v* +vifm-CTRL-W_w vifm-help.txt /*vifm-CTRL-W_w* +vifm-CTRL-W_x vifm-help.txt /*vifm-CTRL-W_x* +vifm-CTRL-W_z vifm-help.txt /*vifm-CTRL-W_z* +vifm-CTRL-X vifm-help.txt /*vifm-CTRL-X* +vifm-CTRL-Y vifm-help.txt /*vifm-CTRL-Y* +vifm-D vifm-help.txt /*vifm-D* +vifm-DD vifm-help.txt /*vifm-DD* +vifm-Enter vifm-help.txt /*vifm-Enter* +vifm-Escape vifm-help.txt /*vifm-Escape* +vifm-F vifm-help.txt /*vifm-F* +vifm-FUSE_MOUNT vifm-help.txt /*vifm-FUSE_MOUNT* +vifm-FUSE_MOUNT2 vifm-help.txt /*vifm-FUSE_MOUNT2* +vifm-FUSE_MOUNT3 vifm-help.txt /*vifm-FUSE_MOUNT3* +vifm-G vifm-help.txt /*vifm-G* +vifm-H vifm-help.txt /*vifm-H* +vifm-L vifm-help.txt /*vifm-L* +vifm-M vifm-help.txt /*vifm-M* +vifm-N vifm-help.txt /*vifm-N* +vifm-P vifm-help.txt /*vifm-P* +vifm-PageDown vifm-help.txt /*vifm-PageDown* +vifm-PageUp vifm-help.txt /*vifm-PageUp* +vifm-SHIFT-Tab vifm-help.txt /*vifm-SHIFT-Tab* +vifm-Space vifm-help.txt /*vifm-Space* +vifm-Tab vifm-help.txt /*vifm-Tab* +vifm-V vifm-help.txt /*vifm-V* +vifm-Y vifm-help.txt /*vifm-Y* +vifm-ZQ vifm-help.txt /*vifm-ZQ* +vifm-ZZ vifm-help.txt /*vifm-ZZ* +vifm-[R vifm-help.txt /*vifm-[R* +vifm-[c vifm-help.txt /*vifm-[c* +vifm-[count] vifm-help.txt /*vifm-[count]* +vifm-[d vifm-help.txt /*vifm-[d* +vifm-[r vifm-help.txt /*vifm-[r* +vifm-[s vifm-help.txt /*vifm-[s* +vifm-[z vifm-help.txt /*vifm-[z* +vifm-]R vifm-help.txt /*vifm-]R* +vifm-]c vifm-help.txt /*vifm-]c* +vifm-]d vifm-help.txt /*vifm-]d* +vifm-]r vifm-help.txt /*vifm-]r* +vifm-]s vifm-help.txt /*vifm-]s* +vifm-]z vifm-help.txt /*vifm-]z* +vifm-^ vifm-help.txt /*vifm-^* +vifm-al vifm-help.txt /*vifm-al* +vifm-app.txt vifm-help.txt /*vifm-app.txt* +vifm-av vifm-help.txt /*vifm-av* +vifm-cW vifm-help.txt /*vifm-cW* +vifm-c_ALT-. vifm-help.txt /*vifm-c_ALT-.* +vifm-c_ALT-B vifm-help.txt /*vifm-c_ALT-B* +vifm-c_ALT-D vifm-help.txt /*vifm-c_ALT-D* +vifm-c_ALT-F vifm-help.txt /*vifm-c_ALT-F* +vifm-c_Backspace vifm-help.txt /*vifm-c_Backspace* +vifm-c_CTRL-A vifm-help.txt /*vifm-c_CTRL-A* +vifm-c_CTRL-B vifm-help.txt /*vifm-c_CTRL-B* +vifm-c_CTRL-C vifm-help.txt /*vifm-c_CTRL-C* +vifm-c_CTRL-D vifm-help.txt /*vifm-c_CTRL-D* +vifm-c_CTRL-E vifm-help.txt /*vifm-c_CTRL-E* +vifm-c_CTRL-F vifm-help.txt /*vifm-c_CTRL-F* +vifm-c_CTRL-G vifm-help.txt /*vifm-c_CTRL-G* +vifm-c_CTRL-H vifm-help.txt /*vifm-c_CTRL-H* +vifm-c_CTRL-I vifm-help.txt /*vifm-c_CTRL-I* +vifm-c_CTRL-K vifm-help.txt /*vifm-c_CTRL-K* +vifm-c_CTRL-M vifm-help.txt /*vifm-c_CTRL-M* +vifm-c_CTRL-N vifm-help.txt /*vifm-c_CTRL-N* +vifm-c_CTRL-P vifm-help.txt /*vifm-c_CTRL-P* +vifm-c_CTRL-R_= vifm-help.txt /*vifm-c_CTRL-R_=* +vifm-c_CTRL-T vifm-help.txt /*vifm-c_CTRL-T* +vifm-c_CTRL-U vifm-help.txt /*vifm-c_CTRL-U* +vifm-c_CTRL-W vifm-help.txt /*vifm-c_CTRL-W* +vifm-c_CTRL-X_/ vifm-help.txt /*vifm-c_CTRL-X_\/* +vifm-c_CTRL-X_= vifm-help.txt /*vifm-c_CTRL-X_=* +vifm-c_CTRL-X_CTRL-X_c vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_c* +vifm-c_CTRL-X_CTRL-X_d vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_d* +vifm-c_CTRL-X_CTRL-X_e vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_e* +vifm-c_CTRL-X_CTRL-X_r vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_r* +vifm-c_CTRL-X_CTRL-X_t vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_t* +vifm-c_CTRL-X_a vifm-help.txt /*vifm-c_CTRL-X_a* +vifm-c_CTRL-X_c vifm-help.txt /*vifm-c_CTRL-X_c* +vifm-c_CTRL-X_d vifm-help.txt /*vifm-c_CTRL-X_d* +vifm-c_CTRL-X_e vifm-help.txt /*vifm-c_CTRL-X_e* +vifm-c_CTRL-X_m vifm-help.txt /*vifm-c_CTRL-X_m* +vifm-c_CTRL-X_r vifm-help.txt /*vifm-c_CTRL-X_r* +vifm-c_CTRL-X_t vifm-help.txt /*vifm-c_CTRL-X_t* +vifm-c_CTRL-] vifm-help.txt /*vifm-c_CTRL-]* +vifm-c_CTRL-_ vifm-help.txt /*vifm-c_CTRL-_* +vifm-c_Delete vifm-help.txt /*vifm-c_Delete* +vifm-c_Down vifm-help.txt /*vifm-c_Down* +vifm-c_End vifm-help.txt /*vifm-c_End* +vifm-c_Enter vifm-help.txt /*vifm-c_Enter* +vifm-c_Esc vifm-help.txt /*vifm-c_Esc* +vifm-c_Home vifm-help.txt /*vifm-c_Home* +vifm-c_Left vifm-help.txt /*vifm-c_Left* +vifm-c_Right vifm-help.txt /*vifm-c_Right* +vifm-c_SHIFT-Tab vifm-help.txt /*vifm-c_SHIFT-Tab* +vifm-c_Tab vifm-help.txt /*vifm-c_Tab* +vifm-c_Up vifm-help.txt /*vifm-c_Up* +vifm-cancellation vifm-help.txt /*vifm-cancellation* +vifm-cg vifm-help.txt /*vifm-cg* +vifm-chooseopt() vifm-help.txt /*vifm-chooseopt()* +vifm-cl vifm-help.txt /*vifm-cl* +vifm-clientserver vifm-help.txt /*vifm-clientserver* +vifm-co vifm-help.txt /*vifm-co* +vifm-color-schemes vifm-help.txt /*vifm-color-schemes* +vifm-colors vifm-help.txt /*vifm-colors* +vifm-column-view vifm-help.txt /*vifm-column-view* +vifm-command-line vifm-help.txt /*vifm-command-line* +vifm-command-line-edit vifm-help.txt /*vifm-command-line-edit* +vifm-commands vifm-help.txt /*vifm-commands* +vifm-commands-and-selection vifm-help.txt /*vifm-commands-and-selection* +vifm-commands-bg vifm-help.txt /*vifm-commands-bg* +vifm-compare-views vifm-help.txt /*vifm-compare-views* +vifm-configure vifm-help.txt /*vifm-configure* +vifm-count vifm-help.txt /*vifm-count* +vifm-count-variable vifm-help.txt /*vifm-count-variable* +vifm-count1-variable vifm-help.txt /*vifm-count1-variable* +vifm-cp vifm-help.txt /*vifm-cp* +vifm-cpo-f vifm-help.txt /*vifm-cpo-f* +vifm-cpo-s vifm-help.txt /*vifm-cpo-s* +vifm-cpo-t vifm-help.txt /*vifm-cpo-t* +vifm-custom-views vifm-help.txt /*vifm-custom-views* +vifm-cw vifm-help.txt /*vifm-cw* +vifm-d vifm-help.txt /*vifm-d* +vifm-dd vifm-help.txt /*vifm-dd* +vifm-do vifm-help.txt /*vifm-do* +vifm-dp vifm-help.txt /*vifm-dp* +vifm-e vifm-help.txt /*vifm-e* +vifm-env-vars vifm-help.txt /*vifm-env-vars* +vifm-executable() vifm-help.txt /*vifm-executable()* +vifm-expand() vifm-help.txt /*vifm-expand()* +vifm-expr-!= vifm-help.txt /*vifm-expr-!=* +vifm-expr-' vifm-help.txt /*vifm-expr-'* +vifm-expr-+ vifm-help.txt /*vifm-expr-+* +vifm-expr-- vifm-help.txt /*vifm-expr--* +vifm-expr-. vifm-help.txt /*vifm-expr-.* +vifm-expr-< vifm-help.txt /*vifm-expr-<* +vifm-expr-<= vifm-help.txt /*vifm-expr-<=* +vifm-expr-== vifm-help.txt /*vifm-expr-==* +vifm-expr-> vifm-help.txt /*vifm-expr->* +vifm-expr->= vifm-help.txt /*vifm-expr->=* +vifm-expr-env vifm-help.txt /*vifm-expr-env* +vifm-expr-function vifm-help.txt /*vifm-expr-function* +vifm-expr-nesting vifm-help.txt /*vifm-expr-nesting* +vifm-expr-number vifm-help.txt /*vifm-expr-number* +vifm-expr-option vifm-help.txt /*vifm-expr-option* +vifm-expr-quote vifm-help.txt /*vifm-expr-quote* +vifm-expr-string vifm-help.txt /*vifm-expr-string* +vifm-expr-unary-! vifm-help.txt /*vifm-expr-unary-!* +vifm-expr-unary-+ vifm-help.txt /*vifm-expr-unary-+* +vifm-expr-unary-- vifm-help.txt /*vifm-expr-unary--* +vifm-expr-variable vifm-help.txt /*vifm-expr-variable* +vifm-expr1 vifm-help.txt /*vifm-expr1* +vifm-expr2 vifm-help.txt /*vifm-expr2* +vifm-expr3 vifm-help.txt /*vifm-expr3* +vifm-expr4 vifm-help.txt /*vifm-expr4* +vifm-expr5 vifm-help.txt /*vifm-expr5* +vifm-expr6 vifm-help.txt /*vifm-expr6* +vifm-expr7 vifm-help.txt /*vifm-expr7* +vifm-expression-syntax vifm-help.txt /*vifm-expression-syntax* +vifm-ext-rename vifm-help.txt /*vifm-ext-rename* +vifm-extcached() vifm-help.txt /*vifm-extcached()* +vifm-f vifm-help.txt /*vifm-f* +vifm-filename-modifiers vifm-help.txt /*vifm-filename-modifiers* +vifm-filetype() vifm-help.txt /*vifm-filetype()* +vifm-filters vifm-help.txt /*vifm-filters* +vifm-fnameescape() vifm-help.txt /*vifm-fnameescape()* +vifm-functions vifm-help.txt /*vifm-functions* +vifm-fuse vifm-help.txt /*vifm-fuse* +vifm-gA vifm-help.txt /*vifm-gA* +vifm-gF vifm-help.txt /*vifm-gF* +vifm-gT vifm-help.txt /*vifm-gT* +vifm-gU vifm-help.txt /*vifm-gU* +vifm-gUU vifm-help.txt /*vifm-gUU* +vifm-gUgU vifm-help.txt /*vifm-gUgU* +vifm-ga vifm-help.txt /*vifm-ga* +vifm-general-keys vifm-help.txt /*vifm-general-keys* +vifm-getpanetype() vifm-help.txt /*vifm-getpanetype()* +vifm-gf vifm-help.txt /*vifm-gf* +vifm-gg vifm-help.txt /*vifm-gg* +vifm-gh vifm-help.txt /*vifm-gh* +vifm-gj vifm-help.txt /*vifm-gj* +vifm-gk vifm-help.txt /*vifm-gk* +vifm-gl vifm-help.txt /*vifm-gl* +vifm-globs vifm-help.txt /*vifm-globs* +vifm-gr vifm-help.txt /*vifm-gr* +vifm-gs vifm-help.txt /*vifm-gs* +vifm-gt vifm-help.txt /*vifm-gt* +vifm-gu vifm-help.txt /*vifm-gu* +vifm-gugu vifm-help.txt /*vifm-gugu* +vifm-guu vifm-help.txt /*vifm-guu* +vifm-gv vifm-help.txt /*vifm-gv* +vifm-h vifm-help.txt /*vifm-h* +vifm-has() vifm-help.txt /*vifm-has()* +vifm-i vifm-help.txt /*vifm-i* +vifm-j vifm-help.txt /*vifm-j* +vifm-jobcount-variable vifm-help.txt /*vifm-jobcount-variable* +vifm-k vifm-help.txt /*vifm-k* +vifm-l vifm-help.txt /*vifm-l* +vifm-layoutis() vifm-help.txt /*vifm-layoutis()* +vifm-literal-string vifm-help.txt /*vifm-literal-string* +vifm-local-options vifm-help.txt /*vifm-local-options* +vifm-ls-view vifm-help.txt /*vifm-ls-view* +vifm-m vifm-help.txt /*vifm-m* +vifm-m_/ vifm-help.txt /*vifm-m_\/* +vifm-m_: vifm-help.txt /*vifm-m_:* +vifm-m_:exi vifm-help.txt /*vifm-m_:exi* +vifm-m_:exit vifm-help.txt /*vifm-m_:exit* +vifm-m_:noh vifm-help.txt /*vifm-m_:noh* +vifm-m_:nohlsearch vifm-help.txt /*vifm-m_:nohlsearch* +vifm-m_:q vifm-help.txt /*vifm-m_:q* +vifm-m_:quit vifm-help.txt /*vifm-m_:quit* +vifm-m_:range vifm-help.txt /*vifm-m_:range* +vifm-m_:w vifm-help.txt /*vifm-m_:w* +vifm-m_:write vifm-help.txt /*vifm-m_:write* +vifm-m_:x vifm-help.txt /*vifm-m_:x* +vifm-m_:xit vifm-help.txt /*vifm-m_:xit* +vifm-m_? vifm-help.txt /*vifm-m_?* +vifm-m_B vifm-help.txt /*vifm-m_B* +vifm-m_CTRL-B vifm-help.txt /*vifm-m_CTRL-B* +vifm-m_CTRL-C vifm-help.txt /*vifm-m_CTRL-C* +vifm-m_CTRL-D vifm-help.txt /*vifm-m_CTRL-D* +vifm-m_CTRL-E vifm-help.txt /*vifm-m_CTRL-E* +vifm-m_CTRL-F vifm-help.txt /*vifm-m_CTRL-F* +vifm-m_CTRL-L vifm-help.txt /*vifm-m_CTRL-L* +vifm-m_CTRL-N vifm-help.txt /*vifm-m_CTRL-N* +vifm-m_CTRL-P vifm-help.txt /*vifm-m_CTRL-P* +vifm-m_CTRL-U vifm-help.txt /*vifm-m_CTRL-U* +vifm-m_CTRL-Y vifm-help.txt /*vifm-m_CTRL-Y* +vifm-m_Enter vifm-help.txt /*vifm-m_Enter* +vifm-m_Escape vifm-help.txt /*vifm-m_Escape* +vifm-m_G vifm-help.txt /*vifm-m_G* +vifm-m_H vifm-help.txt /*vifm-m_H* +vifm-m_L vifm-help.txt /*vifm-m_L* +vifm-m_M vifm-help.txt /*vifm-m_M* +vifm-m_N vifm-help.txt /*vifm-m_N* +vifm-m_ZQ vifm-help.txt /*vifm-m_ZQ* +vifm-m_ZZ vifm-help.txt /*vifm-m_ZZ* +vifm-m_b vifm-help.txt /*vifm-m_b* +vifm-m_c vifm-help.txt /*vifm-m_c* +vifm-m_e vifm-help.txt /*vifm-m_e* +vifm-m_gf vifm-help.txt /*vifm-m_gf* +vifm-m_gg vifm-help.txt /*vifm-m_gg* +vifm-m_j vifm-help.txt /*vifm-m_j* +vifm-m_k vifm-help.txt /*vifm-m_k* +vifm-m_l vifm-help.txt /*vifm-m_l* +vifm-m_n vifm-help.txt /*vifm-m_n* +vifm-m_q vifm-help.txt /*vifm-m_q* +vifm-m_v vifm-help.txt /*vifm-m_v* +vifm-m_zH vifm-help.txt /*vifm-m_zH* +vifm-m_zL vifm-help.txt /*vifm-m_zL* +vifm-m_zb vifm-help.txt /*vifm-m_zb* +vifm-m_zh vifm-help.txt /*vifm-m_zh* +vifm-m_zl vifm-help.txt /*vifm-m_zl* +vifm-m_zt vifm-help.txt /*vifm-m_zt* +vifm-m_zz vifm-help.txt /*vifm-m_zz* +vifm-macros vifm-help.txt /*vifm-macros* +vifm-mappings vifm-help.txt /*vifm-mappings* +vifm-menus-and-dialogs vifm-help.txt /*vifm-menus-and-dialogs* +vifm-more vifm-help.txt /*vifm-more* +vifm-n vifm-help.txt /*vifm-n* +vifm-normal vifm-help.txt /*vifm-normal* +vifm-options vifm-help.txt /*vifm-options* +vifm-p vifm-help.txt /*vifm-p* +vifm-pager vifm-help.txt /*vifm-pager* +vifm-paneisat() vifm-help.txt /*vifm-paneisat()* +vifm-patterns vifm-help.txt /*vifm-patterns* +vifm-plugin vifm-help.txt /*vifm-plugin* +vifm-q/ vifm-help.txt /*vifm-q\/* +vifm-q: vifm-help.txt /*vifm-q:* +vifm-q= vifm-help.txt /*vifm-q=* +vifm-q? vifm-help.txt /*vifm-q?* +vifm-q_% vifm-help.txt /*vifm-q_%* +vifm-q_/ vifm-help.txt /*vifm-q_\/* +vifm-q_< vifm-help.txt /*vifm-q_<* +vifm-q_> vifm-help.txt /*vifm-q_>* +vifm-q_? vifm-help.txt /*vifm-q_?* +vifm-q_A vifm-help.txt /*vifm-q_A* +vifm-q_ALT-< vifm-help.txt /*vifm-q_ALT-<* +vifm-q_ALT-> vifm-help.txt /*vifm-q_ALT->* +vifm-q_ALT-Space vifm-help.txt /*vifm-q_ALT-Space* +vifm-q_ALT-V vifm-help.txt /*vifm-q_ALT-V* +vifm-q_CTRL-B vifm-help.txt /*vifm-q_CTRL-B* +vifm-q_CTRL-D vifm-help.txt /*vifm-q_CTRL-D* +vifm-q_CTRL-E vifm-help.txt /*vifm-q_CTRL-E* +vifm-q_CTRL-F vifm-help.txt /*vifm-q_CTRL-F* +vifm-q_CTRL-K vifm-help.txt /*vifm-q_CTRL-K* +vifm-q_CTRL-L vifm-help.txt /*vifm-q_CTRL-L* +vifm-q_CTRL-N vifm-help.txt /*vifm-q_CTRL-N* +vifm-q_CTRL-P vifm-help.txt /*vifm-q_CTRL-P* +vifm-q_CTRL-R vifm-help.txt /*vifm-q_CTRL-R* +vifm-q_CTRL-U vifm-help.txt /*vifm-q_CTRL-U* +vifm-q_CTRL-V vifm-help.txt /*vifm-q_CTRL-V* +vifm-q_CTRL-Y vifm-help.txt /*vifm-q_CTRL-Y* +vifm-q_Enter vifm-help.txt /*vifm-q_Enter* +vifm-q_F vifm-help.txt /*vifm-q_F* +vifm-q_G vifm-help.txt /*vifm-q_G* +vifm-q_N vifm-help.txt /*vifm-q_N* +vifm-q_Q vifm-help.txt /*vifm-q_Q* +vifm-q_R vifm-help.txt /*vifm-q_R* +vifm-q_SHIFT-Tab vifm-help.txt /*vifm-q_SHIFT-Tab* +vifm-q_Space vifm-help.txt /*vifm-q_Space* +vifm-q_Tab vifm-help.txt /*vifm-q_Tab* +vifm-q_ZZ vifm-help.txt /*vifm-q_ZZ* +vifm-q_a vifm-help.txt /*vifm-q_a* +vifm-q_b vifm-help.txt /*vifm-q_b* +vifm-q_d vifm-help.txt /*vifm-q_d* +vifm-q_e vifm-help.txt /*vifm-q_e* +vifm-q_f vifm-help.txt /*vifm-q_f* +vifm-q_g vifm-help.txt /*vifm-q_g* +vifm-q_i vifm-help.txt /*vifm-q_i* +vifm-q_j vifm-help.txt /*vifm-q_j* +vifm-q_k vifm-help.txt /*vifm-q_k* +vifm-q_n vifm-help.txt /*vifm-q_n* +vifm-q_p vifm-help.txt /*vifm-q_p* +vifm-q_q vifm-help.txt /*vifm-q_q* +vifm-q_r vifm-help.txt /*vifm-q_r* +vifm-q_u vifm-help.txt /*vifm-q_u* +vifm-q_v vifm-help.txt /*vifm-q_v* +vifm-q_w vifm-help.txt /*vifm-q_w* +vifm-q_y vifm-help.txt /*vifm-q_y* +vifm-q_z vifm-help.txt /*vifm-q_z* +vifm-ranges vifm-help.txt /*vifm-ranges* +vifm-regexp vifm-help.txt /*vifm-regexp* +vifm-registers vifm-help.txt /*vifm-registers* +vifm-reserved vifm-help.txt /*vifm-reserved* +vifm-rl vifm-help.txt /*vifm-rl* +vifm-scripts vifm-help.txt /*vifm-scripts* +vifm-see-also vifm-help.txt /*vifm-see-also* +vifm-selection vifm-help.txt /*vifm-selection* +vifm-selectors vifm-help.txt /*vifm-selectors* +vifm-servername-variable vifm-help.txt /*vifm-servername-variable* +vifm-session-variable vifm-help.txt /*vifm-session-variable* +vifm-sessions vifm-help.txt /*vifm-sessions* +vifm-set-options vifm-help.txt /*vifm-set-options* +vifm-skip-param vifm-help.txt /*vifm-skip-param* +vifm-startup vifm-help.txt /*vifm-startup* +vifm-system() vifm-help.txt /*vifm-system()* +vifm-t vifm-help.txt /*vifm-t* +vifm-tabpagenr() vifm-help.txt /*vifm-tabpagenr()* +vifm-term() vifm-help.txt /*vifm-term()* +vifm-to-l vifm-help.txt /*vifm-to-l* +vifm-to-p vifm-help.txt /*vifm-to-p* +vifm-to-r vifm-help.txt /*vifm-to-r* +vifm-to-s vifm-help.txt /*vifm-to-s* +vifm-to-u vifm-help.txt /*vifm-to-u* +vifm-to-v vifm-help.txt /*vifm-to-v* +vifm-trash vifm-help.txt /*vifm-trash* +vifm-u vifm-help.txt /*vifm-u* +vifm-v vifm-help.txt /*vifm-v* +vifm-v:count vifm-help.txt /*vifm-v:count* +vifm-v:count1 vifm-help.txt /*vifm-v:count1* +vifm-v:jobcount vifm-help.txt /*vifm-v:jobcount* +vifm-v:servername vifm-help.txt /*vifm-v:servername* +vifm-v:session vifm-help.txt /*vifm-v:session* +vifm-v_: vifm-help.txt /*vifm-v_:* +vifm-v_CTRL-C vifm-help.txt /*vifm-v_CTRL-C* +vifm-v_CTRL-G vifm-help.txt /*vifm-v_CTRL-G* +vifm-v_Enter vifm-help.txt /*vifm-v_Enter* +vifm-v_Escape vifm-help.txt /*vifm-v_Escape* +vifm-v_O vifm-help.txt /*vifm-v_O* +vifm-v_U vifm-help.txt /*vifm-v_U* +vifm-v_V vifm-help.txt /*vifm-v_V* +vifm-v_av vifm-help.txt /*vifm-v_av* +vifm-v_cl vifm-help.txt /*vifm-v_cl* +vifm-v_cw vifm-help.txt /*vifm-v_cw* +vifm-v_gU vifm-help.txt /*vifm-v_gU* +vifm-v_gu vifm-help.txt /*vifm-v_gu* +vifm-v_gv vifm-help.txt /*vifm-v_gv* +vifm-v_o vifm-help.txt /*vifm-v_o* +vifm-v_u vifm-help.txt /*vifm-v_u* +vifm-v_v vifm-help.txt /*vifm-v_v* +vifm-view vifm-help.txt /*vifm-view* +vifm-view-look vifm-help.txt /*vifm-view-look* +vifm-vifminfo vifm-help.txt /*vifm-vifminfo* +vifm-vifmrc vifm-help.txt /*vifm-vifmrc* +vifm-visual vifm-help.txt /*vifm-visual* +vifm-y vifm-help.txt /*vifm-y* +vifm-yy vifm-help.txt /*vifm-yy* +vifm-zM vifm-help.txt /*vifm-zM* +vifm-zO vifm-help.txt /*vifm-zO* +vifm-zR vifm-help.txt /*vifm-zR* +vifm-za vifm-help.txt /*vifm-za* +vifm-zb vifm-help.txt /*vifm-zb* +vifm-zd vifm-help.txt /*vifm-zd* +vifm-zf vifm-help.txt /*vifm-zf* +vifm-zj vifm-help.txt /*vifm-zj* +vifm-zk vifm-help.txt /*vifm-zk* +vifm-zm vifm-help.txt /*vifm-zm* +vifm-zo vifm-help.txt /*vifm-zo* +vifm-zr vifm-help.txt /*vifm-zr* +vifm-zt vifm-help.txt /*vifm-zt* +vifm-zx vifm-help.txt /*vifm-zx* +vifm-zz vifm-help.txt /*vifm-zz* +vifm-{ vifm-help.txt /*vifm-{* +vifm-} vifm-help.txt /*vifm-}* diff --git a/.config/vifm/vifm-help.txt b/.config/vifm/vifm-help.txt new file mode 100644 index 0000000..abd73ca --- /dev/null +++ b/.config/vifm/vifm-help.txt @@ -0,0 +1,6509 @@ +*vifm-app.txt* For Vifm version 0.13 Last change: 2023 May 17 + + Email for bugs and suggestions: + +|vifm-options| Command line arguments. +|vifm-general-keys| General keys, that work in the most of modes. +|vifm-normal| Normal mode keys. +|vifm-visual| Visual mode keys. +|vifm-view| View mode keys. +|vifm-command-line| Command line mode keys. +|vifm-command-line-edit| External editing of command line content. +|vifm-more| More mode keys. +|vifm-commands| How to use and set :commands. +|vifm-commands-bg| Backgrounding of commands. +|vifm-cancellation| Cancellation of commands. +|vifm-selection| How selection is handled on launching. +|vifm-patterns| Description of file match patterns. +|vifm-regexp| Regular expressions. +|vifm-globs| How globs work in vifm. +|vifm-set-options| Available options. +|vifm-mappings| Map arguments and special sequences. +|vifm-expression-syntax| Syntax of supported expressions. +|vifm-functions| List of builtin functions with description. +|vifm-menus-and-dialogs| Keys and commands for menus and dialogs. +|vifm-menus-history| Recalling previous menus. +|vifm-custom-views| Differences between regular and custom views. +|vifm-compare-views| Kinds, properties and differences of compare views. +|vifm-startup| Determining of environment variables on startup. +|vifm-configure| Configuration of vifm. +|vifm-sessions| Managing sessions. +|vifm-fuse| Using automated FUSE mounts. +|vifm-view-look| Gives general overview of view displaying variants. +|vifm-ls-view| Some details about ls-like view. +|vifm-column-view| Column view configuration details. +|vifm-color-schemes| Details on using color schemes in vifm. +|vifm-trash| Details about trash directory in vifm. +|vifm-clientserver| Client-server communication. +|vifm-ext-rename| About editing buffer of file names in an editor. +|vifm-mouse-using| Using the mouse. +|vifm-plugin| Using the vifm.vim plugin. +|vifm-reserved| List of reserved commands. +|vifm-env-vars| Environment variables that affect vifm or set by it. +|vifm-see-also| Other resources about vifm. + +Tag name structure: + + WHAT PREPEND EXAMPLE~ + Normal mode command vifm- :help vifm-h + Visual mode command vifm-v_ :help vifm-v_u + View mode command vifm-q_ :help vifm-q_j + Menu or dialog command vifm-m_ :help vifm-m_zh + Command-line command vifm-: :help vifm-:quit + Command-line editing vifm-c_ :help vifm-c_CTRL-H + Command-line navigation vifm-a_ :help vifm-a_CTRL-Y + Vifm command argument vifm-- :help vifm--f + Option vifm-' :help vifm-'wrap' + +-------------------------------------------------------------------------------- +*vifm-options* + +General format: +vifm [OPTION]... [ path [ path ] ] + +vifm starts in the current directory unless it is given a different directory +on the command line or |vifm-'vifminfo'| includes "savedirs" (in which case +last visited directories are used as defaults). + +vifm - +Read list of files from standard input stream and compose custom view out of +them (see |vifm-custom-views|). Current working directory is used as a base +for relative paths. + +vifm /path/to/directory/one +or +vifm /path/to/directory/one /path/to/directory/two + +Specifying two directories triggers split view even when vifm was in +single-view mode on finishing previous run. To suppress this behaviour +|vifm-:only| command can be put in the vifmrc file. + +When only one path argument is found on command-line, the left/top pane is +automatically set as the current view. + +Paths to files are also allowed in case you want vifm to start with some +archive opened. + +The other command line arguments are: +--select *vifm---select* + open parent directory of the given path and select specified file in it. +-f *vifm--f* + makes vifm instead of opening files write selection to $VIFM/vimfiles and + quit. +--choose-files |- *vifm---choose-files* + sets output file to write selection into on exit instead of opening files. + "-" means standard output. Use empty value to disable it. +--choose-dir |- *vifm---choose-dir* + sets output file to write last visited directory into on exit. "-" means + standard output. Use empty value to disable it. +--delimiter *vifm---delimiter* + sets separator for list of file paths written out by vifm. Empty value + means null character. Default is new line character. +--on-choose *vifm---on-choose* + sets command to be executed on selected files instead of opening them. + The command may use any of |vifm-macros|. The command is executed once for + whole selection. +--plugins-dir *vifm---plugins-dir* + additional plugins directory (can appear multiple times). The last one + added has the highest priority. +--logging[=] *vifm---logging* + log some operational details to $XDG_DATA_HOME/vifm/log or $VIFM/log. If + the optional startup log path is specified and permissions allow to open + it for writing, then logging of early initialization (before configuration + directories are determined) is put there. +--server-list *vifm---server-list* + list available server names and exit. +--server-name *vifm---server-name* + name of target or this instance (sequential numbers are appended on name + conflict). +--remote *vifm---remote* + sends the rest of the command line to another instance of vifm. + --server-name is treated just like any other argument and should precede + --remote on the command line. When there is no server, quits silently. + There is no limit on how many arguments can be processed. One can combine + --remote with -c or + to execute commands in already + running instance of vifm. See also |vifm-clientserver|. +--remote-expr *vifm---remote-expr* + passes expression to vifm server and prints result. See also + |vifm-clientserver|. +-c , + *vifm--c* *vifm--+c* + run command-line mode on startup. Commands in such arguments + are executed in the order they appear in command line. Commands with + spaces or special symbols must be enclosed in double or single quotes or + all special symbols should be escaped (the exact syntax strongly depends + on shell). "+" argument is equivalent to "$" and thus picks last item + of the view. +--help, -h *vifm---help* *vifm--h* + show a brief command summary and exit vifm. +--version, -v *vifm---version* *vifm--v* + show the version information and exit. +--no-configs *vifm---no-configs* + skip reading vifmrc and vifminfo. + +See |vifm-startup| section below for the explanations on |vifm-$VIFM|. + +------------------------------------------------------------------------------- +*vifm-general-keys* + +Ctrl-C or Escape *vifm-Escape* *vifm-CTRL-C* + cancel most operations (see |vifm-cancellation|), clear all selected files. + +Ctrl-L *vifm-CTRL-L* + clear and redraw the screen. Can also reload file list in appropriate + modes (like normal and visual). + +-------------------------------------------------------------------------------- +*vifm-normal* + +Basic Movement~ + +The basic vi key bindings are used to move through the files and pop-up windows. + +k, gk or Ctrl-P - move cursor up one line. *vifm-k* *vifm-gk* *vifm-CTRL-P* +j, gj or Ctrl-N - move cursor down one line. *vifm-j* *vifm-gj* *vifm-CTRL-N* + +h *vifm-h* + when |vifm-'lsview'| is off move up one directory (moves to parent + directory node in tree view), otherwise move left one file. +l *vifm-l* + when |vifm-'lsview'| is off move into a directory or launch a file, + otherwise move right one file. See |vifm-selection|. + +gg - move to the first line of the file list. *vifm-gg* +G - move to the last line in the file list. *vifm-G* + +gh *vifm-gh* + go up one directory regardless of view representation (regular, + ls-like). Also can be used to leave custom views including tree view. +gl or Enter *vifm-gl* *vifm-Enter* + enter directory or launch a file. See |vifm-selection|. + + +H *vifm-H* + move to the first file in the window. +M *vifm-M* + move to the file in the middle of the window. +L *vifm-L* + move to the last file in the window. + + +Ctrl-F or Page Down - move forward one page. *vifm-CTRL-F* *vifm-PageDown* +Ctrl-B or Page Up - move back one page. *vifm-CTRL-B* *vifm-PageUp* + +Ctrl-D - jump back one half page. *vifm-CTRL-D* +Ctrl-U - jump forward one half page. *vifm-CTRL-U* + +{n}% *vifm-%* + move to the file that is {n} percent from the top of the list (for + example 25%). + +0 or ^ *vifm-0* *vifm-^* + move cursor to the first column. See |vifm-'lsview'| option description. + +$ *vifm-$* + move cursor to the last column. See |vifm-'lsview'| option description. + +Space - switch file lists. *vifm-Space* + + *vifm-gt* +gt - switch to the next tab (wrapping around). +{n}gt - switch to the tab number {n}. + + *vifm-gT* +gT - switch to the previous tab (wrapping around). +{n}gT - switch to {n}-th previous tab (wrapping around). + +Movement with Count~ + +Most movement commands also accept a count, 12j would move down 12 files. + +[count]% + move to percent of the file list. +[count]j + move down [count] files. +[count]k + move up [count] files. +[count]G or [count]gg + move to list position [count]. +[count]h + go up [count] directories. + +Scrolling panes~ + +zt - redraw pane with file in top of list. *vifm-zt* +zz - redraw pane with file in center of list. *vifm-zz* +zb - redraw pane with file in bottom of list. *vifm-zb* + +Ctrl-E *vifm-CTRL-E* + scroll pane one line down or column right (in transposed ls-like view). +Ctrl-Y *vifm-CTRL-Y* + scroll pane one line up or column left (in transposed ls-like view). + +Pane manipulation~ + +Second character can be entered with or without Control key. + +Ctrl-W H - move the pane to the far left. *vifm-CTRL-W_H* +Ctrl-W J - move the pane to the very bottom. *vifm-CTRL-W_J* +Ctrl-W K - move the pane to the very top. *vifm-CTRL-W_K* +Ctrl-W L - move the pane to the far right. *vifm-CTRL-W_L* + +Ctrl-W h - switch to left pane. *vifm-CTRL-W_h* +Ctrl-W j - switch to pane below. *vifm-CTRL-W_j* +Ctrl-W k - switch to pane above. *vifm-CTRL-W_k* +Ctrl-W l - switch to right pane. *vifm-CTRL-W_l* + +Ctrl-W b - switch to bottom-right window. *vifm-CTRL-W_b* +Ctrl-W t - switch to top-left window. *vifm-CTRL-W_t* + +Ctrl-W p - switch to previous window. *vifm-CTRL-W_p* +Ctrl-W w - switch to other pane. *vifm-CTRL-W_w* + +Ctrl-W o - leave only one pane. *vifm-CTRL-W_o* +Ctrl-W s - split window horizontally. *vifm-CTRL-W_s* +Ctrl-W v - split window vertically. *vifm-CTRL-W_v* + +Ctrl-W x - exchange panes. *vifm-CTRL-W_x* +Ctrl-W z - quit preview pane or view modes. *vifm-CTRL-W_z* + +Ctrl-W - - decrease size of the view by count. *vifm-CTRL-W_-* +Ctrl-W + - increase size of the view by count. *vifm-CTRL-W_+* +Ctrl-W < - decrease size of the view by count. *vifm-CTRL-W_<* +Ctrl-W > - increase size of the view by count. *vifm-CTRL-W_>* + +Ctrl-W | - set current view size to count. *vifm-CTRL-W_bar* +Ctrl-W _ - set current view size to count. *vifm-CTRL-W__* +Ctrl-W = - make size of two views equal. *vifm-CTRL-W_=* + +For Ctrl-W +, Ctrl-W -, Ctrl-W <, Ctrl-W >, Ctrl-W | and Ctrl-W _ +commands count can be given before and/or after Ctrl-W. The +resulting count is a multiplication of those two. So +"2 Ctrl-W 2 -" decreases window size by 4 lines or columns. + +Ctrl-W | and Ctrl-W _ maximize current view by default. + +Marks~ + +Marks are set the same way as they are in vi. +You can use these characters for marks [a-z][A-Z][0-9]. + +m[a-z][A-Z][0-9] *vifm-m* + set a mark for the file at the current cursor position. +'[a-z][A-Z][0-9] *vifm-'* + navigate to the file set for the mark. + +There are also several special marks that can't be set manually: + ' (single quote) - previously visited directory of the view, thus hitting + '' allows switching between two last locations + < - the first file of the last visually selected block + > - the last file of the last visually selected block + +Searching~ + + *vifm-/* +/regular expression + search for files matching regular expression in forward direction and + advance cursor to next match. +/ + perform forward search with top item of search pattern history. + + *vifm-?* +?regular expression + search for files matching regular expression in backward direction and + advance cursor to previous match. +? + perform backward search with top item of search pattern history. + +Trailing slash for directories is taken into account, so `/\/` searches for +directories and symbolic links to directories. At the moment `//` works too, +but this can change in the future, so consider escaping the slash if not +typing pattern by hand. + +Matches are automatically selected if |vifm-'hlsearch'| is set. Enabling +|vifm-'incsearch'| makes search interactive. |vifm-'ignorecase'| and +|vifm-'smartcase'| options affect case sensitivity of search queries as well +as local filter and other things detailed in the description of +|vifm-'caseoptions'|. + +[count]n *vifm-n* + go to the next file matching last search pattern. Takes last search + direction into account. + +[count]N *vifm-N* + go to the previous file matching last search pattern. Takes last search + direction into account. + +If |vifm-'hlsearch'| option is set, hitting n/N to perform search and go to the +first matching item resets current selection in normal mode. It is not the +case if search was already performed on files in the directory, thus selection +is not reset after clearing selection with escape key and hitting n/N key +again. + +See also |vifm-regexp|. + + +[count]f[character] *vifm-f* + search forward for file with [character] as first character in name. + Search wraps around the end of the list. + +[count]F[character] *vifm-F* + search backward for file with [character] as first character in name. + Search wraps around the end of the list. + +[count]; - find the next match of f or F. *vifm-;* +[count], - find the previous match of f or F. *vifm-,* + +Note: f, F, ; and , wrap around list beginning and end when they are used +alone and they don't wrap when they are used as selectors. + +Filters~ + *vifm-filters* +There are three basic file filters: + - dot files filter (does not affect "." and ".." special directories, whose + appearance is controlled by the |vifm-'dotdirs'| option), see + |vifm-'dotfiles'| + - permanent filter + - local filter (see |vifm-=|) + +Permanent filter essentially allows defining a group of files names which are +not desirable to be seen by default, like temporary or backup files, which +might be created alongside normal ones. Just like you don't usually need to +see hidden dot files (files starting with a dot). Local filter on the other +hand is for temporary immediate filtering of file list at hand, to get rid of +uninterested files in the view or to make it possible to use % range in a +:command. + +For the purposes of more deterministic editing permanent filter is split +into two parts: + - one edited explicitly via |vifm-:filter| command + - another one which is edited implicitly via |vifm-zf| shortcut +Files are tested against both parts and a match counts if at least one +of the parts matched. + +Each file list has its own copy of each filter. + +Filtered files are not checked in / search or :commands. + +Files and directories are filtered separately. This is done by appending +a slash to a directory name before testing whether it matches the filter. +Examples: +> + " filter directories which names end with '.files' + :filter /^.*\.files\/$/ + + " filter files which names end with '.d' + :filter {*.d} + + " filter files and directories which names end with '.o' + :filter /^.*\.o\/?$/ +< +See also |vifm-patterns| and |vifm-regexp|. + +The basic Vim folding key-bindings are used for managing filters. + +za - toggle visibility of dot files. *vifm-za* +zo - show dot files. *vifm-zo* +zm - hide dot files. *vifm-zm* + +zf - add selected files to permanent filter. *vifm-zf* +zO - reset permanent filter. *vifm-zO* + +zR - save and reset all filters. *vifm-zR* +zr - clear local filter. *vifm-zr* +zM - restore all filters (undoes last zR). *vifm-zM* + +zd *vifm-zd* + exclude selection or current file from a custom view. Does nothing for + regular view. For tree view excluding directory excludes that sub-tree. + For compare views zd hides group of adjacent identical files, count can + be specified as 1 to exclude just single file or selected items instead. + Files excluded this way are not counted as filtered out and can't be + returned unless view is reloaded. + +=regular expression *vifm-=* + filter out files that don't match regular expression. Whether view is + updated as regular expression is changed depends on the value of the + |vifm-'incsearch'| option. This kind of filter is automatically reset + when directory is changed. + +Tree-related Keys~ + +While some of the keys make sense outside of tree-view, they are most useful +in trees. + +[z go to first sibling of current entry. *vifm-[z* +]z go to last sibling of current entry. *vifm-]z* + + +zj *vifm-zj* + go to next directory sibling of current entry or do nothing. + +zk *vifm-zk* + go to previous directory sibling of current entry or do nothing. + + +zx *vifm-zx* + toggle fold under the cursor or parent entry of the current file if cursor + is not on a directory. + +Other Normal Mode Keys~ + +[count]: *vifm-:* + enter command line mode. [count] generates range. + +q: *vifm-q:* + open external editor to prompt for command-line command. See + |vifm-command-line-edit| section for details. + +q/ *vifm-q/* + open external editor to prompt for search pattern to be searched + in forward direction. See |vifm-command-line-edit| section for + details. + +q? *vifm-q?* + open external editor to prompt for search pattern to be searched + in backward direction. See |vifm-command-line-edit| section for + details. + +q= *vifm-q=* + open external editor to prompt for filter pattern. See + |vifm-command-line-edit| section for details. Unlike other q{x} + commands this one doesn't work in Visual mode. + +[count]!! and [count]! *vifm-!!* + enter command line mode with entered ! command. [count] modifies range. + +Ctrl-O *vifm-CTRL-O* + go backwards through directory history of current view. Nonexistent + directories are automatically skipped. + +Ctrl-I or Tab *vifm-CTRL-I* *vifm-Tab* + if |vifm-'cpoptions'| contains "t" flag (|vifm-cpo-t|), and + switch active pane just like |vifm-Space| does, otherwise it + goes forward through directory history of current view. Nonexistent + directories are automatically skipped. + +Ctrl-G *vifm-CTRL-G* + show a dialog with detailed information about current file. + See |vifm-menus-and-dialogs| for controls. + +Shift-Tab *vifm-SHIFT-Tab* + enter view mode (|vifm-view|, works only after activating view pane + with |vifm-:view| command). + + +ga *vifm-ga* + calculate directory size. Uses cached directory sizes when possible + for better performance. As a special case calculating size of ".." entry + results in calculation of size of current directory. +gA *vifm-gA* + like ga, but force update. Ignores old values of directory sizes. + +If file under cursor is selected, each selected item is processed, +otherwise only current file is updated. + + +gf *vifm-gf* + find link destination (like l with |vifm-'followlinks'| off, but also + finds directories). On Windows additionally follows .lnk-files. + +gF *vifm-gF* + Same as gf, but resolves final path of the chain of symbolic links. + + *vifm-gr* +gr {only for MS-Windows} + same as l key, but tries to run program with administrative + privileges. + + +av *vifm-av* + go into visual mode for updating current selection, any existing selection + is preserved. + +gv *vifm-gv* + go into visual mode restoring last selection. + +[reg]gs *vifm-gs* + If register is present, then all files listed in that register that are + visible in current view are selected. + + When no register is specified, restore the last selection saved for this + view (similar to what |vifm-gv| does for visual mode selection). When you + leave a directory, its saved selection is remembered for that path and + visiting the directory again restores it. Selection for up to 10 distinct + file-system locations are remembered. + + +gu *vifm-gu* + make names of selected files lowercase. +[count]guu or [count]gugu *vifm-guu* *vifm-gugu* + make names of [count] files starting from the current one lowercase. + Without [count] only current file is affected. + +gU *vifm-gU* + make names of selected files uppercase. +[count]gUU or [count]gUgU *vifm-gUU* *vifm-gUgU* + make names of [count] files starting from the current + one uppercase. Without [count] only current file is affected. + + +e - explore file in the current pane. *vifm-e* + +i *vifm-i* + handle file (even if it's an executable and |vifm-'runexec'| option is + set). + + +cw *vifm-cw* + change word is used to rename a file or files. If multiple files are + selected, behaves as |vifm-:rename| command run without arguments. + +cW *vifm-cW* + change WORD is used to change only name of file (without extension). + +cl *vifm-cl* + change link target. If multiple files are selected, an editor is spawn + to edit paths. + + *vifm-co* +co - change file owner. {only for *nix} + + *vifm-cg* +cg - change file group. {only for *nix} + +[count]cp *vifm-cp* + change file attributes (permission on *nix and properties on + Windows). If [count] is specified, it's treated as numerical argument + for non-recursive `chmod` command (of the form `[0-7]{3,4}`). See + |vifm-menus-and-dialogs| for controls. + + +[count]C *vifm-C* + clone file [count] times. + +dd *vifm-dd* + move selected file or files to |vifm-trash| directory (if |vifm-'trash'| + option is set, otherwise delete). +d *vifm-d* + like dd, but accepts motions/selectors. + +DD and D *vifm-D* *vifm-DD* + like dd and d, but omitting |vifm-trash| + directory (even when |vifm-'trash'| option is set). + +yy or Y *vifm-yy* *vifm-Y* + yank selected files. +y *vifm-y* + yank files specified by motion/selector. + +p *vifm-p* + copy yanked files to the current directory or move the files to the + current directory if they were deleted with dd or :d[elete] or yanked + from |vifm-trash| directory. + +P *vifm-P* + move the last yanked files. The advantage of using P instead of d + followed by p is that P moves files only once. This isn't important in + case you're moving files in the same file system where your home + directory is, but using P to move files on some other file system (or + file systems, in case you want to move files from fs1 to fs2 and your + home is on fs3) can save your time. + +al - put symbolic links with absolute paths. *vifm-al* +rl - put symbolic links with relative paths. *vifm-rl* + +t - select or unselect (tag) the current file. *vifm-t* + +u - undo last change. *vifm-u* +Ctrl-R - redo last change. *vifm-CTRL-R* + +dp *vifm-dp* + in compare view of "ofboth grouppaths" kind makes corresponding entries + of the other pane equal to the current one. If at least one file is + selected, the command processes selection, otherwise current file. + + The semantics is as follows: + - nothing is done for identical entries + - if file is missing in current view, its pair gets removed + - if file is missing or differs in other view, it is replaced + - file pairs are defined by matching relative paths + + File removal obeys |vifm-'trash'| option. When the option is enabled, the + operation can be undone/redone (although results won't be visible + automatically). + + Unlike in Vim, this operation is performed on a single line rather than + a set of adjacent changes. +do *vifm-do* + same as dp, but applies changes in the opposite direction. + +v or V *vifm-v* *vifm-V* + start visual selection of files, clears current selection. + + +[count]Ctrl-A *vifm-CTRL-A* + increment first number in file name by [count] (1 by default). + +[count]Ctrl-X *vifm-CTRL-X* + decrement first number in file name by [count] (1 by default). + + +ZQ - same as :quit!. *vifm-ZQ* +ZZ - same as |vifm-:quit|. *vifm-ZZ* + + +. *vifm-.* + repeat last command-line command (not normal mode command) of this + run (does nothing right after startup or |vifm-:restart| command). + The command doesn't depend on command-line history and can be used + with completely disabled history. + + +( *vifm-(* + go to previous group. Groups are defined by primary sorting key. + For name and iname members of each group have same first letter, + for all other sorting keys vifm uses size, uid, ... + +) *vifm-)* + go to next group. See ( key description above. + + +{ *vifm-{* + speeds up navigation to closest previous entry of the opposite type by + moving to the first file backwards when cursor is on a directory and + to the first directory backwards when cursor is on a file. This is + essentially a special case of ( that is locked on "dirs". + +} *vifm-}* + same as {, but in forward direction. + + +[c *vifm-[c* + go to previous mismatched entry in directory comparison view or do + nothing. + +]c *vifm-]c* + go to next mismatched entry in directory comparison view or do nothing. + + +[d *vifm-[d* + go to previous directory entry or do nothing. + +]d *vifm-]d* + go to next directory entry or do nothing. + + +[r same as |vifm-:siblprev|. *vifm-[r* +]r same as |vifm-:siblnext|. *vifm-]r* +[R same as |vifm-:siblprev|!. *vifm-[R* +]R same as |vifm-:siblnext|!. *vifm-]R* + + +[s *vifm-[s* + go to previous selected entry or do nothing. + +]s *vifm-]s* + go to next selected entry or do nothing. + +Using Count~ + *vifm-count* *vifm-[count]* +You can use count with commands like yy. + +[count]yy yank (count + 1) files starting from current cursor position +downward. + +Or you can use count with motions passed to y, d or D. + +d[count]j delete (count + 1) files starting from current cursor position +upward. + +Registers~ + *vifm-registers* +vifm supports multiple registers for temporary storing list of yanked or +deleted files. + +Registers should be specified by hitting double quote key followed by a +register name. Count is specified after register name. By default +commands use unnamed register, which has double quote as its name. + +Though all commands accept registers, most of commands ignores them (for +example H or Ctrl-U). Other commands can fill register or append new +files to it. + +Presently vifm supports ", _, a-z and A-Z characters as register names. + +_ is black hole register. It can be used for writing, but its list is always +empty. + +As mentioned above " is unnamed register and has special meaning of the +default register. Every time when you use named registers (a-z and A-Z) +unnamed register is updated to contain same list of files as the last +used register. + +Registers with names from a to z and from A to Z are named ones. +Lowercase registers are cleared before adding new files, while uppercase +aren't and should be used to append new files to the existing file list +of appropriate lowercase register (A for a, B for b, ...). + +Registers can be changed on :empty command if they contain files under +|vifm-trash| directory. + +Registers do not contain one file more than once. + +Example: + "a2yy +puts names of two files to register a (and to the unnamed register). + "Ad +removes one file and append its name to register a (and to the unnamed +register). + p or "ap or "Ap +inserts previously yanked and deleted files into current directory. + +Selectors~ + *vifm-selectors* +y, d, D, !, gu and gU commands accept selectors. You can combine them with +any of selectors below to quickly remove or yank several files. + +j, k, gg, G, H, L, M, %, f, F, ;, comma, ', ^, 0 and $ can be used as +selectors for several commands. +Also following selectors can be used: + a - all files in current view + s - selected files + S - all files except selected + +For example: +dj - delete file under cursor and one below. +d2j - delete file under cursor and two below. +y6gg - yank all files from cursor position to 6th file in the list. + +When you pass a count to whole command and its selector they are +multiplied. So: +2d2j - delete file under cursor and four below. +2dj - delete file under cursor and two below. +2y6gg - yank all files from cursor position to 12th file in the list. + +-------------------------------------------------------------------------------- +*vifm-visual* + +Visual mode has two generic operating submodes: + - plain selection as it is in Vim; + - selection editing submode. + +Both modes select files in range from cursor position at which visual mode was +entered to current cursor position (let's call it "selection region"). Each of +two borders can be adjusted by swapping them via |vifm-v_o| or |vifm-v_O| keys +and updating cursor position with regular cursor motion keys. Obviously, once +initial cursor position is altered this way, real start position becomes +unavailable. + +Plain Vim-like visual mode starts with cleared selection, which is not restored +on rejecting selection (|vifm-v_Escape|, |vifm-v_CTRL-C|, |vifm-v_v|, +|vifm-v_V|). Contrary to it, selection editing doesn't clear previously +selected files and restores them after reject. Accepting selection by +performing an operation on selected items (e.g. yanking them via |vifm-y|) +moves cursor to the top of current selection region (not to the top most +selected file of the view). + +In turn, selection editing supports three types of editing (look at status bar +to know which one is currently active): + - append - amend selection by selecting elements in selection region; + - remove - amend selection by deselecting elements in selection region; + - invert - amend selection by inverting selection of elements in selection + region. +No matter how you activate selection editing it starts in "append" activated. +One can switch type of operation (in the order given above) via +|vifm-v_CTRL-G| key. + +Almost all normal mode keys work in visual mode, but instead of accepting +selectors they operate on selected items. + +Enter *vifm-v_Enter* + save selection and go back to normal mode not moving cursor. + +av *vifm-v_av* + leave visual mode if in amending mode (restores previous selection), + otherwise switch to amending selection mode. + +gv *vifm-v_gv* + restore previous visual selection. + +Escape, Ctrl-C *vifm-v_Escape* *vifm-v_CTRL-C* +v, V *vifm-v_v* *vifm-v_V* + leave visual mode if not in amending mode, otherwise switch to normal + visual selection. + +Ctrl-G *vifm-v_CTRL-G* + switch type of amending by round robin scheme: append -> remove -> invert. + +: *vifm-v_:* + enter command line mode. Selection is cleared on leaving the mode. + +o, O *vifm-v_o* *vifm-v_O* + switch active selection bound. + +gu, u *vifm-v_gu* *vifm-v_u* + make names of selected files lowercase. + +gU, U *vifm-v_gU* *vifm-v_U* + make names of selected files uppercase. + +cl *vifm-v_cl* + change target of symbolic link(s). + +cw *vifm-v_cw* + same as running |vifm-:rename| command without arguments. + +-------------------------------------------------------------------------------- +*vifm-view* + +This mode tries to imitate the less program. List of builtin shortcuts can be +found below. Shortcuts can be customized using |vifm-:qmap|, |vifm-:qnoremap| and +|vifm-:qunmap| command-line commands. + +Shift-Tab, Tab *vifm-q_SHIFT-Tab* *vifm-q_Tab* +q, Q, ZZ *vifm-q_q* *vifm-q_Q* *vifm-q_ZZ* + return to normal mode. + + +[count]e, [count]Ctrl-E *vifm-q_e* *vifm-q_CTRL-E* +[count]j, [count]Ctrl-N *vifm-q_j* *vifm-q_CTRL-N* +[count]Enter *vifm-q_Enter* + scroll forward one line (or [count] lines). + +[count]y, [count]Ctrl-Y *vifm-q_y* *vifm-q_CTRL-Y* +[count]k, [count]Ctrl-K *vifm-q_k* *vifm-q_CTRL-K* +[count]Ctrl-P *vifm-q_CTRL-P* + scroll backward one line (or [count] lines). + + +[count]f, [count]Ctrl-F *vifm-q_f* *vifm-q_CTRL-F* +[count]Ctrl-V, [count]Space *vifm-q_CTRL-V* *vifm-q_Space* + scroll forward one window (or [count] lines). + +[count]b, [count]Ctrl-B *vifm-q_b* *vifm-q_CTRL-B* +[count]Alt-V *vifm-q_ALT-V* + scroll backward one window (or [count] lines). + +[count]z *vifm-q_z* + scroll forward one window (and set window to [count]). + +[count]w *vifm-q_w* + scroll backward one window (and set window to [count]). + +[count]Alt-Space *vifm-q_ALT-Space* + scroll forward one window, but don't stop at end-of-file. + + +[count]d, [count]Ctrl-D *vifm-q_d* *vifm-q_CTRL-D* + scroll forward one half-window (and set half-window to [count]). + +[count]u, [count]Ctrl-U *vifm-q_u* *vifm-q_CTRL-U* + scroll backward one half-window (and set half-window to [count]). + + +r, Ctrl-R *vifm-q_r* *vifm-q_CTRL-R* +Ctrl-L *vifm-q_CTRL-L* + repaint screen. + +R *vifm-q_R* + reload view preserving scroll position. + +F *vifm-q_F* + toggle automatic forwarding. Roughly equivalent to periodic file reload + and scrolling to the bottom. The behaviour is similar to `tail -F` or F + key in less. + +a *vifm-q_a* + switch to the next viewer. Does nothing for preview constructed via `%q` + macro. +A *vifm-q_A* + switch to the previous viewer. Does nothing for preview constructed + via `%q` macro. +i *vifm-q_i* + toggle raw mode (ignoring of defined viewers). Does nothing for preview + constructed via `%q` macro. + + +[count]/pattern *vifm-q_/* + search forward for ([count]-th) matching line. +[count]?pattern *vifm-q_?* + search backward for ([count]-th) matching line. + +[count]n *vifm-q_n* + repeat previous search (for [count]-th occurrence). +[count]N *vifm-q_N* + repeat previous search in reverse direction (for [count]-th occurrence). + + +[count]g, [count]< *vifm-q_g* *vifm-q_<* +[count]Alt-< *vifm-q_ALT-<* + scroll to the first line of the file (or line [count]). + +[count]G, [count]> *vifm-q_G* *vifm-q_>* +[count]Alt-> *vifm-q_ALT->* + scroll to the last line of the file (or line [count]). + +[count]p, [count]% *vifm-q_p* *vifm-q_%* + scroll to the beginning of the file (or N percent into file). + +v *vifm-q_v* + invoke an editor to edit the current file being viewed. The command for + editing is taken from the |vifm-'vicmd'| or |vifm-'vixcmd'| option value and + extended with middle line number prepended by a plus sign and name of the + current file. + + +All "Ctrl-W x" keys above work the same was as in |vifm-normal| mode. Active +mode is automatically changed on navigating among windows. When less-like +activated on file preview is left using one by "Ctrl-W x" keys, its state is +stored until another file is displayed using preview (it's possible to leave +the mode, hide preview pane, do something else, then get back to the file and +show preview pane again with previously stored state in it). + +-------------------------------------------------------------------------------- +*vifm-command-line* + +These keys are available in all submodes of the command line mode: command, +search, prompt and filtering. + +Down, Up, Left, Right, Home, End and Delete are extended keys and they are not +available if vifm is compiled with --disable-extended-keys option. + +Esc, Ctrl-C *vifm-c_Esc* *vifm-c_CTRL-C* + leave command line mode, cancels input. Cancelled input is saved into + appropriate history and can be recalled later. + +Ctrl-M, Enter *vifm-c_CTRL-M* *vifm-c_Enter* + execute command and leave command line mode. + +Ctrl-I, Tab *vifm-c_CTRL-I* *vifm-c_Tab* + complete command or its argument. +Shift-Tab *vifm-c_SHIFT-Tab* + complete in reverse order. + +Ctrl-_ *vifm-c_CTRL-_* + stop completion and return original input. + +Ctrl-B, Left - move cursor to the left. *vifm-c_CTRL-B* *vifm-c_Left* +Ctrl-F, Right - move cursor to the right. *vifm-c_CTRL-F* *vifm-c_Right* + +Ctrl-A, Home - go to start of the line *vifm-c_CTRL-A* *vifm-c_Home* +Ctrl-E, End - go to end of the line. *vifm-c_CTRL-E* *vifm-c_End* + +Alt-B - go to beginning of previous word. *vifm-c_ALT-B* +Alt-F - go to end of next word. *vifm-c_ALT-F* + +Ctrl-U *vifm-c_CTRL-U* + remove characters from cursor position till beginning of the line. +Ctrl-K *vifm-c_CTRL-K* + remove characters from cursor position till end of the line. + +Ctrl-H *vifm-c_CTRL-H* +Backspace *vifm-c_Backspace* + remove single character before the cursor. +Ctrl-D, Delete *vifm-c_CTRL-D* *vifm-c_Delete* + remove single character under the cursor. + +Ctrl-W *vifm-c_CTRL-W* + remove characters from cursor position till beginning of previous word. +Alt-D *vifm-c_ALT-D* + remove characters from cursor position till beginning of next word. + +Ctrl-T *vifm-c_CTRL-T* + swap the order of current and previous characters and move cursor forward + or, if cursor past the end of line, swap the order of two last characters + in the line. + +Alt-. *vifm-c_ALT-.* + insert last part of previous command to current cursor position. + Each next call inserts part of previous command. + +Ctrl-G *vifm-c_CTRL-G* + edit command-line content in external editor. See + |vifm-command-line-edit| section for details. + +Ctrl-N *vifm-c_CTRL-N* + recall more recent command-line from history. +Ctrl-P *vifm-c_CTRL-P* + recall older command-line from history. + +Up *vifm-c_Up* + recall more recent command-line from history, that begins as the current + command-line. +Down *vifm-c_Down* + recall older command-line from history, that begins as the current + command-line. + +Ctrl-] - trigger abbreviation expansion. *vifm-c_CTRL-]* + +Ctrl-R = *vifm-c_CTRL-R_=* + insert result of evaluating an expression. Expression is to be entered + via nested command-line prompt (where this key does nothing). Expansion + of an erroneous expression is empty. + +Fast navigation~ + +In order to streamline navigation through directory tree, you can enter a +special form of command-line mode from search or local filter prompt. Once +activated, pressing Enter opens currently selected directory and clears the +prompt in anticipation of the next component of the path. If entry under the +cursor is a file, it is opened and the mode is finished. + +This behaviour is embedded in a command-line mode, but doesn't update input +histories nor expands abbreviations and redefines some of the mode's mappings +for the purpose of faster navigation through the file system rather than +command-line editing. When on, prompt gets "nav" prefix. + +You can enable this behaviour on search by default via a mapping like: > + nnoremap / / + +Ctrl-Y *vifm-c_CTRL-Y* + enter navigation mode. Works only for search and local filter started + from a normal mode and only when |vifm-'incsearch'| is set + (|vifm-'wrapscan'| is also nice to have set for search). + +Ctrl-Y *vifm-a_CTRL-Y* + return to a regular command-line mode. + +Enter, Right *vifm-a_Enter* *vifm-a_Right* + either enter a directory under the cursor without leaving the mode and + clear the prompt or leave the mode for files. If |vifm-'navoptions'| + specifies "open:all" a file under the cursor is opened after leaving the + mode. +Ctrl-O, Left *vifm-a_CTRL-O* *vifm-a_Left* + go to parent directory. +Ctrl-J *vifm-a_CTRL-J* + leave the mode without undoing cursor position or filter state. + +Ctrl-N, Down *vifm-a_CTRL-N* *vifm-a_Down* + move view cursor down. +Ctrl-P, Up *vifm-a_CTRL-P* *vifm-a_Up* + move view cursor up. + +Page Down *vifm-a_PageDown* + scroll view down. +Page Up *vifm-a_PageUp* + scroll view up. + +Home *vifm-a_Home* + move view cursor to the first item. +End *vifm-a_End* + move view cursor to the last item. + +Pasting special values~ + +The shortcuts listed below insert specified values into current cursor +position. Last key of every shortcut references value that it inserts: + + - c - [c]urrent file + - d - [d]irectory path + - e - [e]xtension of a file name + - r - [r]oot part of a file name + - t - [t]ail part of directory path + + - a - [a]utomatic filter + - m - [m]anual filter + - = - local filter, which is bound to "=" in normal mode + +Values related to filelist in current pane are available through Ctrl-X +prefix, while values from the other pane have doubled Ctrl-X key as their +prefix (doubled Ctrl-X is presumably easier to type than uppercase +letters; it's still easy to remap the keys to correspond to names of +similar macros). + +Ctrl-X c *vifm-c_CTRL-X_c* + name of the current file of the active pane. + +Ctrl-X d *vifm-c_CTRL-X_d* + path to the current directory of the active pane. + +Ctrl-X e *vifm-c_CTRL-X_e* + extension of the current file of the active pane. + +Ctrl-X r *vifm-c_CTRL-X_r* + name root of current file of the active pane. + +Ctrl-X t *vifm-c_CTRL-X_t* + the last component of path to the current directory of the active pane. + +Ctrl-X Ctrl-X c *vifm-c_CTRL-X_CTRL-X_c* + name of the current file of the inactive pane. + +Ctrl-X Ctrl-X d *vifm-c_CTRL-X_CTRL-X_d* + path to the current directory of the inactive pane. + +Ctrl-X Ctrl-X e *vifm-c_CTRL-X_CTRL-X_e* + extension of the current file of the inactive pane. + +Ctrl-X Ctrl-X r *vifm-c_CTRL-X_CTRL-X_r* + name root of current file of the inactive pane. + +Ctrl-X Ctrl-X t *vifm-c_CTRL-X_CTRL-X_t* + the last component of path to the current directory of the inactive pane. + + +Ctrl-X a *vifm-c_CTRL-X_a* + value of implicit permanent filter (old name "automatic") of the active + pane. + +Ctrl-X m *vifm-c_CTRL-X_m* + value of explicit permanent filter (old name "manual") of the active + pane. + +Ctrl-X = *vifm-c_CTRL-X_=* + value of local filter of the active pane. + +Ctrl-X / *vifm-c_CTRL-X_/* + last pattern from search history. + +-------------------------------------------------------------------------------- +*vifm-command-line-edit* + +vifm provides a facility to edit several kinds of data, that is usually edited +in command-line mode, in external editor (using command specified by +|vifm-'vicmd'| or |vifm-'vixcmd'| option). This has at least two advantages +over built-in command-line mode: + - one can use full power of Vim to edit text; + - finding and reusing history entries becomes possible. + +The facility is supported by four input submodes of the command-line: + - command; + - forward search; + - backward search; + - file rename (see |vifm-cw| and |vifm-cW|). + +Editing command-line using external editor is activated by the |vifm-c_CTRL-G| +shortcut. It's also possible to do almost the same from Normal and Visual +modes using |vifm-q:|, |vifm-q/| and |vifm-q?| commands. + +Temporary file created for the purpose of editing the line has the following +structure: + 1. First line, which is either empty or contains text already entered in + command-line. + 2. 2nd and all other lines with history items starting with the most recent + one. Altering this lines in any way won't change history items stored by + vifm. + +After editing application is finished the first line of the file is taken as +the result of operation, when the application returns zero exit code. If the +application returns an error (see |:cquit| command in Vim), all the edits made +to the file are ignored, but the initial value of the first line is saved in +appropriate history. + +-------------------------------------------------------------------------------- +*vifm-more* + *vifm-pager* + +This is the mode that appears when status bar content is so big that it +doesn't fit on the screen. One can identify the mode by "-- More --" message +at the bottom. + +The following keys are handled in this mode: + +Enter, Ctrl-J, j or Down - scroll one line down. +Backspace, k or Up - scroll one line up. + +d - scroll one page (half of a screen) down. +u - scroll one page (half of a screen) up. + +Space, f or PageDown - scroll down a screen. +b or PageUp - scroll up a screen. + +G - scroll to the bottom. +g - scroll to the top. + +q, Escape or Ctrl-C - quit the mode. +: - switch to command-line mode. + +-------------------------------------------------------------------------------- +*vifm-commands* + +vifm-commands are executed with :command_name + +Commented out lines should start with the double quote symbol ("), which may be +preceded by whitespace characters intermixed with colons. Inline comments can +be added at the end of the line after double quote symbol, only last line of a +multi-line command can contain such comment. Not all commands support inline +comments as their syntax conflicts with names of registers and fields where +double quotes are allowed. + +Most of the commands have two forms: complete and the short one. +Example: > + :noh[lsearch] +This means the complete command is nohlsearch, and the short one is noh. + + *vifm-commands-and-selection* +Most of command-line commands completely reset selection in the current view. +However, there are several exceptions: + - `:invert s` most likely leaves some files selected; + - :view command; + - :normal command (when it doesn't leave command-line mode); + - :if and :else commands don't affect selection on successful execution. + + *vifm-:bar* +'|' can be used to separate commands, so you can give multiple commands in one +line. If you want to use '|' in an argument, precede it with '\'. + +These commands see '|' as part of their arguments even when it's escaped: + + :[range]! + :amap + :anoremap + :autocmd + :cabbrev + :cmap + :cnoreabbrev + :cnoremap + :command + :dmap + :dnoremap + :filetype + :fileviewer + :filextype + :keepsel + :map + :mmap + :mnoremap + :nmap + :nnoremap + :noremap + :normal + :qmap + :qnoremap + :vmap + :vnoremap + :wincmd + :windo + :winrun + +To be able to use another command after one of these, wrap it with the +|vifm-:execute| command. An example: > + + if filetype('.') == 'reg' | execute '!!echo regular file' | endif +< + *vifm-:range* +:number - move to the file number. +:12 would move to the 12th file in the list. +:0 move to the top of the list. +:$ move to the bottom of the list. +See |vifm-ranges| for the ranges implemented. + +:[count]command +The only builtin :[count]command are :[count]d[elete] and :[count]y[ank]. +Examples: +:d3 - would delete three files starting at the current file position + moving down. +:3d - would delete one file at the third line in the list. + +See |vifm-reserved| for a list of reserved command names. + +The builtin commands are: + + *vifm-:!* +:[range]!command + execute command via shell. Accepts macros. +:[range]!command & + Same as above, but the command is run in the background using vifm's means. + Programs that write to stderr create error dialogs showing errors of the + command. Note the space before ampersand symbol, if you omit it, command + is run in the background using job control of your shell. + *vifm-:!!* +:[range]!!command + same as :!, but pauses before returning. +:!! + repeat the last command. + + *vifm-:alink* +:[range]alink[!?] + create absolute symbolic links to files in directory of inactive view. + With "?" prompts for destination file names in an editor. "!" forces + overwrite. +:[range]alink[!] path + create absolute symbolic links to files in directory specified by the path + (absolute or relative to directory of inactive view). +:[range]alink[!] name1 name2... + create absolute symbolic links of files in directory of other view giving + each next link a corresponding name from the argument list. +:[range]alink[!?] -skip ... + see |vifm-skip-param|. + + *vifm-:apropos* +:apropos keyword... + create a menu of items returned by the apropos command. Selecting an item + in the menu opens corresponding man page. By default the command relies + on the external "apropos" utility, which can be customized by altering + value of the |vifm-'aproposprg'| option. See |vifm-menus-and-dialogs| for + controls. +:apropos + repeat last :apropos command. + + *vifm-:autocmd* *vifm-:au* +:au[tocmd] {event} {pat} {cmd} + register autocommand for the {event}, which can be: + - DirEnter - triggered after directory is changed + Event name is case insensitive. + + {pat} is a comma-separated list of modified globs patterns, which can + contain tilde or environment variables. All paths use slash ('/') as + directory separator. The pattern can start with a '!', which negates it. + Patterns that do not contain slashes are matched against the last item of + the path only (e.g. "dir" in "/path/dir"). Literal comma can be entered by + doubling it. Two modifications to globs matching are as follows: + - * - never matches a slash (i.e., can signify single directory level) + - ** - matches any character (i.e., can match path of arbitrary depth) + + {cmd} is a :command or several of them separated with '|'. + + Examples of patterns: + - `conf.d` - matches conf.d directory anywhere + - `*.d` - matches directories ending with ".d" anywhere + - `**.git` - matches something.git, but not .git anywhere + - `**/.git/**` - matches /path/.git/objects, but not /path/.git + - `**/.git/**/` - matches /path/.git/ only (because of trailing slash) + - `/etc/*` - matches /etc/conf.d/, /etc/X11, but not /etc/X11/fs + - `/etc/**/*.d` - matches /etc/conf.d, /etc/X11/conf.d, etc. + - `/etc/**/*` - matches /etc/ itself and any file below it + - `/etc/**/**` - matches /etc/ itself and any file below it + +:au[tocmd] [{event}] [{pat}] + list those autocommands that match given event-pattern combination. + {event} and {pat} can be omitted to list all autocommands. To list any + autocommands for specific pattern one can use * placeholder in place of + {event}. +:au[tocmd]! [{event}] [{pat}] + remove autocommands that match given event-pattern combination. Syntax + is the same as for listing above. + + *vifm-:bmark* +:bmark tag1 [tag2 [tag3...]] + bookmark current directory with specified tags. +:bmark! path tag1 [tag2 [tag3...]] + same as :bmark, but allows bookmarking specific path instead of current + directory. This is for use in vifmrc and for bookmarking files. + + Path can contain macros that expand to single path (%c, %C, %d, %D) or + those that can expand to multiple paths, but contain only one (%f, %F, + %rx). The latter is done for convenience on using the command + interactively. Complex macros that include spaces (e.g. "%c:gs/ /_") + should be escaped. + + *vifm-:bmarks* +:bmarks + display all bookmarks in a menu. See |vifm-menus-and-dialogs| for + controls. +:bmarks [tag1 [tag2...]] + display menu of bookmarks that include all of the specified tags. See + |vifm-menus-and-dialogs| for controls. + + *vifm-:bmgo* +:bmgo [tag1 [tag2...]] + when there are more than one match acts exactly like :bmarks, otherwise + navigates to single match immediately (and fails if there is no match). + + *vifm-:cabbrev* *vifm-:ca* +:ca[bbrev] + display menu of command-line mode abbreviations. See + |vifm-menus-and-dialogs| for controls. +:ca[bbrev] lhs-prefix + display command-line mode abbreviations which left-hand side starts with + specified prefix. +:ca[bbrev] lhs rhs + register new or overwrite existing abbreviation for command-line mode. + rhs can contain spaces and any special sequences accepted in rhs of + mappings (see |vifm-mappings|). Abbreviations are expanded non-recursively. + + *vifm-:chistory* *vifm-:chi* +:chi[story] + display menu of saved menus. See |vifm-menus-and-dialogs| for controls, + also see |vifm-menus-history|. + + *vifm-:cnoreabbrev* + *vifm-:cnorea* +:cnorea[bbrev] + display menu of command-line mode abbreviations. See + |vifm-menus-and-dialogs| for controls. +:cnorea[bbrev] lhs-prefix + display command-line mode abbreviations which left-hand side starts with + specified prefix. +:cnorea[bbrev] lhs rhs + same as :cabbrev, but mappings in rhs are ignored during expansion. + + *vifm-:cd* +:cd or :cd ~ or :cd $HOME + change to home directory. +:cd - + go to the last visited directory. +:cd ~/dir + change directory to ~/dir. +:cd /curr/dir /other/dir + change directory of the current pane to /curr/dir and directory of the + other pane to /other/dir. Relative paths are assumed to be relative to + directory of current view. Command won't fail if one of directories is + invalid. All forms of the command accept macros. +:cd! /dir + same as :cd /dir /dir. + + *vifm-:cds* +:cds[!] pattern string [flags] + navigate to path obtained by substituting first match in current path. + Arguments can include slashes, but starting first argument with a + separator will activate below form of the command. Specifying "!" + changes directory of both panes. + Available flags: + i - ignore case (the |vifm-'ignorecase'| and |vifm-'smartcase'| + options are not used) + I - don't ignore case (the |vifm-'ignorecase'| and + |vifm-'smartcase'| options are not used) +:cds[!]/pattern/string/[flags] + same as above, but with |vifm-:substitute|-like syntax. Other punctuation + characters can be used as separators. + +:c[hange] *vifm-:change* *vifm-:c* + show a dialog to alter properties of files. + + *vifm-:chmod* +:[range]chmod + display file attributes (permission on *nix and properties on Windows) + change dialog. +:[range]chmod[!] arg... {only for *nix} + change permissions for files. See `man 1 chmod` for arg format. "!" + means set permissions recursively. + + *vifm-:chown* + {only for *nix} +:[range]chown + same as |vifm-co| key in normal mode. +:[range]chown [user][:][group] + change owner and/or group of files. Operates on directories recursively. + + *vifm-:clone* +:[range]clone[!?] + clone files in current directory. With "?" prompts for destination file + names in an editor. "!" forces overwrite. Macros are expanded. +:[range]clone[!] path + clone files to directory specified with the path (absolute or relative to + current directory). Macros are expanded. +:[range]clone[!] name1 name2... + clone files in current directory giving each next clone a corresponding + name from the argument list. Macros are expanded. + + *vifm-:colorscheme* *vifm-:colo* +:colo[rscheme]? + print current color scheme name on the status bar. +:colo[rscheme] + display a menu with a list of available color schemes. You can choose + primary color scheme here. It is used for view if no directory specific + colorscheme fits current path. It's also used to set border color (except + view titles) and colors in menus and dialogs. See + |vifm-menus-and-dialogs| for controls. +:colo[rscheme] color_scheme_name + change primary color scheme to color_scheme_name. In case of errors + (e.g. some colors are not supported by terminal) either nothing is + changed or color scheme is reset to builtin colors to ensure that TUI is + left in a usable state. +:colo[rscheme] color_scheme_name directory + associate directory with the color scheme. The directory argument can + be either absolute or relative path when :colorscheme command is executed + from command line, but mandatory should be an absolute path when the + command is executed in scripts loaded at startup (until vifm is + completely loaded). +:colo[rscheme] color_scheme_name color_scheme_name... + loads the first color scheme in the order given that exists and is supported + by the terminal. If none matches, current one remains unchanged. + For example: > + " use a separate color scheme for panes which are inside FUSE mounts + execute 'colorscheme in-fuse' &fusehome + +:comc[lear] *vifm-:comclear* *vifm-:comc* + remove all user defined commands. + + *vifm-:command* *vifm-:com* +:com[mand] + display a menu of user commands. See |vifm-menus-and-dialogs| for + controls. +:com[mand] prefix + display user defined commands that start with the prefix. +:com[mand][!] name action[ &] + set or redefine a user command. Use :com[mand]! to overwrite a + previously set command of the same name. Builtin commands can't be + redefined. + + User commands must start with an upper or lower case letter. Command + name can't contain special symbols except for a single trailing + '?' or '!'. Numbers are allowed provided that they don't cause parsing + ambiguity (no command name prefix that precedes a digit can match an + existing command unless it has a digit in the same place), for example: > + " good + :command mp3 command + " good + :command mp4 command + :command mp3! command + :command mp4? command + " bad + :command mp command + :command mp44 command + " good + :command mp4c command +< + User commands are run in a shell by default (see below for syntax of other + options). To run a command in the background you must mark it as a + background command by adding " &" after the command's action + (e.g., `:com rm rm %f &`). + + User commands of all kinds have macros expanded in them. See + |vifm-macros| for more information. +:com[mand] name /pattern + set search pattern. +:com[mand] name =pattern + set local filter value. +:com[mand] name filter{:filter args} + set file name filter (see |vifm-:filter|). For example: > + " display only audio files + :command onlyaudio filter/.+\.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i + " display everything except audio files + :command noaudio filter!/.+\.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i +:com[mand] name :commands + set kind of an alias for internal commands (like in a shell). Passes + range given to the alias to aliased command, so running :%cp after > + :command cp :copy %a +< equals > + :%copy +< + *vifm-:compare* +:compare [byname | bysize | bycontents | + listall | listunique | listdups | + ofboth | ofone | + groupids | grouppaths | + skipempty | withicase | withrcase | + showidentical | showdifferent | showuniqueleft | showuniqueright]... + compare files in one or two views according to the arguments. The default + is "bycontents listall ofboth grouppaths showidentical showdifferent + showuniqueleft showuniqueright". See |vifm-compare-views| for + details. Diff structure is incompatible with alternative representations, + so values of |vifm-'lsview'| and |vifm-'millerview'| options are ignored. +:compare! (showidentical | showdifferent | showuniqueleft | + showuniqueright)... + this invocation form works only when compare view is active and results in + redoing of the previous :compare with toggled state of the passed in + options. + +:cope[n] *vifm-:copen* *vifm-:cope* + reopens the last visible menu that has navigation to files by default, if + any. See |vifm-menus-history|. + + *vifm-:copy* *vifm-:co* +:[range]co[py][!?][ &] + copy files to directory of other view. With "?" prompts for destination + file names in an editor. "!" forces overwrite. +:[range]co[py][!] path[ &] + copy files to directory specified with the path (absolute or relative to + directory of other view). "!" forces overwrite. +:[range]co[py][!] name1 name2...[ &] + copy files to directory of other view giving each next file a + corresponding name from the argument list. "!" forces overwrite. +:[range]co[py][!?] -skip ... + see |vifm-skip-param|. + +:cq[uit][!] *vifm-:cquit* *vifm-:cq* + same as |vifm-:quit|, but also aborts directory choosing via + |vifm---choose-dir| (empties output file) and returns non-zero exit code. + + *vifm-:cunabbrev* *vifm-:cuna* +:cuna[bbrev] lhs + unregister command-line mode abbreviation by its lhs. +:cuna[bbrev] rhs + unregister command-line mode abbreviation by its rhs, so that abbreviation + could be removed even after expansion. + + *vifm-:delbmarks* +:delbmarks + remove bookmarks from current directory. +:delbmarks tag1 [tag2 [tag3...]] + remove set of bookmarks that include all of the specified tags. +:delbmarks! + remove all bookmarks. +:delbmarks! path1 [path2 [path3...]] + remove bookmarks of listed paths. + +:delc[ommand] user_command *vifm-:delcommand* *vifm-:delc* + remove user defined command named user_command. + + *vifm-:delete* *vifm-:d* +:[range]d[elete][!] [reg] [count] + delete selected or [count] files into [reg] (" by default). "!" means + complete removal (omitting trash). +:[range]d[elete][!] [count] & + delete [count] files in background. "!" means complete removal. + + *vifm-:delmarks* *vifm-:delm* +:delm[arks]! + delete all marks. +:delm[arks] marks ... + delete specified marks, each argument is treated as a set of marks. + + *vifm-:delsession* +:delsession name + delete specified session if it was stored previously. Deleting current + session doesn't detach it. + + *vifm-:display* *vifm-:di* +:di[splay] + display menu with registers content. +:di[splay] list + display the contents of the numbered and named registers that are + mentioned in list (for example "az to display "", "a and "z content). + +:dirs *vifm-:dirs* + display directory stack in a menu. See |vifm-menus-and-dialogs| for + controls. + +:ec[ho] [...] *vifm-:echo* *vifm-:ec* + evaluate each argument as an expression and output them separated with a + space. See |vifm-:let| for definition of . + +:[range]e[dit] [file...] *vifm-:edit* *vifm-:e* + open selected or passed file(s) in editor. Macros and environment + variables are expanded. + +:el[se] *vifm-:else* *vifm-:el* + execute commands until next matching |vifm-:endif| if all other conditions + didn't match. See also |vifm-:if| and |vifm-commands-and-selection|. + +:elsei[f] {expr1} *vifm-:elseif* *vifm-:elsei* + execute commands until next matching |vifm-:elseif|, |vifm-:else| or + |vifm-:endif| if conditions of previous :if and :elseif branches were + evaluated to zero. See also |vifm-:if| and |vifm-commands-and-selection|. + +:empty *vifm-:empty* + permanently remove files from all existing non-empty trash directories (see + |vifm-trash|). Trash directories which are specified via %r and/or %u also + get deleted completely. Also remove all operations from undolist that have + no sense after :empty and remove all records about files located inside + directories from all registers. Removal is performed as background task + with undetermined amount of work and can be checked via |vifm-:jobs| menu. + +:en[dif] *vifm-:endif* *vifm-:en* + end conditional block. See also |vifm-:if| and |vifm-:else|. + +:exe[cute] [...] *vifm-:execute* *vifm-:exe* + evaluate each argument as an expression and join results separated by a + space to get a single string which is then executed as a command-line + command. See |vifm-:let| for definition of . + +:exi[t][!] *vifm-:exit* *vifm-:exi* + same as |vifm-:quit|. + + *vifm-:file* *vifm-:f* +:f[ile][ &] + display menu of programs set for the file type of the current file. " &" + forces running associated program in background. See + |vifm-menus-and-dialogs| for controls. +:f[ile] arg[ &] + run associated command that begins with the arg skipping opening menu. " &" + forces running associated program in background. + + *vifm-:filetype* *vifm-:filet* +:filet[ype] pattern-list [{ descr }]def_program[ &],[{ descr }]prog2[ &],... + associate given program list to each of the patterns. Associated + program (command) is used by handlers of l and Enter keys (and also in + the :file menu). If you need to insert comma into command just double + it (",,"). Space followed by an ampersand as two last characters + means running command in background. Optional description can be given to + each command to ease understanding of what command does in the :file menu. + The rest of the programs for an association is inspected if the default + one isn't found. When program entry doesn't contain any of vifm macros, + name of current file is appended as if program entry ended with %c macro + on *nix and %"c on Windows. On Windows path to executables containing + spaces can (and should be for correct work with such paths) be double + quoted. See |vifm-patterns| for pattern definition and |vifm-selection| for + how selection is handled. See also |vifm-fuse|. + Example for zip archives and several actions: > + + filetype *.zip,*.jar,*.war,*.ear + \ {Mount with fuse-zip} + \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR, + \ {View contents} + \ zip -sf %c | less, + \ {Extract here} + \ tar -xf %c, +< + Note that on OS X when `open` is used to call an app, vifm is unable to + check whether that app is actually available. So if automatic skipping + of programs that aren't there is desirable, `open` should be replaced + with an actual command. + +:filet[ype] filename + list (in menu mode) currently registered patterns that match specified + file name. Same as ":filextype filename". + + *vifm-:filextype* *vifm-:filex* +:filex[type] pattern-list [{ description }] def_program,program2,... + same as :filetype, but this command is ignored if not running in X. In + X :filextype is equal to :filetype. See |vifm-patterns| for pattern + definition and |vifm-selection| for how selection is handled. See also + |vifm-fuse|. + + For example, consider the following settings (the order might seem + strange, but it's for the demonstration purpose): > + + filetype *.html,*.htm + \ {View in lynx} + \ lynx + filextype *.html,*.htm + \ {Open with dwb} + \ dwb %f %i &, + filetype *.html,*.htm + \ {View in links} + \ links + filextype *.html,*.htm + \ {Open with firefox} + \ firefox %f &, + \ {Open with uzbl} + \ uzbl-browser %f %i &, +< + If you're using vifm inside a terminal emulator that is running in + graphical environment (when X is used on *nix; always on Windows), vifm + attempts to run application in this order: + + 1. lynx + 2. dwb + 3. links + 4. firefox + 5. uzbl + + If there is no graphical environment (checked by presence of non-empty + $DISPLAY or $WAYLAND_DISPLAY environment variable on *nix; never happens + on Windows), the list will look like: + + 1. lynx + 2. links + + Just as if all :filextype commands were not there. + + The purpose of such differentiation is to allow comfortable use of vifm + with same settings in desktop environment/through remote connection (SSH)/ + in native console. + + Note that on OS X $DISPLAY isn't defined unless you define it, so + :filextype should be used only if you set $DISPLAY in some way. + +:filext[ype] filename + list (in menu mode) currently registered patterns that match specified + file name. Same as ":filetype filename". + + *vifm-:fileviewer* *vifm-:filev* +:filev[iewer] pattern-list command1,command2,... + register specified list of commands as viewers for each of the patterns. + Viewer is a command which output is captured and displayed in one of the + panes of vifm after pressing |vifm-e| or running |vifm-:view| command. + When the command doesn't contain any of vifm macros, name of current file + is appended as if command ended with |vifm-%c| macro. Comma escaping and + missing commands processing rules as for |vifm-:filetype| apply to this + command. See |vifm-patterns| for pattern definition. Supports + |vifm-lua-handlers|. + + Example for zip archives: > + + fileviewer *.zip,*.jar,*.war,*.ear zip -sf %c, echo "No zip to preview:" +< +:filev[iewer] filename + list (in menu mode) currently registered patterns that match specified + filename. + + *vifm-:filter* +:filter[!] {pattern} + filter files matching the pattern out of directory listings. '!' + controls state of filter inversion after updating filter value + (see |vifm-cpo-f|). Filter is matched case sensitively on *nix and + case insensitively on Windows. See |vifm-filters| and |vifm-patterns|. + + Example: > + " filter all files ending in .o from the filelist. + :filter /\.o$/ + +:filter[!] {empty-pattern} + same as above, but use last search pattern as pattern value. + + Example: > + :filter //I + +:filter + reset filter (set it to an empty string) and show all files. +:filter! + same as |vifm-:invert|. +:filter? + display information on local, name and auto filters. + + *vifm-:find* *vifm-:fin* +:[range]fin[d] pattern + display results of find command in the menu. Searche among selected + files if any and no range given. Macros are accepted. By default the + command relies on the external "find" utility, which can be customized + by altering value of the |vifm-'findprg'| option. See + |vifm-menus-and-dialogs| for controls. +:[range]fin[d] -opt... + same as :find above, but user defines all find arguments. Searches among + selected files if any and no range given. +:[range]fin[d] path -opt... + same as :find above, but user defines all find arguments. Ignores + selection and range. +:[range]fin[d] + repeat last :find command. + +:fini[sh] *vifm-:finish* *vifm-:fini* + stop script sourcing. Can only be used in a vifm script file. This is a + quick way to skip processing of the rest of the file without even parsing + it. + +:go[to] path *vifm-:goto* *vifm-:go* + change directory if necessary and put specified path under the cursor. + The path should be existing non-root path. Macros and environment + variables are expanded. + + *vifm-:grep* *vifm-:gr* +:[range]gr[ep][!] pattern + display results of "grep" command in the menu. Add "!" to request + inversion of search (look for lines that do not match pattern). Searches + among selected files if any and no range given. Ignores binary files by + default. By default the command relies on the external "grep" utility, + which can be customized by altering value of the |vifm-'grepprg'| option. + See |vifm-menus-and-dialogs| for controls. +:[range]gr[ep][!] -opt... + same as :grep above, but user defines all grep arguments, which are not + escaped. Searches among selected files if any. +:[range]gr[ep][!] + repeat last :grep command. "!" of this command inverts "!" in repeated + command. + + *vifm-:help* *vifm-:h* +:h[elp] + display documentation in editor. +:h[elp] argument + same as using ':h argument' in vim. Use vifm- to get help on + vifm (tab completion works and matches in the middle of the string as + well). This form of the command doesn't work when |vifm-'vimhelp'| option + is off. + +:hideui *vifm-:hideui* + hide interface to show previous commands' output. + + *vifm-:highlight* *vifm-:hi* +:hi[ghlight] + display information about all highlight groups active at the moment. +:hi[ghlight] clear + reset all highlighting to builtin defaults and removed all + filename-specific rules. +:hi[ghlight] clear ( {pat1,pat2,...} | /regexp/ ) + remove specified rule. +:hi[ghlight] group-name | {pat1,pat2,...} | /regexp/ + display information on given highlight group or file name pattern of color + scheme used in the active view. +:hi[ghlight] ( group-name | {pat1,pat2,...} | /regexp/[iI] ) + cterm=style | ctermfg=color | ctermbg=color | + gui=style | guifg=color | guibg=color + set style (cterm, gui), foreground (ctermfg, guifg) and/or + background (ctermbg, guibg) parameters of highlight group or file name + pattern for color scheme used in the active view. + +All style values as well as color names are case insensitive. + +Available style values (some of them can be combined): + - bold + - underline + - reverse or inverse + - standout + - italic (on unsupported systems becomes reverse) + - combine - add attributes of current group to attributes of the parent in + group hierarchy (see below) instead of replacing them + - none + +Available group-name values: + - Win - color of all windows (views, dialogs, menus) and default color for + their content (e.g. regular files in views) + - AuxWin - color of auxiliary areas of windows + - OtherWin - color of inactive pane + - Border - color of vertical parts of the border + - TabLine - tab line color (for |vifm-'tabscope'| set to "global") + - TabLineSel - color of the tip of selected tab (regardless of + |vifm-'tabscope'|) + - TopLine - top line color of the other pane + - TopLineSel - top line color of the current pane + - CmdLine - the command line/status bar color + - ErrorMsg - color of error messages in the status bar + - StatusLine - color of the line above the status bar + - JobLine - color of job line that appears above the status line + - WildMenu - color of the wild menu items + - SuggestBox - color of key suggestion box + - CurrLine - line at cursor position in active view + - OtherLine - line at cursor position in inactive view + - OddLine - color of every second entry line in a pane + - LineNr - line number column of views + - Selected - color of selected files + - Directory - color of directories + - Link - color of symbolic links in the views + - BrokenLink - color of broken symbolic links + - HardLink - color of regular files with more than one hard link + - Socket - color of sockets + - Device - color of block and character devices + - Executable - color of executable files + - Fifo - color of fifo pipes + - CmpMismatch - color of mismatched files in side-by-side comparison by paths + - CmpUnmatched - comparison file entry that has no pair in the other pane + - CmpBlank - entry placeholder in a compare view, paired with CmpUnmatched + - User1..User20 - 20 colors which can be used via %* |vifm-'statusline'| + macro + +Available colors: + - -1 or default or none - transparent + - black and lightblack + - red and lightred + - green and lightgreen + - yellow and lightyellow + - blue and lightblue + - magenta and lightmagenta + - cyan and lightcyan + - white and lightwhite + - 0-255 - corresponding colors from 256-color palette + (for ctermfg and ctermbg) + - #rrggbb - direct ("gui", "true", 24-bit) color in hex-notation, each of + the three compontents are in the range 0x00 to 0xff + (for guifg and guibg) + +Light versions of colors are regular colors with bold attribute set +automatically in terminals that have less than 16 colors. So order of arguments +of :highlight command is important and it's better to put "cterm" in front of +others to prevent it from overwriting attributes set by "ctermfg" or "ctermbg" +arguments. + +For convenience of color scheme authors xterm-like names for 256 color palette +is also supported. The mapping is taken from +http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim +Duplicated entries were altered by adding an underscore followed by numerical +suffix. + + 0 Black 86 Aquamarine1 172 Orange3 + 1 Red 87 DarkSlateGray2 173 LightSalmon3_2 + 2 Green 88 DarkRed_2 174 LightPink3 + 3 Yellow 89 DeepPink4_2 175 Pink3 + 4 Blue 90 DarkMagenta 176 Plum3 + 5 Magenta 91 DarkMagenta_2 177 Violet + 6 Cyan 92 DarkViolet 178 Gold3_2 + 7 White 93 Purple 179 LightGoldenrod3 + 8 LightBlack 94 Orange4_2 180 Tan + 9 LightRed 95 LightPink4 181 MistyRose3 + 10 LightGreen 96 Plum4 182 Thistle3 + 11 LightYellow 97 MediumPurple3 183 Plum2 + 12 LightBlue 98 MediumPurple3_2 184 Yellow3_2 + 13 LightMagenta 99 SlateBlue1 185 Khaki3 + 14 LightCyan 100 Yellow4 186 LightGoldenrod2 + 15 LightWhite 101 Wheat4 187 LightYellow3 + 16 Grey0 102 Grey53 188 Grey84 + 17 NavyBlue 103 LightSlateGrey 189 LightSteelBlue1 + 18 DarkBlue 104 MediumPurple 190 Yellow2 + 19 Blue3 105 LightSlateBlue 191 DarkOliveGreen1 + 20 Blue3_2 106 Yellow4_2 192 DarkOliveGreen1_2 + 21 Blue1 107 DarkOliveGreen3 193 DarkSeaGreen1_2 + 22 DarkGreen 108 DarkSeaGreen 194 Honeydew2 + 23 DeepSkyBlue4 109 LightSkyBlue3 195 LightCyan1 + 24 DeepSkyBlue4_2 110 LightSkyBlue3_2 196 Red1 + 25 DeepSkyBlue4_3 111 SkyBlue2 197 DeepPink2 + 26 DodgerBlue3 112 Chartreuse2_2 198 DeepPink1 + 27 DodgerBlue2 113 DarkOliveGreen3_2 199 DeepPink1_2 + 28 Green4 114 PaleGreen3_2 200 Magenta2_2 + 29 SpringGreen4 115 DarkSeaGreen3 201 Magenta1 + 30 Turquoise4 116 DarkSlateGray3 202 OrangeRed1 + 31 DeepSkyBlue3 117 SkyBlue1 203 IndianRed1 + 32 DeepSkyBlue3_2 118 Chartreuse1 204 IndianRed1_2 + 33 DodgerBlue1 119 LightGreen_2 205 HotPink + 34 Green3 120 LightGreen_3 206 HotPink_2 + 35 SpringGreen3 121 PaleGreen1 207 MediumOrchid1_2 + 36 DarkCyan 122 Aquamarine1_2 208 DarkOrange + 37 LightSeaGreen 123 DarkSlateGray1 209 Salmon1 + 38 DeepSkyBlue2 124 Red3 210 LightCoral + 39 DeepSkyBlue1 125 DeepPink4_3 211 PaleVioletRed1 + 40 Green3_2 126 MediumVioletRed 212 Orchid2 + 41 SpringGreen3_2 127 Magenta3 213 Orchid1 + 42 SpringGreen2 128 DarkViolet_2 214 Orange1 + 43 Cyan3 129 Purple_2 215 SandyBrown + 44 DarkTurquoise 130 DarkOrange3 216 LightSalmon1 + 45 Turquoise2 131 IndianRed 217 LightPink1 + 46 Green1 132 HotPink3 218 Pink1 + 47 SpringGreen2_2 133 MediumOrchid3 219 Plum1 + 48 SpringGreen1 134 MediumOrchid 220 Gold1 + 49 MediumSpringGreen 135 MediumPurple2 221 LightGoldenrod2_2 + 50 Cyan2 136 DarkGoldenrod 222 LightGoldenrod2_3 + 51 Cyan1 137 LightSalmon3 223 NavajoWhite1 + 52 DarkRed 138 RosyBrown 224 MistyRose1 + 53 DeepPink4 139 Grey63 225 Thistle1 + 54 Purple4 140 MediumPurple2_2 226 Yellow1 + 55 Purple4_2 141 MediumPurple1 227 LightGoldenrod1 + 56 Purple3 142 Gold3 228 Khaki1 + 57 BlueViolet 143 DarkKhaki 229 Wheat1 + 58 Orange4 144 NavajoWhite3 230 Cornsilk1 + 59 Grey37 145 Grey69 231 Grey100 + 60 MediumPurple4 146 LightSteelBlue3 232 Grey3 + 61 SlateBlue3 147 LightSteelBlue 233 Grey7 + 62 SlateBlue3_2 148 Yellow3 234 Grey11 + 63 RoyalBlue1 149 DarkOliveGreen3_3 235 Grey15 + 64 Chartreuse4 150 DarkSeaGreen3_2 236 Grey19 + 65 DarkSeaGreen4 151 DarkSeaGreen2 237 Grey23 + 66 PaleTurquoise4 152 LightCyan3 238 Grey27 + 67 SteelBlue 153 LightSkyBlue1 239 Grey30 + 68 SteelBlue3 154 GreenYellow 240 Grey35 + 69 CornflowerBlue 155 DarkOliveGreen2 241 Grey39 + 70 Chartreuse3 156 PaleGreen1_2 242 Grey42 + 71 DarkSeaGreen4_2 157 DarkSeaGreen2_2 243 Grey46 + 72 CadetBlue 158 DarkSeaGreen1 244 Grey50 + 73 CadetBlue_2 159 PaleTurquoise1 245 Grey54 + 74 SkyBlue3 160 Red3_2 246 Grey58 + 75 SteelBlue1 161 DeepPink3 247 Grey62 + 76 Chartreuse3_2 162 DeepPink3_2 248 Grey66 + 77 PaleGreen3 163 Magenta3_2 249 Grey70 + 78 SeaGreen3 164 Magenta3_3 250 Grey74 + 79 Aquamarine3 165 Magenta2 251 Grey78 + 80 MediumTurquoise 166 DarkOrange3_2 252 Grey82 + 81 SteelBlue1_2 167 IndianRed_2 253 Grey85 + 82 Chartreuse2 168 HotPink3_2 254 Grey89 + 83 SeaGreen2 169 HotPink2 255 Grey93 + 84 SeaGreen1 170 Orchid + 85 SeaGreen1_2 171 MediumOrchid1 + +There are two colors (foreground and background) and only one bold attribute. +Thus single bold attribute affects both colors when "reverse" attribute is used +in vifm run inside terminal emulator. At the same time linux native console can +handle boldness of foreground and background colors independently, but for +consistency with terminal emulators this is available only implicitly by using +light versions of colors. This behaviour might be changed in the future. + +Although vifm supports 256 colors in a sense they are supported by UI drawing +library, whether you will be able to use all of them highly depends on your +terminal. To set up terminal properly, make sure that $TERM in the +environment you run vifm is set to name of 256-color terminal (on *nixes it can +also be set via X resources), e.g. xterm-256color. One can find list of +available terminal names by listing /usr/lib/terminfo/. Number of colors +supported by terminal with current settings can be checked via "tput colors" +command. + +In order to use 24-bit colors one needs a terminal that supports them, +corresponding terminfo record (probably ends in "-direct" like in +"xterm-direct") and $TERM pointing to it. When vifm detects direct color +support "cterm*" values are ignored for groups which have at least one of +"gui*" values set, otherwise they are used after translating via a builtin +palette. + +Here is the hierarchy of highlight groups, which you need to know for using +transparency: + JobLine + SuggestBox + StatusLine + WildMenu + User1..User20 + Border + CmdLine + ErrorMsg + Win + OtherWin + AuxWin + OddLine + File name specific highlights + Directory + Link + BrokenLink + HardLink + Socket + Device + Fifo + Executable + CmpMismatch + CmpUnmatched + CmpBlank + Selected + CurrLine + LineNr (in active pane) + OtherLine + LineNr (in inactive pane) + TopLine + TopLineSel + TabLineSel (for pane tabs) + User1..User20 + TabLine + TabLineSel + User1..User20 + +"none" means default terminal color for highlight groups at the first level +of the hierarchy and transparency for all others. + +Here file name specific highlights mean those configured via globs ({}) or +regular expressions (//). At most one of them is applied per file entry, namely +the first that matches file name, hence order of :highlight commands might be +important in certain cases. + +:histnext *vifm-:histnext* + same as . The main use case for this command is to work around the + common pain point of and being the same ASCII character: one + could alter the terminal emulator settings to emit, for example, the `F1` + keycode when Ctrl-I is pressed, then `:noremap :histnext` in vifm, + add "t" flag to the |vifm-'cpoptions'|, and thus have both and + working as expected. + + *vifm-:history* *vifm-:his* +:his[tory] + display a menu with list of visited directories. See + |vifm-menus-and-dialogs| for controls. +:his[tory] x + where x can be: + d[ir] or . show directory history. + c[md] or : show command line history. + s[earch] or / show search history and search forward on l key. + f[search] or / show search history and search forward on l key. + b[search] or ? show search history and search backward on l key. + i[nput] or @ show prompt history (e.g. on one file renaming). + fi[lter] or = show local filter history (see |vifm-=|). + e[xprreg] show expression register history (see |vifm-c_Ctrl-R_=|). + mc[md] show command-line history of menus. + See |vifm-menus-and-dialogs| for controls. + +:histprev *vifm-:histprev* + same as . + +:if {expr1} *vifm-:if* + start conditional block. Commands are executed until next matching + |vifm-:elseif|, |vifm-:else| or |vifm-:endif| command if {expr1} evaluates + to non-zero, otherwise they are ignored. See also + |vifm-commands-and-selection|. + + Example: > + if $TERM == 'screen.linux' + highlight CurrLine ctermfg=lightwhite ctermbg=lightblack + elseif $TERM == 'tmux' + highlight CurrLine cterm=reverse ctermfg=black ctermbg=white + else + highlight CurrLine cterm=bold,reverse ctermfg=black ctermbg=white + endif +< + *vifm-:invert* +:invert [f] + invert file name filter. +:invert? [f] + display current filter state. +:invert s + invert selection. See also |vifm-commands-and-selection|. +:invert o + invert sorting order of the primary sorting key. +:invert? o + display sorting order of the primary sorting key. + +:jobs *vifm-:jobs* + display menu of current backgrounded processes. See + |vifm-menus-and-dialogs| for controls. + +:keepsel [command...] *vifm-:keepsel* + preserve selection during some :command by default. Note that this + doesn't save and restore selection to preserve it no matter what, but + precludes its clearing at the end of a command and thus won't help if + selection is cleared explicitly during operation. + + Example: > + :keepsel view +< + *vifm-:let* +:let $ENV_VAR = + set an environment variable. Note: setting environment variable to an + empty string on Windows removes it. +:let $ENV_VAR .= + append value to environment variable. +:let &[l:|g:]opt = + sets option value. +:let &[l:|g:]opt .= + append value to string option. +:let &[l:|g:]opt += + increasing option value, adding sub-values. +:let &[l:|g:]opt -= + decreasing option value, removing sub-values. + +Where could be a single-quoted string, double-quoted string, an +environment variable, function call or a concatanation of any of them in any +order using the '.' operator. Any whitespace is ignored. + + *vifm-:locate* +:locate filename + use "locate" command to create a menu of file names. Selecting a file + from the menu reloads current file list in vifm to navigate to the file. + By default the command relies on the external "locate" utility (it's + assumed that its database is already built), which can be customized by + altering value of the |vifm-'locateprg'| option. See + |vifm-menus-and-dialogs| for controls. +:locate + repeat last :locate command. + +:ls *vifm-:ls* + list windows of active terminal multiplexer (only when terminal + multiplexer is used). This is achieved by issuing proper command for + active terminal multiplexer, thus the list is not handled by vifm. + +:lstrash *vifm-:lstrash* + display a menu with list of files in trash. Each element of the list is + original path of a deleted file, thus the list can contain duplicates. + See |vifm-menus-and-dialogs| for controls. + +:[range]ma[rk][?] x /full/path [filename] *vifm-:mark* *vifm-:ma* + set mark x (a-zA-Z0-9) at /full/path and filename. By default current + directory is used. If no filename was given and /full/path is current + directory then last file in [range] is being used. Using of macros is + allowed. Question mark stops command from overwriting existing marks. + + *vifm-:marks* +:marks + display menu of all marks. See |vifm-menus-and-dialogs| for controls. +:marks list ... + display the contents of the marks that are mentioned in list. + + *vifm-:media* +:media {only for *nix} + display media management menu. See |vifm-menus-and-dialogs| for + controls. See also |vifm-'mediaprg'| option. + +:mes[sages] *vifm-:messages* *vifm-:mes* + display previously given status bar messages (up to 50). + +:[line]mkdir[!] dir... *vifm-:mkdir* + create directories at specified paths. The [line] can be used to pick + node in a tree-view. "!" means make parent directories + as needed. Macros are expanded. + + *vifm-:move* *vifm-:m* +:[range]m[ove][!?][ &] + move files to directory of other view. With "?" prompts for destination + file names in an editor. "!" forces overwrite. +:[range]m[ove][!] path[ &] + move files to directory specified with the path (absolute or relative to + directory of other view). "!" forces overwrite. +:[range]m[ove][!] name1 name2...[ &] + move files to directory of other view giving each next file a + corresponding name from the argument list. "!" forces overwrite. +:[range]m[ove][!?] -skip ... + see |vifm-skip-param|. + +:noh[lsearch] *vifm-:nohlsearch* *vifm-:noh* + clear selection in current pane. + +:norm[al][!] commands *vifm-:normal* *vifm-:norm* + execute normal mode commands. If "!" is used, user defined mappings are + ignored. Unfinished last command is aborted as if or was + typed. A ":" should be completed as well. Commands can't start with a + space, so put a count of 1 (one) before it. + +:on[ly] *vifm-:only* *vifm-:on* + switch to a one window view. + + *vifm-:plugin* +:plugin load + loads all plugins. To be used in configuration file to manually load + plugins at an earlier point. The plugins can be loaded only once, + additional calls will do nothing. +:plugin blacklist {plugin} + adds {plugin} to the list of plugins to be ignored. +:plugin whitelist {plugin} + adds {plugin} to the list of plugins to be loaded while ignoring all + other plugins. This list should normally be empty. + +:plugins *vifm-:plugins* + open plugins menu. See |vifm-menus-and-dialogs| for controls. + +:popd *vifm-:popd* + remove pane directories from stack. + + *vifm-:pushd* +:pushd[!] /curr/dir [/other/dir] + add pane directories to stack and process arguments like :cd command. +:pushd + exchange top two items of the directory stack. + +:[line]pu[t][!] [reg] [ &] *vifm-:put* *vifm-:pu* + put files from specified register (" by default) into current directory. + The [line] can be used to pick node in a tree-view. "!" moves files + from their original location instead of copying them. During this + operation no confirmation dialogs will be shown, all checks are performed + beforehand. + +:pw[d] *vifm-:pwd* *vifm-:pw* + display the present working directory. + +:qa[ll]! *vifm-:qall* *vifm-:qa* + exit vifm (add ! to skip saving changes and checking for active + backgrounded commands). + +:q[uit][!] *vifm-:quit* *vifm-:q* + if there is more than one tab, close the current one, otherwise exit + vifm (add ! to skip saving state and checking for active backgrounded + commands). + +:redr[aw] *vifm-:redraw* *vifm-:redr* + redraw the screen immediately. + + *vifm-:regedit* *vifm-:rege* +:rege[dit] [{reg}] + edit register contents using external editor (see |vifm-'vicmd'|). + If {reg} is omitted, unnamed register will be edited by default. + Edited paths are normalized (no extra `.`, `..`, `/`, etc.) and all + relative paths are treated as starting in the directory of the current + view. + + *vifm-:registers* *vifm-:reg* +:reg[isters] + display menu with registers content. +:reg[isters] list + display the contents of the numbered and named registers that are + mentioned in list (for example "az to display "", "a and "z content). + +:regular *vifm-:regular* + switch to regular view leaving custom view. + + *vifm-:rename* +:[range]rename[!] + rename files by editing their names in an editor. "!" renames files + recursively in subdirectories. See |vifm-ext-rename|. +:[range]rename name1 name2... + rename each of selected files to a corresponding name. + + *vifm-:restart* +:restart + free a lot of things (histories, commands, etc.), reread vifminfo, vifmrc + and session files and run startup commands passed in the argument list, + thus losing all unsaved changes (e.g. recent history or keys mapped after + starting this instance). Session that wasn't yet stored gets reset. + + While many things get reset, some basic UI state and current locations + are preserved, including tabs. +:restart full + variation of :restart that makes no attempt to preserve anything. + +:[range]restore *vifm-:restore* + restore file from |vifm-trash| directory, doesn't work outside one of trash + directories. + + *vifm-:rlink* +:[range]rlink[!?] + create relative symbolic links to files in directory of other view. With + "?" prompts for destination file names in an editor. "!" forces overwrite. +:[range]rlink[!] path + create relative symbolic links of files in directory specified with the + path (absolute or relative to directory of other view). "!" forces + overwrite. +:[range]rlink[!] name1 name2... + create relative symbolic links of files in directory of other view giving + each next link a corresponding name from the argument list. "!" forces + overwrite. +:[range]rlink[!?] -skip ... + see |vifm-skip-param|. + + *vifm-:screen* +:screen + toggle whether to use the terminal multiplexer or not. A terminal + multiplexer uses pseudo terminals to allow multiple windows to be used in + the console or in a single xterm. Starting vifm from terminal multiplexer + with appropriate support turned on causes vifm to open a new terminal + multiplexer window for each new file edited or program launched from vifm. + This requires screen version 3.9.9 or newer for the screen -X argument or + tmux (1.8 version or newer is recommended). +:screen! + enable integration with terminal multiplexers. +:screen? + display whether integration with terminal multiplexers is enabled. + +Note: the command is called screen for historical reasons (when tmux wasn't +yet supported) and might be changed in future releases, or get an alias. + + *vifm-:select* +:[range]select + select files in the given range (current file if no range is given). +:select {pattern} + select files that match specified pattern. Possible {pattern} forms are + described in |vifm-patterns|. Trailing slash for directories is taken + into account, so `:select! */ | invert s` selects only files. +:select //[iI] + same as item above, but reuses last search pattern. +:select !{external command} + select files from the list supplied by external command. Files are + matched by full paths, relative paths are converted to absolute ones + beforehand. +:[range]select! [{pattern}|!{external command}] + same as above, but resets previously selected items before proceeding. + + *vifm-:session* +:session? + print name of the current session. +:session + detach current session without saving it. Resets |vifm-v:session|. +:session name + create or load and switch to a session with the specified name. Name + can't contain slashes. Session active at the moment is saved before the + switch. Session is also automatically saved when quiting the + application in usual ways. Sets |vifm-v:session|. +:session - + switch to a previous session if it still exists (wasn't removed or + detached from without saving). + + *vifm-:set* *vifm-:se* +:se[t] + display all options that differ from their default value. +:se[t] all + display all options. +:se[t] opt1=val1 opt2='val2' opt3="val3" ... + sets given options. For |vifm-local-options| both values are set. + You can use the following syntax: + - for all options - option, option? and option& + - for boolean options - nooption, invoption and option! + - for integer options - option=x, option+=x and option-=x + - for string options - option=x and option+=x + - for string list options - option=x, option+=x, option-=x and option^=x + - for enumeration options - option=x, option+=x and option-=x + - for set options - option=x, option+=x, option\-=x and option^=x + - for charset options - option=x, option+=x, option-=x and option^=x + the meaning: + - option - turn option on (for boolean) or print its value (for all + others) + - nooption - turn option off + - invoption - invert option state + - option! - invert option state + - option? - print option value + - option& - reset option to its default value + - option=x or option:x - set option to x + - option+=x - add/append x to option + - option-=x - remove (or subtract) x from option + - option^=x - toggle x presence among values of the option + + Option name can be prepended and appended by any number of whitespace + characters. + + *vifm-:setglobal* *vifm-:setg* +:setg[lobal] + display all global options that differ from their default value. +:setg[lobal] all + display all global options. +:setg[lobal] opt1=val1 opt2='val2' opt3="val3" ... + same as |vifm-:set|, but changes/prints only global options or global + values of local options. Changes to the latter might be not visible until + directory is changed. + + *vifm-:setlocal* *vifm-:setl* +:setl[ocal] + display all local options that differ from their default value. +:setl[ocal] all + display all local options. +:setl[ocal] opt1=val1 opt2='val2' opt3="val3" ... + same as |vifm-:set|, but changes/prints only local values of local + options. + +:sh[ell][!] *vifm-:shell* *vifm-:sh* + start a shell in current directory. "!" suppresses spawning dedicated + window of terminal multiplexer for a shell. To make vifm adaptive to + environment it uses $SHELL if it's defined, otherwise |vifm-'shell'| + value is used. + +:[count]siblnext[!] *vifm-:siblnext* + change directory to [count]th next sibling directory of current path + using value of global sort option of current pane. "!" enables wrapping. + + For example, say, you're at `/boot` and root listing starts like this: > + bin/ + boot/ + dev/ + ... +< Issuing :siblnext will navigate to `/dev`. + +:[count]siblprev[!] *vifm-:siblprev* + same as :siblnext, but in the opposite direction. + +:sor[t] *vifm-:sort* *vifm-:sor* + display dialog with different sorting methods, where one can select + the primary sorting key. When |vifm-'viewcolumns'| options is empty and + |vifm-'lsview'| is off, changing primary sorting key also affects view + look (in particular the second column of the view is changed). + See |vifm-menus-and-dialogs| for controls. + +:so[urce] file *vifm-:source* *vifm-:so* + read command-line commands from the file. + + *vifm-:split* *vifm-:sp* +:sp[lit] + switch to a two window horizontal view. +:sp[lit]! + toggle horizontal window splitting. +:sp[lit] path + split window horizontally to show both file directories. Also changes + other pane to the path (absolute or relative to current directory of + active pane). + + *vifm-:stop* *vifm-:st* +:st[op] + suspend vifm (same as pressing Ctrl-Z). Does nothing if this instance + isn't running in a shell. The command exists to allow mapping to the + action of Ctrl-Z. + + *vifm-:substitute* *vifm-:s* +:[range]s[ubstitute]/pattern/string/[flags] + for each file in range replace a match of pattern with string. String + can contain \0...\9 to link to capture groups (0 - all match, 1 - first + group, etc.). Pattern is stored in the search history. + Available flags: + i - ignore case (the |vifm-'ignorecase'| and |vifm-'smartcase'| + options are not used) + I - don't ignore case (the |vifm-'ignorecase'| and + |vifm-'smartcase'| options are not used) + g - substitute all matches in each file name (each g toggles this) +:[range]s[ubstitute]/pattern + substitute pattern with an empty string. +:[range]s[ubstitute]//string/[flags] + use last pattern from search history. +:[range]s[ubstitute] + repeat previous substitution command. + + *vifm-:sync* +:sync [relative path] + change the other pane to the current pane directory or to some path + relative to the current directory. Using of macros is allowed. +:sync! + change the other pane to the current pane directory and synchronize + cursor position. If current pane displays custom list of files, position + before entering it is used (current one might not make any sense). +:sync! [location | cursorpos | localopts | filters | filelist | tree | all]... + change enumerated properties of the other pane to match corresponding + properties of the current pane. Arguments have the following meanings: + - location - current directory of the pane; + - cursorpos - cursor position (doesn't make sense without "location"); + - localopts - all local options; + - filters - all filters; + - filelist - list of files for custom view (implies "location"); + - tree - tree structure for tree view (implies "location"); + - all - all of the above. + +:tabc[lose] *vifm-:tabclose* *vifm-:tabc* + close current tab, unless it's the only one open at current scope. + +:tabm[ove] [N] *vifm-:tabmove* *vifm-:tabm* + without the argument or with `$` as the argument, current tab becomes + the last tab. With the argument, current tab is moved after the tab + with the specified number. Argument of `0` moves current tab to the + first position. + +:tabname [name] *vifm-:tabname* + set, update or reset (when no argument is provided) name of the current + tab. + +:tabnew [path] *vifm-:tabnew* + create new tab. Accepts optional path for the new tab. Macros and + environment variables are expanded. + + *vifm-:tabnext* *vifm-:tabn* +:tabn[ext] + switch to the next tab (wrapping around). +:tabn[ext] {n} + go to the tab number {n}. Tab numeration starts with 1. + + *vifm-:tabonly* *vifm-:tabo* +:tabo[nly] + close all tabs but the current one. Closes pane tabs only at the active + side. + + *vifm-:tabprevious* *vifm-:tabp* +:tabp[revious] + switch to the previous tab (wrapping around). +:tabp[revious] {n} + go to the {n}-th previous tab. Note that |vifm-:tabnext| handles its + argument differently. + +:[line]touch file... *vifm-:touch* + create files at specified paths. Aborts on errors. Doesn't update time + of existing files. The [line] can be used to pick node in a tree-view. + Macros are expanded. + +:[range]tr/pattern/string/ *vifm-:tr* + for each file in range transliterate the characters which appear in + pattern to the corresponding character in string. When string is shorter + than pattern, it's padded with its last character. + + *vifm-:trashes* +:trashes + list all valid trash directories in a menu. Only non-empty and writable + trash directories are shown. This is exactly the list of directories that + are cleared when |vifm-:empty| command is executed. +:trashes? + same as :trashes, but also displays size of each trash directory. See + |vifm-menus-and-dialogs| for controls. + + *vifm-:tree* +:tree [depth=N] + turn pane into tree view with current directory as its root. The tree + view is implemented on top of a custom view, but is automatically kept in + sync with file system state and considers all the filters. Thus the + structure corresponds to what one would see on visiting the directories + manually. As a special case for trees built out of custom view + file-system tracking isn't performed. + + To leave tree view go up from its root or use |vifm-gh| at any level of + the tree. Any command that changes directory will also do, in + particular, `:cd ..` + + Tree structure is incompatible with alternative representations, so + values of |vifm-'lsview'| and |vifm-'millerview'| options are ignored. + + The "depth" argument specifies nesting level on which loading of + subdirectories won't happen (they will be folded). Values start at 1. +:tree! + toggle current view in and out of tree mode. + +:undol[ist] *vifm-:undolist* *vifm-:undol* + display list of latest changes. Use "!" to see actual commands. + See |vifm-menus-and-dialogs| for controls. + +:unl[et][!] $ENV_VAR1 $ENV_VAR2 ... *vifm-:unlet* *vifm-:unl* + remove environment variables. Use "!" to omit displaying of warnings + about nonexistent variables. + + *vifm-:unselect* +:[range]unselect + unselect files in the given range (current file if no range is given). +:unselect {pattern} + unselect files that match specified pattern. Possible {pattern} forms are + described in |vifm-patterns|. Trailing slash for directories is taken + into account, so `:unselect */` unselects directories. +:unselect !{external command} + unselect files from the list supplied by external command. Files are + matched by full paths, relative paths are converted to absolute ones + beforehand. +:unselect //[iI] + same as item above, but reuses last search pattern. + +:ve[rsion] *vifm-:version* *vifm-:ve* + display menu with version information. + +:vifm *vifm-:vifm* + same as :version. + + *vifm-:view* *vifm-:vie* +:vie[w] + toggle on and off the quick file view (preview of file's contents). + See also |vifm-'quickview'| option and |vifm-commands-and-selection|. +:vie[w]! + turn on quick file view if it's off. + + *vifm-:volumes* +:volumes {only for MS-Windows} + display menu with volume list. Hitting l (or Enter) key opens + appropriate volume in the current pane. See |vifm-menus-and-dialogs| for + controls. + + *vifm-:vsplit* *vifm-:vs* +:vs[plit] + switch to a two window vertical view. +:vs[plit]! + toggle window vertical splitting. +:vs[plit] path + split the window vertically to show both file directories. Also changes + other pane to the path (absolute or relative to current directory of active + pane). + +:[count]winc[md] {arg} *vifm-:wincmd* *vifm-:winc* + same as running Ctrl-W [count] {arg}. + +:windo [command...] *vifm-:windo* + execute command for each pane (same as :winrun % command). + +:winrun type [command...] *vifm-:winrun* + execute command for pane(s), which is determined by type argument: + - ^ - top-left pane + - $ - bottom-right pane + - % - all panes + - . - current pane + - , - other pane + +:w[rite] *vifm-:write* *vifm-:w* + write current state to vifminfo and session files (if a session is + active). + +:wq[!] *vifm-:wq* + same as |vifm-:quit|, but "!" disables only the check of backgrounded + commands, while state of the application is always written. + +:wqa[ll][!] *vifm-:wqall* *vifm-:wqa* + same as |vifm-:qall|, but ! disables only the check of backgrounded + commands, while state of the application is always written. + +:xa[ll][!] *vifm-:xall* *vifm-:xa* + same as |vifm-:qall|. + +:x[it][!] *vifm-:xit* *vifm-:x* + same as |vifm-:quit|. + +:[range]y[ank] [reg] [count] *vifm-:yank* *vifm-:y* + yank files to the reg register. + + *vifm-:map* +:map lhs rhs + map lhs key sequence to rhs in normal and visual modes. +:map! lhs rhs + map lhs key sequence to rhs in command line mode. + + *vifm-:amap* + *vifm-:cmap* *vifm-:cm* + *vifm-:dmap* *vifm-:dm* + *vifm-:mmap* *vifm-:mm* + *vifm-:nmap* *vifm-:nm* + *vifm-:qmap* *vifm-:qm* + *vifm-:vmap* *vifm-:vm* +:amap lhs rhs - map lhs to rhs in navigation mode. +:cm[ap] lhs rhs - map lhs to rhs in command line mode. +:dm[ap] lhs rhs - map lhs to rhs in dialog modes. +:mm[ap] lhs rhs - map lhs to rhs in menu mode. +:nm[ap] lhs rhs - map lhs to rhs in normal mode. +:qm[ap] lhs rhs - map lhs to rhs in view mode. +:vm[ap] lhs rhs - map lhs to rhs in visual mode. + +:amap - list all maps of navigation mode. +:cm[ap] - list all maps of command line mode. +:dm[ap] - list all maps of dialog modes. +:mm[ap] - list all maps of menu mode. +:nm[ap] - list all maps of normal mode. +:qm[ap] - list all maps of view mode. +:vm[ap] - list all maps of visual mode. + +:amap beginning + list all maps of navigation mode that start with the beginning. +:cm[ap] beginning + list all maps of command line mode that start with the beginning. +:dm[ap] beginning + list all maps of dialog modes that start with the beginning. +:mm[ap] beginning + list all maps of menu mode that start with the beginning. +:nm[ap] beginning + list all maps of normal mode that start with the beginning. +:qm[ap] beginning + list all maps of view mode that start with the beginning. +:vm[ap] beginning + list all maps of visual mode that start with the beginning. + + *vifm-:noremap* *vifm-:no* +:no[remap] lhs rhs + map the key sequence lhs to rhs for normal and visual modes, but + don't expand user mappings in rhs. +:no[remap]! lhs rhs + map the key sequence lhs to rhs for command line mode, but don't expand + user mappings in rhs. + + *vifm-:anoremap* + *vifm-:cnoremap* *vifm-:cno* + *vifm-:dnoremap* *vifm-:dn* + *vifm-:mnoremap* *vifm-:mn* + *vifm-:nnoremap* *vifm-:nn* + *vifm-:qnoremap* *vifm-:qn* + *vifm-:vnoremap* *vifm-:vn* +:anoremap lhs rhs + map the key sequence lhs to rhs for navigation mode, but don't expand + user mappings in rhs. +:cno[remap] lhs rhs + map the key sequence lhs to rhs for command line mode, but don't expand + user mappings in rhs. +:dn[oremap] lhs rhs + map the key sequence lhs to rhs for dialog modes, but don't expand user + mappings in rhs. +:mn[oremap] lhs rhs + map the key sequence lhs to rhs for menu mode, but don't expand user + mappings in rhs. +:nn[oremap] lhs rhs + map the key sequence lhs to rhs for normal mode, but don't expand user + mappings in rhs. +:qn[oremap] lhs rhs + map the key sequence lhs to rhs for view mode, but don't expand user + mappings in rhs. +:vn[oremap] lhs rhs + map the key sequence lhs to rhs for visual mode, but don't expand user + mappings in rhs. + + *vifm-:unmap* *vifm-:unm* +:unm[ap] lhs + remove user mapping of lhs from normal and visual modes. +:unm[ap]! lhs + remove user mapping of lhs from command line mode. + + *vifm-:aunmap* + *vifm-:cunmap* *vifm-:cu* + *vifm-:dunmap* *vifm-:du* + *vifm-:munmap* *vifm-:mu* + *vifm-:nunmap* *vifm-:nun* + *vifm-:qunmap* *vifm-:qun* + *vifm-:vunmap* *vifm-:vu* +:aunmap lhs - remove user mapping of lhs from navigation mode. +:cu[nmap] lhs - remove user mapping of lhs from command line mode. +:du[nmap] lhs - remove user mapping of lhs from dialog modes. +:mu[nmap] lhs - remove user mapping of lhs from menu mode. +:nun[map] lhs - remove user mapping of lhs from normal mode. +:qun[map] lhs - remove user mapping of lhs from view mode. +:vu[nmap] lhs - remove user mapping of lhs from visual mode. + +:command parameters~ + *vifm-:command-params* +Some of the command-line commands accept parameters in the form of +`-paramname`. Arguments of such commands can be split into two groups: +parameters and positional arguments. Items from the two groups cannot be +interleaved and parameters always come first. List of parameters is +terminated implicitly by the first argument that doesn't start with a +dash ("-") or explicitly via "--" separator (needs to be a separate +argument), which is just discarded. These strict rules allow arbitrary +positional arguments, such as file names that start with a dash. + +-skip *vifm-skip-param* +This parameter makes |vifm-:copy|, |vifm-:move|, |vifm-:alink| and +|vifm-:rlink| automatically skip source files that already exist at the +destination rather than refusing to perform the operation. + +Ranges~ + *vifm-ranges* +The ranges implemented include: + 2,3 - from second to third file in the list (including it) + % - the entire directory. + . - the current position in the filelist. + $ - the end of the filelist. + 't - the mark position t. + +Examples: + :%delete would delete all files in the directory. + :2,4delete would delete the files in the list positions 2 through 4. + :.,$delete would delete the files from the current position to the end + of the filelist. + :3delete4 would delete the files in the list positions 3, 4, 5, 6. + +If a backward range is given :4,2delete - an query message is given and +user can chose what to do next. + +The builtin commands that accept a range are :d[elete] and :y[ank]. + +Command macros~ + *vifm-macros* +The command macros may be used in user commands. + *vifm-%a* + %a user arguments. When user arguments contain macros, they are + expanded before preforming substitution of %a. + *vifm-%c* + %c %"c the current file under the cursor. + *vifm-%C* + %C %"C the current file under the cursor in the other directory. + *vifm-%f* + %f %"f all of the selected files or the current file, but see + |vifm-selection|. + *vifm-%F* + %F %"F same as %f, %"f, but for the inactive pane. + *vifm-%l* + %l %"l list of selected files. Unlike %f from above, this is only for + explicit selection (i.e., not via a range) and is empty if no + files are selected. + *vifm-%L* + %L %"L same as %l and %"l, but for the inactive pane. + *vifm-%b* + %b %"b same as %f %F. + *vifm-%d* + %d %"d full path to current directory. + *vifm-%D* + %D %"D full path to other file list directory. + *vifm-%r* + %rx %"rx full paths to files in the register {x}. In case of invalid + symbol in place of {x}, it's processed with the rest of the + line and default register is used. + *vifm-%m* + %m show command output in a menu. + *vifm-%M* + %M same as %m, but l (or Enter) key is handled like for :locate + and :find commands. + *vifm-%u* + %u process command output as list of paths and compose custom view + out of it. + *vifm-%U* + %U same as %u, but implies less list updates inside vifm, which is + absence of sorting at the moment. + *vifm-%Iu* + %Iu same as %u, but gives up terminal before running external + %command. + *vifm-%IU* + %IU same as %U, but gives up terminal before running external + %command. + *vifm-%S* + %S show command output in the status bar. + *vifm-%q* + %q redirect command output to quick view, which is activated if + disabled. + *vifm-%s* + %s execute command in horizontal split window of active terminal + multiplexer (ignored if not running inside one). + *vifm-%v* + %v same as %s, but splits vertically. + *vifm-%n* + %n forbid use of terminal multiplexer to run the command. + *vifm-%N* + %N do not detach viewer from terminal session (keeps `/dev/tty` + available) or process group (keeps the command in the set of + foreground clients of the terminal). + *vifm-%i* + %i run in background and suppress error dialogs, but collect + errors internally for viewing via |vifm-:jobs| menu. + + *vifm-%Pl* + %Pl pipe list of files to standard input of a command. + *vifm-%Pz* + %Pz same as %Pl, but separates paths by null ('\0') character. + + *vifm-%pc* + %pc marks the end of the main command and the beginning of the + clear command for graphical preview, which is invoked on + closing preview of a file. + + *vifm-%pd* + %pd marks a preview command as one that directly communicates + with the terminal. Beware that this is for things like sixel + which are self-contained sequences that depend only on current + cursor position, using this with anything else is likely to + mangle terminal state. + + *vifm-%pu* + %pu uncached preview. Intended to be used for commands that just + send file path somewhere for preview. + + The following dimensions and coordinates are in characters: + *vifm-%px* + %px x coordinate of top-left corner of preview area. + *vifm-%py* + %py y coordinate of top-left corner of preview area. + *vifm-%pw* + %pw width of preview area. + *vifm-%ph* + %ph height of preview area. + +Use %% if you need to put a percent sign in your command. + +Note that %i, %Iu, %IU, %m, %M, %n, %q, %s, %S, %u, %U and %v macros are +mutually exclusive. Only the last one of them on the command will take +effect. + +Note that %Pl and %Pz are mutually exclusive. Only the last one of them on +the command will take effect. + + *vifm-filename-modifiers* +You can use file name modifiers after %c, %C, %f, %F, %b, %d and %D macros. +Supported modifiers are: + :p - full path + :u - UNC name of path (e.g. "\\server" in "\\server\share"), + Windows only. Expands to current computer name for not + UNC paths. + :~ - relative to the home directory + :. - relative to current directory + :h - head of the file name + :t - tail of the file name + :r - root of the file name (without last extension) + :e - extension of the file name (last one) + :s?pat?sub? - substitute the first occurrence of "pat" with "sub". You + can use any character for '?', but it must not occur in pat + or sub + :gs?pat?sub? - like :s, but substitutes all occurrences of "pat" with + "sub". +See |filename-modifiers| for the detailed description. + +Using %x means expand corresponding macro escaping all characters that have +special meaning. And %"x means using of double quotes and escape only backslash +and double quote characters, which is more useful on Windows systems. + +Position and quantity (if there is any) of %m, %M, %S or %s macros in the +command is unimportant. All their occurrences are removed from the resulting +command. + +%c and %f macros are expanded to file names only, when %C and %F are expanded +to full paths. %f and %F follow this in %b too. + +:com move mv %f %D - set the :move command to move all of the files +selected in the current directory to the other directory. + +The %a macro is replaced with any arguments given to an alias command. All +arguments are considered optional. +:com lsl !!ls -l %a - set the lsl command to execute ls -l with or without an +argument. + +:lsl will list the directory contents of the current directory. +:lsl filename will list only the given filename. + +The macros can also be used in directly executing commands. +:!mv %f %D - would move the current directory selected files to the other +directory. + +Appending & to the end of a command causes it to be executed in the +background. Typically you want to run two kinds of external commands in the +background: + - GUI applications that doesn't fork thus block vifm (:!sxiv %f &); + - console tools that do not work with terminal (:!mv %f %D &). +You don't want to run terminal commands which require terminal input or +output something in background because they will mess up vifm's TUI. Anyway, +if you did run such a command, you can use Ctrl-L key to update vifm's TUI. + +Rewriting the example command with macros given above with backgrounding: +> + :!mv %f %D & +< +%m, %M, %s, %S, %u and %U macros cannot be combined with background +mark (" &") as it doesn't make much sense. + +-------------------------------------------------------------------------------- +*vifm-commands-bg* + +Copy and move operation can take a lot of time to proceed. That's why vifm +supports backgrounding of this two operations. To run :copy, :move or :delete +command in the background just add " &" at the end of a command. + +For each background operation a new thread is created. Job cancellation can +be requested in the |vifm-:jobs| menu via dd shortcut. + +You can see if command is still running in the :jobs menu. Backgrounded +commands have progress instead of process id at the line beginning. + +Background operations cannot be undone. + +-------------------------------------------------------------------------------- +*vifm-cancellation* + +Note that cancellation works somewhat different on Windows platform due to +different mechanism of break signal propagation. One also might need to use +Ctrl-Break shortcut instead of Ctrl-C. + +There are two types of operations that can be cancelled: + - file system operations; + - mounting with FUSE (but not unmounting as it can cause loss of data); + - calls of external applications. + +Note that vifm never terminates applications, it sends SIGINT signal and lets +the application quit normally. + +When one of set of operations is cancelled (e.g. copying of 5th file of 10 +files), further operations are cancelled too. In this case undo history will +contain only actually performed operations. + +Cancelled operations are indicated by "(cancelled)" suffix appended to +information message on status bar. + +File system operations~ + +Currently the following commands can be cancelled: |vifm-:alink|, |vifm-:chmod|, +|vifm-:chown|, |vifm-:clone|, |vifm-:copy|, |vifm-:delete|, |vifm-:mkdir|, |vifm-:move|, +|vifm-:restore|, |vifm-:rlink|, |vifm-:touch|. File putting (|vifm-p|, |vifm-P|) can +be cancelled as well. It's not hard to see that these are mainly +long-running operations. + +Cancelling commands when they are repeated for undo/redo operations is allowed +for convenience, but is not recommended as further undo/redo operations might +get blocked by side-effects of partially cancelled group of operations. + +These commands can't be cancelled: |vifm-:empty|, |vifm-:rename|, +|vifm-:substitute|, |vifm-:tr|. + +Mounting with FUSE~ + +It's not considered to be an error, so only notification on the status bar is +shown. + +External application calls~ + +Each of this operations can be cancelled: |vifm-:apropos|, |vifm-:find|, +|vifm-:grep|, |vifm-:locate|. + +-------------------------------------------------------------------------------- +*vifm-selection* + +If there is a selection, it's stashed before proceeding further unless file +under the cursor is part of that selection. This means that when macros are +expanded for |vifm-:filetype| or |vifm-:filextype| programs, `%f` and `%F` +become equivalent to `%c` and `%C` respectively if current file is not selected. +So you run selection by running one of selected files, otherwise you're +running a single file even if there are other selected entries. + +When running a selection it must not include broken symbolic links, has to be +consistent and set of file handlers must be compatible. Consistency means +that selection contains either only directories (including links to them) or +only files, but not their mix. + +Compatibility is a more sophisticated check, but it's defined in a natural way +so that you get what you'd expect. The following properties of selection are +taken into account while checking it for compatibility and deciding how to +handle it: + + 1. If there any files for which handler isn't defined, then all files are + opened using |vifm-'vicmd'| or |vifm-'vixcmd'|. + + 2. If all handlers match the following criteria: + - backgrounded + - include `%c` and/or `%C` + - include neither `%f` nor `%F` + then each file is executed independently of the rest. + + 3. If all handlers are equal, the common handler is executed. This + handler might ignore selection and process only file under the cursor. + + 4. Otherwise, an error is reported, because handlers differ and they + don't support parallel execution. + +-------------------------------------------------------------------------------- +*vifm-patterns* + +|vifm-:highlight|, |vifm-:filetype|, |vifm-:filextype|, |vifm-:fileviewer| +commands and |vifm-'classify'| option support globs, regular expressions and +mime types to match file names or their paths. + +There are six possible ways to write a single pattern: + 1. [!]{comma-separated-name-globs} + 2. [!]{{comma-separated-path-globs}} + 3. [!]/name-regular-expression/[iI] + 4. [!]//path-regular-expression//[iI] + 5. [!] + 6. undecorated-pattern + +First five forms can include leading exclamation mark that negates pattern +matching. + +The last form is implicitly refers to one of the others. |vifm-:highlight| +does not accept undecorated form, while |vifm-:filetype|, |vifm-:filextype|, +|vifm-:fileviewer|, |vifm-:select|, |vifm-:unselect| and |vifm-'classify'| +treat it as list of name globs. + +Path patterns receive absolute path of the file that includes its name +component as well. + +To combine several patterns (AND them), make sure you're using one of the +first five forms and write patterns one after another, like this: > + {*.vifm} +Mind that if you make a mistake the whole string will be treated as the sixth +form. + +|vifm-:filetype|, |vifm-:filextype| and |vifm-:fileviewer| commands accept +comma-separated list of patterns instead of a single pattern, thus effectively +handling OR operation on them: > + {*.vifm},{*.pdf} +Forms that accept comma-separated lists of patterns also process them as +lists of alternatives. + +Patterns with regular expressions~ + +Regular expression patterns are case insensitive by default, see description +of commands, which might override default behaviour. + +Flags of regular expressions mean the following: + - "i" makes filter case insensitive; + - "I" makes filter case sensitive. +They can be repeated multiple times, but the later one takes precedence (e.g. +"iiiI" is equivalent to "I" and "IiIi" is the same as "i"). + +There are no implicit `^` or `$`, so make sure to specify them explicitly if +the pattern should match the whole name or path. + +Patterns with globs~ + +|vifm-globs| section provides short overview of globs and some important points +that one needs to know about them. + +Patterns with mime-types~ + +Mime type matching is essentially globs matching applied to mime type of a file +instead of its name/path. Note: mime types aren't detected on Windows. + +Examples~ + +Associate `evince` to PDF-files only inside `/home/user/downloads/` directory +(excluding its subdirectories): > + :filextype //^/home/user/downloads/[^/]*\.pdf$// evince %f + +-------------------------------------------------------------------------------- +*vifm-regexp* + +All regular expressions are extended. See `man 7 regex` for more details on +what's supported. + +The following special sequences are additionally parsed: + - `\c` forces matching ignoring case of letters + - `\C` forces matching respecting case of letters + +`\c` and `\C` have the highest priority in determining whether case is matched +or not and exist to override |vifm-'ignorecase'|, |vifm-'smartcase'| and +`i`/`I` flags when necessary. + +If multiple sequences are present, the one which appears later takes +precedence. + +Note that unlike in Vim character classes are affected by settings and +sequences that control case sensitivity in regular expressions. + +-------------------------------------------------------------------------------- +*vifm-globs* + +Globs are always case insensitive as it makes sense in general case. + +`*`, `?`, `[` and `]` are treated as special symbols in the pattern. E.g. > + :filetype * less %c +matches all files. One can use character classes for escaping, so > + :filetype [*] less %c +matches only one file name, the one which contains only asterisk symbol. + +`*` means any number of any characters (including slash) and can match an empty +substring, with one exception: asterisk at the pattern beginning doesn't match +dot in the first position. E.g. > + :fileviewer *.zip,*.jar zip -sf %c +associates using of `zip` program to preview all files with `zip` or `jar` +extensions as listing of their content, but `.file.zip` won't be matched. + +`?` means any character at this position. E.g. > + :fileviewer ?.out file %c +calls `file` tool for all files which have exactly one character before their +extension (e.g. a.out, b.out). + +Square brackets designate character class, which means that whole character +class matches against any of characters listed in it. For example > + :fileviewer *.[ch] highlight -O xterm256 -s dante --syntax c %c +makes vifm call `highlight` program to colorize source and header files in C +language for a 256-color terminal. Equal command would be > + :fileviewer *.c,*.h highlight -O xterm256 -s dante --syntax c %c + +Inside square brackets `^` or `!` can be used for symbol class negotiation and +the `-` symbol to set a range. `^` and `!` should appear right after the opening +square bracket. For example > + :filetype *.[!d]/ inspect_dir +associates `inspect_dir` as additional handler for all directories that have one +character extension unless it's "d" letter. And > + :filetype [0-9].jpg sxiv +associates `sxiv` picture viewer only for JPEG-files that contain single digit +in their name. + +If you need to include literal comma, which is normally separates multiple +globs, double it. + +-------------------------------------------------------------------------------- +*vifm-set-options* + + *vifm-local-options* +These are kind of options that are local to a specific view. So you can set +ascending sorting order for left pane and descending order for right pane. + +In addition to being local to views, each such option also has two values: + - local to current directory (value associated with current location); + - global to current directory (value associated with the pane). + +The idea is that current directory can be made a temporary exception to +regular configuration of the view, until directory change. Use +|vifm-:setlocal| for that. |vifm-:setglobal| changes view value not affecting +settings until directory change. |vifm-:set| applies changes immediately to +all values. + + *vifm-'aproposprg'* +aproposprg +type: string +default: "apropos %a" + +Specifies format for an external command to be invoked by the |vifm-:apropos| +command. The format supports expanding of macros, specific for a particular +*prg option, and %% sequence for inserting percent sign literally. This +option should include the %a macro to specify placement of arguments passed +to the |vifm-:apropos| command. If the macro is not used, it will be +implicitly added after a space to the value of this option. + + *vifm-'autocd'* +autocd +type: boolean +default: false + +When enabled unknown command-line commands are interpreted as implicit +invocation of |vifm-:cd| with one argument and no escaping. Tilde is +expanded, but not macros or environment variables. + + *vifm-'autochpos'* +autochpos +type: boolean +default: true + +When disabled vifm will set cursor to the first line in the view after :cd and +:pushd commands instead of saved cursor position. Disabling this will also +make vifm clear information about cursor position in the view history on :cd +and :pushd commands (and on startup if 'autochpos' is disabled in the vifmrc). +l key in the ":history ." and ":trashes" menus are treated like :cd command. +This option also affects marks so that navigating to a mark doesn't restore +cursor position. + +When this option is enabled, more fine grained control over cursor position +is available via |vifm-'histcursor'| option. + + *vifm-'caseoptions'* +caseoptions +type: charset +default: "" + +This option gives additional control over case sensitivity by allowing +overriding default behaviour to either always be case sensitive or +always be case insensitive. Possible values form pairs of lower and upper +case letters that configure specific aspect of behaviour: + p - always ignore case of paths during completion. + P - always match case of paths during completion. + g - always ignore case of characters for f/F/;/,. + G - always match case of characters for f/F/;/,. + +At most one item of each pair takes affect, if both or more are present, only +the last one matters. When of none pair's elements are present, the behaviour +is default (depends on operating system for path completion and on values of +|vifm-'ignorecase'| and |vifm-'smartcase'| options for file navigation). + + *vifm-'cdpath'* *vifm-'cd'* +cdpath cd +type: string list +default: value of $CDPATH with commas instead of colons + +Specifies locations to check on changing directory with relative path that +doesn't start with "./" or "../". When non-empty, current directory is +examined after directories listed in the option. + +This option doesn't affect completion of |vifm-:cd| command. + +Example: > + set cdpath=~ +This way ":cd bin" will switch to "~/bin" even if directory named "bin" exists +in current directory, while ":cd ./bin" command will ignore value of 'cdpath'. + + *vifm-'chaselinks'* +chaselinks +type: boolean +default: false + +When enabled path of view is always resolved to real path (with all symbolic +links expanded). + + *vifm-'classify'* +classify +type: string list +default: ":dir:/" + +Specifies file name prefixes and suffixes depending on file type or name. +The format is either of: + - [{prefix}]:{filetype}:[{suffix}] + - [{prefix}]::{pattern}::[{suffix}] +Possible {pattern} forms are described in |vifm-patterns|. + +Priority rules: + - file name patterns have priority over type patterns + - file name patterns are matched in left-to-right order of their appearance + in this option + +Either {prefix} or {suffix} or both can be omitted (which is the default for +all unspecified file types), this means empty {prefix} and/or {suffix}. +{prefix} and {suffix} should consist of at most eight characters. Elements +are separated by commas. Neither prefixes nor suffixes are part of file names, +so they don't affect commands which operate on file names in any way. Comma +(',') character can be inserted by doubling it. List of file type names can be +found in the description of |vifm-filetype()| function. + + *vifm-'columns'* *vifm-'co'* +columns co +type: integer +default: terminal width on startup + +Terminal width in characters. + + *vifm-'confirm'* *vifm-'cf'* +confirm cf +type: set +default: delete,permdelete + +Defines which operations require confirmation: + - delete - moving files to trash (on |vifm-d| or |vifm-:delete|); + - permdelete - permanent deletion of files (on |vifm-D| or :delete! + command or on undo/redo operation). + + *vifm-'cpoptions'* *vifm-'cpo'* +cpoptions cpo +type: charset +default: "fst" + +Contains a sequence of single-character flags. Each flag enables behaviour of +older versions of vifm. Flags: + *vifm-cpo-f* +f - when included, running |vifm-:filter| command results in not inverted + (matching files are filtered out) and :filter! in inverted (matching files + are left) filter, when omitted, meaning of the exclamation mark changes to + the opposite; + *vifm-cpo-s* +s - when included, |vifm-yy|, |vifm-dd| and |vifm-DD| normal mode commands act on + selection, otherwise they operate on current file only; + *vifm-cpo-t* +t - when included, (thus ) behave as and switch active + pane, otherwise goes forward in the view history. It's possible to + make both and to work as expected by setting up the terminal + to emit a custom sequence when is pressed; see :histnext for + details. + + *vifm-'cvoptions'* +cvoptions +type: set +default: + +Specifies whether entering/leaving custom views triggers events that normally +happen on entering/leaving directories: + - autocmds - trigger autocommands on entering/leaving custom views; + - localopts - reset local options on entering/leaving custom views; + - localfilter - reset local filter on entering/leaving custom views. + + *vifm-'deleteprg'* +deleteprg +type: string +default: "" + +Specifies program to run on files that are permanently removed. When empty, +files are removed as usual, otherwise this command is invoked on each file by +appending its name. If the command doesn't remove files, they will remain on +the file system. + + *vifm-'dirsize'* +dirsize +type: enumeration +default: size + +Controls how size of directories is displayed in file views. The following +values are possible: + - size - size of directory (i.e., size used to store list of files) + - nitems - number of entries in the directory (excluding . and ..) + +Size obtained via ga/gA overwrites this setting so seeing count of files and +occasionally size of directories is possible. + + *vifm-'dotdirs'* +dotdirs +type: set +default: nonrootparent,treeleafsparent + +Controls displaying of dot directories. The following values are possible: + - rootparent - show "../" in root directory of file system + - nonrootparent - show "../" in non-root directories of file system + - treeleafsparent - show "../" in empty directories of tree view + +Note that empty directories always contain "../" entry regardless of value of +this option. "../" disappears at the moment at least one file is created. + + *vifm-'dotfiles'* +dotfiles +type: boolean +default: false + +Whether dot files are shown in the view. Can be controlled with z* bindings. + + *vifm-'fastrun'* +fastrun +type: boolean +default: false + +With this option turned on you can run partially entered commands with +unambiguous beginning using :! (e.g. :!Te instead of :!Terminal or :!Te). + + *vifm-'fillchars'* *vifm-'fcs'* +fillchars fcs +type: string list +default: "" + +Sets characters used to fill borders. + + item default used for ~ + vborder:c ' ' left, middle and right vertical borders + hborder:c '' middle horizontal border + +A null string for vborder is equivalent to a space. + +A null string for hborder omits the horizontal border. + +Example: > + set fillchars=vborder:".",hborder:"" +< + *vifm-'findprg'* +findprg +type: string +default: "find %s %a -print , -type d \( ! -readable -o ! -executable \) -prune" + +Specifies format for an external command to be invoked by the |vifm-:find| +command. The format supports expansion of macros specific for this particular +option and %% sequence for inserting percent sign literally. The macros are: + + macro value/meaning~ + %s literal arguments of :find or + list of paths to search in + + %A empty or + literal arguments of :find + %a empty or + literal arguments of :find or + predicate followed by escaped arguments of :find + %p empty or + literal arguments of :find or + escaped arguments (parameters) of :find + + %u redirect output to custom view instead of showing a menu + %U redirect output to unsorted custom view instead of showing a menu + +Predicate in %a is "-name" on *nix and "-iname" on Windows. + +If both %u and %U are specified, %U is chosen. + +Some macros can be added implicitly: + - if %s isn't present, it's appended + - if neither of %a, %A and %p is present, %a is appended + - if neither of %s, %a, %A and %p is present, %s and %a are appended in this + order + +The macros slightly change their meaning depending on format of :find's +arguments: + - if the first argument points to an existing directory, %s is assigned all + arguments while %a, %A and %p are left empty + - otherwise: + - %s is assigned a dot (".") meaning current directory or list of + selected file names, if any + - %a, %A and %p are assigned literal arguments when first argument starts + with a dash ("-"), otherwise %a gets an escaped version of the arguments + with a predicate and %p contains escaped version of the arguments + +Starting with Windows Server 2003 a `where` command is available. One can +configure vifm to use it in the following way: > + set findprg="where /R %s %A" +< +As the syntax of this command is rather limited, one can't use |vifm-:find| +command with selection of more than one item because the command ignores all +directory paths except for the last one. + +When using find port on Windows, another option is to setup 'findprg' like +this: > + set findprg="find %s %a" +< + *vifm-'followlinks'* +followlinks +type: boolean +default: true + +Follow links on l or Enter. That is navigate to destination file instead of +treating the link as if it were target file. Doesn't affects links to +directories, which are always entered (use |vifm-gf| for directories). + + *vifm-'fusehome'* +fusehome +type: string +default: "($XDG_DATA_HOME/vifm | $VIFM)/fuse/" + +Directory to be used as a root dir for FUSE mounts. Value of the option can +contain environment variables (in form "$envname"), which will be expanded +(prepend it with a slash to prevent expansion). The value should expand to +an absolute path. + +If you change this option, vifm won't remount anything. It affects future +mounts only. See |vifm-fuse| section for more information about FUSE mounts. + + *vifm-'gdefault'* *vifm-'gd'* +gdefault gd +type: boolean +default: false + +When on, 'g' flag is on for |vifm-:substitute| by default. + + *vifm-'grepprg'* +grepprg +type: string +default: "grep -n -H -I -r %i %a %s" + +Specifies format for an external command to be invoked by the |vifm-:grep| +command. The format supports expanding of macros, specific for a particular +*prg option, and %% sequence for inserting percent sign literally. This +option should include the %i macro to specify placement of "-v" string when +inversion of results is requested, %a or %A macro to specify placement of +arguments passed to the |vifm-:grep| command and the %s macro to specify +placement of list of files to search in. If some of the macros are not +used, they will be implicitly added after a space to the value of the +|vifm-'grepprg'| option in the following order: %i, %a, %s. Note that when +neither %a nor %A are specified, it's %a which is added implicitly. + +Optional %u or %U macro could be used (if both specified %U is chosen) to +force redirection to custom or unsorted custom view respectively. + +See |vifm-'findprg'| for description of difference between %a and %A. + +Example of setup to use ack (http://beyondgrep.com/) instead of grep: +> + set grepprg='ack -H -r %i %a %s' +< +or The Silver Searcher (https://github.com/ggreer/the_silver_searcher): +> + set grepprg='ag --line-numbers %i %a %s' +< + *vifm-'histcursor'* +histcursor +type: set +default: startup,dirmark,direnter + +Defines situations when cursor should be moved according to directory +history: + - startup - on loading file lists during startup + - dirmark - after navigating to a mark that doesn't specify file + - direnter - on opening directory from a file list + +This option has no effect when |vifm-'autochpos'| is disabled. + +Note that the list is not exhaustive and there are other situations when +cursor is positioned automatically. + *vifm-'history'* *vifm-'hi'* +history hi +type: integer +default: 15 + +Maximum number of stored items in all histories. + + *vifm-'hloptions'* +type: string list +default: "filehi:onerow" + +Configures behaviour of highlighting. + + item default~ + filehi:str onerow + +The "filehi" item specifies which columns of the view get colored according to +file type and its name: + - path - highlight columns that display file path, name, root or extension + - onerow - same as "path" and also highlight all columns of the current line + - allrows - highlight all columns of each row + + *vifm-'hlsearch'* *vifm-'hls'* +hlsearch hls +type: boolean +default: true + +Automatically select files that are search matches. + + *vifm-'iec'* +iec +type: boolean +default: false + +Use KiB, MiB, ... suffixes instead of K, M, ... when printing size in +human-friendly format. + + *vifm-'ignorecase'* *vifm-'ic'* +ignorecase ic +type: boolean +default: false + +Ignore case in search patterns (:substitute, / and ? commands), local filter +(but not the rest of filters) and other things detailed in the description of +|vifm-'caseoptions'|. + + *vifm-'incsearch'* *vifm-'is'* +incsearch is +type: boolean +default: false + +When this option is set, search and view update for local filter is be +performed starting from initial cursor position each time search pattern is +changed. + + *vifm-'iooptions'* +iooptions +type: set +default: datasync + +Controls details of file operations. The following values are available: + - datasync - periodically synchronize writes on copying files when + |vifm-'syscalls'| is set. + (This makes copying last as long as it takes to actually write + data to the medium, which is slower than you might expect; + however, this also prevents system hanging due to filling memory + with file-system cache.) + - fastfilecloning - perform fast file cloning (copy-on-write), when available + (available on Linux and btrfs file system). + + *vifm-'laststatus'* *vifm-'ls'* +laststatus ls +type: boolean +default: true + +Controls if status bar is visible. + + *vifm-'lines'* +lines +type: integer +default: terminal height on startup + +Terminal height in lines. + + *vifm-'locateprg'* +locateprg +type: string +default: "locate %a" + +Specifies format for an external command to be invoked by the |vifm-:locate| +command. The format supports expanding of macros, specific for a particular +*prg option, and %% sequence for inserting percent sign literally. This +option should include the %a macro to specify placement of arguments passed +to the |vifm-:locate| command. If the macro is not used, it will be +implicitly added after a space to the value of this option. + +Optional %u or %U macro could be used (if both specified %U is chosen) to +force redirection to custom or unsorted custom view respectively. + + *vifm-'mediaprg'* + {only for *nix} +mediaprg +type: string +default: path to bundled script that supports udevil, udisks and udisks2 + (using udisks2 requires python with dbus module installed) + OS X: path points to a python script that uses diskutil + +Specifies command to be used to manage media devices. Used by |vifm-:media| +command. + +The command can be passed the following parameters: + - list -- list media + - mount {device} -- mount a device + - unmount {path} -- unmount given mount point + +The output of `list` subcommand is parsed in search of lines that start with +one of the following prefixes: + - device= - specifies device path (e.g., "/dev/sde") + - label= - specifies optional device label (e.g., "Memory card") + - info= - specifies arbitrary text to display next to device (by + default "[label]" is used, if label is provided) + - mount-point= - specifies a mount point (can be absent or appear more than + once) + +All other lines are ignored. Each `device=` starts a new section +describing a device which should include two other possible prefixes. + +`list` subcommand is assumed to always succeed, while exit code of `mount` +and `unmount` is taken into account to determine whether operation was +performed successfully. + + *vifm-'lsoptions'* +lsoptions +type: string list +default: "" +scope: local + +Configures ls-like view. + + item used for ~ + columncount fixed number of columns to display or 0 + transposed filling view grid by columns rather than by lines + + *vifm-'lsview'* +lsview +type: boolean +default: false +scope: local + +When this option is set, directory view will be displayed in multiple +columns with file names similar to output of `ls -x` command. See also +|vifm-ls-view|. This option has no effect if |vifm-'millerview'| is on. + + *vifm-'milleroptions'* +milleroptions +type: string list +default: "lsize:1,csize:1,rsize:1,rpreview:dirs" +scope: local + +Configures miller view. + + item default used for ~ + lsize:num 0 left column + csize:num 1 center column (can't be disabled) + rsize:num 0 right column + rpreview:str dirs right column + +*size specifies ratios of columns. Each ratio is in the range from +0 to 100 and values are adjusted to fit the limits. Zero disables a +column, but central (main) column can't be disabled. + +rpreview specifies what file-system objects should be previewed in the right +column and takes three values: dirs (only directories), files (only files) or +all. Neither value enables preview of parent directory (".."). + +Example of two-column mode which is useful in combination with +|vifm-:view| command: > + set milleroptions=lsize:1,csize:2 +< + *vifm-'millerview'* +millerview +type: boolean +default: false +scope: local + +When this option is set, directory view will be displayed in multiple +cascading columns. Ignores |vifm-'lsview'|. + + *vifm-'mintimeoutlen'* +mintimeoutlen +type: integer +default: 150 + +The fracture of |vifm-'timeoutlen'| in milliseconds that is waited between +subsequent input polls, which affects various asynchronous +operations (detecting changes made by external applications, monitoring +background jobs, redrawing UI). There are no strict guarantees, however the +higher this value is, the less is CPU load in idle mode. + + *vifm-'mouse'* +mouse +type: charset +default: "" + +Contains a sequence of single-character flags: + - a - all supported modes (a shorthand for all the rest and future additions) + - c - command-line mode (includes navigation mode) + - m - menu mode + - n - normal mode + - q - view mode + - v - visual mode + + *vifm-'navoptions'* +navoptions +type: string list +default: "open:dirs" + +Configures behaviour of navigation mode. + + item default~ + open:str dirs + +The "open" item specifies what file-system objects should be opened on +|vifm-a_Enter| and can take two values: dirs (only directories) or all. + + *vifm-'number'* *vifm-'nu'* +number nu +type: boolean +default: false +scope: local + +Print line number in front of each file name when |vifm-'lsview'| option is +turned off. Use |vifm-'numberwidth'| to control width of line number. +Also see |vifm-'relativenumber'|. + + *vifm-'numberwidth'* *vifm-'nuw'* +numberwidth nuw +type: integer +default: 4 +scope: local + +Minimal number of characters for line number field. + + *vifm-'previewoptions'* +previewoptions +type: string list +default: "graphicsdelay:50000" + +Tweaks how previewing is done (in quick view, miller view's column and +view mode). + + item default meaning ~ + graphicsdelay:num 0 delay before drawing graphics (microseconds) + hardgraphicsclear unset redraw screen to get rid of graphics + maxtreedepth:num 0 max number of levels in preview tree + toptreestats unset show file counts before the tree + +graphicsdelay is needed if terminal requires some timeout before it can +draw graphics (otherwise it gets lost). + +hardgraphicsclear seems to be necessary to get rid of sixel graphics in some +terminals, where it otherwise lingers. This can cause flicker on the screen +due to erasure followed by redrawing. + +0 for maxtreedepth means "unlimited", 1 will only show selected directory, 2 +adds its children, and so forth. + +Default value is used when item is missing from the option. + + *vifm-'previewprg'* +previewprg +type: string +default: "" +scope: local + +External command to be used instead of preview programs configured via +|vifm-:fileviewer| command. + +Example: > + " always show git log in preview of files inside some repository + au DirEnter '~/git-repo/**/*' setl previewprg='git log --color -- %c 2>&1' +< + *vifm-'quickview'* +quickview +type: boolean +default: false + +Whether quick view (|vifm-:view|) is currently active or not. + + *vifm-'relativenumber'* + *vifm-'rnu'* +relativenumber rnu +type: boolean +default: false +scope: local + +Print relative line number in front of each file name when |vifm-'lsview'| +option is turned off. Use |vifm-'numberwidth'| to control width of line +number. Various combinations of |vifm-'number'| and |vifm-'relativenumber'| +lead to such results: + + nonumber number + + norelativenumber | first | 1 first + | second | 2 second + | third | 3 third + + relativenumber | 1 first | 1 first + | 0 second |2 second + | 1 third | 1 third + + *vifm-'rulerformat'* *vifm-'ruf'* +rulerformat ruf +type: string +default: "%l/%S " + +Determines the content of the ruler. Its minimal width is 13 characters and +it's right aligned. Following macros are supported: + %= - separation point between left and right aligned halves of the line + %l - file number + %L - total number of files in view (including filtered out ones) + %x - number of files excluded by filters + %0- - old name for %x macro + %P - percentage through file list (All, Top, xx% or Bot), always 3 in + length + %S - number of displayed files + %% - literal percent sign + %[ - designates beginning of an optional block + %] - designates end of an optional block + +Percent sign can be followed by optional minimum field width. Add '-' before +minimum field width if you want field to be right aligned. + +Optional blocks are ignored unless at least one macro inside of them is +expanded to a non-empty value. + +Example: > + set rulerformat='%2l-%S%[ +%x%]' +< + *vifm-'runexec'* +runexec +type: boolean +default: false + +Run executable file on Enter, l or Right Arrow key. Behaviour of the last two +depends on the value of the |vifm-'lsview'| option. + + *vifm-'scrollbind'* *vifm-'scb'* +scrollbind scb +type: boolean +default: false + +When this option is set, vifm will try to keep difference of scrolling +positions of two windows constant. + + *vifm-'scrolloff'* *vifm-'so'* +scrolloff so +type: integer +default: 0 + +Minimal number of screen lines to keep above and below the cursor. If you +want cursor line to always be in the middle of the view (except at the +beginning or end of the file list), set this option to some large value +(e.g. 999). + + *vifm-'sessionoptions'* + *vifm-'ssop'* +sessionoptions ssop +type: set +default: tui,state,tabs,savedirs,dhistory + +An equivalent of |vifm-'vifminfo'| for sessions, uses the same values. When +both options include the same value, data from session file has higher +priority (data from vifminfo isn't necessarily completely discarded, +instead it's merged with the state of a session the same way state of +multiple instances is merged on exit). + + *vifm-'shell'* *vifm-'sh'* +shell sh +type: string +default: $SHELL or "/bin/sh" or "cmd" (on MS-Windows) + +Full path to the shell to use to run external commands. On *nix a shell +argument can be supplied. + + *vifm-'shellcmdflag'* + *vifm-'shcf'* +shellcmdflag shcf +type: string +default: "-c" or "/C" (for cmd.exe on MS-Windows) + +Command-line option used to pass a command to |vifm-'shell'|. It's used in +contexts where command comes from the user. + +Note that using this option to force interactive mode of the shell is most +likely a BAD IDEA. In general interactive host and interactive child shell +can't share the same terminal session. You can't even run such a shell in +background. Consider writing a wrapper for your shell that preloads aliases +and commands without making the shell interactive and ending up using it in +a way it was not meant to be used. + +Note that this option is ignored when |vifm-'shell'| is set to PowerShell due +to the internal use of `-encodedCommand`. + + *vifm-'shortmess'* *vifm-'shm'* +shortmess shm +type: charset +default: "p" + +Contains a sequence of single-character flags. Each flag enables shortening +of some message displayed by vifm in the TUI. Flags: + L - display only last directory in tab line instead of full path. + M - shorten titles in windows of terminal multiplexers created by vifm + down to file name instead of using full path. + T - truncate status bar messages in the middle if they are too long to fit on + the command line. "..." will appear in the middle. + p - use tilde shortening in view titles. + + *vifm-'showtabline'* + *vifm-'stal'* +showtabline stal +type: enumeration +default: multiple + +Specifies when tab line should be displayed. Possible values: + - never - never display tab line + - multiple - show tab line only when there are at least two tabs + - always - display tab line always + +Alternatively 0, 1 and 2 Vim-like values are also accepted and correspond to +"never", "multiple" and "always" respectively. + + *vifm-'sizefmt'* +sizefmt +type: string list +default: "units:iec" + +Configures the way size is formatted in human-friendly way. + + item value meaning~ + units: iec Use 1024 byte units (K or KiB, etc.). + See |vifm-'iec'|. + si Use 1000 byte units (KB, etc.). + precision: i > 0 How many fraction digits to consider. + {not set} Precision of 1 for integer part < 10, + 0 otherwise (provides old behaviour). + space {present} Insert space before unit symbols. + This is the default. + nospace {present} Do not insert space before unit symbols. + +Numbers are rounded from zero. Trailing zeros are dropped. + +Example: > + set sizefmt=units:iec,precision:2,nospace +< + *vifm-'slowfs'* + {only for *nix} +slowfs +type: string list +default: "" + +A list of mounter fs name beginnings (first column in /etc/mtab or +/proc/mounts) or paths prefixes for fs/directories that work too slow for +you. This option can be used to stop vifm from making some requests to +particular kinds of file systems that can slow down file browsing. +Currently this means don't check if directory has changed, skip check if +target of symbolic links exists, assume that link target located on slow fs +to be a directory (allows entering directories and navigating to files via +|vifm-gf|). If you set the option to "*", it means all the systems are +considered slow (useful for cygwin, where all the checks might render vifm +very slow if there are network mounts). + +Example for autofs root /mnt/autofs: > + set slowfs+=/mnt/autofs +< + *vifm-'smartcase'* *vifm-'scs'* +smartcase scs +type: boolean +default: false + +Overrides the |vifm-'ignorecase'| option if a pattern contains at least one +upper case character. Only used when |vifm-'ignorecase'| option is enabled. + + *vifm-'sort'* +sort +type: enumeration +default: +name on *nix and +iname on Windows +scope: local + +Sets list of sorting keys (first item is primary key, second is secondary +key, etc.): + [+-]ext - extension of files and directories + [+-]fileext - extension of files only + [+-]name - name (including extension) + [+-]iname - name (including extension, ignores case) + [+-]type - file type (dir/reg/exe/link/char/block/sock/fifo) + [+-]dir - directory grouping (directory < file) + [+-]gid - group id (*nix only) + [+-]gname - group name (*nix only) + [+-]mode - file mode (file type + permissions) in octal (*nix only) + [+-]perms - permissions string (*nix only) + [+-]uid - owner id (*nix only) + [+-]uname - owner name (*nix only) + [+-]nlinks - number of hard links (*nix only) + [+-]inode - inode number (*nix only) + [+-]size - size + [+-]nitems - number of items in a directory (zero for files) + [+-]groups - groups extracted via regexps from |vifm-'sortgroups'| + [+-]target - symbolic link target (empty for other file types) + [+-]atime - time accessed (e.g., read, executed) + [+-]ctime - time changed (changes in metadata, like mode) + [+-]mtime - time modified (when file contents is changed) + +Note: look for st_atime, st_ctime and st_mtime in "man 2 stat" for more +information on time keys. + +'+' means ascending sort for this key, and '-' means descending sort. + +"dir" key is somewhat similar in this regard but it's not added implicitly: +when "dir" is not specified, sorting behaves as if it was the first key in +the list. That's why if one wants sorting algorithm to mix directories and +files, "dir" should be appended to sorting option, for example like this: > + set sort+=dir +or > + set sort=-size,dir + +This option also changes view columns according to primary sorting key set, +unless |vifm-'viewcolumns'| option is not empty. + +Value of the option is checked to include "dir" key and default sorting key +"(name" on *nix, "iname" on Windows). Here is what happens if one of them is +missing: + - "dir" key is added at the beginning; + - default key is added at the end. +All other keys are left untouched (at most they are moved). + +This option also changes view columns according to primary sorting key set, +unless |vifm-'viewcolumns'| option is not empty. + + *vifm-'sortnumbers'* +sortnumbers +type: boolean +default: false + +Natural sort of (version) numbers within text. + + *vifm-'sortgroups'* +sortgroups +type: string +default: "" +scope: local + +Sets comma-separated list of regular expressions for group type of sorting. +Double the comma to insert it literally. + +The regular expressions are used to extract substrings of file names to serve +as keys for sorting. It is essentially a way to ignore uninteresting parts +of file names during sorting by name. + +Each expression should contain at least one group or its value will be +considered to be always empty. Also, only the first match of regular +expression is processed. + +The first group divides list of files into sub-groups, each of which is then +sorted by substrings extracted using second regular expression and so on +recursively. + +Example: > + set sortgroups=-(todo|done).* +this would group files with "-done" in their names and files with "-todo" +separately. On ascending sorting, group containing "-done" would appear +before the other one. + + *vifm-'sortorder'* +sortorder +type: enumeration +default: ascending +scope: local + +Sets sort order for primary key: ascending, descending. + + *vifm-'statusline'* *vifm-'stl'* +statusline stl +type: string +default: "" + +Determines the content of the status line (the line right above command-line). +Empty string means use same format like in previous versions. Following macros +are supported: + %N - line break (increases height of the status line accordingly), ignores + %[ %] blocks + %t - file name (considering value of the |vifm-'classify'| option) + %T - symbolic link target (empty for other filetypes) + %f - file name relative to current directory (considers 'classify') + %A - file attributes (permissions on *nix or properties on Windows) + %o - file permissions in octal form on *nix (nothing on Windows) + %u - user name or uid (if it cannot be resolved) + %g - group name or gid (if it cannot be resolved) + %s - file size in human readable format + %E - size of selected files in human readable format, same as %s when no + files are selected, except that it will never show size of ../ in + visual mode, since it cannot be selected + %d - file modification date (uses |vifm-'timefmt'| option) + %D - path of the other pane for single-pane layout + %a - amount of free space available on current FS + %c - size of current FS + %z - short tips/tricks/hints that chosen randomly after one minute period + `%{}` - evaluate arbitrary vifm expression ``, e.g. `&sort` + %* - resets or applies one of User1..User20 highlight groups; reset happens + when width field is 0 or not specified, one of the groups gets picked + when width field is in the range from 1 to 20 + all |vifm-'rulerformat'| macros +Percent sign can be followed by optional minimum field width. Add '-' before +minimum field width if you want field to be right aligned. + +On Windows file properties include the following flags (upper case means flag +is on): + A - archive + H - hidden + I - content isn't indexed + R - readonly + S - system + C - compressed + D - directory + E - encrypted + P - reparse point (e.g. symbolic link) + Z - sparse file + +Example without colors: > + set statusline=" %t%= %A %10u:%-7g %15s %20d %{&sort} " + +Example with colors: > + highlight User1 ctermbg=yellow + highlight User2 ctermbg=blue ctermfg=white cterm=bold + set statusline="%1* %-26t %2* %= %1* %A %2* %7u:%-7g %1* %-5s %2* %d " +< + *vifm-'suggestoptions'* +suggestoptions +type: string list +default: + +Controls when, for what and how suggestions are displayed. The following +values are available: + - normal - in normal mode; + - visual - in visual mode; + - view - in view mode; + - otherpane - use other pane to display suggestions, when available; + - delay[:num] - display suggestions after a small delay (to do not annoy + if you just want to type a fast shortcut consisting of + multiple keys), num specifies the delay in ms (500 by + default), |vifm-'timeoutlen'| at most; + - keys - include shortcuts (commands and selectors); + - foldsubkeys - fold multiple keys with common prefix; + - marks - include marks; + - registers[:num] - include registers, at most num files (5 by default). + + *vifm-'syncregs'* +syncregs +type: string +default: "" + +Specifies identifier of group of instances that share registers among each +other. When several instances of vifm have this option set to identical +value, they automatically synchronize contents of their registers on +operations which use them. + + *vifm-'syscalls'* +syscalls +type: boolean +default: false + +When disabled, vifm will rely on external applications to perform file-system +operations, otherwise system calls are used instead (much faster and supports +progress tracking). The option should eventually be removed. Mostly +*nix-like systems are affected. + + *vifm-'tablabel'* +tablabel +type: string +default: "" + +When non-empty and |vifm-'tabline'| isn't set, determines format of the main +part of a single tab's label. + +When empty, tab label is set to either tab name for named tabs or to view +title (usually current path) for unnamed tabs. + +The following macros can appear in the format (see below for what a flag is): + %C - flag of a current tab + %N - number of the tab + %T - flag of a tree mode + %c - description of a custom view + %n - name of the tab + %p - path of the view (handles |vifm-filename-modifiers|) + %t - title of the view (affected by |vifm-'shortmess'| flags) + %% - literal percent sign + %[ - designates beginning of an optional block + %] - designates end of an optional block + %*, %0* - resets highlighting + %1* - %20* - applies one of User1..User20 highlight groups + +In global tabs the view in bullets above refers to currently active view of that +tab. + +Flag macros are a special kind of macros that always expand to an empty value +and are meant to be used inside optional blocks to control their visibility. + +Optional blocks are ignored unless at least one macro inside of them is +expanded to a non-empty value or is a set flag macro. + +Example: > + " %[(%n)%] -- optional name of the tab + " %[ -- optional description of the view + " %[%T{tree}%] -- mark of tree mode + " %[{%c}%] -- description of custom view + " @ -- just an extra separator before the path + ' %] + " %p:t -- tail part of view's location + set tablabel=%[(%n)%]%[%[%T{tree}%]%[{%c}%]@%]%p:t +< + *vifm-'tabline'* *vifm-'tal'* +tabline tal +type: string +default: "" + +When non-empty, determines format of the tab line. Note that mouse clicks +won't be handled when this option is non-empty. + +The following macros can appear in the format: + %*, %0* - resets highlighting + %1* - %20* - applies one of User1..User20 highlight groups + + *vifm-'tabprefix'* +tabprefix +type: string +default: "[%N:" + +Determines prefix of a tab's label. Formatting is done as for +|vifm-'tablabel'| option. + +Example of highlighting tab number: > + " setup color for non-current tabs + highlight User7 ctermfg=red + " setup color for current tabs + highlight User8 ctermbg=blue ctermfg=none + " use optional group predicated on current-tab flag + set tabprefix=[%7*%[%8*%C%]%N%*: + + *vifm-'tabscope'* +tabscope +type: enumeration +default: global + +Picks style of tabs, which defines what a single tab contains. Possible +values: + - global - tab describes complete UI of two views and how they are arranged + - pane - tab is located "inside" a pane and manages it and quick view + + *vifm-'tabstop'* *vifm-'ts'* +tabstop ts +type: integer +default: value from curses library + +Number of spaces that a Tab in the file counts for. + + *vifm-'tabsuffix'* +tabsuffix +type: string +default: "]" + +Determines suffix of a tab's label. Formatting is done as for +|vifm-'tablabel'| option. + + *vifm-'timefmt'* +timefmt +type: string +default: "%m/%d %H:%M" + +Format of time in file list. See man date or man strftime for details. + + *vifm-'trash'* +trash +type: boolean +default: true + +Use |vifm-trash| directory. + + *vifm-'trashdir'* +trashdir +type: string +default: on *nix: + "%r/.vifm-Trash-%u,$XDG_DATA_HOME/vifm/Trash,%r/.vifm-Trash" + or + "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash" + on Windows: + "%r/.vifm-Trash,$XDG_DATA_HOME/vifm/Trash" + or + "%r/.vifm-Trash,$VIFM/vifm/Trash" + +List of trash directory path specifications, separated with commas. +Each list item either defines an absolute path to |vifm-trash| directory +or a path relative to a mount point root, when list element starts with "%r/". +Value of the option can contain environment variables (of form "$envname"), +which will be expanded (prepend $ with a slash to prevent expansion). +Environment variables are expanded when the option is set. + +On *nix, if element ends with "%u", the mark is replaced with real user ID and +permissions are set so that only that only owner is able to use it. +Note that even this setup is not completely secure when combined with "%r/" +and it's overall safer to keep files in home directory, but that implies cost +of copying files between partitions. + +When new file gets cut (deleted) vifm traverses each element of the option in +the order of their appearance and uses first trash directory that it was able +to create or that is already writable. + +Default value tries to use trash directory per mount point and falls back to +trash common trash directory on failure. + +Will attempt to create the directory if it does not exist. + + *vifm-'timeoutlen'* *vifm-'tm'* +timeoutlen tm +type: integer +default: 1000 + +The time in milliseconds that is waited for a mapped key in case when +already typed key sequence is ambiguous. See also |vifm-'mintimeoutlen'|. + + *vifm-'title'* +title +type: boolean +default: true when title can be restored, false otherwise + +When enabled, title of the terminal or terminal multiplexer's window is +updated according to current location. Because not all terminals support +setting title, this works only if `$TERM` value matches one of the following +conditions: + - equals "xterm" or starts with "xterm-" + - equals "rxvt" or starts with "rxvt-" + - equals "screen" or starts with "screen-" + - equals "aterm" + - equals "Eterm" + + *vifm-'tuioptions'* *vifm-'to'* +tuioptions to +type: charset +default: "psv" + +Each flag configures some aspect of TUI appearance. The flags are: + *vifm-to-p* +p - when included: + * file list inside a pane gets additional single character padding on left + and right sides; + * quick view and view mode get single character padding. + *vifm-to-s* +s - when included, left and right borders (side borders, hence "s" character) +are visible. + *vifm-to-u* +u - use Unicode characters in the TUI (Unicode ellipsis instead of "..."). + *vifm-to-v* +v - vary width of vertical middle border to equalize view sizes. + +Each pane title contains the path of the listed directory. If too large, the +path is truncated on the left for the active pane and on the right for the other +pane. This can be modified with: + *vifm-to-l* +l - truncation is always on the left. + *vifm-to-r* +r - truncation is always on the right. + + *vifm-'undolevels'* *vifm-'ul'* +undolevels ul +type: integer +default: 100 + +Maximum number of changes that can be undone. Note that here single file +operation is used as a unit, not operation, i.e. deletion of 101 files will +exceed default limit. + + *vifm-'vicmd'* +vicmd +type: string +default: "vim" + +Command used to edit files in various contexts. Ampersand sign at the end +(regardless whether it's preceded by space or not) means backgrounding of +command. + +Background flag is ignored in certain context where vifm waits for the editor +to finish. Such contexts include any command that spawns editor to change +list of file names or a command, with |vifm-:rename| being one example. +`-f` is also appended to prevent forking in such cases, so the command needs +to handle the flag. + +Additionally `+{num}` and `+'call cursor()'` arguments are used to position +cursor when location is known. + + *vifm-'viewcolumns'* +viewcolumns +type: string +default: "" +scope: local + +Format string containing list of columns in the view. When this option is +empty, view columns to show are chosen automatically using sorting keys +(see |vifm-'sort'|) as a base. Value of this option is ignored if +|vifm-'lsview'| is set. See |vifm-column-view| for format description. +An example of setting the options for both panes (note |vifm-:windo| +command): > + windo set viewcolumns=-{name}..,6{size},11{perms} +< + *vifm-'vixcmd'* +vixcmd +type: string +default: value of |vifm-'vicmd'| + +Same as |vifm-'vicmd'|, but takes precedence over it when running inside a +graphical environment. + + *vifm-'vifminfo'* +vifminfo +type: set +default: bookmarks,bmarks + +Controls what will be saved in the $VIFM/vifminfo file: + + bmarks - named bookmarks (see |vifm-:bmark|) + bookmarks - marks, except for special ones like '< and '> + cs - primary color scheme + dirstack - directory stack (overwrites previous stack, unless stack of + current instance is empty) + registers - registers content + savedirs - last visited directory + state - file name and dot filters and terminal multiplexers integration + state + tabs - global or pane tabs + tui - state of the user interface (sorting, number of windows, quick + view state, active view) + + chistory - command line history + dhistory - directory history + ehistory - expression register history (see |vifm-c_Ctrl-R_=|) + fhistory - history of local filter (see |vifm-=|) + mchistory - command line history of menus + phistory - prompt history + shistory - search history (/ and ? commands) + + commands - user defined commands (see :command description) (obsolete) + filetypes - associated programs and viewers (obsolete) + options - all options that can be set with the :set command (obsolete) + + *vifm-'vimhelp'* +vimhelp +type: boolean +default: false + +Use vim help format. + + *vifm-'wildmenu'* *vifm-'wmnu'* +wildmenu wmnu +type: boolean +default: false + +Controls whether possible matches of completion will be shown above the +command line. + + *vifm-'wildstyle'* +wildstyle +type: enumeration +default: bar + +Picks presentation style of wild menu. Possible values: + - bar - one-line with left-to-right cursor + - popup - multi-line with top-to-bottom cursor + + *vifm-'wordchars'* +wordchars +type: string list +default: "1-8,14-31,33-255" (that is all non-whitespace characters) + +Specifies which characters in command-line mode should be considered as part +of a word. Value of the option is comma-separated list of ranges. If both +endpoints of a range match, single endpoint is enough (e.g. "a" = "a-a"). +Both endpoints are inclusive. There are two accepted forms: character +representing itself or number encoding character according to ASCII table. +In case of ambiguous characters (dash, comma, digit) use numeric form. +Accepted characters are in the range from 0 to 255. Any Unicode character +with code greater than 255 is considered to be part of a word. + +The option affects |vifm-c_ALT-D|, |vifm-c_ALT-B| and |vifm-c_ALT-F|, but not +|vifm-c_CTRL-W|. This is intentionally to allow two use cases: + + - Moving by WORDS and deletion by words. + - Moving by words and deletion by WORDS. + +To get the later use the following mapping: > + cnoremap +< +Also used for abbreviations. + + *vifm-'wrap'* +wrap +type: boolean +default: true + +Controls whether to wrap text in quick view. + + *vifm-'wrapscan'* *vifm-'ws'* +wrapscan ws +type: boolean +default: true + +Searches wrap around end of the list. + +-------------------------------------------------------------------------------- +*vifm-mappings* + +A user mapping like `nnoremap lhs rhs` defines a substitution of the +left-hand-side (LHS) with the right-hand-side (RHS) in the input stream. A +regular mapping (without "nore" in :command's name) expands recognized +sequences in the RHS, while "*noremap" mapping always interprets RHS as if no +user mappings were defined and each key has its builtin meaning. In most +cases you want to use noremap variant and if your RHS includes LHS, only +noremap variant will work because recursion in a mapping is not allowed. + +In order to define a mapping determine in which mode you want to activate it +and use an appropriate "*noremap" :command (e.g., |vifm-:nnoremap| for a +normal mode mapping). RHS doesn't have to limit itself to the mode in which +the mapping was started and can span multiple modes. + +Map arguments~ + +LHS of mappings can be preceded by arguments which take the form of special +sequences: + + + Postpone UI updates until RHS is completely processed. + + In case of builtin mapping causing conflict for a user-defined mapping + (e.g., `t` builtin to a partially typed `ta` user-defined mapping), ignore + the builtin mapping and wait for input indefinitely as opposed to + default behaviour of triggering the builtin mapping after a delay defined + by |vifm-'timeoutlen'|. Example: > + nnoremap tw :set wrap! + nnoremap tn :set number! + nnoremap tr :set relativenumber! + +Special sequences~ + +Since it's not easy to enter special characters there are several special +sequences that can be used in place of them. They are: + + + Enter key. + + Escape key. + + Space key. + + Less-than character (<). + + provides a way to disable a mapping (by mapping it to ). + + Backspace key (see key conflict description below). + + Tabulation and Shift+Tabulation keys. + + Home/End. + + Arrow keys. + + PageUp/PageDown. + + Delete key. and mean different codes, but is + more common. + + Insert key. + + + + + Shift + one of the keys from above, if terminal and its terminfo supports + it. +,,...,,,,,, + Control + some key (see key conflict description below). + {only for *nix} + Control + Space. +,,..., +,,..., +,,..., {only for *nix} +,,..., {only for *nix} + Alt + some key. +,,..., {only for *nix} +,,..., {only for *nix} + Alt + Ctrl + some key. +,,..., {only for *nix} +,,..., {only for *nix} +,,..., {only for *nix} +,,..., {only for *nix} + Alt + Shift + some key. + - + functional keys. +,..., {only for MS-Windows} + functional keys with Control key pressed. +,..., {only for MS-Windows} + functional keys with Alt key pressed. +,..., {only for MS-Windows} + functional keys with Shift key pressed. + +Note that due to the way terminals process their input, several keyboard keys +might be mapped to single key code, for example: + - and ; + - and ; + - and and ; + - etc. + +Most of the time they are defined consistently and don't cause surprises, but + and are treated differently in different environments (although they +match each other all the time), that's why they correspond to different keys +in vifm. As a consequence, if you map or be sure to repeat the +mapping with the other one so that it works in all environments. +Alternatively, provide your mapping in one form and add one of the following: > + " if mappings with in the LHS work + map + " if mappings with in the LHS work + map + +Also sometimes neither of them might work and it's key which corresponds +to your backspace (don't mind the name). + +Whitespace~ + +vifm removes whitespace characters at the beginning and end of commands. +That's why you may want to use at the end of rhs in mappings. For +example: > + cmap man +will put "man " in line when you hit the key in the command line mode. + +-------------------------------------------------------------------------------- +*vifm-expression-syntax* + +Supported expressions is a subset of what VimL provides. + +Expression syntax summary, from least to most significant: + +|vifm-expr1| expr2 + expr2 || expr2 .. logical OR + +|vifm-expr2| expr3 + expr3 && expr3 .. logical AND + +|vifm-expr3| expr4 + expr4 == expr4 equal + expr4 != expr4 not equal + expr4 > expr4 greater than + expr4 >= expr4 greater than or equal + expr4 < expr4 smaller than + expr4 <= expr4 smaller than or equal + +|vifm-expr4| expr5 + expr5 + expr5 .. number addition + expr5 - expr5 .. number subtraction + +|vifm-expr5| expr6 + expr6 . expr6 .. string concatenation + +|vifm-expr6| expr7 + - expr6 unary minus + + expr6 unary plus + ! expr6 logical NOT + +|vifm-expr7| number number constant + "string" string constant, backslash is special + 'string' string constant, ' is doubled + &option option value + $VAR environment variable + v:var builtin variable + function(expr1, ...) function call + (expr1) nested expression + +".." indicates that the operations in this level can be concatenated. + +expr1 *vifm-expr1* +----- +expr2 || expr2 + +Arguments are converted to numbers before evaluation. + +Result is non-zero if at least one of arguments is non-zero. + +It's right associative and with short-circuiting, so sub-expressions are +evaluated from left to right until result of whole expression is determined +(i.e., until first non-zero) or end of the expression. + +expr2 *vifm-expr2* +----- +expr3 && expr3 + +Arguments are converted to numbers before evaluation. + +Result is non-zero only if both arguments are non-zero. + +It's right associative and with short-circuiting, so sub-expressions are +evaluated from left to right until result of whole expression is determined +(i.e., until first zero) or end of the expression. + +expr3 *vifm-expr3* +----- +expr4 {cmp} expr4 + +Compare two expr4 expressions, resulting in a 0 if it evaluates to false or 1 +if it evaluates to true. + +equal == *vifm-expr-==* +not equal != *vifm-expr-!=* +greater than > *vifm-expr->* +greater than or equal >= *vifm-expr->=* +smaller than < *vifm-expr-<* +smaller than or equal <= *vifm-expr-<=* + +Examples: > + 'a' == 'a' == 1 + 'a' > 'b' == 1 + 'a' == 'b' == 0 + '2' > 'b' == 0 + 2 > 'b' == 1 + 2 > '1b' == 1 + 2 > '9b' == 0 + -1 == -'1' == 1 + 0 == '--1' == 1 +< + +expr4 *vifm-expr4* +----- +expr5 + expr5 .. number addition *vifm-expr-+* +expr5 - expr5 .. number subtraction *vifm-expr--* + +Examples: > + 1 + 3 - 3 == 1 + 1 + '2' == 3 +< + +expr5 *vifm-expr5* +----- +expr6 . expr6 .. string concatenation *vifm-expr-.* + +Examples: > + 'a' . 'b' == 'ab' + 'aaa' . '' . 'c' == 'aaac' +< + +expr6 *vifm-expr6* +----- + +- expr6 unary minus *vifm-expr-unary--* ++ expr6 unary plus *vifm-expr-unary-+* +! expr6 logical NOT *vifm-expr-unary-!* + +For '-' the sign of the number is changed. +For '+' the number is unchanged. +For '!' non-zero becomes zero, zero becomes one. + +A String will be converted to a Number first. + +These operations can be repeated and mixed. Examples: > + --9 == 9 + ---9 == -9 + -+9 == 9 + !-9 == 0 + !'' == 1 + !'x' == 0 + !!9 == 1 +< + +expr7 *vifm-expr7* +----- + +number number constant *vifm-expr-number* +------ + +Decimal number. Examples: > + 0 == 0 + 0000 == 0 + 01 == 1 + 123 == 123 + 10000 == 10000 +< +string *vifm-expr-string* +------ +"string" string constant *vifm-expr-quote* + +Note that double quotes are used. + +A string constant accepts these special characters: +\b backspace +\e escape +\n newline +\r return +\t tab +\\ backslash +\" double quote + +Examples: > + "\"Hello,\tWorld!\"" + "Hi,\nthere!" +< + +literal-string *vifm-literal-string* +-------------- +'string' string constant *vifm-expr-'* + +Note that single quotes are used. + +This string is taken as it is. No backslashes are removed or have a special +meaning. The only exception is that two quotes stand for one quote. + +Examples: > + 'All\slashes\are\saved.' + 'This string contains doubled single quotes ''here''' +< + +option *vifm-expr-option* +------ +&option option value (local one is preferred, if exists) +&g:option global option value +&l:option local option value + +Examples: > + + echo 'Terminal size: '.&columns.'x'.&lines + if &columns > 100 +< +Any valid option name can be used here (note that "all" in ":set all" is a +pseudo option). See |vifm-set-options|. + + +environment variable *vifm-expr-env* +-------------------- +$VAR environment variable + +The String value of any environment variable. When it is not defined, the +result is an empty string. + +Examples: > + 'This is my $PATH env: ' . $PATH + 'vifmrc at ' . $MYVIFMRC . ' is used.' +< + +builtin variable *vifm-expr-variable* +-------------------- +v:var builtin variable + +Information exposed by vifm for use in scripting. + + *vifm-v:count* +v:count *vifm-count-variable* + count passed to : command. Can be used in mappings to pass count + to a different command. + + *vifm-v:count1* +v:count1 *vifm-count1-variable* + same as v:count, but 1 by default. + + *vifm-v:jobcount* +v:jobcount *vifm-jobcount-variable* + number of active jobs (as can be seen in the |vifm-:jobs| menu). + + *vifm-v:session* +v:session *vifm-session-variable* + name of the current session or empty string. + +See also |vifm-v:servername|. + +function call *vifm-expr-function* +------------- +function(expr1, ...) function call + +See below |vifm-functions|. + +Examples: > + "'" . filetype('.') . "'" + filetype('.') == 'reg' +< +expression nesting *vifm-expr-nesting* +------------------ +(expr1) nested expression + +Groups any other expression of arbitrary complexity enforcing order in which +operators are applied. + +-------------------------------------------------------------------------------- +*vifm-functions* + +USAGE RESULT DESCRIPTION ~ + +chooseopt({opt}) String Queries choose parameters passed on startup. +executable({expr}) Integer Checks whether {expr} command available. +expand({expr}) String Expands special keywords in {expr}. +extcached({cache}, {path}, {extcmd}) + String Caches output of {extcmd} per {cache} and + {path} combination. +filereadable({path}) Integer Checks whether {expr} points to a + non-directory that can be read. +filetype({fnum} [, {resolve}]) + String Returns file type from position. +fnameescape({expr}) String Escapes {expr} for use in a :command. +getpanetype() String Returns type of current pane. +has({property}) Integer Checks whether instance has {property}. +input({prompt} [, {initial} [, {completion}]]) + String Prompts user for an input on command-line. +layoutis({type}) Integer Checks whether layout is of type {type}. +paneisat({loc}) Integer Checks whether current pane is at {loc}. +system({command}) String Executes shell command and returns its output. +tabpagenr([{arg}]) Integer Returns number of current or last tab. +term({command}) String Like system(), but for interactive commands. + + +chooseopt({opt}) *vifm-chooseopt()* + +Retrieves values of options related to file choosing. {opt} can be one of: + files returns argument of |vifm---choose-files| or empty string + dir returns argument of |vifm---choose-dir| or empty string + cmd returns argument of |vifm---on-choose| or empty string + delimiter returns argument of |vifm---delimiter| or the default one ("\n") + +executable({expr}) *vifm-executable()* + +If {expr} is absolute or relative path, checks whether path destination exists +and refers to an executable, otherwise checks whether command named {expr} is +present in directories listed in $PATH. Checks for various executable +extensions on Windows. Returns boolean value describing result of the check. + +Example: > + " use custom default viewer script if it's available and installed + " in predefined system directory, otherwise try to find it elsewhere + if executable('/usr/local/bin/defviewer') + fileview * /usr/local/bin/defviewer %c + else + if executable('defviewer') + fileview * defviewer %c + endif + endif + +expand({expr}) *vifm-expand()* + +Expands environment variables and macros in {expr} (in this order). Returns +a string. See |vifm-macros|. + +Examples: > + " percent sign + :echo expand('%%') + " the last part of directory name of the other pane + :echo expand('%D:t') + " $PATH environment variable (same as `:echo $PATH`) + :echo expand('$PATH') + " full path to the current file with backslashes + :echo expand('%c:p:gs!/!\\!') + +extcached({cache}, {path}, {extcmd}) *vifm-extcached()* + +Caches value of {extcmd} external command automatically updating it as +necessary based on monitoring change date of a {path}. The cache is +invalidated when file or its meta-data is updated. A single path can have +multiple caches associated with it. + +{path} value is normalized, but symbolic links in it aren't resolved. + +Example: > + " display number and size of blocks actually used by a file or directory + set statusline+=" Uses: %{ extcached('uses', + \ expand('%c'), + \ expand('stat --format=%%bx%%B %c')) }" + +filereadable({path}) *vifm-filereadable()* + +Checks whether {path} exists and refers to a non-directory entry and its +permissions allow reading. Returns boolean value describing result of the +check. + +filetype({fnum} [, {resolve}]) *vifm-filetype()* + +The result is a string, which represents file type and is one of the list: + exe executables + reg regular files + link symbolic links + broken broken symbolic links (appears only when resolving) + dir directories + char character devices + block block devices + fifo pipes + sock *nix domain sockets + ? unknown file type (should not normally happen) or + non-file (pseudo-entries in compare view) + +The result can also be an empty string in case of invalid argument. + +Parameter {fnum} can have following values: + - '.' to get type of file under the cursor in the active pane + - numerical value base 1 to get type of file on specified line number + +Optional parameter {resolve} is treated as a boolean and specifies whether +symbolic links should be resolved. + +fnameescape({expr}) *vifm-fnameescape()* + +Escapes parameter to make it suitable for use as an argument of a :command. +List of escaped characters includes %, which is doubled. + +Usage example: > + " navigate to most recently modified file in current directory + execute 'goto' fnameescape(system('ls -t | head -1')) + +getpanetype() *vifm-getpanetype()* + +Retrieves string describing type of current pane. Possible return values: + regular regular file listing of some directory + custom custom file list (%u) + very-custom very custom file list (%U) + tree tree view + compare compare view + + +has({property}) *vifm-has()* + +Allows examining internal parameters from scripts to e.g. figure out +environment in which application is running. Returns 1 if property is +true/present, otherwise 0 is returned. Currently the following properties +are supported (anything else will yield 0): + unix runs in *nix-like environment (including Cygwin) + win runs on Windows + #* whether particular Lua handler exists (|vifm-lua-handlers|) + +Usage example: > + " skip user/group on Windows + if !has('win') + let $RIGHTS = '%10u:%-7g ' + endif + + execute 'set' 'statusline=" %t%= %A '.$RIGHTS.'%15E %20d "' +< + +input({prompt} [, {initial} [, {completion}]]) *vifm-input()* + +Creates a command-line prompt to obtain user's input. Initial value can +be supplied as an optional second parameter, otherwise empty string is used. + +Optional third parameter specifies kind of completion, which can be one of: + dir paths to directories + file paths to files and directories + "" (empty string, default) no completion + +Note that behaviour differs from Vim where executing a mapping like > + nnoremap j :echo input('text: ')input +leaves you in a prompt mode with "input" typed in. Vifm will wait for leaving +the prompt and then continue executing the mapping. + +Usage example: > + nnoremap ,m : let $DIR_NAME = input('mkdir: ', '', 'dir') + \| if $DIR_NAME != '' + \| execute 'mkdir' fnameescape($DIR_NAME) + \| endif + +layoutis({type}) *vifm-layoutis()* + +Checks whether current interface layout is {type} or not, where {type} can +be: + only single-pane mode + split double-pane mode (either vertical or horizontal split) + vsplit vertical split (left and right panes) + hsplit horizontal split (top and bottom panes) + +Any other value yields 0. + +Usage example: > + " automatically split vertically before enabling preview + :nnoremap w :if layoutis('only') | vsplit | endif | view! +< + +paneisat({loc}) *vifm-paneisat()* + +Checks whether position of active pane in current layout matches one of the +following locations: + top pane reaches top border + bottom pane reaches bottom border + left pane reaches left border + right pane reaches right border + + +system({command}) *vifm-system()* + +Runs the command in shell and returns its output (joined standard output and +standard error streams). All trailing newline characters are stripped to +allow easy appending to command output. CTRL-C should interrupt the command. + +Use this function to consume output of external commands that don't require +user interaction and term() for interactive commands that can make use of +terminal and are capable of handling stream redirection. + +Usage example: > + " command to enter .git/ directory of git-repository (when ran inside one) + command! cdgit :execute 'cd' fnameescape(system('git rev-parse --git-dir')) + +tabpagenr([{arg}]) *vifm-tabpagenr()* + +When called without arguments returns number of current tab page base one. + +When called with `"$"` as an argument returns number of the last tab page base +one, which is the same as number of tabs. + +term({command}) *vifm-term()* + +Same as system() function, but user interface is shutdown during the execution +of the command, which makes sure that external interactive applications won't +affect the way terminal is used by vifm. + +Usage example: > + " command to change directory by picking it via fzf + command! fzfcd :execute 'cd' + \ fnameescape(term('find -type d | fzf 2> /dev/tty')) + +-------------------------------------------------------------------------------- +*vifm-menus-and-dialogs* + +When navigating to some path from a menu there is a difference in the end +location depending on whether the path has a trailing slash. Files normally +don't have trailing slashes so "file/" won't work. In case of directories +there are two options: navigate to a directory or inside of it. To allow both +use cases, the first action is taken for "dir" and the second one for "dir/". + +Menu commands~ + +:range *vifm-m_:range* + navigate to a menu line. + + *vifm-m_:chistory* *vifm-:m_chi* +:chi[story] + display menu of saved menus. See |vifm-menus-and-dialogs| for controls, + also see |vifm-menus-history|. +:col[der] *vifm-m_:colder* *vifm-m_:col* + load an older navigation menu if there is one. + See |vifm-menus-history|. +:cnew[er] *vifm-m_:cnewer* *vifm-m_:cnew* + load a newer navigation menu if there is one. + See |vifm-menus-history|. + +:exi[t][!] *vifm-m_:exit* *vifm-m_:exi* +:q[uit][!] *vifm-m_:quit* *vifm-m_:q* +:x[it][!] *vifm-m_:xit* *vifm-m_:x* + leave the menu mode. + +:noh[lsearch] *vifm-m_:nohlsearch* + *vifm-m_:noh* + reset search match highlighting. + +:w[rite] {path} *vifm-m_:write* *vifm-m_:w* + write all menu lines into the file specified by {path}. + +Common keys of all menus and dialogs~ + +j, Ctrl-N *vifm-m_j* *vifm-m_CTRL-N* + move the cursor down. +k, Ctrl-P *vifm-m_k* *vifm-m_CTRL-P* + move the cursor up. + +Enter *vifm-m_Enter* + select and usually close menu/dialog. +Ctrl-L *vifm-m_CTRL-L* + redraw menu/dialog. + +Escape, Ctrl-C *vifm-m_Escape* *vifm-m_CTRL-C* +ZZ, ZQ *vifm-m_ZZ* *vifm-m_ZQ* +q *vifm-m_q* + close menu/dialog. + +Common keys of all menus~ + +Ctrl-B, Ctrl-F *vifm-m_CTRL-B* *vifm-m_CTRL-F* +Ctrl-D, Ctrl-U *vifm-m_CTRL-D* *vifm-m_CTRL-U* +Ctrl-E, Ctrl-Y *vifm-m_CTRL-E* *vifm-m_CTRL-Y* +/, ? *vifm-m_/* *vifm-m_?* +n, N *vifm-m_n* *vifm-m_N* +[count]G, [count]gg *vifm-m_G* *vifm-m_gg* +H, M, L *vifm-m_H* *vifm-m_M* *vifm-m_L* +zb, zt, zz *vifm-m_zb* *vifm-m_zt* + *vifm-m_zz* + these keys have the same meaning as in normal mode. + +zh *vifm-m_zh* + scroll menu items [count] characters to the right. +zl *vifm-m_zl* + scroll menu items [count] characters to the left. + +zH *vifm-m_zH* + scroll menu items half the screen width to the right. +zL *vifm-m_zL* + scroll menu items half the screen width to the left. + + +: enter command line mode for menus. *vifm-m_:* + + +b *vifm-m_b* + interpret content of the menu as a list of paths and use it to create + custom view in place of the previously active pane. See + |vifm-custom-views|. +B *vifm-m_B* + same as above, but create an unsorted view. + + +v *vifm-m_v* + load menu content into quickfix list of an editor (Vim compatible by + assumption) or, if the list doesn't have separators after file + names (colons), open each line as a file name. + +Navigation menus~ + +This applies to the following menus: + - |vifm-:bmarks|, |vifm-:bmgo| + - |vifm-:find| + - |vifm-:grep| + - |vifm-:locate| + - user menu with navigation (|vifm-%M|) + +gf *vifm-m_gf* + navigate previously active view to currently selected item. Leaves menu + mode except for |vifm-:grep| menu. Pressing Enter or l has the same + effect. + +e *vifm-m_e* + open selected path in an editor, stays in menu mode. + +c *vifm-m_c* + leave menu preserving file selection and insert file name after :! in + command-line mode. Does nothing in |vifm-:bmarks| and |vifm-:bmgo|. + +Note that each of these menus can have additional keys, see below. + +History menus (:history *)~ +========================== + +Command-line history menu~ + +Enter, l + execute the item as a command-line command, search query or local filter. +c + leave the menu preserving file selection and insert the item into + the command-line of appropriate kind. + +Directory history menu~ + +Enter, l + navigate into the selected directory. + +Menu commands history menu~ + +Enter, l + execute command without leaving the menu. +c + insert menu item into the command-line for editing. + +Other menus~ +=========== + +Apropos (:apropos) menu~ + +Enter, l + run man on a given topic. Menu won't be closed automatically to allow + viewing several pages one by one. + +Bookmarks (:bmarks, :bmgo) menu~ + +Enter, l + navigate to the selected bookmark. +dd + remove bookmark under the cursor. + +See above for "gf" and "e" keys. + +Command-line mode abbreviations (:cabbrev) menu~ + +dd + remove abbreviation under the cursor. + +Color scheme (:colorscheme) menu~ + +Enter, l + apply selected colorscheme as if ":colorscheme " was executed on the + command-line. + +Commands (:command) menu~ + +Enter, l + execute the command with empty arguments (|vifm-%a|). +dd + remove command under the cursor. +c + leave menu preserving file selection and insert right-hand side of selected + command into the command-line. + +Directory stack (:dirs) menu~ + +Enter, l + rotate the stack to put selected directory pair at the top. + +File (:file) menu~ + +Commands from vifmrc or typed on the command-line are displayed above an empty +line if it's present. All commands below the empty line come from .desktop +files. + +Commands detected as available have "[present]" to the left of them. + +Enter, l + run selected command (regardless whether it was detected to be present or + not). +c + leave menu preserving file selection and insert command after :! in the + command-line mode. + +Grep (:grep) menu~ + +Enter, l + open file in an editor set by |vifm-'vicmd'| at given line number. Menu + won't be closed automatically to allow viewing more than one result. + +See above for "gf", "e" and "c" keys. + +Jobs (:jobs) menu~ + +dd + request cancellation of job under the cursor. The job won't be removed + from the list, but marked as being cancelled (if cancellation was + successfully requested). A message will pop up if the job has already + stopped. Note that on Windows cancelling external programs like this might + not work, because their parent shell doesn't have any windows. +e + display errors of selected job if any were collected. They are + displayed in a new menu, but you can return to jobs menu by pressing h. +r + reload the list of jobs. + +Marks (:marks) menu~ + +Enter, l + navigate to selected mark. +dd + remove mark under the cursor. + +Media (:media) menu~ + +Enter, l + behaviour is different for different kinds of lines: + - mount an unmounted device + - navigate to the first mount point of a mounted device + - navigate to a mount point + - do nothing for "not mounted" or an empty line + +r + reload the list. +m + mount/unmount device (cursor should be positioned on lines under device + information). +[ + put cursor on the previous device. +] + put cursor on the next device. + +Menus history (:chistory) menu~ + +Enter, l + load selected menu. + +Plugins (:plugins) menu~ + +e + display log messages of selected plugin if any were collected. They are + displayed in a new menu, but you can return to plugins menu by pressing h. +gf + navigate previously active view to the location of selected plugin. + Leaves menu mode. + +Trash (:lstrash) menu~ + +r + restore a file from the trash to its original location. +dd + delete file under the cursor. + +Trashes (:trashes) menu~ + +Enter, l + navigate into current trash directory. +dd + start emptying selected trash in background. + +Undolist (:undolist) menu~ + +r + reset undo position to group under the cursor. + +User menu without navigation (%m macro)~ + +c + leave menu preserving file selection and insert whole line after :! in + command-line mode. + +Volumes (:volumes) menu~ + {only for MS-Windows} +Enter, l + navigate into the root of selected drive. + +Dialog-specific operations~ +========================== + +Attributes (permissions or properties) dialog~ + +h, Space + check/uncheck. +q + close the dialog. +r + (*nix only) (un)set all read bits. +w + (*nix only) (un)set all write bits. +x + (*nix only) (un)set all execute bits. +s + (*nix only) (un)set all special (SetUID, SetGID, Sticky) bits. +e + (*nix only) (un)set recursion (for directories only). + +Possible item states: + * - checked flag. + X - selected files have inconsistent value of this flag. + {only for *nix} + d - (only for execute flags) means u-x+X, g-x+X or o-x+X argument for the + chmod program. If you're not on OS X and want to remove execute permission + bit from all files, but preserve it for directories, set all execute flags + to 'd' and check 'Set Recursively' flag. + +Fileinfo (Ctrl-G) dialog~ + +Enter, q + close the dialog. + +Sort (:sort) dialog ~ + +h, Space + switch ascending/descending order. +q + close the dialog. + +There is also a shortcut per sorting key (drawn on the dialog). + +-------------------------------------------------------------------------------- +*vifm-menus-history* + +Menus are often used to present results of operations (like finding or grepping +files). Once closed they can be recreated by repeating a command, but it +might be inconvenient (require changing directory, finding the command and +possibly finding position in a menu) and time consuming to re-run the +operation. To make referring to older menus possible, vifm stores up to 10 +last such menus and provides means for recalling them using familiar set of +Vim commands. + +As already hinted above, this doesn't apply to every menu because things like +|vifm-:version| or |vifm-:commands| rely solely on internal data and don't +need to be saved. Only menus that are derived from external sources and +support navigation (like via |vifm-m_gf|) are remembered. + +Navigating through history~ + +Re-opening the last viewed menu of relevant type is done by running +|vifm-:copen| command. Once opened |vifm-m_:colder| can be used to view older +menus and |vifm-m_:cnewer| to view newer ones. + +Closing a menu after moving through the history remembers the position such +that running |vifm-:copen| again will open the last viewed menu and allow to +continue exploring history in both directions. + +The history always contains menus sorted from oldest to newest. After opening +more than 10 menus the oldest one is likely to be forgotten. It's not +guaranteed to happen because after viewing an older menu new entry replaces +all more recent ones. As an example, assume the history looks like this: + + 1. `:find 1` + 2. `:find 2` + ... + 8. `:find 8` (current element) + 9. `:find 9` +10. `:find 10` + +Running `:find 11` results in: + + 1. `:find 1` + 2. `:find 2` + ... + 8. `:find 8` + 9. `:find 11` (current element) +10. None + +For convenience, |vifm-m_:colder| and |vifm-m_:cnewer| can be used any time +you're in a menu, not just after |vifm-:copen|. :cnewer will work only if +current menu can't be saved and you've moved back in menus history before. +Behaviour of :colder is like this: + - if current menu can be stashed, behave as |vifm-m_:quit|, :copen, :colder + sequence (current menu is stashed the same way as described above) + - if current menu can't be stashed, behave as |vifm-m_:quit|, :copen sequence + +Viewing history~ + +In order to avoid enumerating menus looking for the matching one, +|vifm-:chistory| command can be used to get an overview of saved menus, +maybe search for one and then open it. The command is also available in menu +mode (|vifm-m_:chistory|). + +Related topics~ + +Commands: |vifm-:chistory|, |vifm-:copen| +Menu commands: |vifm-m_:chistory|, |vifm-m_:colder|, |vifm-m_:cnewer| + +-------------------------------------------------------------------------------- +*vifm-custom-views* + +Definition~ + +Normally file views contain list of files from a single directory, but +sometimes it's useful to populate them with list of files that do not belong +to the same directory, which is what custom views are for. + +Presentation~ + +Custom views are still related to directory they were in before custom list +was loaded. Path to that directory (original directory) can be seen in the +title of a custom view. + +Files in same directory have to be named differently, this doesn't hold for +custom views thus seeing just file names might be rather confusing. In order +to give an idea where files come from and when possible, relative paths to +original directory of the view is displayed, otherwise full path is used +instead. + +Custom views normally don't contain any inexistent files. + +Navigation~ + +Custom views have some differences related to navigation in regular views. + +gf - acts similar to |vifm-gf| on symbolic links and navigates to the file at + its real location + +h - go to closes parent node in tree view, otherwise return to the original +directory. + +gh - return to the original directory. + +Opening ".." entry also causes return to the original directory. + +History~ + +Custom list exists only while it's visible, once left one can't return to it, +so there is no appearances of it in any history. + +Filters~ + +Only local filter affects content of the view. This is intentional, +presumably if one loads list, precisely that list should be displayed (except +for inexistent paths, which are ignored). + +Search~ + +Although directory names are visible in listing, they are not searchable. Only +file names are taken into account (might be changed in future, searching whole +lines seems quite reasonable). + +Sorting~ + +Contrary to search sorting by name works on whole visible part of file path. + +Highlight~ + +Whole file name is highlighted as one entity, even if there are directory +elements. + +Updates~ + +Reloads can occur, though they are not automatic due to files being scattered +among different places. On a reload, inexistent files are removed and +meta-data of all other files is updated. + +Once custom view forgets about the file, it won't add it back even if it's +created again. So not seeing file previously affected by an operation, which +was undone is normal. + +Operations~ + +All operations that add files are forbidden for custom views. For example, +moving/copying/putting files into a custom view doesn't work, because it +doesn't make much sense. + +On the other hand, operations that use files of a custom view as a source +(e.g. yanking, copying, moving file from custom view, deletion) and operations +that modify names are all allowed. + +-------------------------------------------------------------------------------- +*vifm-compare-views* + +Kinds~ + +|vifm-:compare| can produce four different results depending on arguments: + - single compare view (ofone and either listall or listdups); + - single custom view (ofone and listunique); + - two compare views (ofboth and either listall or listdups); + - two custom views (ofboth and listunique). + +The first two display files of one file system tree. Here duplicates are +files that have at least one copy in the same tree. The other two kinds of +operation compare two trees, in which duplicates are files that are found in +both trees. + +Lists of unique files are presented in custom views because there is no file +grouping to preserve as all file ids are guaranteed to be distinct. + +Creation~ + +Arguments passed to |vifm-:compare| form seven categories each with its own +prefix and is responsible for particular property of operation. + +Which files to compare: + - ofboth - compares files of two panes against each other; + - ofone - compares files of the same directory. + +How files are compared: + - byname - by their name only; + - bysize - only by their size; + - bycontents - by data they contain (combination of size and hash of + small chunk of contents is used as first approximation, + so don't worry too much about large files). + +Which files to display: + - listall - all files; + - listunique - unique files only; + - listdups - only duplicated files. + +How results are grouped (has no effect if "ofone" specified): + - groupids - files considered identical are always adjacent in output; + - grouppaths - file system ordering is preferred (this also enables + displaying identically named files as mismatches). + +Which files to omit: + - skipempty - ignore empty files. + +Comparison tweaks: + - withicase - ignore case when comparing file names/paths; + - withrcase - respect case when comparing file names/paths. + +Which results to show (has no effect for single pane comparison): + - showidentical - toggle showing of identical files; + - showdifferent - toggle showing of different files; + - showuniqueleft - toggle showing of unique top/left files; + - showuniqueright - toggle showing of unique bottom/right files. + +Each argument can appear multiple times, the rightmost one of the group is +considered. Arguments alter default behaviour instead of substituting it. + +When neither `withicase` nor `withrcase` is specified, case depends on the +running operating system and the file system on which the files are located. + +Examples~ + +The defaults corresponds to probably the most common use case of comparing +files in two trees with grouping by paths, so the following are equivalent: > + + :compare + :compare bycontents grouppaths + :compare bycontents listall ofboth grouppaths + :compare showidentical showdifferent showuniqueleft showuniqueright + +Another use case is to find duplicates in the current sub-tree: > + + :compare listdups ofone + +The following command lists files that are unique to each pane: > + + :compare listunique + +Look~ + +The view can't switch to ls-like view as it's unable to display diff-like +data. + +Comparison views have second column displaying id of the file, files with same +id are considered to be equal. The view columns configuration is predefined. + +The status bar displays only the initial result of the comparison and can be +out of date. + +Behaviour~ + +When two views are being compared against each other the following changes to +the regular behaviour apply: + - views are scrolled synchronously (as if |vifm-'scrollbind'| was set); + - views' cursors are synchronized; + - local filtering is disabled (its results wouldn't be meaningful); + - |vifm-zd| excludes groups of adjacent identical files, 1zd gives usual + behaviour; + - sorting is permanently disabled (ordering is fixed); + - removed files hide their counter pairs; + - exiting one of the views terminates the other immediately; + - renaming files isn't blocked, but isn't taken into account and might + require regeneration of comparison; + - entries which indicate absence of equivalent file have empty names and can + be matched as such; + - when unique files of both views are listed custom views can be empty, this + absence of unique files is stated clearly. + +One compare view has similar properties (those that are applicable for single +pane). + +Files are gathered in this way: + - recursively starting at current location of the view; + - dot files are excluded if view hides them at the moment of comparison, file + name filters are obeyed as well so you end up comparing what you see; + - directories are not taken into account; + - symbolic links to directories are ignored. + +-------------------------------------------------------------------------------- +*vifm-startup* + +On startup vifm determines several variables that are used during execution. +They are determined in the order they appear below. + + *vifm-$HOME* +On *nix systems $HOME is normally present and used as is. +On Windows systems vifm tries to find correct home directory in the following +order: + - $HOME variable; + - $USERPROFILE variable (on Windows only); + - a combination of $HOMEDRIVE and $HOMEPATH variables (on Windows only). + + *vifm-$VIFM* +vifm tries to find correct configuration directory by checking the following +places: + - $VIFM variable; + - parent directory of the executable file (on Windows only); + - $HOME/.vifm directory; + - $APPDATA/Vifm directory (on Windows only); + - $XDG_CONFIG_HOME/vifm directory; + - $HOME/.config/vifm directory. + + *vifm-$MYVIFMRC* +vifm tries to find correct configuration file by checking the following places: + - $MYVIFMRC variable; + - vifmrc in parent directory of the executable file (on Windows only); + - $VIFM/vifmrc file. + +-------------------------------------------------------------------------------- +*vifm-configure* + +See |vifm-startup| section above for the explanations on |vifm-$VIFM| and +|vifm-$MYVIFMRC|. + + *vifm-vifmrc* +The vifmrc file contains commands that will be executed on vifm startup. There +are two such files: global and local. Global one is at +{prefix}/etc/vifm/vifmrc, see |vifm-$MYVIFMRC| variable description for the +search algorithm used to find local vifmrc. Global vifmrc is loaded before the +local one, so that the later one can redefine anything configured globally. + +Use vifmrc to set settings, mappings, filetypes etc. To use multi line commands +precede each next line with a slash (whitespace before slash is ignored, but all +spaces at the end of the lines are saved). For example: +set + \smartcase +equals "setsmartcase". When +set + \ smartcase +equals "set smartcase". + + *vifm-vifminfo* +The $VIFM/vifminfo file contains generic state of the application. You can +control what is stored vifminfo by setting |vifm-'vifminfo'| option. Vifm +always writes this file on exit unless |vifm-'vifminfo'| option is empty. +Marks, bookmarks, commands, histories, filetypes, fileviewers and registers +in the file are merged with vifm configuration. + +Generally, runtime configuration has bigger priority during merging, but there +are some exceptions: + - directory stack stored in the file is not overwritten unless something is + changed in vifm instance that performs merge; + - each mark or bookmark is marked with a timestamp, so that newer value is + not overwritten by older one, thus no matter from where it comes, the + newer one wins; + - all histories are marked with timestamps on storing, this means that last + instance to quit puts its elements on top of the list; + - tabs are merged only if both current instance and stored state contain + exactly one tab of any kind. + + *vifm-scripts* +The $VIFM/scripts directory can contain shell scripts. vifm modifies +its PATH environment variable to let user run those scripts without specifying +full path. All subdirectories of the $VIFM/scripts will be added to PATH too. +Script in a subdirectory overlaps script with the same name in all its parent +directories. + + *vifm-colors* +The $VIFM/colors/ and {prefix}/etc/vifm/colors/ directories contain color +schemes. Available color schemes are searched in that order, so on name +conflict the one in $VIFM/colors/ wins. + +Each color scheme should have ".vifm" extension. This wasn't the case before +and for this reason the following rules apply during lookup: + - if there is no file with .vifm extension, all regular files are listed; + - otherwise only files with .vifm extension are listed (with the extension + being truncated). + +-------------------------------------------------------------------------------- +*vifm-sessions* + +Sessions provide a way to have multiple persistent runtime configurations. +Think of them as second-level |vifm-vifminfo| files in addition to the +first-level one used by all sessions. In other words, they aren't a +replacement for vifminfo file that exists without sessions, but an addition to +it. One can empty |vifm-'vifminfo'| option and rely solely on sessions, but in +practice one might want to share some state among instances in different +sessions or have an "out-of-sessions" state for tasks that don't deserve a +session of their own. + +This leads to a two-level structure where data in session files has higher +priority than data in vifminfo files (where this makes sense) following the +same rules that merging of vifminfo file obeys. In addition to that, history +items from session files are never ordered before history items from vifminfo +file. + +Format~ + +Sessions have the format of vifminfo files, they do not consist of sequence +of command-line commands and are not meant to be sourced via |vifm-:source| +command. + +Storage and naming~ + +`$VIFM/sessions/` directory serves as a storage for sessions. Consequently +names should be valid filenames. The structure of the storage is flat meaning +that there are no subdirectories, that's why names of sessions can't contain +slashes. + +Usage model~ + +Contrary to Vim, vifm automates basic management of sessions. You can start, +switch, stop or delete a session using builtin means. + +Current session is saved at the same time vifminfo is saved (on normal exits +or explicitly on |vifm-:write| command) and right before switching to another +session. To avoid saving in those cases use |vifm-:session| command to detach +(without saving) from a session before proceeding. + +Related topics~ + +Commands: |vifm-:session|, |vifm-:delsession| +Options: |vifm-'sessionoptions'| +Variables: |vifm-v:session| + +-------------------------------------------------------------------------------- +*vifm-fuse* + +vifm has a builtin support of automated FUSE file system mounts. It is +implemented using file associations mechanism. To enable automated mounts, one +needs to use a specially formatted program line in |vifm-:filetype| or +|vifm-:filextype| commands. These use special macros, which differ from +macros in commands unrelated to FUSE. Currently three formats are supported: + +1) FUSE_MOUNT *vifm-FUSE_MOUNT* + This format should be used in case when all information needed for mounting + all files of a particular type is the same. E.g. mounting of tar files + don't require any file specific options. + + Format line: + FUSE_MOUNT|mounter %SOURCE_FILE %DESTINATION_DIR [%FOREGROUND] + + Example |vifm-:filetype| command: > + :filetype FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR +< + +2) FUSE_MOUNT2 *vifm-FUSE_MOUNT2* + This format allows to use specially formatted files to perform mounting and + is useful for mounting remotes, for example remote file systems over ftp or + ssh. + + Format line: + FUSE_MOUNT2|mounter %PARAM %DESTINATION_DIR [%FOREGROUND] + + Example |vifm-:filetype| command: > + :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR +< + Example file content: > + root@127.0.0.1:/ +< + +3) FUSE_MOUNT3 *vifm-FUSE_MOUNT3* + This format is equivalent to |vifm-FUSE_MOUNT|, but omits unmounting. It + is useful for cases, when unmounting isn't needed, like when using AVFS. + + Example |vifm-:filetype| command: > + :filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz,*.deb + \ {Mount with avfs} + \ FUSE_MOUNT3|mount-avfs %DESTINATION_DIR %SOURCE_FILE +< + Example `mount-avfs` helper script: > + #!/bin/sh + + dest=$1 + file=$2 + + rmdir "$dest" + ln -s "$HOME/.avfs$file#/" "$dest" + +All % macros are expanded by vifm at runtime and have the following meaning: + - %SOURCE_FILE is replaced by full path to selected file; + - %DESTINATION_DIR is replaced by full path to mount directory, which is + created by vifm basing on the value of |vifm-'fusehome'| option; + - %PARAM value is filled from the first line of file (whole line), though + in the future it can be changed to whole file content; + - %FOREGROUND means that you want to run mount command as a regular + command (required to be able to provide input for communication with + mounter in interactive way). + +%FOREGROUND is an optional macro. Other macros are not mandatory, but mount +commands likely won't work without them. + +%CLEAR is obsolete name of %FOREGROUND, which is still supported, but might be +removed in future. Its use is discouraged. + +Unlike macros elsewhere, these are recognized only if they appear at the end +of a command or are followed by a space. There is no way to escape % either. +These are historical limitations, which might be addressed in the future. + +The mounted FUSE file systems will be automatically unmounted in two cases: + - when vifm quits (with |vifm-ZZ|, |vifm-:q|, etc. or when killed by signal); + - when you explicitly leave mount point going up to its parent directory + (with |vifm-h|, |vifm-Enter| on "../" or ":cd ..") and other pane is not + in the same directory or its child directories. + +-------------------------------------------------------------------------------- +*vifm-view-look* + +vifm supports displaying of file list view in two different ways: + - in a table mode, when multiple columns can be set using |vifm-'viewcolumns'| + option (see |vifm-column-view| for details); + - in a multicolumn list manner which looks almost like `ls -x` command + output (see |vifm-ls-view| for details). + +The look is local for each view and can be chosen by changing value of the +|vifm-'lsview'| boolean option. + +Depending on view look some of keys change their meaning to allow more natural +cursor moving. This concerns mainly |vifm-h|, |vifm-j|, |vifm-k|, |vifm-l| and other +similar navigation keys. + +Also some of options can be ignored if they don't affect view displaying in +selected look. For example value of |vifm-'viewcolumns'| when |vifm-'lsview'| is +set. + +-------------------------------------------------------------------------------- +*vifm-ls-view* + +When this view look is enabled by setting |vifm-'lsview'| option on, vifm will +display files in multiple columns. Number of columns depends on the length of +the longest file name present in current directory of the view. Whole file +list is automatically reflowed on directory change, terminal or view resize. + +View looks close to output of `ls -x` command, so files are listed left to +right in rows. + +In this mode file manipulation commands (e.g. |vifm-d|) don't work line-wise like +they do in Vim, since such operations would be uncommon for file manipulation +tasks. Thus, for example, |vifm-dd| will remove only current file. + +By default the view is filled by lines, |vifm-'lsoptions'| can be used to get +filling by columns. + +Note that tree-view and compare view inhibit ls-like view. + +-------------------------------------------------------------------------------- +*vifm-column-view* + +View columns are described by a comma-separated list of column descriptions, +each of which has the following format > + [ '-' | '*' ] [ fw ( [ '.' tw ] | '%' ) ] '{' type | literal '}' '.'{0,3} +where fw stands for full width, tw stands for text width, bar is logical or, +square brackets denote optional parts and curly braces define range of +repetitions for a symbol that precedes them. + +So it basically consists of four parts: + 1. Optional alignment specifier + 2. Optional width specifier + 3. Mandatory column name + 4. Optional cropping specifier + +Alignment specifier~ + +It's an optional minus or asterisk sign as the first symbol of the string. + +Specifies type of text alignment within a column. Two types are supported: + + - left align > + + set viewcolumns=-{name} +< + - right align (default) > + + set viewcolumns={name} +< + - dynamic align + + It's like left alignment, but when the text is bigger than the column, + the alignment is made at the right (so the part of the field is always + visible). > + + set viewcolumns=*{name} +< +Width specifier~ + +It's a number followed by a percent sign, two numbers (second one should be +less than or equal to the first one) separated with a dot or a single number. + +Specifies column width and its units. There are three size types: + - absolute size - column width is specified in characters > + set viewcolumns=-100{name},20.15{ext} +< results in two columns with lengths of 100 and 20 and a reserved space of + five characters on the left of second column. + - relative (percent) size - column width is specified in percents of view width > + set viewcolumns=-80%{name},15%{ext},5%{mtime} +< results in three columns with lengths of 80/100, 15/100 and 5/100 of view + width. + - auto size (default) - column width is automatically determined > + set viewcolumns=-{name},{ext},{mtime} +< results in three columns with length of one third of view width. There is + no size adjustment to content, since it will slow down rendering. + +Columns of different sizing types can be freely mixed in one view. Though +sometimes some of columns can be seen partly or be completely invisible if +there is not enough space to display them. + +Column contents~ + +This is usually a sorting key surrounded with curly braces, e.g. > + {name},{ext},{mtime} +< +{name} and {iname} types are the same and present both for consistency with +|vifm-'sort'| option. + +Following types don't have corresponding sorting keys: + - {root} - display name without extension (as a complement for {ext}) + - {fileroot} - display name without extension for anything except for + directories and symbolic links to directories (as a + complement for {fileext}) + +Empty curly braces ({}) are replaced with the default secondary column for +primary sort key. So after the next command views will be displayed almost as +if |vifm-'viewcolumns'| is empty, but adding ellipsis for long file names: > + set viewcolumns=-{name}..,6{}. + +The last kind of column value is a string literal. The literal is used as a +column value for every row. The syntax is `{#literal}`, for example: > + 3{#},{#|},{# | } +This can be used to draw column separators. Mind that for convenience +literals have different defaults: truncation and automatically determined +absolute size, which is what you usually want for them. Example: > + set viewcolumns=*{name}..,{#|},6{}. + +Cropping specifier~ + +It's from one to three dots after closing curly brace in column format. + +Specifies type of text truncation if it doesn't fit in the column. Currently +three types are supported: + - truncation - text is truncated > + set viewcolumns=-{name}. +< results in truncation of names that are too long too fit in the view. + - adding of ellipsis - ellipsis on the left or right are added when needed > + set viewcolumns=-{name}.. +< results in that ellipsis are added at the end of too long file names. + - none (default) - text can pass column boundaries > + set viewcolumns=-{name}...,{ext} +< results in that long file names can partially be written on the ext column. + +-------------------------------------------------------------------------------- +*vifm-color-schemes* + +The color schemes in vifm can be applied in two different ways: + - as the primary color scheme + - as local to a pane color scheme + +Both types are set using |vifm-:colorscheme| command, but of different forms: + - :colorscheme color_scheme_name - for the primary color scheme + - :colorscheme color_scheme_name directory - for local color schemes + +Look of different parts of the TUI (Text User Interface) is determined in +this way: + - Border, TabLine, TabLineSel, TopLineSel, TopLine, CmdLine, ErrorMsg, + StatusLine, JobLine, SuggestBox and WildMenu are always determined by + the primary color scheme + - CurrLine, Selected, Directory, Link, BrokenLink, Socket, Device, + Executable, Fifo, CmpMismatch, CmpUnmatched, CmpBlank, Win, AuxWin and + OtherWin are determined by primary color scheme and a set of local color + schemes, which can be empty + +There might be a set of local color schemes because they are structured +hierarchically according to file system structure. For example, having the +following piece of file system: > + + ~ + `-- bin + | + `-- my +< +Two color schemes: > + + # ~/.config/vifm/colors/for_bin.vifm + highlight Win cterm=none ctermfg=white ctermbg=red + highlight CurrLine cterm=none ctermfg=red ctermbg=black + + # ~/.config/vifm/colors/for_bin_my.vifm + highlight CurrLine cterm=none ctermfg=green ctermbg=black +< +And these three commands in the vifmrc file: > + + colorscheme Default + colorscheme for_bin ~/bin + colorscheme for_bin_my ~/bin/my +< +File list will look in the following way for each level: + - ~/ - Default color scheme + black background + cursor with blue background + - ~/bin/ - mix of Default and for_bin color schemes + red background + cursor with black background and red foreground + - ~/bin/my/ - mix of Default, for_bin and for_bin_my color schemes + red background + cursor with black background and green foreground + +-------------------------------------------------------------------------------- +*vifm-trash* + +vifm has support of trash directory, which is used as temporary storage for +deleted files or files that were cut. Using trash is controlled by the +|vifm-'trash'| option, and exact path to the trash can be set with +|vifm-'trashdir'| option. Trash directory in vifm differs from the system-wide +one by default, because of possible incompatibilities of storing deleted files +among different file managers. But one can set |vifm-'trashdir'| to +"~/.local/share/Trash" to use a "standard" trash directory. + +There are two scenarios of using trash in vifm: + +1. As a place for storing files that were cut by |vifm-d| and may be + inserted to some other place in file system. +2. As a storage of files, that are deleted but not purged yet. + +The first scenario uses deletion (|vifm-d|) operations to put files to +trash and put (|vifm-p|) operations to restore files from trash directory. +Note that such operations move files to and from trash directory, +which can be long term operations in case of different partitions or +remote drives mounted locally. + +The second scenario uses deletion (|vifm-d|) operations for moving files +to trash directory and |vifm-:empty| command-line command to purge all +previously deleted files. + +Deletion and put operations depend on registers, which can point to files in +trash directory. Normally, there are no nonexistent files in registers, but +vifm doesn't keep track of modifications under trash directory, so one +shouldn't expect value of registers to be absolutely correct if trash +directory was modified not by operation that are meant for it. But this +won't lead to any issues with operations, since they ignore nonexistent +files. + +-------------------------------------------------------------------------------- +*vifm-clientserver* + +vifm supports remote execution of command-line mode commands, remote changing of +directories and expression evaluation. This is possible using |vifm---remote| +and |vifm---remote-expr| command-line arguments. + +To execute a command remotely combine --remote argument with |vifm--c| or +|vifm--+c|. For example: > + vifm --remote -c 'cd /' + vifm --remote '+cd /' +< +To change directory not using command-line mode commands one can specify paths +right after --remote argument, like this: > + vifm --remote / + vifm --remote ~ + vifm --remote /usr/bin /tmp + +Evaluating expression remotely might be useful to query information about an +instance, for example its location: > + vifm --remote-expr 'expand("%d")' + +If there are several running instances, the target can be specified with +|vifm---server-name| option (otherwise, the first one lexicographically is used): > + vifm --server-name work --remote ~/work/project + +List of names of running instances can be obtained via |vifm---server-list| +option. Name of the current one is available via v:servername. + + *vifm-v:servername* +v:servername *vifm-servername-variable* + server name of the running vifm instance. Empty if client-server feature + is disabled. + +-------------------------------------------------------------------------------- +*vifm-ext-rename* + +When an editor is run to edit list of file names, contents of the temporary file +has the following format: + 1. Order of lines correspond to the order of files in a view. + 2. Lines that start with a "#" are comments and are ignored. + 3. Single backslash at the beginning of a line is ignored, so that a file + starting with a backslash will appear like "\#name". + +If an operation was rejected due to issues with file names, next time you'll see +the following in this order: + 1. Last error (in comments). + 2. Original file names (in comments). + 3. Failed list of new names. + +Mind that |vifm-plugin| will extract list of original names and show them in a +vertical split. + +You can cancel renaming by removing all non-comments from the buffer. This +also erases information about previous edits. + +-------------------------------------------------------------------------------- +*vifm-mouse-using* + +Note: is not available on 32-bit *nix systems, because +ncurses doesn't support it there (limitation of implementation). + +Note: these are not available in mappings at the momemnt. + + *vifm-mouse-overview* +Normal Mode: +event position change action ~ + cursor window ~ + yes yes if cursor wasn't moved + no yes + no yes + no yes + yes yes |vifm-:file| + no yes + no yes or |vifm-:tabprevious| + no yes or |vifm-:tabnext| + +Clicking on or scrolling over an inactive pane (including its title), makes it +active and does nothing else. Tabs are scrolled when mouse hovers over them. + +Clicking on the left miller column goes to parent directory and clicking the +right one opens current entry. + +Visual Mode: +event position selection action ~ + cursor ~ + yes update if cursor wasn't moved + no + no update + no + no + no + no update + no update + +Command-line Mode: +event position action ~ + cursor ~ + yes + no + no + no + no + no + no + no + +Menu Mode: +event position action ~ + cursor ~ + yes if cursor wasn't moved + no + no + no + no + no + no + no + +View Mode: +event action ~ + ~ + k + j + +Clicking on or scrolling over an inactive pane (including its title), detaches +view mode if it wasn't activated for exploring a file. + +-------------------------------------------------------------------------------- +*vifm-plugin* + +See |vifm-plugin.txt|. + +-------------------------------------------------------------------------------- +*vifm-reserved* + +The following command names are reserved and shouldn't be used for user +commands. + + g[lobal] + v[global] + +-------------------------------------------------------------------------------- +*vifm-env-vars* + +|vifm-$VIFM| +Points to main configuration directory (usually ~/.config/vifm/). + +|vifm-$MYVIFMRC| +Points to main configuration file (usually ~/.config/vifm/vifmrc). + +These environment variables are valid inside vifm and also can be used to +configure it by setting some of them before running vifm. + +When $MYVIFMRC isn't set, it's made as $VIFM/vifmrc (exception for Windows: +vifmrc in the same directory as vifm.exe has higher priority than +$VIFM/vifmrc). + +See |vifm-startup| section above for more details. + + *vifm-$VIFM_FUSE_FILE* +On execution of external commands this variable is set to the full path of file +used to initiate FUSE mount of the closest mount point from current pane's +directory up. It's not set when outside FUSE mount point. When vifm is used +inside terminal multiplexer, it tries to set this variable as well (it doesn't +work this way on its own). + +-------------------------------------------------------------------------------- +*vifm-see-also* + +Vim plugin documentation: |vifm-plugin.txt| + +Website: https://vifm.info/ +Wiki: https://wiki.vifm.info/ + +Esperanto translation of the documentation by Sebastian Cyprych: +http://cyprych.neostrada.pl/tekstoj/komputiloj/vifm-help.eo.html + +-------------------------------------------------------------------------------- + vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:sw=4:ft=help:norl: diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc new file mode 120000 index 0000000..a24f820 --- /dev/null +++ b/.config/vifm/vifmrc @@ -0,0 +1 @@ +/home/jaandrle/Vzdálené/GitHub/dotfiles/vifm/vifmrc \ No newline at end of file