1VIFM(1)                     General Commands Manual                    VIFM(1)
2
3
4

NAME

6       vifm - vi file manager
7

SYNOPSIS

9       vifm [OPTION]...
10       vifm [OPTION]... path
11       vifm [OPTION]... path path
12

DESCRIPTION

14       Vifm is an ncurses based file manager with vi like keybindings.  If you
15       use vi, vifm gives you complete keyboard control over your files  with‐
16       out having to learn a new set of commands.
17

OPTIONS

19       vifm starts in the current directory unless it is given a different di‐
20       rectory on the command line or 'vifminfo'  option  includes  "savedirs"
21       (in which case last visited directories are used as defaults).
22
23       -      Read list of files from standard input stream and compose custom
24              view out of them (see "Custom views" section).  Current  working
25              directory is used as a base for relative paths.
26
27       <path> Starts Vifm in the specified path.
28
29       <path> <path>
30              Starts Vifm in the specified paths.
31
32       Specifying  two  directories  triggers split view even when vifm was in
33       single-view mode on finishing previous run.  To suppress this behaviour
34       :only command can be put in the vifmrc file.
35
36       When only one path argument is found on command-line, the left/top pane
37       is automatically set as the current view.
38
39       Paths to files are also allowed in case you want  vifm  to  start  with
40       some archive opened.
41
42       --select <path>
43              Open  parent  directory  of  the given path and select specified
44              file in it.
45
46       -f     Makes  vifm  instead  of  opening  files  write   selection   to
47              $VIFM/vimfiles and quit.
48
49       --choose-files <path>|-
50              Sets  output  file  to  write  selection into on exit instead of
51              opening files.  "-" means standard output.  Use empty  value  to
52              disable it.
53
54       --choose-dir <path>|-
55              Sets  output  file to write last visited directory into on exit.
56              "-" means standard output.  Use empty value to disable it.
57
58       --delimiter <delimiter>
59              Sets separator for list of  file  paths  written  out  by  vifm.
60              Empty  value  means null character.  Default is new line charac‐
61              ter.
62
63       --on-choose <command>
64              Sets command to be executed on selected files instead of opening
65              them.   The  command may use any of macros described in "Command
66              macros" section below.  The command is executed once  for  whole
67              selection.
68
69       --logging[=<startup log path>]
70              Log some operational details $VIFM/log.  If the optional startup
71              log path is specified and permissions allow to open it for writ‐
72              ing, then logging of early initialization (before value of $VIFM
73              is determined) is put there.
74
75       --server-list
76              List available server names and exit.
77
78       --server-name <name>
79              Name of target or this instance (sequential numbers are appended
80              on name conflict).
81
82       --remote
83              Sends  the rest of the command line to another instance of vifm,
84              --server-name is treated just like any other argument and should
85              precede  --remote on the command line.  When there is no server,
86              quits silently.  There is no limit on how many arguments can  be
87              processed.  One can combine --remote with -c <command> or +<com‐
88              mand> to execute commands in already running instance  of  vifm.
89              See also "Client-Server" section below.
90
91       --remote-expr
92              passes  expression  to  vifm server and prints result.  See also
93              "Client-Server" section below.
94
95       -c <command> or +<command>
96              Run command-line mode <command> on startup.   Commands  in  such
97              arguments are executed in the order they appear in command line.
98              Commands with spaces or special symbols must be enclosed in dou‐
99              ble  or  single  quotes or all special symbols should be escaped
100              (the exact syntax strongly depends on shell).  "+"  argument  is
101              equivalent to "$" and thus picks last item of of the view.
102
103       --help, -h
104              Show a brief command summary and exit vifm.
105
106       --version, -v
107              Show version information and quit.
108
109       --no-configs
110              Skip reading vifmrc and vifminfo.
111
112
113       See "Startup" section below for the explanations on $VIFM.
114

General keys

116       Ctrl-C or Escape
117              cancel most operations (see "Cancellation" section below), clear
118              all selected files.
119
120       Ctrl-L clear and redraw the screen.
121

Basic Movement

123       The basic vi key bindings are used to move through the files and pop-up
124       windows.
125
126       k, gk, or Ctrl-P
127              move cursor up one line.
128
129       j, gj or Ctrl-N
130              move cursor down one line.
131
132       h      when  'lsview' is off move up one directory (moves to parent di‐
133              rectory node in tree view), otherwise move left one file.
134
135       l      when 'lsview' is off move into a directory  or  launch  a  file,
136              otherwise move right one file.  See "Selection" section below.
137
138       gg     move to the first line of the file list.
139
140       G      move to the last line in the file list.
141
142       gh     go  up one directory regardless of view representation (regular,
143              ls-like).  Also can be used to leave custom views including tree
144              view.
145
146       gl or Enter
147              enter  directory  or launch a file.  See "Selection" section be‐
148              low.
149
150       H      move to the first file in the window.
151
152       M      move to the file in the middle of the window.
153
154       L      move to the last file in the window.
155
156       Ctrl-F or Page Down
157              move forward one page.
158
159       Ctrl-B or Page Up
160              move back one page.
161
162       Ctrl-D jump back one half page.
163
164       Ctrl-U jump forward one half page.
165
166       n%     move to the file that is n percent from the top of the list (for
167              example 25%).
168
169       0 or ^ move  cursor  to the first column.  See 'lsview' option descrip‐
170              tion.
171
172       $      move cursor to the last column.  See  'lsview'  option  descrip‐
173              tion.
174
175       Space  switch file lists.
176
177       gt     switch to the next tab (wrapping around).
178
179       {n}gt  switch to the tab number {n} (wrapping around).
180
181       gT     switch to the previous tab (wrapping around).
182
183       {n}gT  switch to {n}-th previous tab.
184

Movement with Count

186       Most  movement  commands  also  accept  a count, 12j would move down 12
187       files.
188
189       [count]%
190              move to percent of the file list.
191
192       [count]j
193              move down [count] files.
194
195       [count]k
196              move up [count] files.
197
198       [count]G or [count]gg
199              move to list position [count].
200
201       [count]h
202              go up [count] directories.
203

Scrolling panes

205       zt     redraw pane with file in top of list.
206
207       zz     redraw pane with file in center of list.
208
209       zb     redraw pane with file in bottom of list.
210
211       Ctrl-E scroll pane one line down.
212
213       Ctrl-Y scroll pane one line up.
214

Pane manipulation

216       Second character can be entered with or without Control key.
217
218       Ctrl-W H
219              move the pane to the far left.
220
221       Ctrl-W J
222              move the pane to the very bottom.
223
224       Ctrl-W K
225              move the pane to the very top.
226
227       Ctrl-W L
228              move the pane to the far right.
229
230
231       Ctrl-W h
232              switch to the left pane.
233
234       Ctrl-W j
235              switch to the pane below.
236
237       Ctrl-W k
238              switch to the pane above.
239
240       Ctrl-W l
241              switch to the right pane.
242
243
244       Ctrl-W b
245              switch to bottom-right window.
246
247       Ctrl-W t
248              switch to top-left window.
249
250
251       Ctrl-W p
252              switch to previous window.
253
254       Ctrl-W w
255              switch to other pane.
256
257
258       Ctrl-W o
259              leave only one pane.
260
261       Ctrl-W s
262              split window horizontally.
263
264       Ctrl-W v
265              split window vertically.
266
267
268       Ctrl-W x
269              exchange panes.
270
271       Ctrl-W z
272              quit preview pane or view modes.
273
274
275       Ctrl-W -
276              decrease size of the view by count.
277
278       Ctrl-W +
279              increase size of the view by count.
280
281       Ctrl-W <
282              decrease size of the view by count.
283
284       Ctrl-W >
285              increase size of the view by count.
286
287
288       Ctrl-W |
289              set current view size to count.
290
291       Ctrl-W _
292              set current view size to count.
293
294       Ctrl-W =
295              make size of two views equal.
296
297       For Ctrl-W +, Ctrl-W -, Ctrl-W <, Ctrl-W >, Ctrl-W | and Ctrl-W _  com‐
298       mands  count  can  be  given before and/or after Ctrl-W.  The resulting
299       count is a multiplication of those two.  So "2 Ctrl-W  2  -"  decreases
300       window size by 4 lines or columns.
301
302       Ctrl-W | and Ctrl-W _ maximise current view by default.
303

Marks

305       Marks are set the same way as they are in vi.
306
307       You can use these characters for marks [a-z][A-Z][0-9].
308
309       m[a-z][A-Z][0-9]
310              set a mark for the file at the current cursor position.
311
312       '[a-z][A-Z][0-9]
313              navigate to the file set for the mark.
314
315
316       There are also several special marks that can't be set manually:
317
318         - '  (single  quote) - previously visited directory of the view, thus
319           hitting '' allows switching between two last locations
320
321         - < - the first file of the last visually selected block
322
323         - > - the last file of the last visually selected block
324

Searching

326       /regular expression pattern
327              search for files matching regular expression in  forward  direc‐
328              tion and advance cursor to next match.
329
330       /      perform forward search with top item of search pattern history.
331
332       ?regular expression pattern
333              search  for files matching regular expression in backward direc‐
334              tion and advance cursor to previous match.
335
336       ?      perform backward search with top item of search pattern history.
337
338       Trailing slash for directories is taken into account, so  /\/  searches
339       for  directories  and  symbolic links to directories.  At the moment //
340       works too, but this can change in the future, so consider escaping  the
341       slash if not typing pattern by hand.
342
343       Matches  are  automatically  selected  if  'hlsearch' is set.  Enabling
344       'incsearch' makes search interactive.  'ignorecase' and 'smartcase' op‐
345       tions affect case sensitivity of search queries as well as local filter
346       and other things detailed in the description of 'caseoptions'.
347
348
349       [count]n
350              go to the next file matching last search  pattern.   Takes  last
351              search direction into account.
352
353       [count]N
354              go  to  the  previous  file matching last search pattern.  Takes
355              last search direction into account.
356
357       If 'hlsearch' option is set, hitting n/N to perform search  and  go  to
358       the first matching item resets current selection in normal mode.  It is
359       not the case if search was already performed on files in the directory,
360       thus  selection  is  not reset after clearing selection with escape key
361       and hitting n/N key again.
362
363       Note: vifm uses extended regular expressions for / and ?.
364
365
366       [count]f[character]
367              search forward for file with [character] as first  character  in
368              name.  Search wraps around the end of the list.
369
370       [count]F[character]
371              search  backward for file with [character] as first character in
372              name.  Search wraps around the end of the list.
373
374       [count];
375              find the next match of f or F.
376
377       [count],
378              find the previous match of f or F.
379
380       Note: f, F, ; and , wrap around list beginning and end  when  they  are
381       used alone and they don't wrap when they are used as selectors.
382

File Filters

384       There are three basic file filters:
385
386         - dot files filter (does not affect "." and ".." special directories,
387           whose appearance is controlled by the 'dotdirs' option), see  'dot‐
388           files' option;
389
390         - permanent filter;
391
392         - local filter (see description of the "=" normal mode command).
393
394       Permanent  filter  essentially  allows  defining a group of files names
395       which are not desirable to be seen by default, like temporary or backup
396       files,  which  might  be  created alongside normal ones.  Just like you
397       don't usually need to see hidden dot files (files starting with a dot).
398       Local  filter on the other hand is for temporary immediate filtering of
399       file list at hand, to get rid of uninterested files in the view  or  to
400       make it possible to use % range in a :command.
401
402       For  the  purposes  of  more  deterministic editing permanent filter is
403       split into two parts:
404
405         - one edited explicitly via :filter command;
406
407         - another one which is edited implicitly via zf shortcut.
408
409       Files are tested against both parts and a match counts if at least  one
410       of the parts matched.
411
412
413       Each file list has its own copy of each filter.
414
415       Filtered files are not checked in / search or :commands.
416
417       Files and directories are filtered separately.  This is done by append‐
418       ing a slash to a directory name before testing whether it  matches  the
419       filter. Examples:
420
421
422         " filter directories which names end with '.files'
423         :filter /^.*\.files\/$/
424
425         " filter files which names end with '.d'
426         :filter {*.d}
427
428         " filter files and directories which names end with '.o'
429         :filter /^.*\.o\/?$/
430
431       Note: vifm uses extended regular expressions.
432
433       The basic vim folding key bindings are used for managing filters.
434
435
436       za     toggle visibility of dot files.
437
438       zo     show dot files.
439
440       zm     hide dot files.
441
442       zf     add selected files to permanent filter.
443
444       zO     reset permanent filter.
445
446       zR     save and reset all filters.
447
448       zr     clear local filter.
449
450       zM     restore all filters (undoes last zR).
451
452       zd     exclude  selection  or  current  file  from a custom view.  Does
453              nothing for regular view.  For tree view excluding directory ex‐
454              cludes that sub-tree.  For compare views zd hides group of adja‐
455              cent identical files, count can be specified  as  1  to  exclude
456              just single file or selected items instead.  Files excluded this
457              way are not counted as filtered out and can't be returned unless
458              view is reloaded.
459
460       =regular expression pattern
461              filter  out  files that don't match regular expression.  Whether
462              view is updated as regular expression is changed depends on  the
463              value  of  the 'incsearch' option.  This kind of filter is auto‐
464              matically reset when directory is changed.
465
467       While some of the keys make sense outside of tree-view, they  are  most
468       useful in trees.
469
470       [z     go to first sibling of current entry.
471
472       ]z     go to last sibling of current entry.
473
474       zj     go to next directory sibling of current entry or do nothing.
475
476       zk     go to previous directory sibling of current entry or do nothing.
477
478       zx     toggle fold under the cursor or parent entry of the current file
479              if cursor is not on a directory.
480

Other Normal Mode Keys

482       [count]:
483              enter command line mode.  [count] generates range.
484
485       q:     open external editor to prompt for  command-line  command.   See
486              "Command line editing" section for details.
487
488       q/     open external editor to prompt for search pattern to be searched
489              in forward direction.  See "Command line  editing"  section  for
490              details.
491
492       q?     open external editor to prompt for search pattern to be searched
493              in backward direction.  See "Command line editing"  section  for
494              details.
495
496       q=     open external editor to prompt for filter pattern.  See "Command
497              line editing" section for details.  Unlike other  q{x}  commands
498              this one doesn't work in Visual mode.
499
500       [count]!! and [count]!<selector>
501              enter  command  line mode with entered ! command.  [count] modi‐
502              fies range.
503
504       Ctrl-O go backwards through directory history of current view.   Nonex‐
505              istent directories are automatically skipped.
506
507       Ctrl-I if  'cpoptions' contains "t" flag, <tab> and <c-i> switch active
508              pane just like <space> does, otherwise it goes  forward  through
509              directory  history of current view.  Nonexistent directories are
510              automatically skipped.
511
512       Ctrl-G show a dialog with detailed information about current file.  See
513              "Menus and dialogs" section for controls.
514
515       Shift-Tab
516              enter  view  mode  (works  only  after activating view pane with
517              :view command).
518
519       ga     calculate directory size.  Uses cached directory sizes when pos‐
520              sible  for  better  performance.   As a special case calculating
521              size of ".." entry results in calculation of size of current di‐
522              rectory.
523
524       gA     like  ga,  but  force  update.   Ignores old values of directory
525              sizes.
526
527       If file under cursor is selected, each selected item is processed, oth‐
528       erwise only current file is updated.
529
530       gf     find  link  destination (like l with 'followlinks' off, but also
531              finds directories).  On Windows additionally follows .lnk-files.
532
533       gF     Same as gf, but resolves final path of  the  chain  of  symbolic
534              links.
535
536       gr     only for MS-Windows
537              same  as  l  key,  but  tries to run program with administrative
538              privileges.
539
540       av     go to visual mode into selection amending state preserving  cur‐
541              rent selection.
542
543       gv     go to visual mode restoring last selection.
544
545       [reg]gs
546              when no register is specified, restore last t selection (similar
547              to what gv does for visual  mode  selection).   If  register  is
548              present,  then  all  files listed in that register and which are
549              visible in current view are selected.
550
551       gu<selector>
552              make names of selected files lowercase.
553
554       [count]guu and [count]gugu
555              make names of [count] files starting from the current one lower‐
556              case.  Without [count] only current file is affected.
557
558       gU<selector>
559              make names of selected files uppercase.
560
561       [count]gUU and [count]gUgU
562              make names of [count] files starting from the current one upper‐
563              case.  Without [count] only current file is affected.
564
565       e      explore file in the current pane.
566
567       i      handle file (even if it's an executable and 'runexec' option  is
568              set).
569
570       cw     change  word  is  used  to  rename a file or files.  If multiple
571              files are selected, behaves as :rename command run without argu‐
572              ments.
573
574       cW     change  WORD is used to change only name of file (without exten‐
575              sion).
576
577       cl     change link target.
578
579       co     only for *nix
580              change file owner.
581
582       cg     only for *nix
583              change file group.
584
585       [count]cp
586              change file attributes (permission on  *nix  and  properties  on
587              Windows).   If  [count]  is specified, it's treated as numerical
588              argument  for  non-recursive  `chmod`  command  (of   the   form
589              [0-7]{3,4}).  See "Menus and dialogs" section for controls.
590
591       [count]C
592              clone file [count] times.
593
594       [count]dd or d[count]selector
595              move  selected  file or files to trash directory (if 'trash' op‐
596              tion is set, otherwise delete).  See "Trash  directory"  section
597              below.
598
599       [count]DD or D[count]selector
600              like dd and d<selector>, but omitting trash directory (even when
601              'trash' option is set).
602
603       Y, [count]yy or y[count]selector
604              yank selected files.
605
606       p      copy yanked files to the current directory or move the files  to
607              the  current directory if they were deleted with dd or :d[elete]
608              or if the files were yanked from trash  directory.   See  "Trash
609              directory" section below.
610
611       P      move the last yanked files.  The advantage of using P instead of
612              d followed by p is that P moves files only once.  This isn't im‐
613              portant  in  case  you're  moving  files in the same file system
614              where your home directory is, but using P to move files on  some
615              other  file  system  (or  file systems, in case you want to move
616              files from fs1 to fs2 and your home is on  fs3)  can  save  your
617              time.
618
619       al     put symbolic links with absolute paths.
620
621       rl     put symbolic links with relative paths.
622
623       t      select or unselect (tag) the current file.
624
625       u      undo last change.
626
627       Ctrl-R redo last change.
628
629       dp     in compare view of "ofboth grouppaths" kind, makes corresponding
630              entry of the other pane equal to the current one.  The semantics
631              is as follows:
632               - nothing done for identical entries
633               - if file is missing in current view, its pair gets removed
634               - if file is missing or differs in other view, it's replaced
635               - file pairs are defined by matching relative paths
636              File  removal obeys 'trash' option.  When the option is enabled,
637              the operation can be undone/redone (although  results  won't  be
638              visible automatically).
639              Unlike  in  Vim,  this  operation  is performed on a single line
640              rather than a set of adjacent changes.
641
642       do     same as dp, but applies changes in the opposite direction.
643
644       v or V enter visual mode, clears current selection.
645
646       [count]Ctrl-A
647              increment first number in file name by [count] (1 by default).
648
649       [count]Ctrl-X
650              decrement first number in file name by [count] (1 by default).
651
652       ZQ     same as :quit!.
653
654       ZZ     same as :quit.
655
656       .      repeat last command-line command (not normal  mode  command)  of
657              this run (does nothing right after startup or :restart command).
658              The command doesn't depend on command-line history  and  can  be
659              used with completely disabled history.
660
661       (      go  to  previous  group.   Groups are defined by primary sorting
662              key.  For name and iname members of each group have  same  first
663              letter, for all other sorting keys vifm uses size, uid, ...
664
665       )      go to next group.  See ( key description above.
666
667       {      speeds  up  navigation to closest previous entry of the opposite
668              type by moving to the first file backwards when cursor is  on  a
669              directory and to the first directory backwards when cursor is on
670              a file.  This is essentially a special case of ( that is  locked
671              on "dirs".
672
673       }      same as {, but in forward direction.
674
675       [c     go  to previous mismatched entry in directory comparison view or
676              do nothing.
677
678       ]c     go to next mismatched entry in directory comparison view  or  do
679              nothing.
680
681       [d     go to previous directory entry or do nothing.
682
683       ]d     go to next directory entry or do nothing.
684
685       [r     same as :siblprev.
686
687       ]r     same as :siblnext.
688
689       [R     same as :siblprev!.
690
691       ]R     same as :siblnext!.
692
693       [s     go to previous selected entry or do nothing.
694
695       ]s     go to next selected entry or do nothing.
696

Using Count

698       You can use count with commands like yy.
699
700       [count]yy
701              yank count files starting from current cursor position downward.
702
703       Or you can use count with motions passed to y, d or D.
704
705       d[count]j
706              delete  (count  + 1) files starting from current cursor position
707              upward.
708

Registers

710       vifm supports multiple registers for temporary storing list  of  yanked
711       or deleted files.
712
713       Registers should be specified by hitting double quote key followed by a
714       register name.  Count is specified after  register  name.   By  default
715       commands use unnamed register, which has double quote as its name.
716
717       Though  all  commands  accept  registers, most of commands ignores them
718       (for example H or Ctrl-U).  Other commands can fill register or  append
719       new files to it.
720
721       Presently vifm supports ", _, a-z and A-Z characters as register names.
722
723       As mentioned above " is unnamed register and has special meaning of the
724       default register.  Every time when you use named registers (a-z and  A-
725       Z)  unnamed  register  is  updated to contain same list of files as the
726       last used register.
727
728       _ is black hole register.  It can be used for writing, but its list  is
729       always empty.
730
731       Registers  with names from a to z and from A to Z are named ones.  Low‐
732       ercase registers are cleared before adding new files,  while  uppercase
733       aren't and should be used to append new files to the existing file list
734       of appropriate lowercase register (A for a, B for b, ...).
735
736       Registers can be changed on :empty command if they contain files  under
737       trash directory (see "Trash directory" section below).
738
739       Registers do not contain one file more than once.
740
741       Example:
742
743         "a2yy
744
745       puts names of two files to register a (and to the unnamed register),
746
747         "Ad
748
749       removes  one file and append its name to register a (and to the unnamed
750       register),
751
752         p or "ap or "Ap
753
754       inserts previously yanked and deleted files into current directory.
755

Selectors

757       y, d, D, !, gu and gU commands accept selectors.  You can combine  them
758       with any of selectors below to quickly remove or yank several files.
759
760       Most  of  selectors are like vi motions: j, k, gg, G, H, L, M, %, f, F,
761       ;, comma, ', ^, 0 and $.  But there are some additional ones.
762
763       a      all files in current view.
764
765       s      selected files.
766
767       S      all files except selected.
768
769       Examples:
770
771         - dj - delete file under cursor and one below;
772
773         - d2j - delete file under cursor and two below;
774
775         - y6gg - yank all files from cursor position to 6th file in the list.
776
777       When you pass a count to whole command and its selector they are multi‐
778       plied. So:
779
780         - 2d2j - delete file under cursor and four below;
781
782         - 2dj - delete file under cursor and two below;
783
784         - 2y6gg  -  yank  all  files from cursor position to 12th file in the
785           list.
786

Visual Mode

788       Visual mode has two generic operating submodes:
789
790         - plain selection as it is in Vim;
791
792         - selection editing submode.
793
794       Both modes select files in range from cursor position at  which  visual
795       mode  was  entered to current cursor position (let's call it "selection
796       region").  Each of two borders can be adjusted by swapping them via "o"
797       or  "O"  keys  and  updating cursor position with regular cursor motion
798       keys.  Obviously, once initial cursor position  is  altered  this  way,
799       real start position becomes unavailable.
800
801       Plain  Vim-like visual mode starts with cleared selection, which is not
802       restored on rejecting selection ("Escape", "Ctrl-C", "v",  "V").   Con‐
803       trary  to it, selection editing doesn't clear previously selected files
804       and restores them after reject.  Accepting selection by  performing  an
805       operation on selected items (e.g. yanking them via "y") moves cursor to
806       the top of current selection region (not to the top most selected  file
807       of the view).
808
809       In  turn,  selection  editing  supports three types of editing (look at
810       statusbar to know which one is currently active):
811
812         - append - amend selection by selecting elements in selection region;
813
814         - remove - amend selection by deselecting elements in  selection  re‐
815           gion;
816
817         - invert  - amend selection by inverting selection of elements in se‐
818           lection region.
819
820       No matter how you activate selection editing  it  starts  in  "append".
821       One  can switch type of operation (in the order given above) via "Ctrl-
822       G" key.
823
824       Almost all normal mode keys work in visual mode, but instead of accept‐
825       ing selectors they operate on selected items.
826
827       Enter  save selection and go back to normal mode not moving cursor.
828
829       av     leave  visual mode if in amending mode (restores previous selec‐
830              tion), otherwise switch to amending selection mode.
831
832       gv     restore previous visual selection.
833
834       v, V, Ctrl-C or Escape
835              leave visual mode if not in amending mode, otherwise  switch  to
836              normal visual selection.
837
838       Ctrl-G switch  type of amending by round robin scheme: append -> remove
839              -> invert.
840
841       :      enter command line mode.  Selection is cleared  on  leaving  the
842              mode.
843
844       o      switch active selection bound.
845
846       O      switch active selection bound.
847
848       gu, u  make names of selected files lowercase.
849
850       gU, U  make names of selected files uppercase.
851
852       cw     same as running :rename command without arguments.
853

View Mode

855       This mode tries to imitate the less program.  List of builtin shortcuts
856       can be found below.  Shortcuts can be customized using :qmap, :qnoremap
857       and :qunmap command-line commands.
858
859       Shift-Tab, Tab, q, Q, ZZ
860              return to normal mode.
861
862       [count]e, [count]Ctrl-E, [count]j, [count]Ctrl-N, [count]Enter
863              scroll forward one line (or [count] lines).
864
865       [count]y, [count]Ctrl-Y, [count]k, [count]Ctrl-K, [count]Ctrl-P
866              scroll backward one line (or [count] lines).
867
868       [count]f, [count]Ctrl-F, [count]Ctrl-V, [count]Space
869              scroll forward one window (or [count] lines).
870
871       [count]b, [count]Ctrl-B, [count]Alt-V
872              scroll backward one window (or [count] lines).
873
874       [count]z
875              scroll forward one window (and set window to [count]).
876
877       [count]w
878              scroll backward one window (and set window to [count]).
879
880       [count]Alt-Space
881              scroll forward one window, but don't stop at end-of-file.
882
883       [count]d, [count]Ctrl-D
884              scroll forward one half-window (and set half-window to [count]).
885
886       [count]u, [count]Ctrl-U
887              scroll   backward   one  half-window  (and  set  half-window  to
888              [count]).
889
890       r, Ctrl-R, Ctrl-L
891              repaint screen.
892
893       R      reload view preserving scroll position.
894
895       F      toggle automatic forwarding.   Roughly  equivalent  to  periodic
896              file reload and scrolling to the bottom.  The behaviour is simi‐
897              lar to `tail -F` or F key in less.
898
899       a      switch to the next viewer.  Does nothing for preview constructed
900              via %q macro.
901
902       A      switch  to  the  previous viewer.  Does nothing for preview con‐
903              structed via %q macro.
904
905       i      toggle raw mode (ignoring of defined viewers).  Does nothing for
906              preview constructed via %q macro.
907
908       [count]/pattern
909              search forward for ([count]‐th) matching line.
910
911       [count]?pattern
912              search backward for ([count]‐th) matching line.
913
914       [count]n
915              repeat previous search (for [count]‐th occurrence).
916
917       [count]N
918              repeat  previous search in reverse direction (for [count]‐th oc‐
919              currence).
920
921       [count]g, [count]<, [count]Alt-<
922              scroll to the first line of the file (or line [count]).
923
924       [count]G, [count]>, [count]Alt->
925              scroll to the last line of the file (or line [count]).
926
927       [count]p, [count]%
928              scroll to the beginning of the file (or N percent into file).
929
930       v      invoke an editor to edit the current  file  being  viewed.   The
931              command for editing is taken from the 'vicmd' or 'vixcmd' option
932              value and extended with middle line number prepended by  a  plus
933              sign and name of the current file.
934
935       All  "Ctrl-W  x" keys work the same was as in Normal mode.  Active mode
936       is automatically changed on navigating among windows.   When  less-like
937       mode  activated  on  file preview is left using one by "Ctrl-W x" keys,
938       its state is stored until another file is displayed using preview (it's
939       possible  to leave the mode, hide preview pane, do something else, then
940       get back to the file and show preview pane again with previously stored
941       state in it).
942

Command line Mode

944       These keys are available in all submodes of the command line mode: com‐
945       mand, search, prompt and filtering.
946
947       Down, Up, Left, Right, Home, End and Delete are extended keys and  they
948       are  not available if vifm is compiled with --disable-extended-keys op‐
949       tion.
950
951       Esc, Ctrl-C
952              leave command line mode,  cancels  input.   Cancelled  input  is
953              saved into appropriate history and can be recalled later.
954
955       Ctrl-M, Enter
956              execute command and leave command line mode.
957
958       Ctrl-I, Tab
959              complete command or its argument.
960
961       Shift-Tab
962              complete in reverse order.
963
964       Ctrl-_ stop completion and return original input.
965
966       Ctrl-B, Left
967              move cursor to the left.
968
969       Ctrl-F, Right
970              move cursor to the right.
971
972       Ctrl-A, Home
973              go to line beginning.
974
975       Ctrl-E, End
976              go to line end.
977
978       Alt-B  go to the beginning of previous word.
979
980       Alt-F  go to the end of next word.
981
982       Ctrl-U remove  characters  from  cursor  position till the beginning of
983              line.
984
985       Ctrl-K remove characters from cursor position till the end of line.
986
987       Ctrl-H, Backspace
988              remove character before the cursor.
989
990       Ctrl-D, Delete
991              remove character under the cursor.
992
993       Ctrl-W remove characters from cursor position  till  the  beginning  of
994              previous word.
995
996       Alt-D  remove  characters  from  cursor  position till the beginning of
997              next word.
998
999       Ctrl-T swap the order of current and previous character and move cursor
1000              forward  or,  if  cursor past the end of line, swap the order of
1001              two last characters in the line.
1002
1003       Alt-.  insert last part of previous command to current cursor position.
1004              Each next call will insert last part of older command.
1005
1006       Ctrl-G edit command-line content in external editor.  See "Command line
1007              editing" section for details.
1008
1009       Ctrl-N recall more recent command-line from history.
1010
1011       Ctrl-P recall older command-line from history.
1012
1013       Up     recall more recent command-line from history, that begins as the
1014              current command-line.
1015
1016       Down   recall  older command-line from history, that begins as the cur‐
1017              rent command-line.
1018
1019       Ctrl-] trigger abbreviation expansion.
1020

Pasting special values

1022       The shortcuts listed below insert specified values into current  cursor
1023       position.  Last key of every shortcut references value that it inserts:
1024         - c - [c]urrent file
1025         - d - [d]irectory path
1026         - e - [e]xtension of a file name
1027         - r - [r]oot part of a file name
1028         - t - [t]ail part of directory path
1029
1030         - a - [a]utomatic filter
1031         - m - [m]anual filter
1032         - = - local filter, which is bound to "=" in normal mode
1033
1034       Values related to filelist in current pane are available through Ctrl-X
1035       prefix, while values from the other pane have  doubled  Ctrl-X  key  as
1036       their  prefix  (doubled Ctrl-X is presumably easier to type than upper‐
1037       case letters; it's still easy to remap the keys to correspond to  names
1038       of similar macros).
1039
1040       Ctrl-X c
1041              name of the current file of the active pane.
1042
1043       Ctrl-X d
1044              path to the current directory of the active pane.
1045
1046       Ctrl-X e
1047              extension of the current file of the active pane.
1048
1049       Ctrl-X r
1050              name root of current file of the active pane.
1051
1052       Ctrl-X t
1053              the  last  component of path to the current directory of the ac‐
1054              tive pane.
1055
1056       Ctrl-X Ctrl-X c
1057              name of the current file of the inactive pane.
1058
1059       Ctrl-X Ctrl-X d
1060              path to the current directory of the inactive pane.
1061
1062       Ctrl-X Ctrl-X e
1063              extension of the current file of the inactive pane.
1064
1065       Ctrl-X Ctrl-X r
1066              name root of current file of the inactive pane.
1067
1068       Ctrl-X Ctrl-X t
1069              the last component of path to the current directory of the inac‐
1070              tive pane.
1071
1072
1073       Ctrl-X a
1074              value of implicit permanent filter (old name "automatic") of the
1075              active pane.
1076
1077       Ctrl-X m
1078              value of explicit permanent filter (old name  "manual")  of  the
1079              active pane.
1080
1081       Ctrl-X =
1082              value of local filter of the active pane.
1083
1084
1085       Ctrl-X /
1086              last pattern from search history.
1087

Command line editing

1089       vifm provides a facility to edit several kinds of data, that is usually
1090       edited in command-line mode, in external editor (using  command  speci‐
1091       fied  by 'vicmd' or 'vixcmd' option).  This has at least two advantages
1092       over built-in command-line mode:
1093         - one can use full power of Vim to edit text;
1094         - finding and reusing history entries becomes possible.
1095
1096       The facility is supported by four input submodes of the command-line:
1097         - command;
1098         - forward search;
1099         - backward search;
1100         - file rename (see description of cw and cW normal mode keys).
1101
1102       Editing command-line using external editor is activated by  the  Ctrl-G
1103       shortcut.   It's  also  possible  to do almost the same from Normal and
1104       Visual modes using q:, q/ and q? commands.
1105
1106       Temporary file created for the purpose of editing the line has the fol‐
1107       lowing structure:
1108
1109         1. First line, which is either empty or contains text already entered
1110            in command-line.
1111
1112         2. 2nd and all other lines with history items starting with the  most
1113            recent  one.   Altering this lines in any way won't change history
1114            items stored by vifm.
1115
1116       After editing application is finished the first line  of  the  file  is
1117       taken  as  the  result  of operation, when the application returns zero
1118       exit code.  If the application returns an error (see :cquit command  in
1119       Vim), all the edits made to the file are ignored, but the initial value
1120       of the first line is saved in appropriate history.
1121

More Mode

1123       This is the mode that appears when status bar content is so big that it
1124       doesn't  fit  on the screen.  One can identify the mode by "-- More --"
1125       message at the bottom.
1126
1127       The following keys are handled in this mode:
1128
1129
1130       Enter, Ctrl-J, j or Down
1131              scroll one line down.
1132
1133       Backspace, k or Up
1134              scroll one line up.
1135
1136
1137       d      scroll one page (half of a screen) down.
1138
1139       u      scroll one page (half of a screen) up.
1140
1141
1142       Space, f or PageDown
1143              scroll down a screen.
1144
1145       b or PageUp
1146              scroll up a screen.
1147
1148
1149       G      scroll to the bottom.
1150
1151       g      scroll to the top.
1152
1153
1154       q, Escape or Ctrl-C
1155              quit the mode.
1156
1157       :      switch to command-line mode.
1158

Commands

1160       Commands are executed with :command_name<Enter>
1161
1162       Commented out lines should start with  the  double  quote  symbol  ("),
1163       which  may be preceded by whitespace characters intermixed with colons.
1164       Inline comments can be added at the end of the line after double  quote
1165       symbol,  only  last  line of a multi-line command can contain such com‐
1166       ment.  Not all commands support inline comments as  their  syntax  con‐
1167       flicts  with  names of registers and fields where double quotes are al‐
1168       lowed.
1169
1170       Most of the commands have two forms: complete and the short one.  Exam‐
1171       ple:
1172
1173         :noh[lsearch]
1174
1175       This  means  the  complete  command is nohlsearch, and the short one is
1176       noh.
1177
1178       Most of command-line commands completely reset selection in the current
1179       view.  However, there are several exceptions:
1180
1181         - `:invert s` most likely leaves some files selected;
1182
1183         - :normal command (when it doesn't leave command-line mode);
1184
1185         - :if  and :else commands don't affect selection on successful execu‐
1186           tion.
1187
1188       '|' can be used to separate commands, so you can give multiple commands
1189       in  one  line.   If you want to use '|' in an argument, precede it with
1190       '\'.
1191
1192       These commands see '|' as part of their arguments even  when  it's  es‐
1193       caped:
1194
1195           :[range]!
1196           :autocmd
1197           :cabbrev
1198           :cmap
1199           :cnoreabbrev
1200           :cnoremap
1201           :command
1202           :dmap
1203           :dnoremap
1204           :filetype
1205           :fileviewer
1206           :filextype
1207           :map
1208           :mmap
1209           :mnoremap
1210           :nmap
1211           :nnoremap
1212           :noremap
1213           :normal
1214           :qmap
1215           :qnoremap
1216           :vmap
1217           :vnoremap
1218           :wincmd
1219           :windo
1220           :winrun
1221
1222       To  be able to use another command after one of these, wrap it with the
1223       :execute command.  An example:
1224
1225         if filetype('.') == 'reg' | execute '!!echo regular file' | endif
1226
1227       :[count]
1228
1229       :number
1230              move to the file number.
1231              :12 would move to the 12th file in the list.
1232              :0 move to the top of the list.
1233              :$ move to the bottom of the list.
1234
1235       :[count]command
1236              The  only  builtin  :[count]command  are  :[count]d[elete]   and
1237              :[count]y[ank].
1238
1239       :d3    would  delete  three files starting at the current file position
1240              moving down.
1241
1242       :3d    would delete one file at the third line in the list.
1243
1244       :command [args]
1245
1246       :[range]!program
1247              execute command via shell.  Accepts macros.
1248
1249       :[range]!command &
1250
1251       same as above, but the command is run in the  background  using  vifm's
1252       means.
1253
1254       Programs  that  write  to stderr create error dialogs showing errors of
1255       the command.
1256
1257       Note the space before ampersand symbol, if you omit it, command will be
1258       run in the background using job control of your shell.
1259
1260       Accepts macros.
1261
1262                                                :!!
1263
1264       :[range]!!command
1265              same as :!, but pauses before returning.
1266
1267       :!!    repeat the last command.
1268
1269                                                :alink
1270
1271       :[range]alink[!?]
1272              create absolute symbolic links to files in directory of inactive
1273              view.  With "?"  prompts for destination file names in  an  edi‐
1274              tor.  "!" forces overwrite.
1275
1276       :[range]alink[!] path
1277              create  absolute  symbolic links to files in directory specified
1278              by the path (absolute  or  relative  to  directory  of  inactive
1279              view).
1280
1281       :[range]alink[!] name1 name2...
1282              create  absolute  symbolic  links of files in directory of other
1283              view giving each next link a corresponding name from  the  argu‐
1284              ment list.
1285
1286                                                :apropos
1287
1288       :apropos keyword...
1289              create a menu of items returned by the apropos command.  Select‐
1290              ing an item in the menu opens corresponding man  page.   By  de‐
1291              fault  the  command  relies  on  the external "apropos" utility,
1292              which can be customized by altering value  of  the  'aproposprg'
1293              option.  See "Menus and dialogs" section for controls.
1294
1295                                                :autocmd
1296
1297       :au[tocmd] {event} {pat} {cmd}
1298              register autocommand for the {event}, which can be:
1299                - DirEnter - triggered after directory is changed
1300              Event name is case insensitive.
1301
1302              {pat}  is  a  comma-separated  list  of modified globs patterns,
1303              which can contain tilde or environment variables.  All paths use
1304              slash  ('/') as directory separator.  The pattern can start with
1305              a '!', which negates it.  Patterns that do not  contain  slashes
1306              are  matched  against the last item of the path only (e.g. "dir"
1307              in "/path/dir").  Literal comma can be entered by  doubling  it.
1308              Two modifications to globs matching are as follows:
1309                -  *  - never matches a slash (i.e., can signify single direc‐
1310              tory level)
1311                - ** - matches any character (i.e., can match  path  of  arbi‐
1312              trary depth)
1313
1314              {cmd} is a :command or several of them separated with '|'.
1315
1316              Examples of patterns:
1317                - conf.d      - matches conf.d directory anywhere
1318                - *.d         - matches directories ending with ".d" anywhere
1319                - **.git      - matches something.git, but not .git anywhere
1320                - **/.git/**  - matches /path/.git/objects, but not /path/.git
1321                -  **/.git/**/ - matches /path/.git/ only (because of trailing
1322              slash)
1323                -  /etc/*       -  matches  /etc/conf.d/,  /etc/X11,  but  not
1324              /etc/X11/fs
1325                - /etc/**/*.d - matches /etc/conf.d, /etc/X11/conf.d, etc.
1326                - /etc/**/*   - matches /etc/ itself and any file below it
1327                - /etc/**/**  - matches /etc/ itself and any file below it
1328
1329       :au[tocmd] [{event}] [{pat}]
1330              list  those autocommands that match given event-pattern combina‐
1331              tion.
1332              {event} and {pat} can be omitted to list all  autocommands.   To
1333              list  any autocommands for specific pattern one can use * place‐
1334              holder in place of {event}.
1335
1336       :au[tocmd]! [{event}] [{pat}]
1337              remove autocommands that match given event-pattern  combination.
1338              Syntax is the same as for listing above.
1339
1340       :apropos
1341              repeat last :apropos command.
1342
1343                                                :bmark
1344
1345       :bmark tag1 [tag2 [tag3...]]
1346              bookmark current directory with specified tags.
1347
1348       :bmark! path tag1 [tag2 [tag3...]]
1349              same  as :bmark, but allows bookmarking specific path instead of
1350              current directory.  This is for use in vifmrc and for  bookmark‐
1351              ing files.
1352
1353              Path  can contain macros that expand to single path (%c, %C, %d,
1354              %D) or those that can expand to multiple paths, but contain only
1355              one  (%f, %F, %rx).  The latter is done for convenience on using
1356              the command interactively.  Complex macros that  include  spaces
1357              (e.g. "%c:gs/ /_") should be escaped.
1358
1359                                                :bmarks
1360
1361       :bmarks
1362              display all bookmarks in a menu.
1363
1364       :bmarks [tag1 [tag2...]]
1365              display  menu  of  bookmarks  that  include all of the specified
1366              tags.  See "Menus and dialogs" section for controls.
1367
1368                                                :bmgo
1369
1370       :bmgo [tag1 [tag2...]]
1371              when there are more than one match acts  exactly  like  :bmarks,
1372              otherwise  navigates  to  single match immediately (and fails if
1373              there is no match).
1374
1375                                                :cabbrev
1376
1377       :ca[bbrev]
1378              display menu of command-line mode abbreviations.  See "Menus and
1379              dialogs" section for controls.
1380
1381       :ca[bbrev] lhs-prefix
1382              display  command-line  mode  abbreviations  which left-hand side
1383              starts with specified prefix.
1384
1385       :ca[bbrev] lhs rhs
1386              register new or overwrites existing  abbreviation  for  command-
1387              line mode.  rhs can contain spaces and any special sequences ac‐
1388              cepted in rhs of mappings (see "Mappings" section  below).   Ab‐
1389              breviations are expanded non-recursively.
1390
1391                                                :cnoreabbrev
1392
1393       :cnorea[bbrev]
1394              display menu of command-line mode abbreviations.  See "Menus and
1395              dialogs" section for controls.
1396
1397       :cnorea[bbrev] lhs-prefix
1398              display command-line mode  abbreviations  which  left-hand  side
1399              starts with specified prefix.
1400
1401       :cnorea[bbrev] lhs rhs
1402              same  as :cabbrev, but mappings in rhs are ignored during expan‐
1403              sion.
1404
1405                                                :cd
1406
1407       :cd or :cd ~ or :cd $HOME
1408              change to home directory.
1409
1410       :cd -  go to the last visited directory.
1411
1412       :cd ~/dir
1413              change directory to ~/dir.
1414
1415       :cd /curr/dir /other/dir
1416              change directory of the current pane to /curr/dir and  directory
1417              of  the other pane to /other/dir.  Relative paths are assumed to
1418              be relative to directory of current view.  Command won't fail if
1419              one  of directories is invalid.  All forms of the command accept
1420              macros.
1421
1422       :cd! /dir
1423              same as :cd /dir /dir.
1424
1425                                                :cds
1426
1427       :cds[!] pattern string
1428              navigate to path obtained by substituting first match in current
1429              path.   Arguments  can include slashes, but starting first argu‐
1430              ment with a separator will activate below form of  the  command.
1431              Specifying "!"  changes directory of both panes.
1432
1433       Available flags:
1434
1435         - i  -  ignore case (the 'ignorecase' and 'smartcase' options are not
1436           used)
1437
1438         - I - don't ignore case (the 'ignorecase' and 'smartcase' options are
1439           not used)
1440
1441       :cds[!]/pattern/string/[flags]
1442              same as above, but with :substitute-like syntax.  Other punctua‐
1443              tion characters can be used as separators.
1444
1445                                                :change
1446
1447       :c[hange]
1448              show a dialog to alter properties of files.
1449
1450                                                :chmod
1451
1452       :[range]chmod
1453              display file attributes (permission on *nix  and  properties  on
1454              Windows) change dialog.
1455
1456       :[range]chmod[!] arg...
1457              only for *nix
1458              change permissions for files.  See `man 1 chmod` for arg format.
1459              "!" means set permissions recursively.
1460
1461                                                :chown
1462
1463       :[range]chown
1464              only for *nix
1465              same as co key in normal mode.
1466
1467       :[range]chown [user][:][group]
1468              only for *nix
1469              change owner and/or group of files.  Operates on directories re‐
1470              cursively.
1471
1472                                                :clone
1473
1474       :[range]clone[!?]
1475              clones  files  in current directory.  With "?" vifm will open vi
1476              to edit file names.  "!" forces overwrite.  Macros are expanded.
1477
1478       :[range]clone[!] path
1479              clones files to directory specified with the path  (absolute  or
1480              relative  to  current directory).  "!" forces overwrite.  Macros
1481              are expanded.
1482
1483       :[range]clone[!] name1 name2...
1484              clones files in current directory giving each next clone a  cor‐
1485              responding  name  from the argument list.  "!" forces overwrite.
1486              Macros are expanded.
1487
1488                                                :colorscheme
1489
1490       :colo[rscheme]?
1491              print current color scheme name on the status bar.
1492
1493       :colo[rscheme]
1494              display a menu with a list of available color schemes.  You  can
1495              choose primary color scheme here.  It is used for view if no di‐
1496              rectory specific colorscheme fits current path.  It's also  used
1497              to set border color (except view titles) and colors in menus and
1498              dialogs.  See "Menus and dialogs" section for controls.
1499
1500       :colo[rscheme] color_scheme_name
1501              change primary color scheme to color_scheme_name.   In  case  of
1502              errors  (e.g.  some colors are not supported by terminal) either
1503              nothing is changed or color scheme is reset to builtin colors to
1504              ensure that TUI is left in a usable state.
1505
1506       :colo[rscheme] color_scheme_name directory
1507              associate  directory with the color scheme.  The directory argu‐
1508              ment can be either absolute or relative path  when  :colorscheme
1509              command  is  executed from command line, but mandatory should be
1510              an absolute path when the command is executed in scripts  loaded
1511              at startup (until vifm is completely loaded).
1512
1513       :colo[rscheme] color_scheme_name color_scheme_name...
1514              loads  the first color scheme in the order given that exists and
1515              is supported by the terminal.  If none matches, current one  re‐
1516              mains unchanged.  For example:
1517
1518                " use a separate color scheme for panes which are inside FUSE mounts
1519                execute 'colorscheme in-fuse' &fusehome
1520
1521                                                :comclear
1522
1523       :comc[lear]
1524              remove all user defined commands.
1525
1526                                                :command
1527
1528       :com[mand]
1529              display  a  menu of user commands.  See "Menus and dialogs" sec‐
1530              tion for controls.
1531
1532       :com[mand] prefix
1533              display user defined commands that start with the prefix.
1534
1535       :com[mand] name action[ &]
1536              set or redefine a user command.
1537              Use :com[mand]! to overwrite a previously  set  command  of  the
1538              same name.  Builtin commands can't be redefined.
1539              User  commands  must  start  with an upper or lower case letter.
1540              Command name can't contain special symbols except for  a  single
1541              trailing  '?'  or  '!'.   Numbers are allowed provided that they
1542              don't cause parsing ambiguity (no command name prefix that  pre‐
1543              cedes  a  digit  can  match  an existing command unless it has a
1544              digit in the same place), for example:
1545                " good
1546                :command mp3 command
1547                " good
1548                :command mp4 command
1549                :command mp3! command
1550                :command mp4? command
1551                " bad
1552                :command mp command
1553                :command mp44 command
1554                " good
1555                :command mp4c command
1556
1557              User commands are run in a shell by default (see below for  syn‐
1558              tax  of  other options).  To run a command in the background you
1559              must mark it as a background command by adding "  &"  after  the
1560              command's action (e.g., `:com rm rm %f &`).
1561              User  commands  of  all kinds have macros expanded in them.  See
1562              "Command macros" section for more information.
1563
1564       :com[mand] name /pattern
1565              set search pattern.
1566
1567       :com[mand] name =pattern
1568              set local filter value.
1569
1570       :com[mand] name filter{:filter args}
1571              set file name filter (see :filter command description).  For ex‐
1572              ample:
1573
1574                " display only audio files
1575                :command onlyaudio filter/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i
1576                " display everything except audio files
1577                :command noaudio filter!/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i
1578
1579       :com[mand] name :commands
1580              set  kind  of  an alias for internal commands (like in a shell).
1581              Passes range given to alias to an aliased  command,  so  running
1582              :%cp after
1583                :command cp :copy %a
1584              equals
1585                :%copy
1586
1587                                                :compare
1588
1589       :compare  [byname  |  bysize  |  bycontents  |  listall  | listunique |
1590       listdups | ofboth | ofone | groupids | grouppaths | skipempty]...
1591              compare files in one or two views according  to  the  arguments.
1592              The  default  is  "bycontents  listall  ofboth grouppaths".  See
1593              "Compare views" section below for details.   Diff  structure  is
1594              incompatible  with  alternative  representations,  so  values of
1595              'lsview' and 'millerview' options are ignored.
1596
1597                                                :copen
1598
1599       :cope[n]
1600              opens menu with contents of the last displayed menu with naviga‐
1601              tion to files by default, if any.
1602
1603                                                :copy
1604
1605       :[range]co[py][!?][ &]
1606              copy  files  to  directory  of other view.  With "?" prompts for
1607              destination file names in an editor.  "!" forces overwrite.
1608
1609       :[range]co[py][!] path[ &]
1610              copy files to directory specified with  the  path  (absolute  or
1611              relative to directory of other view).  "!" forces overwrite.
1612
1613       :[range]co[py][!] name1 name2...[ &]
1614              copy  files  to  directory of other view giving each next file a
1615              corresponding name from the argument  list.   "!"  forces  over‐
1616              write.
1617
1618                                                :cquit
1619
1620       :cq[uit][!]
1621              same   as   :quit,   but  also  aborts  directory  choosing  via
1622              --choose-dir (empties output file)  and  returns  non-zero  exit
1623              code.
1624
1625                                                :cunabbrev
1626
1627       :cuna[bbrev] lhs
1628              unregister command-line mode abbreviation by its lhs.
1629
1630       :cuna[bbrev] rhs
1631              unregister  command-line  mode  abbreviation by its rhs, so that
1632              abbreviation could be removed even after expansion.
1633
1634                                                :delbmarks
1635
1636       :delbmarks
1637              remove bookmarks from current directory.
1638
1639       :delbmarks tag1 [tag2 [tag3...]]
1640              remove set of bookmarks that include all of the specified tags.
1641
1642       :delbmarks!
1643              remove all bookmarks.
1644
1645       :delbmarks! path1 [path2 [path3...]]
1646              remove bookmarks of listed paths.
1647
1648                                                :delcommand
1649
1650       :delc[ommand] user_command
1651              remove user defined command named user_command.
1652
1653                                                :delete
1654
1655       :[range]d[elete][!][ &]
1656              delete selected file  or  files.   "!"  means  complete  removal
1657              (omitting trash).
1658
1659       :[range]d[elete][!] [reg] [count][ &]
1660              delete selected or [count] files to the reg register.  "!" means
1661              complete removal (omitting trash).
1662
1663                                                :delmarks
1664
1665       :delm[arks]!
1666              delete all marks.
1667
1668       :delm[arks] marks ...
1669              delete specified marks, each argument is treated  as  a  set  of
1670              marks.
1671
1672                                                :delsession
1673
1674       :delsession
1675              delete  specified session if it was stored previously.  Deleting
1676              current session doesn't detach it.
1677
1678                                                :display
1679
1680       :di[splay]
1681              display menu with registers content.
1682
1683       :di[splay] list ...
1684              display the contents of the numbered and  named  registers  that
1685              are  mentioned in list (for example "az to display "", "a and "z
1686              content).
1687
1688                                                :dirs
1689
1690       :dirs  display directory stack in a menu.  See "Menus and dialogs" sec‐
1691              tion for controls.
1692
1693                                                :echo
1694
1695       :ec[ho] [<expr>...]
1696              evaluate  each  argument  as an expression and output them sepa‐
1697              rated with a space.  See help on :let command for  a  definition
1698              of <expr>.
1699
1700                                                :edit
1701
1702       :[range]e[dit] [file...]
1703              open  selected or passed file(s) in editor.  Macros and environ‐
1704              ment variables are expanded.
1705
1706                                                :else
1707
1708       :el[se]
1709              execute commands until next matching :endif if all other  condi‐
1710              tions didn't match.  See also help on :if and :endif commands.
1711
1712                                                :elseif
1713
1714       :elsei[f] {expr1}
1715              execute commands until next matching :elseif, :else or :endif if
1716              conditions of previous :if and :elseif branches  were  evaluated
1717              to zero.  See also help on :if and :endif commands.
1718
1719                                                :empty
1720
1721       :empty permanently  remove  files from all existing non-empty trash di‐
1722              rectories (see "Trash directory" section below).  Trash directo‐
1723              ries  which are specified via %r and/or %u also get deleted com‐
1724              pletely.  Also remove all operations from undolist that have  no
1725              sense  after  :empty  and remove all records about files located
1726              inside directories from all registers.  Removal is performed  as
1727              background  task  with  undetermined  amount  of work and can be
1728              checked via :jobs menu.
1729
1730                                                :endif
1731
1732       :en[dif]
1733              end conditional block.  See also help on :if and :else commands.
1734
1735                                                :execute
1736
1737       :exe[cute] [<expr>...]
1738              evaluate each argument as an expression and join  results  sepa‐
1739              rated  by  a space to get a single string which is then executed
1740              as a command-line command.  See help on :let command for a defi‐
1741              nition of <expr>.
1742
1743                                                :exit
1744
1745       :exi[t][!]
1746              same as :quit.
1747
1748                                                :file
1749
1750       :f[ile][ &]
1751              display  menu  of  programs set for the file type of the current
1752              file.  " &" forces running  associated  program  in  background.
1753              See "Menus and dialogs" section for controls.
1754
1755       :f[ile] arg[ &]
1756              run associated command that begins with the arg skipping opening
1757              menu.  " &" forces running associated program in background.
1758
1759                                                :filetype
1760
1761       :filet[ype] pattern-list [{descr}]def_prog[ &],[{descr}]prog2[ &],...
1762              associate given program list to each of the  patterns.   Associ‐
1763              ated  program  (command) is used by handlers of l and Enter keys
1764              (and also in the :file menu).  If you need to insert comma  into
1765              command  just  double it (",,").  Space followed by an ampersand
1766              as two last characters of a command means running of the command
1767              in  the  background.   Optional description can be given to each
1768              command to ease understanding of what command  will  do  in  the
1769              :file menu.  Vifm will try the rest of the programs for an asso‐
1770              ciation when  the  default  isn't  found.   When  program  entry
1771              doesn't  contain any of vifm macros, name of current file is ap‐
1772              pended as if program entry ended with %c macro on *nix  and  %"c
1773              on  Windows.   On  Windows path to executables containing spaces
1774              can (and should be for correct work with such paths)  be  double
1775              quoted.  See "Patterns" section below for pattern definition and
1776              "Selection" section for how selection is handled.  See also "Au‐
1777              tomatic  FUSE  mounts"  section below.  Example for zip archives
1778              and several actions:
1779
1780                filetype *.zip,*.jar,*.war,*.ear
1781                       \ {Mount with fuse-zip}
1782                       \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR,
1783                       \ {View contents}
1784                       \ zip -sf %c | less,
1785                       \ {Extract here}
1786                       \ tar -xf %c,
1787
1788              Note that on OS X when `open` is used to call an  app,  vifm  is
1789              unable  to  check whether that app is actually available.  So if
1790              automatic skipping of programs that aren't there  is  desirable,
1791              `open` should be replaced with an actual command.
1792
1793       :filet[ype] filename
1794              list  (in  menu  mode)  currently registered patterns that match
1795              specified file name.  Same as ":filextype filename".
1796
1797                                                :filextype
1798
1799       :filex[type] pattern-list [{ description }] def_program,program2,...
1800              same as :filetype, but this command is ignored if not running in
1801              X.   In X :filextype is equal to :filetype.  See "Patterns" sec‐
1802              tion below for pattern definition and  "Selection"  section  for
1803              how selection is handled.  See also "Automatic FUSE mounts" sec‐
1804              tion below.
1805
1806              For example, consider the following settings  (the  order  might
1807              seem strange, but it's for the demonstration purpose):
1808
1809                filetype *.html,*.htm
1810                        \ {View in lynx}
1811                        \ lynx
1812                filextype *.html,*.htm
1813                        \ {Open with dwb}
1814                        \ dwb %f %i &,
1815                filetype *.html,*.htm
1816                        \ {View in links}
1817                        \ links
1818                filextype *.html,*.htm
1819                        \ {Open with firefox}
1820                        \ firefox %f &,
1821                        \ {Open with uzbl}
1822                        \ uzbl-browser %f %i &,
1823
1824              If  you're using vifm inside a terminal emulator that is running
1825              in graphical environment (when X is used on *nix; always on Win‐
1826              dows), vifm attempts to run application in this order:
1827
1828              1. lynx
1829              2. dwb
1830              3. links
1831              4. firefox
1832              5. uzbl
1833
1834              If  there  is  no  graphical environment (checked by presence of
1835              non-empty $DISPLAY or $WAYLAND_DISPLAY environment  variable  on
1836              *nix; never happens on Windows), the list will look like:
1837
1838              1. lynx
1839              2. links
1840
1841              Just as if all :filextype commands were not there.
1842
1843              The  purpose of such differentiation is to allow comfortable use
1844              of vifm with same settings in desktop environment/through remote
1845              connection (SSH)/in native console.
1846
1847              Note  that  on OS X $DISPLAY isn't defined unless you define it,
1848              so :filextype should be used only if you set  $DISPLAY  in  some
1849              way.
1850
1851       :filext[ype] filename
1852              list  (in  menu  mode)  currently registered patterns that match
1853              specified file name.  Same as ":filetype filename".
1854
1855                                                :fileviewer
1856
1857       :filev[iewer] pattern-list command1,command2,...
1858              register specified list of commands as viewers for each  of  the
1859              patterns.  Viewer is a command which output is captured and dis‐
1860              played in one of the panes of vifm after pressing "e" or running
1861              :view  command.   When  the  command doesn't contain any of vifm
1862              macros, name of current file is appended  as  if  command  ended
1863              with  %c  macro.  Comma escaping and missing commands processing
1864              rules as for :filetype apply to this  command.   See  "Patterns"
1865              section below for pattern definition.  Supports Lua handlers.
1866
1867              Example for zip archives:
1868
1869                fileviewer *.zip,*.jar,*.war,*.ear zip -sf %c, echo "No zip to preview:"
1870
1871       :filev[iewer] filename
1872              list  (in  menu  mode)  currently registered patterns that match
1873              specified filename.
1874
1875                                                :filter
1876
1877       :filter[!] {pattern}
1878              filter files matching the pattern  out  of  directory  listings.
1879              '!'  controls  state  of  filter inversion after updating filter
1880              value (see also 'cpoptions'  description).   Filter  is  matched
1881              case sensitively on *nix and case insensitively on Windows.  See
1882              "File Filters" and "Patterns" sections.
1883
1884              Example:
1885
1886                " filter all files ending in .o from the filelist.
1887                :filter /.o$/
1888
1889
1890       :filter[!] {empty-pattern}
1891              same as above, but use last search pattern as pattern value.
1892
1893              Example:
1894
1895                :filter //I
1896
1897
1898       :filter
1899              reset filter (set it to an empty string) and show all files.
1900
1901       :filter!
1902              same as :invert.
1903
1904       :filter?
1905              show information on local, name and auto filters.
1906
1907                                                :find
1908
1909       :[range]fin[d] pattern
1910              display results of find command in the menu.  Searches among se‐
1911              lected  files  if  any.  Accepts macros.  By default the command
1912              relies on the external "find" utility, which can  be  customized
1913              by altering value of the 'findprg' option.
1914
1915       :[range]fin[d] -opt...
1916              same  as  :find  above,  but  user  defines  all find arguments.
1917              Searches among selected files if any.
1918
1919       :[range]fin[d] path -opt...
1920              same as :find above, but user defines all find  arguments.   Ig‐
1921              nores selection and range.
1922
1923       :[range]fin[d]
1924              repeat last :find command.
1925
1926                                                :finish
1927
1928       :fini[sh]
1929              stop  sourcing a script. Can only be used in a vifm script file.
1930              This is a quick way to skip the rest of the file.
1931
1932                                                :goto
1933
1934       :go[to]
1935              change directory if necessary and put specified path  under  the
1936              cursor.   The path should be existing non-root path.  Macros and
1937              environment variables are expanded.
1938
1939                                                :grep
1940
1941       :[range]gr[ep][!] pattern
1942              will show results of grep command in the menu.  Add "!"  to  re‐
1943              quest inversion of search (look for lines that do not match pat‐
1944              tern).  Searches among selected files if any and no range given.
1945              Ignores  binary files by default.  By default the command relies
1946              on the external "grep" utility, which can be customized  by  al‐
1947              tering value of the 'grepprg' option.
1948
1949       :[range]gr[ep][!] -opt...
1950              same  as :grep above, but user defines all grep arguments, which
1951              are not escaped.  Searches among selected files if any.
1952
1953       :[range]gr[ep][!]
1954              repeat last :grep command.  "!" of this command inverts  "!"  in
1955              repeated command.
1956
1957                                                :help
1958
1959       :h[elp]
1960              show the help file.
1961
1962       :h[elp] argument
1963              is the same as using ':h argument' in vim.  Use vifm-<something>
1964              to get help on vifm (tab completion works).  This  form  of  the
1965              command doesn't work when 'vimhelp' option is off.
1966
1967                                                :hideui
1968
1969       :hideui
1970              hide interface to show previous commands' output.
1971
1972                                                :highlight
1973
1974       :hi[ghlight]
1975              display information about all highlight groups active at the mo‐
1976              ment.
1977
1978       :hi[ghlight] clear
1979              reset all highlighting to builtin defaults and removed all file‐
1980              name-specific rules.
1981
1982       :hi[ghlight] clear ( {pat1,pat2,...} | /regexp/ )
1983              remove specified rule.
1984
1985       :hi[ghlight] ( group-name | {pat1,pat2,...} | /regexp/ )
1986              display  information  on given highlight group or file name pat‐
1987              tern of color scheme used in the active view.
1988
1989       :hi[ghlight]  (  group-name  |   {pat1,pat2,...}   |   /regexp/[iI]   )
1990       cterm=style | ctermfg=color | ctermbg=color | gui=style | guifg=color |
1991       guibg=color
1992              set style (cterm, gui), foreground (ctermfg, guifg) and/or back‐
1993              ground  (ctermbg,  guibg)  parameters of highlight group or file
1994              name pattern for color scheme used in the active view.
1995
1996       All style values as well as color names are case insensitive.
1997
1998       Available style values (some of them can be combined):
1999        - bold
2000        - underline
2001        - reverse or inverse
2002        - standout
2003        - italic (on unsupported systems becomes reverse)
2004        - combine - add attributes of current group to attributes of the  par‐
2005       ent in group hierarchy (see below) instead of replacing them
2006        - none
2007
2008       Available group-name values:
2009        - Win - color of all windows (views, dialogs, menus) and default color
2010       for their content (e.g. regular files in views)
2011        - AuxWin - color of auxiliary areas of windows
2012        - OtherWin - color of inactive pane
2013        - Border - color of vertical parts of the border
2014        - TabLine - tab line color (for 'tabscope' set to "global")
2015        - TabLineSel - color of the tip of selected tab (regardless  of  'tab‐
2016       scope')
2017        - TopLine - top line color of the other pane
2018        - TopLineSel - top line color of the current pane
2019        - CmdLine - the command line/status bar color
2020        - ErrorMsg - color of error messages in the status bar
2021        - StatusLine - color of the line above the status bar
2022        - JobLine - color of job line that appears above the status line
2023        - WildMenu - color of the wild menu items
2024        - SuggestBox - color of key suggestion box
2025        - CurrLine - line at cursor position in active view
2026        - OtherLine - line at cursor position in inactive view
2027        - OddLine - color of every second entry line in a pane
2028        - LineNr - line number column of views
2029        - Selected - color of selected files
2030        - Directory - color of directories
2031        - Link - color of symbolic links in the views
2032        - BrokenLink - color of broken symbolic links
2033        - HardLink - color of regular files with more than one hard link
2034        - Socket - color of sockets
2035        - Device - color of block and character devices
2036        - Executable - color of executable files
2037        - Fifo - color of fifo pipes
2038        -  CmpMismatch  - color of mismatched files in side-by-side comparison
2039       by path
2040        - User1..User9 - 9 colors which can be used via %* 'statusline' macro
2041
2042       Available colors:
2043        - -1 or default or none - default or transparent
2044        - black   and lightblack
2045        - red     and lightred
2046        - green   and lightgreen
2047        - yellow  and lightyellow
2048        - blue    and lightblue
2049        - magenta and lightmagenta
2050        - cyan    and lightcyan
2051        - white   and lightwhite
2052        - 0-255 - corresponding colors from 256-color palette (for ctermfg and
2053       ctermbg)
2054        - #rrggbb - direct ("gui", "true", 24-bit) color in hex-notation, each
2055       of the three compontents are in the range 0x00 to 0xff (for  guifg  and
2056       guibg)
2057
2058       Light versions of colors are regular colors with bold attribute set au‐
2059       tomatically in terminals that have less than 16 colors.   So  order  of
2060       arguments  of  :highlight  command  is important and it's better to put
2061       "cterm" in front of others to prevent it  from  overwriting  attributes
2062       set by "ctermfg" or "ctermbg" arguments.
2063
2064       For  convenience of color scheme authors xterm-like names for 256 color
2065       palette   is   also   supported.    The   mapping   is    taken    from
2066       http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim
2067       Duplicated entries were altered by adding an underscore followed by nu‐
2068       merical suffix.
2069
2070         0 Black                  86 Aquamarine1           172 Orange3
2071         1 Red                    87 DarkSlateGray2        173 LightSalmon3_2
2072         2 Green                  88 DarkRed_2             174 LightPink3
2073         3 Yellow                 89 DeepPink4_2           175 Pink3
2074         4 Blue                   90 DarkMagenta           176 Plum3
2075         5 Magenta                91 DarkMagenta_2         177 Violet
2076         6 Cyan                   92 DarkViolet            178 Gold3_2
2077         7 White                  93 Purple                179 LightGoldenrod3
2078         8 LightBlack             94 Orange4_2             180 Tan
2079         9 LightRed               95 LightPink4            181 MistyRose3
2080        10 LightGreen             96 Plum4                 182 Thistle3
2081        11 LightYellow            97 MediumPurple3         183 Plum2
2082        12 LightBlue              98 MediumPurple3_2       184 Yellow3_2
2083        13 LightMagenta           99 SlateBlue1            185 Khaki3
2084        14 LightCyan             100 Yellow4               186 LightGoldenrod2
2085        15 LightWhite            101 Wheat4                187 LightYellow3
2086        16 Grey0                 102 Grey53                188 Grey84
2087        17 NavyBlue              103 LightSlateGrey        189 LightSteelBlue1
2088        18 DarkBlue              104 MediumPurple          190 Yellow2
2089        19 Blue3                 105 LightSlateBlue        191 DarkOliveGreen1
2090        20 Blue3_2                106  Yellow4_2              192  DarkOliveG‐
2091       reen1_2
2092        21 Blue1                 107 DarkOliveGreen3       193 DarkSeaGreen1_2
2093        22 DarkGreen             108 DarkSeaGreen          194 Honeydew2
2094        23 DeepSkyBlue4          109 LightSkyBlue3         195 LightCyan1
2095        24 DeepSkyBlue4_2        110 LightSkyBlue3_2       196 Red1
2096        25 DeepSkyBlue4_3        111 SkyBlue2              197 DeepPink2
2097        26 DodgerBlue3           112 Chartreuse2_2         198 DeepPink1
2098        27 DodgerBlue2           113 DarkOliveGreen3_2     199 DeepPink1_2
2099        28 Green4                114 PaleGreen3_2          200 Magenta2_2
2100        29 SpringGreen4          115 DarkSeaGreen3         201 Magenta1
2101        30 Turquoise4            116 DarkSlateGray3        202 OrangeRed1
2102        31 DeepSkyBlue3          117 SkyBlue1              203 IndianRed1
2103        32 DeepSkyBlue3_2        118 Chartreuse1           204 IndianRed1_2
2104        33 DodgerBlue1           119 LightGreen_2          205 HotPink
2105        34 Green3                120 LightGreen_3          206 HotPink_2
2106        35 SpringGreen3          121 PaleGreen1            207 MediumOrchid1_2
2107        36 DarkCyan              122 Aquamarine1_2         208 DarkOrange
2108        37 LightSeaGreen         123 DarkSlateGray1        209 Salmon1
2109        38 DeepSkyBlue2          124 Red3                  210 LightCoral
2110        39 DeepSkyBlue1          125 DeepPink4_3           211 PaleVioletRed1
2111        40 Green3_2              126 MediumVioletRed       212 Orchid2
2112        41 SpringGreen3_2        127 Magenta3              213 Orchid1
2113        42 SpringGreen2          128 DarkViolet_2          214 Orange1
2114        43 Cyan3                 129 Purple_2              215 SandyBrown
2115        44 DarkTurquoise         130 DarkOrange3           216 LightSalmon1
2116        45 Turquoise2            131 IndianRed             217 LightPink1
2117        46 Green1                132 HotPink3              218 Pink1
2118        47 SpringGreen2_2        133 MediumOrchid3         219 Plum1
2119        48 SpringGreen1          134 MediumOrchid          220 Gold1
2120        49  MediumSpringGreen      135  MediumPurple2         221 LightGolden‐
2121       rod2_2
2122        50 Cyan2                 136  DarkGoldenrod          222  LightGolden‐
2123       rod2_3
2124        51 Cyan1                 137 LightSalmon3          223 NavajoWhite1
2125        52 DarkRed               138 RosyBrown             224 MistyRose1
2126        53 DeepPink4             139 Grey63                225 Thistle1
2127        54 Purple4               140 MediumPurple2_2       226 Yellow1
2128        55 Purple4_2             141 MediumPurple1         227 LightGoldenrod1
2129        56 Purple3               142 Gold3                 228 Khaki1
2130        57 BlueViolet            143 DarkKhaki             229 Wheat1
2131        58 Orange4               144 NavajoWhite3          230 Cornsilk1
2132        59 Grey37                145 Grey69                231 Grey100
2133        60 MediumPurple4         146 LightSteelBlue3       232 Grey3
2134        61 SlateBlue3            147 LightSteelBlue        233 Grey7
2135        62 SlateBlue3_2          148 Yellow3               234 Grey11
2136        63 RoyalBlue1            149 DarkOliveGreen3_3     235 Grey15
2137        64 Chartreuse4           150 DarkSeaGreen3_2       236 Grey19
2138        65 DarkSeaGreen4         151 DarkSeaGreen2         237 Grey23
2139        66 PaleTurquoise4        152 LightCyan3            238 Grey27
2140        67 SteelBlue             153 LightSkyBlue1         239 Grey30
2141        68 SteelBlue3            154 GreenYellow           240 Grey35
2142        69 CornflowerBlue        155 DarkOliveGreen2       241 Grey39
2143        70 Chartreuse3           156 PaleGreen1_2          242 Grey42
2144        71 DarkSeaGreen4_2       157 DarkSeaGreen2_2       243 Grey46
2145        72 CadetBlue             158 DarkSeaGreen1         244 Grey50
2146        73 CadetBlue_2           159 PaleTurquoise1        245 Grey54
2147        74 SkyBlue3              160 Red3_2                246 Grey58
2148        75 SteelBlue1            161 DeepPink3             247 Grey62
2149        76 Chartreuse3_2         162 DeepPink3_2           248 Grey66
2150        77 PaleGreen3            163 Magenta3_2            249 Grey70
2151        78 SeaGreen3             164 Magenta3_3            250 Grey74
2152        79 Aquamarine3           165 Magenta2              251 Grey78
2153        80 MediumTurquoise       166 DarkOrange3_2         252 Grey82
2154        81 SteelBlue1_2          167 IndianRed_2           253 Grey85
2155        82 Chartreuse2           168 HotPink3_2            254 Grey89
2156        83 SeaGreen2             169 HotPink2              255 Grey93
2157        84 SeaGreen1             170 Orchid
2158        85 SeaGreen1_2           171 MediumOrchid1
2159
2160       There  are two colors (foreground and background) and only one bold at‐
2161       tribute.  Thus single bold attribute affects both colors when "reverse"
2162       attribute  is  used  in vifm run inside terminal emulator.  At the same
2163       time linux native console can handle boldness of foreground  and  back‐
2164       ground  colors  independently, but for consistency with terminal emula‐
2165       tors this is available only implicitly by using light versions of  col‐
2166       ors.  This behaviour might be changed in the future.
2167
2168       Although  vifm  supports 256 colors in a sense they are supported by UI
2169       drawing library, whether you will be able to use all of them highly de‐
2170       pends  on  your  terminal.  To set up terminal properly, make sure that
2171       $TERM in the environment you run vifm is set to name of 256-color  ter‐
2172       minal   (on   *nixes  it  can  also  be  set  via  X  resources),  e.g.
2173       xterm-256color.  One can find list of available terminal names by list‐
2174       ing  /usr/lib/terminfo/.   Number  of colors supported by terminal with
2175       current settings can be checked via "tput colors" command.
2176
2177       In order to use 24-bit colors one needs a terminal that supports  them,
2178       corresponding  terminfo  record  (probably  ends  in  "-direct" like in
2179       "xterm-direct") and $TERM pointing to it.   When  vifm  detects  direct
2180       color  support  "cterm*"  values  are  ignored for groups which have at
2181       least one of "gui*" values set, otherwise they are used after translat‐
2182       ing via a builtin palette.
2183
2184       Here  is  the hierarchy of highlight groups, which you need to know for
2185       using transparency:
2186         JobLine
2187         SuggestBox
2188         StatusLine
2189           WildMenu
2190           User1..User9
2191         Border
2192         CmdLine
2193           ErrorMsg
2194         Win
2195           OtherWin
2196             AuxWin
2197               OddLine
2198                 File name specific highlights
2199                   Directory
2200                   Link
2201                   BrokenLink
2202                   HardLink
2203                   Socket
2204                   Device
2205                   Fifo
2206                   Executable
2207                     Selected
2208                       CurrLine
2209                         LineNr (in active pane)
2210                       OtherLine
2211                         LineNr (in inactive pane)
2212         TopLine
2213           TopLineSel
2214             TabLineSel (for pane tabs)
2215               User1..User9
2216         TabLine
2217           TabLineSel
2218             User1..User9
2219
2220       "none" means default terminal color for highlight groups at  the  first
2221       level of the hierarchy and transparency for all others.
2222
2223       Here file name specific highlights mean those configured via globs ({})
2224       or regular expressions (//).  At most one of them is applied  per  file
2225       entry,  namely  the first that matches file name, hence order of :high‐
2226       light commands might be important in certain cases.
2227
2228                                                :history
2229
2230       :his[tory]
2231              display a menu with list of visited directories.  See "Menus and
2232              dialogs" section for controls.
2233
2234       :his[tory] x
2235              x can be:
2236                d[ir]     or . show directory history.
2237                c[md]     or : show command line history.
2238                s[earch]   or  /  show  search history and search forward on l
2239              key.
2240                f[search] or / show search history and  search  forward  on  l
2241              key.
2242                b[search]  or  ?  show search history and search backward on l
2243              key.
2244                i[nput]   or @ show prompt history (e.g. on  one  file  renam‐
2245              ing).
2246                fi[lter]  or = show filter history (see description of the "="
2247              normal mode command).
2248              See "Menus and dialogs" section for controls.
2249
2250                                                :histnext
2251
2252       :histnext
2253              same as <c-i>.  The main use case for this command  is  to  work
2254              around  the  common pain point of <tab> and <c-i> being the same
2255              ASCII character: one could alter the terminal emulator  settings
2256              to  emit,  for example, the `F1` keycode when Ctrl-I is pressed,
2257              then `:noremap <f1> :histnext<cr>` in vifm, add "t" flag to  the
2258              'cpoptions',  and  thus have both <c-i> and <tab> working as ex‐
2259              pected.
2260
2261                                                :histprev
2262
2263       :histprev
2264              same as <c-o>.
2265
2266                                                :if
2267
2268       :if {expr1}
2269              start conditional  block.   Commands  are  executed  until  next
2270              matching  :elseif,  :else or :endif command if {expr1} evaluates
2271              to non-zero, otherwise they are ignored.  See also help on :else
2272              and :endif commands.
2273
2274              Example:
2275
2276                if $TERM == 'screen.linux'
2277                    highlight CurrLine ctermfg=lightwhite ctermbg=lightblack
2278                elseif $TERM == 'tmux'
2279                    highlight CurrLine cterm=reverse ctermfg=black ctermbg=white
2280                else
2281                    highlight CurrLine cterm=bold,reverse ctermfg=black ctermbg=white
2282                endif
2283
2284                                                :invert
2285
2286       :invert [f]
2287              invert file name filter.
2288
2289       :invert? [f]
2290              show current filter state.
2291
2292       :invert s
2293              invert selection.
2294
2295       :invert o
2296              invert sorting order of the primary sorting key.
2297
2298       :invert? o
2299              show sorting order of the primary sorting key.
2300
2301                                                :jobs
2302
2303       :jobs  display  menu of current backgrounded processes.  See "Menus and
2304              dialogs" section for controls.
2305
2306                                                :let
2307
2308       :let $ENV_VAR = <expr>
2309              set an environment variable.  Warning: setting environment vari‐
2310              able to an empty string on Windows removes it.
2311
2312       :let $ENV_VAR .= <expr>
2313              append value to environment variable.
2314
2315       :let &[l:|g:]opt = <expr>
2316              sets option value.
2317
2318       :let &[l:|g:]opt .= <expr>
2319              append value to string option.
2320
2321       :let &[l:|g:]opt += <expr>
2322              increasing option value, adding sub-values.
2323
2324       :let &[l:|g:]opt -= <expr>
2325              decreasing option value, removing sub-values.
2326
2327       Where  <expr> could be a single-quoted string, double-quoted string, an
2328       environment variable, function call or a concatanation of any  of  them
2329       in any order using the '.' operator.  Any whitespace is ignored.
2330
2331                                                :locate
2332
2333       :locate filename
2334              use "locate" command to create a menu of filenames.  Selecting a
2335              file from the menu will reload the current file list in vifm  to
2336              show  the  selected  file.  By default the command relies on the
2337              external "locate" utility (it's assumed that its database is al‐
2338              ready  built),  which can be customized by altering value of the
2339              'locateprg' option.  See "Menus and dialogs"  section  for  con‐
2340              trols.
2341
2342       :locate
2343              repeat last :locate command.
2344
2345                                                :ls
2346
2347       :ls    lists windows of active terminal multiplexer (only when terminal
2348              multiplexer is used).  This is achieved by issuing  proper  com‐
2349              mand  for active terminal multiplexer, thus the list is not han‐
2350              dled by vifm.
2351
2352                                                :lstrash
2353
2354       :lstrash
2355              display a menu with list of files in trash.  Each element of the
2356              list  is original path of a deleted file, thus the list can con‐
2357              tain duplicates.  See "Menus and dialogs" section for controls.
2358
2359                                                :mark
2360
2361       :[range]ma[rk][?] x [/full/path] [filename]
2362              Set mark x (a-zA-Z0-9) at /full/path and filename.   By  default
2363              current  directory  is being used.  If no filename was given and
2364              /full/path is current directory then last  file  in  [range]  is
2365              used.  Using of macros is allowed.  Question mark will stop com‐
2366              mand from overwriting existing marks.
2367
2368                                                :marks
2369
2370       :marks create a pop-up menu of marks.  See "Menus and dialogs"  section
2371              for controls.
2372
2373       :marks list ...
2374              display the contents of the marks that are mentioned in list.
2375
2376                                                :media
2377
2378       :media only for *nix
2379              display  media management menu.  See "Menus and dialogs" section
2380              for controls.  See also 'mediaprg' option.
2381
2382                                                :messages
2383
2384       :mes[sages]
2385              shows previously given messages (up to 50).
2386
2387                                                :mkdir
2388
2389       :[line]mkdir[!] dir ...
2390              create directories at specified paths.  The [line] can  be  used
2391              to  pick node in a tree-view.  "!" means make parent directories
2392              as needed.  Macros are expanded.
2393
2394                                                :move
2395
2396       :[range]m[ove][!?][ &]
2397              move files to directory of other view.   With  "?"  prompts  for
2398              destination file names in an editor.  "!" forces overwrite.
2399
2400       :[range]m[ove][!] path[ &]
2401              move  files  to  directory  specified with the path (absolute or
2402              relative to directory of other view).  "!" forces overwrite.
2403
2404       :[range]m[ove][!] name1 name2...[ &]
2405              move files to directory of other view giving each  next  file  a
2406              corresponding  name  from  the  argument list.  "!" forces over‐
2407              write.
2408
2409                                                :nohlsearch
2410
2411       :noh[lsearch]
2412              clear selection in current pane.
2413
2414                                                :normal
2415
2416       :norm[al][!] commands
2417              execute normal mode commands.  If "!" is used, user defined map‐
2418              pings  are  ignored.   Unfinished  last command is aborted as if
2419              <esc> or <c-c> was typed.  A ":" should be  completed  as  well.
2420              Commands can't start with a space, so put a count of 1 (one) be‐
2421              fore it.
2422
2423                                                :only
2424
2425       :on[ly]
2426              switch to a one window view.
2427
2428                                                :plugin
2429
2430       :plugin load
2431              loads all plugins.  To be used in configuration file to manually
2432              load  plugins  at  an  earlier point.  The plugins can be loaded
2433              only once, additional calls will do nothing.
2434
2435
2436       :plugin blacklist {plugin}
2437              adds {plugin} to the list of plugins to be ignored.
2438
2439       :plugin whitelist {plugin}
2440              adds {plugin} to the list of plugins to be loaded while ignoring
2441              all other plugins.  This list should normally be empty.
2442
2443                                                :plugins
2444
2445       :plugins
2446              open  plugins  menu.   See  "Menus and dialogs" section for con‐
2447              trols.
2448
2449                                                :popd
2450
2451       :popd  remove pane directories from stack.
2452
2453                                                :pushd
2454
2455       :pushd[!] /curr/dir [/other/dir]
2456              add pane directories to stack and  process  arguments  like  :cd
2457              command.
2458
2459       :pushd exchange the top two items of the directory stack.
2460
2461                                                :put
2462
2463       :[line]pu[t][!] [reg] [ &]
2464              put  files  from  specified register (" by default) into current
2465              directory.  The [line] can be used to pick node in a  tree-view.
2466              "!" moves files "!" moves files from their original location in‐
2467              stead of copying them.  During this  operation  no  confirmation
2468              dialogs will be shown, all checks are performed beforehand.
2469
2470                                                :pwd
2471
2472       :pw[d] show the present working directory.
2473
2474                                                :qall
2475
2476       :qa[ll][!]
2477              exit  vifm (add ! to skip saving changes and checking for active
2478              backgrounded commands).
2479
2480                                                :quit
2481
2482       :q[uit][!]
2483              if there is more than one tab, close the current one,  otherwise
2484              exit  vifm  (add  ! to skip saving state and checking for active
2485              backgrounded commands).
2486
2487                                                :redraw
2488
2489       :redr[aw]
2490              redraw the screen immediately.
2491
2492                                                :registers
2493
2494       :reg[isters]
2495              display menu with registers content.
2496
2497       :reg[isters] list ...
2498              display the contents of the numbered and  named  registers  that
2499              are  mentioned in list (for example "az to display "", "a and "z
2500              content).
2501
2502                                                :regular
2503
2504       :regular
2505
2506       switch to regular view leaving custom view.
2507                                                       :rename
2508
2509       :[range]rename[!]
2510              rename files by editing their names in an editor.   "!"  renames
2511              files  recursively  in  subdirectories.  See "External Renaming"
2512              section.
2513
2514       :[range]rename name1 name2...
2515              rename each of selected files to a corresponding name.
2516
2517                                                :restart
2518
2519       :restart
2520              free  a  lot  of  things  (histories,  commands,  etc.),  reread
2521              vifminfo,  vifmrc  and  session  files  and run startup commands
2522              passed in the argument list, thus  losing  all  unsaved  changes
2523              (e.g.  recent  history  or  keys  mapped after starting this in‐
2524              stance).  Session that wasn't yet stored gets reset.
2525
2526              While many things get reset, some basic UI state and current lo‐
2527              cations are preserved, including tabs.
2528
2529       :restart full
2530              variation  of  :restart  that  makes no attempt to preserve any‐
2531              thing.
2532
2533                                                :restore
2534
2535       :[range]restore
2536              restore file from trash directory, doesn't work outside  one  of
2537              trash directories.  See "Trash directory" section below.
2538
2539                                                :rlink
2540
2541       :[range]rlink[!?]
2542              create  relative  symbolic  links to files in directory of other
2543              view.  With "?" prompts for destination file names in an editor.
2544              "!" forces overwrite.
2545
2546       :[range]rlink[!] path
2547              create  relative  symbolic links of files in directory specified
2548              with the path (absolute or relative to directory of other view).
2549              "!" forces overwrite.
2550
2551       :[range]rlink[!] name1 name2...
2552              create  relative  symbolic  links of files in directory of other
2553              view giving each next link a corresponding name from  the  argu‐
2554              ment list.  "!" forces overwrite.
2555
2556                                                :screen
2557
2558       :screen
2559              toggle whether to use the terminal multiplexer or not.
2560              A  terminal  multiplexer uses pseudo terminals to allow multiple
2561              windows to be used in the console or in a single xterm.   Start‐
2562              ing  vifm  from  terminal  multiplexer  with appropriate support
2563              turned on will cause vifm to open  a  new  terminal  multiplexer
2564              window for each new file edited or program launched from vifm.
2565              This  requires  screen  version 3.9.9 or newer for the screen -X
2566              argument or tmux (1.8 version or newer is recommended).
2567
2568       :screen!
2569              enable integration with terminal multiplexers.
2570
2571       :screen?
2572              display whether integration with terminal  multiplexers  is  en‐
2573              abled.
2574
2575       Note:  the  command  is called screen for historical reasons (when tmux
2576       wasn't yet supported) and might be changed in future releases,  or  get
2577       an alias.
2578
2579                                                :select
2580
2581       :[range]select
2582              select  files  in  the  given range (current file if no range is
2583              given).
2584
2585       :select {pattern}
2586              select files that match specified pattern.   Possible  {pattern}
2587              forms are described in "Patterns" section below.  Trailing slash
2588              for directories is taken into account, so `:select! */ |  invert
2589              s` selects only files.
2590
2591       :select //[iI]
2592              same as item above, but reuses last search pattern.
2593
2594       :select !{external command}
2595              select  files from the list supplied by external command.  Files
2596              are matched by full paths, relative paths are converted to abso‐
2597              lute ones beforehand.
2598
2599       :[range]select! [{pattern}]
2600              same  as above, but resets previously selected items before pro‐
2601              ceeding.
2602
2603                                                :session
2604
2605       :session?
2606              print name of the current session.
2607
2608       :session
2609              detach current session without saving it.  Resets v:session.
2610
2611       :session name
2612              create or load and switch to a session with the specified  name.
2613              Name  can't  contain  slashes.   Session active at the moment is
2614              saved before the switch.  Session is  also  automatically  saved
2615              when quiting the application in usual ways.  Sets v:session.
2616
2617                                                :set
2618
2619       :se[t] display all options that differ from their default value.
2620
2621       :se[t] all
2622              display all options.
2623
2624       :se[t] opt1=val1 opt2='val2' opt3="val3" ...
2625              sets given options.  For local options both values are set.
2626              You can use following syntax:
2627               - for all options - option, option? and option&
2628               - for boolean options - nooption, invoption and option!
2629               - for integer options - option=x, option+=x and option-=x
2630               - for string options - option=x and option+=x
2631               -  for string list options - option=x, option+=x, option-=x and
2632              option^=x
2633               - for enumeration options - option=x, option+=x and option-=x
2634               - for set options -  option=x,  option+=x,  option-=x  and  op‐
2635              tion^=x
2636               -  for charset options - option=x, option+=x, option-=x and op‐
2637              tion^=x
2638
2639              the meaning:
2640               - option - turn option on (for boolean) or print its value (for
2641              all others)
2642               - nooption - turn option off
2643               - invoption - invert option state
2644               - option! - invert option state
2645               - option? - print option value
2646               - option& - reset option to its default value
2647               - option=x or option:x - set option to x
2648               - option+=x - add/append x to option
2649               - option-=x - remove (or subtract) x from option
2650               - option^=x - toggle x presence among values of the option
2651
2652              Option  name  can  be  prepended  and  appended by any number of
2653              whitespace characters.
2654
2655                                                :setglobal
2656
2657       :setg[lobal]
2658              display all global options that differ from their default value.
2659
2660       :setg[lobal] all
2661              display all global options.
2662
2663       :setg[lobal] opt1=val1 opt2='val2' opt3="val3" ...
2664              same as :set, but changes/prints only global options  or  global
2665              values  of  local  options.   Changes to the latter might be not
2666              visible until directory is changed.
2667
2668                                                :setlocal
2669
2670       :setl[ocal]
2671              display all local options that differ from their default value.
2672
2673       :setl[ocal] all
2674              display all local options.
2675
2676       :setl[ocal] opt1=val1 opt2='val2' opt3="val3" ...
2677              same as :set, but changes/prints only local values of local  op‐
2678              tions.
2679
2680                                                :shell
2681
2682       :sh[ell][!]
2683              start  a  shell  in  current directory.  "!" suppresses spawning
2684              dedicated window of terminal multiplexer for a shell.   To  make
2685              vifm  adaptive  to  environment  it uses $SHELL if it's defined,
2686              otherwise 'shell' value is used.
2687
2688
2689                                                :siblnext
2690
2691       :[count]siblnext[!]
2692
2693              change directory to [count]th next sibling directory after  cur‐
2694              rent  path  using  value  of global sort option of current pane.
2695              "!" enables wrapping.
2696
2697              For example, say, you're at /boot and root listing  starts  like
2698              this:
2699
2700                  bin/
2701                  boot/
2702                  dev/
2703                  ...
2704
2705              Issuing :siblnext will navigate to /dev.
2706
2707
2708                                                :siblprev
2709
2710       :[count]siblprev[!]
2711              same as :siblnext, but in the opposite direction.
2712
2713                                                :sort
2714
2715       :sor[t]
2716              display dialog with different sorting methods, where one can se‐
2717              lect the primary sorting key.   When  'viewcolumns'  options  is
2718              empty  and  'lsview'  is  off, changing primary sorting key will
2719              also affect view look (in particular the second  column  of  the
2720              view will be changed).  See "Menus and dialogs" section for con‐
2721              trols.
2722
2723                                                :source
2724
2725       :so[urce] file
2726              read command-line commands from the file.
2727
2728                                                :split
2729
2730       :sp[lit]
2731              switch to a two window horizontal view.
2732
2733       :sp[lit]!
2734              toggle horizontal window splitting.
2735
2736       :sp[lit] path
2737              splits the window horizontally to show  both  file  directories.
2738              Also changes other pane to path (absolute or relative to current
2739              directory of active pane).
2740
2741                                                :stop
2742
2743       :st[op]
2744              suspend vifm (same as pressing Ctrl-Z).  Does  nothing  if  this
2745              instance  isn't running in a shell.  The command exists to allow
2746              mapping to the action of Ctrl-Z.
2747
2748                                                :substitute
2749
2750       :[range]s[ubstitute]/pattern/string/[flags]
2751              for each file in range replace a match of pattern with string.
2752
2753       String can contain \0...\9 to link to capture groups (\0 -  all  match,
2754       \1 - first group, etc.).
2755
2756       Pattern is stored in search history.
2757
2758       Available flags:
2759
2760         - i  -  ignore case (the 'ignorecase' and 'smartcase' options are not
2761           used)
2762
2763         - I - don't ignore case (the 'ignorecase' and 'smartcase' options are
2764           not used)
2765
2766         - g - substitute all matches in each file name (each g toggles this)
2767
2768       :[range]s[ubstitute]/pattern
2769              substitute pattern with an empty string.
2770
2771       :[range]s[ubstitute]//string/[flags]
2772              use last pattern from search history.
2773
2774       :[range]s[ubstitute]
2775              repeat previous substitution command.
2776
2777                                                :sync
2778
2779       :sync [relative path]
2780              change  the  other pane to the current pane directory or to some
2781              path relative to the current directory.   Using  macros  is  al‐
2782              lowed.
2783
2784       :sync! change the other pane to the current pane directory and synchro‐
2785              nize cursor position.  If current pane displays custom  list  of
2786              files,  position  before  entering it is used (current one might
2787              not make any sense).
2788
2789
2790       :sync! [location | cursorpos | localopts | filters | filelist | tree  |
2791       all]...
2792              change  enumerated  properties of the other pane to match corre‐
2793              sponding properties of the current  pane.   Arguments  have  the
2794              following meanings:
2795
2796                - location - current directory of the pane;
2797
2798                - cursorpos - cursor position (doesn't make sense without "lo‐
2799                  cation");
2800
2801                - localopts - all local options;
2802
2803                - filters - all filters;
2804
2805                - filelist - list of files for  custom  view  (implies  "loca‐
2806                  tion");
2807
2808                - tree - tree structure for tree view (implies "location");
2809
2810                - all - all of the above.
2811
2812                                                :tabclose
2813
2814       :tabc[lose]
2815              close  current  tab,  unless  it's  the only one open at current
2816              scope.
2817
2818                                                :tabmove
2819
2820       :tabm[ove] [N]
2821              without the argument or with `$` as the  argument,  current  tab
2822              becomes  the  last tab.  With the argument, current tab is moved
2823              after the tab with the specified number.  Argument of `0`  moves
2824              current tab to the first position.
2825
2826                                                :tabname
2827
2828       :tabname [name]
2829              set,  update or reset (when no argument is provided) name of the
2830              current tab.
2831
2832                                                :tabnew
2833
2834       :tabnew [path]
2835              create new tab.  Accepts optional path for the new tab.   Macros
2836              and environment variables are expanded.
2837
2838                                                :tabnext
2839
2840       :tabn[ext]
2841              switch to the next tab (wrapping around).
2842
2843       :tabn[ext] {n}
2844              go to the tab number {n}.  Tab numeration starts with 1.
2845
2846                                                :tabonly
2847
2848       :tabo[nly]
2849              close  all  tabs  but the current one.  Closes pane tabs only at
2850              the active side.
2851
2852                                                :tabprevious
2853
2854       :tabp[revious]
2855              switch to the previous tab (wrapping around).
2856
2857       :tabp[revious] {n}
2858              go to the {n}-th previous tab.  Note that :tabnext  handles  its
2859              argument differently.
2860
2861                                                :touch
2862
2863       :[line]touch file...
2864              create files at specified paths.  Aborts on errors.  Doesn't up‐
2865              date time of existing files.  The [line] can  be  used  to  pick
2866              node in a tree-view.  Macros are expanded.
2867
2868                                                :tr
2869
2870       :[range]tr/pattern/string/
2871              for each file in range transliterate the characters which appear
2872              in pattern to  the  corresponding  character  in  string.   When
2873              string  is shorter than pattern, it's padded with its last char‐
2874              acter.
2875
2876                                                :trashes
2877
2878       :trashes
2879              lists all valid trash directories in a menu.  Only non-empty and
2880              writable  trash directories are shown.  This is exactly the list
2881              of directories that are cleared when :empty command is executed.
2882
2883       :trashes?
2884              same as :trashes, but also displays size of  each  trash  direc‐
2885              tory.
2886
2887                                                :tree
2888
2889       :tree  turn  pane  into  tree  view with current directory as its root.
2890              The tree view is implemented on top of a custom view, but is au‐
2891              tomatically  kept  in  sync with file system state and considers
2892              all the filters.  Thus the structure  corresponds  to  what  one
2893              would  see  on  visiting the directories manually.  As a special
2894              case for trees built out of  custom  view  file-system  tracking
2895              isn't performed.
2896
2897              To leave tree view go up from its root or use gh at any level of
2898              the tree.  Any command that changes directory will also  do,  in
2899              particular, `:cd ..`.
2900
2901              Tree structure is incompatible with alternative representations,
2902              so values of 'lsview' and 'millerview' options are ignored.
2903
2904              The "depth" argument specifies nesting level on which loading of
2905              subdirectories won't happen (they will be folded).  Values start
2906              at 1.
2907
2908       :tree! toggle current view in and out of tree mode.
2909
2910                                                :undolist
2911
2912       :undol[ist]
2913              display list of latest changes.  Use "!" to see actual commands.
2914              See "Menus and dialogs" section for controls.
2915
2916                                                :unlet
2917
2918       :unl[et][!] $ENV_VAR1 $ENV_VAR2 ...
2919              remove  environment variables. Add ! to omit displaying of warn‐
2920              ings about nonexistent variables.
2921
2922                                                :unselect
2923
2924       :[range]unselect
2925              unselect files in the given range (current file if no  range  is
2926              given).
2927
2928       :unselect {pattern}
2929              unselect files that match specified pattern.  Possible {pattern}
2930              forms are described in "Patterns" section below.  Trailing slash
2931              for  directories  is taken into account, so `:unselect */` unse‐
2932              lects directories.
2933
2934       :unselect !{external command}
2935              unselect files from  the  list  supplied  by  external  command.
2936              Files are matched by full paths, relative paths are converted to
2937              absolute ones beforehand.
2938
2939       :unselect //[iI]
2940              same as item above, but reuses last search pattern.
2941
2942                                                :version
2943
2944       :ve[rsion]
2945              show menu with version information.
2946
2947                                                :vifm
2948
2949       :vifm  same as :version.
2950
2951                                                :view
2952
2953       :vie[w]
2954              toggle on and off the quick file view (preview  of  file's  con‐
2955              tents).  See also 'quickview' option.
2956
2957       :vie[w]!
2958              turn on quick file view if it's off.
2959
2960                                                :volumes
2961
2962       :volumes
2963              only for MS-Windows
2964              display  menu  with volume list.  Hitting l (or Enter) key opens
2965              appropriate volume in the current pane.  See "Menus and dialogs"
2966              section for controls.
2967
2968                                                :vsplit
2969
2970       :vs[plit]
2971              switch to a two window vertical view.
2972
2973       :vs[plit]!
2974              toggle window vertical splitting.
2975
2976       :vs[plit] path
2977              split  the window vertically to show both file directories.  And
2978              changes other pane to path (absolute or relative to current  di‐
2979              rectory of active pane).
2980
2981                                                :wincmd
2982
2983       :[count]winc[md] {arg}
2984              same as running Ctrl-W [count] {arg}.
2985
2986                                                :windo
2987
2988       :windo [command...]
2989              execute command for each pane (same as :winrun % command).
2990
2991                                                :winrun
2992
2993       :winrun type [command...]
2994              execute  command  for pane(s), which is determined by type argu‐
2995              ment:
2996                - ^ - top-left pane
2997                - $ - bottom-right pane
2998                - % - all panes
2999                - . - current pane
3000                - , - other pane
3001
3002                                                :write
3003
3004       :w[rite]
3005              write current state to vifminfo and session files (if a  session
3006              is active).
3007
3008                                                :wq
3009
3010       :wq[!] same  as  :quit,  but  ! disables only the check of backgrounded
3011              commands, while state of the application is  always  written.
3012              :wqall
3013
3014       :wqa[ll][!]
3015              same  as  :qall,  but  ! disables only the check of backgrounded
3016              commands, while state of the application is always written.
3017
3018                                                :xall
3019
3020       :xa[ll][!]
3021              same as :qall.
3022
3023                                                :xit
3024
3025       :x[it][!]
3026              same as :quit.
3027
3028                                                :yank
3029
3030       :[range]y[ank] [reg] [count]
3031              will yank files to the reg register.
3032
3033                                                :map lhs rhs
3034
3035       :map lhs rhs
3036              map lhs key sequence to rhs in normal and visual modes.
3037
3038       :map! lhs rhs
3039              map lhs key sequence to rhs in command line mode.
3040
3041
3042                                              :cmap :dmap  :mmap  :nmap  :qmap
3043       :vmap
3044
3045       :cm[ap] lhs rhs
3046              map lhs to rhs in command line mode.
3047
3048       :dm[ap] lhs rhs
3049              map lhs to rhs in dialog modes.
3050
3051       :mm[ap] lhs rhs
3052              map lhs to rhs in menu mode.
3053
3054       :nm[ap] lhs rhs
3055              map lhs to rhs in normal mode.
3056
3057       :qm[ap] lhs rhs
3058              map lhs to rhs in view mode.
3059
3060       :vm[ap] lhs rhs
3061              map lhs to rhs in visual mode.
3062
3063
3064                                                :*map
3065
3066       :cm[ap]
3067              list all maps in command line mode.
3068
3069       :dm[ap]
3070              list all maps in dialog modes.
3071
3072       :mm[ap]
3073              list all maps in menu mode.
3074
3075       :nm[ap]
3076              list all maps in normal mode.
3077
3078       :qm[ap]
3079              list all maps in view mode.
3080
3081       :vm[ap]
3082              list all maps in visual mode.
3083
3084                                                :*map beginning
3085
3086       :cm[ap] beginning
3087              list  all  maps  in command line mode that start with the begin‐
3088              ning.
3089
3090       :dm[ap] beginning
3091              list all maps in dialog modes that start with the beginning.
3092
3093       :mm[ap] beginning
3094              list all maps in menu mode that start with the beginning.
3095
3096       :nm[ap] beginning
3097              list all maps in normal mode that start with the beginning.
3098
3099       :qm[ap] beginning
3100              list all maps in view mode that start with the beginning.
3101
3102       :vm[ap] beginning
3103              list all maps in visual mode that start with the beginning.
3104
3105                                                :noremap
3106
3107       :no[remap] lhs rhs
3108              map the key sequence lhs to rhs for normal and visual modes, but
3109              don't expand user mappings in rhs.
3110
3111       :no[remap]! lhs rhs
3112              map the key sequence lhs to rhs for command line mode, but don't
3113              expand user mappings in rhs.
3114
3115                       :cnoremap  :dnoremap  :mnoremap   :nnoremap   :qnoremap
3116       :vnoremap
3117
3118       :cno[remap] lhs rhs
3119              map the key sequence lhs to rhs for command line mode, but don't
3120              expand user mappings in rhs.
3121
3122       :dn[oremap] lhs rhs
3123              map the key sequence lhs to rhs for dialog modes, but don't  ex‐
3124              pand user mappings in rhs.
3125
3126       :mn[oremap] lhs rhs
3127              map  the key sequence lhs to rhs for menu mode, but don't expand
3128              user mappings in rhs.
3129
3130       :nn[oremap] lhs rhs
3131              map the key sequence lhs to rhs for normal mode, but  don't  ex‐
3132              pand user mappings in rhs.
3133
3134       :qn[oremap] lhs rhs
3135              map  the key sequence lhs to rhs for view mode, but don't expand
3136              user mappings in rhs.
3137
3138       :vn[oremap] lhs rhs
3139              map the key sequence lhs to rhs for visual mode, but  don't  ex‐
3140              pand user mappings in rhs.
3141
3142                                                :unmap
3143
3144       :unm[ap] lhs
3145              remove user mapping of lhs from normal and visual modes.
3146
3147       :unm[ap]! lhs
3148              remove user mapping of lhs from command line mode.
3149
3150                                   :cunmap  :dunmap  :munmap  :nunmap  :qunmap
3151       :vunmap
3152
3153       :cu[nmap] lhs
3154              remove user mapping of lhs from command line mode.
3155
3156       :du[nmap] lhs
3157              remove user mapping of lhs from dialog modes.
3158
3159       :mu[nmap] lhs
3160              remove user mapping of lhs from menu mode.
3161
3162       :nun[map] lhs
3163              remove user mapping of lhs from normal mode.
3164
3165       :qun[map] lhs
3166              remove user mapping of lhs from view mode.
3167
3168       :vu[nmap] lhs
3169              remove user mapping of lhs from visual mode.
3170

Ranges

3172       The ranges implemented include:
3173         2,3 - from second to third file in the list (including it)
3174         % - the entire directory.
3175         . - the current position in the filelist.
3176         $ - the end of the filelist.
3177         't - the mark position t.
3178
3179       Examples:
3180
3181         :%delete
3182
3183       would delete all files in the directory.
3184
3185         :2,4delete
3186
3187       would delete the files in the list positions 2 through 4.
3188
3189         :.,$delete
3190
3191       would delete the files from the current position  to  the  end  of  the
3192       filelist.
3193
3194         :3delete4
3195
3196       would delete the files in the list positions 3, 4, 5, 6.
3197
3198       If a backward range is given :4,2delete - an query message is given and
3199       user can chose what to do next.
3200
3201       The builtin commands that accept a range are :d[elete] and :y[ank].
3202

Command macros

3204       The command macros may be used in user commands.
3205
3206       %a     User arguments.  When user arguments contain  macros,  they  are
3207              expanded before preforming substitution of %a.
3208
3209       %c %"c The current file under the cursor.
3210
3211       %C %"C The current file under the cursor in the other directory.
3212
3213       %f %"f All of the selected files, but see "Selection" section below.
3214
3215       %F %"F All  of  the selected files in the other directory list, but see
3216              "Selection" section below.
3217
3218       %b %"b Same as %f %F.
3219
3220       %d %"d Full path to current directory.
3221
3222       %D %"D Full path to other file list directory.
3223
3224       %rx %"rx
3225              Full paths to files in the register {x}.   In  case  of  invalid
3226              symbol in place of {x}, it's processed with the rest of the line
3227              and default register is used.
3228
3229       %m     Show command output in a menu.
3230
3231       %M     Same as %m, but l (or Enter) key is handled like for :locate and
3232              :find commands.
3233
3234       %u     Process  command output as list of paths and compose custom view
3235              out of it.
3236
3237       %U     Same as %u, but implies less list updates inside vifm, which  is
3238              absence of sorting at the moment.
3239
3240       %Iu    Same  as  %u, but gives up terminal before running external com‐
3241              mand.
3242
3243       %IU    Same as %U, but gives up terminal before running  external  com‐
3244              mand.
3245
3246       %S     Show command output in the status bar.
3247
3248       %q     Redirect  command  output  to  quick view, which is activated if
3249              disabled.
3250
3251       %s     Execute command in horizontally split window of active  terminal
3252              multiplexer (ignored if not running inside one).
3253
3254       %v     Same as %s, but splits vertically.
3255
3256       %n     Forbid use of terminal multiplexer to run the command.
3257
3258       %i     Completely ignore command output.  For background jobs this sup‐
3259              presses error dialogs, while still storing errors internally for
3260              viewing via :jobs menu.
3261
3262       %Pl    Pipe list of files to standard input of a command.
3263
3264       %Pz    Same as %Pz, but separates paths by null ('\0') character.
3265
3266       %pc    Marks the end of the main command and the beginning of the clear
3267              command for graphical preview, which is invoked on closing  pre‐
3268              view of a file.
3269
3270       %pd    Marks  a  preview command as one that directly communicates with
3271              the terminal.  Beware that this is for things like  sixel  which
3272              are  self-contained sequences that depend only on current cursor
3273              position, using this with anything else is likely to mangle ter‐
3274              minal state.
3275
3276       The following dimensions and coordinates are in characters:
3277
3278       %px    x coordinate of top-left corner of preview area.
3279
3280       %py    y coordinate of top-left corner of preview area.
3281
3282       %pw    width of preview area.
3283
3284       %ph    height of preview area.
3285
3286
3287       Use %% if you need to put a percent sign in your command.
3288
3289       Note  that  %i,  %Iu, %IU, %m, %M, %n, %q, %s, %S, %u, %U and %v macros
3290       are mutually exclusive.  Only the last one of them on the command  will
3291       take effect.
3292
3293       Note  that  %Pl  and  %Pz are mutually exclusive.  Only the last one of
3294       them on the command will take effect.
3295
3296       You can use file name modifiers after %c, %C, %f, %F,  %b,  %d  and  %D
3297       macros.  Supported modifiers are:
3298
3299         - :p           - full path
3300
3301         - :u             -   UNC   name   of   path   (e.g.   "\\server"   in
3302           "\\server\share"), Windows only.  Expands to current computer  name
3303           for not UNC paths.
3304
3305         - :~           - relative to the home directory
3306
3307         - :.           - relative to current directory
3308
3309         - :h           - head of the file name
3310
3311         - :t           - tail of the file name
3312
3313         - :r           - root of the file name (without last extension)
3314
3315         - :e           - extension of the file name (last one)
3316
3317         - :s?pat?sub?   -  substitute  the  first occurrence of pat with sub.
3318           You can use any character for '?', but it must not occur in pat  or
3319           sub.
3320
3321         - :gs?pat?sub? - like :s, but substitutes all occurrences of pat with
3322           sub.
3323
3324       See ':h filename-modifiers' in Vim's documentation for the detailed de‐
3325       scription.
3326
3327       Using  %x means expand corresponding macro escaping all characters that
3328       have special meaning.  And %"x means using of double quotes and  escape
3329       only  backslash  and  double  quote characters, which is more useful on
3330       Windows systems.
3331
3332       Position and quantity (if there is any) of %m, %M, %S or %s  macros  in
3333       the command is unimportant.  All their occurrences are removed from the
3334       resulting command.
3335
3336       %c and %f macros are expanded to file names only, when %C  and  %F  are
3337       expanded to full paths.  %f and %F follow this in %b too.
3338
3339       :com move mv %f %D
3340              set  the  :move command to move all of the files selected in the
3341              current directory to the other directory.
3342
3343       The %a macro is replaced with any arguments given to an alias  command.
3344       All arguments are considered optional.
3345              :com  lsl !!ls -l %a - set the lsl command to execute ls -l with
3346              or without an argument.
3347
3348       :lsl<Enter>
3349              will list the directory contents of the current directory.
3350
3351       :lsl filename<Enter>
3352              will list only the given filename.
3353
3354       The macros can also be used in directly executing commands.   ":!mv  %f
3355       %D" would move the current directory selected files to the other direc‐
3356       tory.
3357
3358       Appending & to the end of a command causes it to  be  executed  in  the
3359       background.   Typically  you want to run two kinds of external commands
3360       in the background:
3361
3362         - GUI applications that doesn't fork thus block vifm (:!sxiv %f &);
3363
3364         - console tools that do not work with terminal (:!mv %f %D &).
3365
3366       You don't want to run terminal commands, which require  terminal  input
3367       or output something in background because they will mess up vifm's TUI.
3368       Anyway, if you did run such a command, you can use Ctrl-L key to update
3369       vifm's TUI.
3370
3371       Rewriting  the example command with macros given above with background‐
3372       ing:
3373
3374       %m, %M, %s, %S, %u and %U macros cannot  be  combined  with  background
3375       mark (" &") as it doesn't make much sense.
3376

Command backgrounding

3378       Copy  and move operation can take a lot of time to proceed.  That's why
3379       vifm supports backgrounding of this  two  operations.   To  run  :copy,
3380       :move  or :delete command in the background just add " &" at the end of
3381       a command.
3382
3383       For each background operation a new thread is created.   Job  cancella‐
3384       tion can be requested in the :jobs menu via dd shortcut.
3385
3386       You  can  see  if  command  is  still running in the :jobs menu.  Back‐
3387       grounded commands have progress instead of process id at the  line  be‐
3388       ginning.
3389
3390       Background operations cannot be undone.
3391

Cancellation

3393       Note that cancellation works somewhat different on Windows platform due
3394       to different mechanism of break signal  propagation.   One  also  might
3395       need to use Ctrl-Break shortcut instead of Ctrl-C.
3396
3397       There are two types of operations that can be cancelled:
3398
3399         - file system operations;
3400
3401         - mounting  with  FUSE  (but  not  unmounting as it can cause loss of
3402           data);
3403
3404         - calls of external applications.
3405
3406       Note that vifm never terminates applications, it  sends  SIGINT  signal
3407       and lets the application quit normally.
3408
3409       When one of set of operations is cancelled (e.g. copying of 5th file of
3410       10 files), further operations are cancelled too.   In  this  case  undo
3411       history will contain only actually performed operations.
3412
3413       Cancelled  operations are indicated by "(cancelled)" suffix appended to
3414       information message on statusbar.
3415
3416       File system operations
3417
3418       Currently the following commands  can  be  cancelled:  :alink,  :chmod,
3419       :chown,  :clone,  :copy,  :delete,  :mkdir,  :move,  :restore,  :rlink,
3420       :touch.  File putting (on p/P key) can be cancelled as well.  It's  not
3421       hard to see that these are mainly long-running operations.
3422
3423       Cancelling  commands when they are repeated for undo/redo operations is
3424       allowed for convenience, but is not recommended  as  further  undo/redo
3425       operations  might  get  blocked  by side-effects of partially cancelled
3426       group of operations.
3427
3428       These commands can't be cancelled: :empty, :rename, :substitute, :tr.
3429
3430       Mounting with FUSE
3431
3432       It's not considered to be an error, so only notification on the  status
3433       bar is shown.
3434
3435       External application calls
3436
3437       Each  of this operations can be cancelled: :apropos, :find, :grep, :lo‐
3438       cate.
3439

Selection

3441       If there is a selection, it's stashed before proceeding further  unless
3442       file  under the cursor is part of that selection.  This means that when
3443       macros are expanded for :filetype or :filextype programs, `%f` and `%F`
3444       become  equivalent to `%c` and `%C` respectively if current file is not
3445       selected.  So you run selection by running one of selected files,  oth‐
3446       erwise  you're  running  a single file even if there are other selected
3447       entries.
3448
3449       When running a selection it must not include broken symbolic links, has
3450       to  be consistent and set of file handlers must be compatible.  Consis‐
3451       tency means that selection contains either only directories  (including
3452       links to them) or only files, but not their mix.
3453
3454       Compatibility is a more sophisticated check, but it's defined in a nat‐
3455       ural way so that you get what you'd expect.  The  following  properties
3456       of selection are taken into account while checking it for compatibility
3457       and deciding how to handle it:
3458
3459
3460         1. If there any files for which handler isn't defined, then all files
3461            are opened using 'vicmd' or 'vixcmd'.
3462
3463
3464         2. If all handlers match the following criteria:
3465             - backgrounded
3466             - include `%c` and/or `%C`
3467             - include neither `%f` nor `%F`
3468            then each file is executed independently of the rest.
3469
3470
3471         3. If  all  handlers are equal, the common handler is executed.  This
3472            handler might ignore selection and process  only  file  under  the
3473            cursor.
3474
3475
3476         4. Otherwise,  an error is reported, because handlers differ and they
3477            don't support parallel execution.
3478

Patterns

3480       :highlight, :filetype, :filextype, :fileviewer commands and  'classify'
3481       option  support globs, regular expressions and mime types to match file
3482       names or their paths.
3483
3484       There are six possible ways to write a single pattern:
3485
3486         1. [!]{comma-separated-name-globs}
3487
3488         2. [!]{{comma-separated-path-globs}}
3489
3490         3. [!]/name-regular-expression/[iI]
3491
3492         4. [!]//path-regular-expression//[iI]
3493
3494         5. [!]<comma-separated-mime-type-globs>
3495
3496         6. undecorated-pattern
3497
3498       First five forms can include leading exclamation mark that negates pat‐
3499       tern matching.
3500
3501       The  last  form is implicitly refers to one of others.  :highlight does
3502       not accept undecorated form, while :filetype, :filextype,  :fileviewer,
3503       :select, :unselect and 'classify' treat it as list of name globs.
3504
3505       Path  patterns receive absolute path of the file that includes its name
3506       component as well.
3507
3508       To combine several patterns (AND them), make sure you're using  one  of
3509       the first five forms and write patterns one after another, like this:
3510         <text/plain>{*.vifm}
3511       Mind that if you make a mistake the whole string will be treated as the
3512       sixth form.
3513
3514       :filetype, :filextype and :fileviewer commands  accept  comma-separated
3515       list of patterns instead of a single pattern, thus effectively handling
3516       OR operation on them:
3517         <text/plain>{*.vifm},<application/pdf>{*.pdf}
3518       Forms that accept comma-separated lists of patterns also  process  them
3519       as lists of alternatives.
3520
3521       Patterns with regular expressions
3522
3523       Regular  expression  patterns  are case insensitive by default, see de‐
3524       scription of commands, which might override default behaviour.
3525
3526       Flags of regular expressions mean the following:
3527         - "i" makes filter case insensitive;
3528         - "I" makes filter case sensitive.  They  can  be  repeated  multiple
3529       times,  but  the later one takes precedence (e.g.  "iiiI" is equivalent
3530       to "I" and "IiIi" is the same as "i").
3531
3532       There are no implicit `^` or `$`, so make sure to specify them  explic‐
3533       itly if the pattern should match the whole name or path.
3534
3535       Patterns with globs
3536
3537       "Globs"  section below provides short overview of globs and some impor‐
3538       tant points that one needs to know about them.
3539
3540       Patterns with mime-types
3541
3542       Mime type matching is essentially globs matching applied to  mime  type
3543       of  a  file instead of its name/path.  Note: mime types aren't detected
3544       on Windows.
3545
3546       Examples
3547
3548       Associate `evince` to PDF-files only inside `/home/user/downloads/` di‐
3549       rectory (excluding its subdirectories):
3550
3551         :filextype //^/home/user/downloads/[^/]*.pdf$// evince %f
3552
3553

Globs

3555       Globs are always case insensitive as it makes sense in general case.
3556
3557       `*`,  `?`,  `[`  and `]` are treated as special symbols in the pattern.
3558       E.g.
3559
3560         :filetype * less %c
3561
3562       matches all files.  One can use character classes for escaping, so
3563
3564         :filetype [*] less %c
3565
3566       matches only one file name, the one which contains only  asterisk  sym‐
3567       bol.
3568
3569       `*`  means  any number of any characters (possibly an empty substring),
3570       with one exception: asterisk at the pattern beginning doesn't match dot
3571       in the first position.  E.g.
3572
3573         :fileviewer *.zip,*.jar zip -sf %c
3574
3575       associates  using  of  `zip` program to preview all files with `zip` or
3576       `jar` extensions as listing of their content, but `.file.zip` won't  be
3577       matched.
3578
3579       `?` means any character at this position.  E.g.
3580
3581         :fileviewer ?.out file %c
3582
3583       calls `file` tool for all files which have exactly one character before
3584       their extension (e.g. a.out, b.out).
3585
3586       Square brackets designate character class, which means that whole char‐
3587       acter  class matches against any of characters listed in it.  For exam‐
3588       ple
3589
3590         :fileviewer *.[ch] highlight -O xterm256 -s dante --syntax c %c
3591
3592       makes vifm call `highlight` program to colorize source and header files
3593       in C language for a 256-color terminal.  Equal command would be
3594
3595         :fileviewer *.c,*.h highlight -O xterm256 -s dante --syntax c %c
3596
3597
3598       Inside square brackets `^` or `!` can be used for symbol class negotia‐
3599       tion and the `-` symbol to set a range.   `^`  and  `!`  should  appear
3600       right after the opening square bracket.  For example
3601
3602         :filetype *.[!d]/ inspect_dir
3603
3604       associates `inspect_dir` as additional handler for all directories that
3605       have one character extension unless it's "d" letter.  And
3606
3607         :filetype [0-9].jpg sxiv
3608
3609       associates `sxiv` picture viewer only for JPEG-files that contain  sin‐
3610       gle digit in their name.
3611
3612       If  you need to include literal comma, which is normally separates mul‐
3613       tiple globs, double it.
3614

:set options

3616       Local options
3617              These are kind of options that are local to a specific view.  So
3618              you can set ascending sorting order for left pane and descending
3619              order for right pane.
3620
3621              In addition to being local to views, each such option  also  has
3622              two values:
3623
3624                - local  to  current  directory (value associated with current
3625                  location);
3626
3627                - global to  current  directory  (value  associated  with  the
3628                  pane).
3629
3630              The  idea  is that current directory can be made a temporary ex‐
3631              ception to regular configuration of the  view,  until  directory
3632              change.   Use :setlocal for that.  :setglobal changes view value
3633              not affecting settings until  directory  change.   :set  applies
3634              changes immediately to all values.
3635
3636
3637       'aproposprg'
3638              type: string
3639              default: "apropos %a"
3640              Specifies  format  for  an external command to be invoked by the
3641              :apropos command.  The format supports expanding of macros, spe‐
3642              cific  for a particular *prg option, and %% sequence for insert‐
3643              ing percent sign literally.  This option should include  the  %a
3644              macro  to  specify placement of arguments passed to the :apropos
3645              command.  If the macro is not used, it will be implicitly  added
3646              after a space to the value of this option.
3647
3648       'autochpos'
3649              type: boolean
3650              default: true
3651              When disabled vifm will set cursor to the first line in the view
3652              after :cd and :pushd commands instead of saved cursor  position.
3653              Disabling  this will also make vifm clear information about cur‐
3654              sor position in the view history on :cd and :pushd commands (and
3655              on  startup if 'autochpos' is disabled in the vifmrc).  l key in
3656              the ":history ." and ":trashes" menus are treated like :cd  com‐
3657              mand.   This  option  also affects marks so that navigating to a
3658              mark doesn't restore cursor position.
3659
3660              When this option is enabled, more fine grained control over cur‐
3661              sor position is available via 'histcursor' option.
3662
3663       'columns' 'co'
3664              type: integer
3665              default: terminal width on startup
3666              Terminal width in characters.
3667
3668       'caseoptions'
3669              type: charset
3670              default: ""
3671              This  option  gives  additional control over case sensitivity by
3672              allowing overriding default behaviour to either always  be  case
3673              sensitive  or  always be case insensitive.  Possible values form
3674              pairs of lower and upper case letters  that  configure  specific
3675              aspect of behaviour:
3676                p - always ignore case of paths during completion.
3677                P - always match case of paths during completion.
3678                g - always ignore case of characters for f/F/;/,.
3679                G - always match case of characters for f/F/;/,.
3680
3681              At  most one item of each pair takes affect, if both or more are
3682              present, only the last one matters.  When none  of  pair's  ele‐
3683              ments  are present, the behaviour is default (depends on operat‐
3684              ing system for path completion and on values of 'ignorecase' and
3685              'smartcase' options for file navigation).
3686
3687       'cdpath' 'cd'
3688              type: string list
3689              default: value of $CDPATH with commas instead of colons
3690              Specifies locations to check on changing directory with relative
3691              path that doesn't start with "./"  or  "../".   When  non-empty,
3692              current  directory  is  examined after directories listed in the
3693              option.
3694
3695              This option doesn't affect completion of :cd command.
3696
3697              Example:
3698
3699                set cdpath=~
3700
3701              This way ":cd bin" will switch  to  "~/bin"  even  if  directory
3702              named  "bin" exists in current directory, while ":cd ./bin" com‐
3703              mand will ignore value of 'cdpath'.
3704
3705       'chaselinks'
3706              type: boolean
3707              default: false
3708              When enabled path of view is always resolved to real path  (with
3709              all symbolic links expanded).
3710
3711       'classify'
3712              type: string list
3713              default: ":dir:/"
3714              Specifies file name prefixes and suffixes depending on file type
3715              or name.  The format is either of:
3716                - [{prefix}]:{filetype}:[{suffix}]
3717                - [{prefix}]::{pattern}::[{suffix}]
3718              Possible {pattern} forms are  described  in  "Patterns"  section
3719              above.
3720
3721              Priority rules:
3722                - file name patterns have priority over type patterns
3723                -  file  name  patterns  are matched in left-to-right order of
3724              their appearance in this option
3725
3726              Either {prefix} or {suffix} or both can be omitted (which is the
3727              default  for all unspecified file types), this means empty {pre‐
3728              fix} and/or {suffix}.  {prefix} and {suffix} should  consist  of
3729              at  most  eight  characters.   Elements are separated by commas.
3730              Neither prefixes nor suffixes are part of file  names,  so  they
3731              don't  affect  commands  which operate on file names in any way.
3732              Comma (',') character can be inserted by doubling it.   List  of
3733              file  type  names  can be found in the description of filetype()
3734              function.
3735
3736       'confirm' 'cf'
3737              type: set
3738              default: delete,permdelete
3739              Defines which operations require confirmation:
3740               - delete     - moving files to trash (on d or :delete);
3741               - permdelete - permanent deletion of files (on  D  or  :delete!
3742              command or on undo/redo operation).
3743
3744       'cpoptions' 'cpo'
3745              type: charset
3746              default: "fst"
3747              Contains  a  sequence  of single-character flags.  Each flag en‐
3748              ables behaviour of older versions of vifm.  Flags:
3749               - f - when included, running :filter command results in not in‐
3750              verted  (matching  files  are  filtered out) and :filter! in in‐
3751              verted (matching files are left) filter, when  omitted,  meaning
3752              of the exclamation mark changes to the opposite;
3753               -  s - when included, yy, dd and DD normal mode commands act on
3754              selection, otherwise they operate on current file only;
3755               - t - when included, <tab> (thus <c-i>) behave as  <space>  and
3756              switches  active  pane,  otherwise <tab> and <c-i> go forward in
3757              the view history.  It's possible to make both <tab> and <c-i> to
3758              work as expected by setting up the terminal to emit a custom se‐
3759              quence when <c-i> is pressed; see :histnext for details.
3760
3761       'cvoptions'
3762              type: set
3763              default:
3764              Specifies whether entering/leaving custom views triggers  events
3765              that normally happen on entering/leaving directories:
3766               - autocmds    - trigger autocommands on entering/leaving custom
3767              views;
3768               - localopts   - reset local options on entering/leaving  custom
3769              views;
3770               -  localfilter  - reset local filter on entering/leaving custom
3771              views.
3772
3773       'deleteprg'
3774              type: string
3775              default: ""
3776              Specifies program to run on files that are permanently  removed.
3777              When  empty,  files are removed as usual, otherwise this command
3778              is invoked on each file by appending its name.  If  the  command
3779              doesn't remove files, they will remain on the file system.
3780
3781       'dirsize'
3782              type: enumeration
3783              default: size
3784              Controls  how  size  of  directories is displayed in file views.
3785              The following values are possible:
3786               - size   - size of directory (i.e., size used to store list  of
3787              files)
3788               -  nitems - number of entries in the directory (excluding . and
3789              ..)
3790
3791              Size obtained via ga/gA overwrites this setting so seeing  count
3792              of files and occasionally size of directories is possible.
3793
3794       'dotdirs'
3795              type: set
3796              default: nonrootparent,treeleafsparent
3797              Controls  displaying  of  dot directories.  The following values
3798              are possible:
3799               - rootparent      - show "../" in root directory of file system
3800               - nonrootparent   - show "../" in non-root directories of  file
3801              system
3802               -  treeleafsparent  -  show  "../" in empty directories of tree
3803              view
3804
3805              Note that empty directories always contain "../"  entry  regard‐
3806              less of value of this option.  "../" disappears at the moment at
3807              least one file is created.
3808
3809       'dotfiles'
3810              type: boolean
3811              default: false
3812              Whether dot files are shown in the view.  Can be controlled with
3813              z* bindings.
3814
3815       'fastrun'
3816              type: boolean
3817              default: false
3818              With  this  option  turned on you can run partially entered com‐
3819              mands with unambiguous beginning using :! (e.g. :!Te instead  of
3820              :!Terminal or :!Te<tab>).
3821
3822       'fillchars' 'fcs'
3823              type: string list
3824              default: ""
3825              Sets characters used to fill borders.
3826
3827                item         default    used for
3828                vborder:c     '  '        left, middle and right vertical bor‐
3829              ders
3830
3831              If value is omitted, its default value is used.  Example:
3832
3833                set fillchars=vborder:.
3834
3835       'findprg'
3836              type: string
3837              default: "find %s %a -print , -type d \( ! -readable -o !  -exe‐
3838              cutable \) -prune"
3839              Specifies  format  for  an external command to be invoked by the
3840              :find command.  The format supports expansion of macros specific
3841              for this particular option and %% sequence for inserting percent
3842              sign literally.  The macros are:
3843
3844                macro   value/meaning
3845                 %s     literal arguments of :find or
3846                        list of paths to search in
3847
3848                 %A     empty or
3849                        literal arguments of :find
3850                 %a     empty or
3851                        literal arguments of :find or
3852                        predicate followed by escaped arguments of :find
3853                 %p     empty or
3854                        literal arguments of :find or
3855                        escaped arguments (parameters) of :find
3856
3857                 %u     redirect output to custom view instead  of  showing  a
3858              menu
3859                 %U      redirect  output  to  unsorted custom view instead of
3860              showing a menu
3861
3862              Predicate in %a is "-name" on *nix and "-iname" on Windows.
3863
3864              If both %u and %U are specified, %U is chosen.
3865
3866              Some macros can be added implicitly:
3867               - if %s isn't present, it's appended
3868               - if neither of %a, %A and %p is present, %a is appended
3869               - if neither of %s, %a, %A and %p is present, %s and %a are ap‐
3870              pended in this order
3871
3872              The  macros slightly change their meaning depending on format of
3873              :find's arguments:
3874               - if the first argument points to an existing directory, %s  is
3875              assigned all arguments while %a, %A and %p are left empty
3876               - otherwise:
3877                  -  %s  is  assigned a dot (".") meaning current directory or
3878              list of selected file names, if any
3879                  - %a, %A and %p are assigned literal  arguments  when  first
3880              argument  starts with a dash ("-"), otherwise %a gets an escaped
3881              version of the arguments with a predicate and  %p  contains  es‐
3882              caped version of the arguments
3883
3884              Starting  with  Windows  Server 2003 a `where` command is avail‐
3885              able.  One can configure vifm to use it in the following way:
3886
3887                  set findprg="where /R %s %A"
3888
3889              As the syntax of this command is rather limited, one  can't  use
3890              :find  command  with selection of more than one item because the
3891              command ignores all directory paths except for the last one.
3892
3893              When using find port on Windows,  another  option  is  to  setup
3894              'findprg' like this:
3895
3896                  set findprg="find %s %a"
3897
3898
3899       'followlinks'
3900              type: boolean
3901              default: true
3902              Follow  links  on  l  or Enter.  That is navigate to destination
3903              file instead of treating the link as if  it  were  target  file.
3904              Doesn't  affects  links to directories, which are always entered
3905              (use gf key for directories).
3906
3907       'fusehome'
3908              type: string
3909              default: "($XDG_DATA_HOME/.local/share | $VIFM)/fuse/"
3910              Directory to be used as a root dir for FUSE  mounts.   Value  of
3911              the  option  can  contain  environment  variables (in form "$en‐
3912              vname"), which will be expanded (prepend it with a slash to pre‐
3913              vent expansion).  The value should expand to an absolute path.
3914
3915              If  you change this option, vifm won't remount anything.  It af‐
3916              fects future mounts only.  See "Automatic FUSE  mounts"  section
3917              below for more information.
3918
3919       'gdefault' 'gd'
3920              type: boolean
3921              default: false
3922              When on, 'g' flag is on for :substitute by default.
3923
3924       'grepprg'
3925              type: string
3926              default: "grep -n -H -I -r %i %a %s"
3927              Specifies  format  for  an external command to be invoked by the
3928              :grep command.  The format supports expanding  of  macros,  spe‐
3929              cific  for a particular *prg option, and %% sequence for insert‐
3930              ing percent sign literally.  This option should include  the  %i
3931              macro  to specify placement of "-v" string when inversion of re‐
3932              sults is requested, %a or %A macro to specify placement of argu‐
3933              ments  passed  to  the :grep command and the %s macro to specify
3934              placement of list of files to search in.  If some of the  macros
3935              are not used, they will be implicitly added after a space to the
3936              value of the 'grepprg' option in the following  order:  %i,  %a,
3937              %s.   Note  that  when  neither %a nor %A are specified, it's %a
3938              which is added implicitly.
3939
3940              Optional %u or %U macro could be used (if both specified  %U  is
3941              chosen)  to  force redirection to custom or unsorted custom view
3942              respectively.
3943
3944              See 'findprg' option for description of  difference  between  %a
3945              and %A.
3946
3947              Example  of setup to use ack (http://beyondgrep.com/) instead of
3948              grep:
3949
3950                set grepprg='ack -H -r %i %a %s'
3951
3952              or  The  Silver   Searcher   (https://github.com/ggreer/the_sil
3953              ver_searcher):
3954
3955                set grepprg='ag --line-numbers %i %a %s'
3956
3957
3958
3959       'histcursor'
3960              type: set
3961              default: startup,dirmark,direnter
3962              Defines  situations when cursor should be moved according to di‐
3963              rectory history:
3964               - startup  - on loading file lists during startup
3965               - dirmark  - after navigating to a mark  that  doesn't  specify
3966              file
3967               - direnter - on opening directory from a file list
3968
3969              This option has no effect when 'autochpos' is disabled.
3970
3971              Note  that the list is not exhaustive and there are other situa‐
3972              tions when cursor is positioned automatically.
3973
3974       'history' 'hi'
3975              type: integer
3976              default: 15
3977              Maximum number of stored items in all histories.
3978
3979       'hlsearch' 'hls'
3980              type: boolean
3981              default: true
3982              Automatically select files that are search matches.
3983
3984       'iec'  type: boolean
3985              default: false
3986              Use KiB, MiB, ... suffixes instead of K, M,  ...  when  printing
3987              size in human-friendly format.
3988
3989       'ignorecase' 'ic'
3990              type: boolean
3991              default: false
3992              Ignore  case in search patterns (:substitute, / and ? commands),
3993              local filter (but not the rest of filters) and other things  de‐
3994              tailed in the description of 'caseoptions'.
3995
3996       'incsearch' 'is'
3997              type: boolean
3998              default: false
3999              When this option is set, search and view update for local filter
4000              is be performed starting from initial cursor position each  time
4001              search pattern is changed.
4002
4003       'iooptions'
4004              type: set
4005              default:
4006              Controls  details  of file operations.  The following values are
4007              available:
4008               - fastfilecloning - perform fast file cloning  (copy-on-write),
4009              when available
4010                                   (available on Linux and btrfs file system).
4011
4012       'laststatus' 'ls'
4013              type: boolean
4014              default: true
4015              Controls if status bar is visible.
4016
4017       'lines'
4018              type: integer
4019              default: terminal height on startup
4020              Terminal height in lines.
4021
4022       'locateprg'
4023              type: string
4024              default: "locate %a"
4025              Specifies  format  for  an external command to be invoked by the
4026              :locate command.  The format supports expanding of macros,  spe‐
4027              cific  for a particular *prg option, and %% sequence for insert‐
4028              ing percent sign literally.  This option should include  the  %a
4029              macro  to  specify  placement of arguments passed to the :locate
4030              command.  If the macro is not used, it will be implicitly  added
4031              after a space to the value of this option.
4032
4033              Optional  %u  or %U macro could be used (if both specified %U is
4034              chosen) to force redirection to custom or unsorted  custom  view
4035              respectively.
4036
4037       'mediaprg'
4038              type: string
4039              default: path to bundled script that supports udevil, udisks and
4040              udisks2
4041                       (using udisks2 requires python  with  dbus  module  in‐
4042              stalled)
4043                       OS X: path points to a python script that uses diskutil
4044              {only for *nix}
4045              Specifies  command  to be used to manage media devices.  Used by
4046              :media command.
4047
4048              The command can be passed the following parameters:
4049               - list           -- list media
4050               - mount {device} -- mount a device
4051               - unmount {path} -- unmount given mount point
4052
4053              The output of `list` subcommand is parsed  in  search  of  lines
4054              that start with one of the following prefixes:
4055               - device=      - specifies device path (e.g., "/dev/sde")
4056               - label=       - specifies optional device label (e.g., "Memory
4057              card")
4058               - info=        - specifies arbitrary text to  display  next  to
4059              device (by
4060                                default  "[label]"  is  used, if label is pro‐
4061              vided)
4062               - mount-point= - specifies a mount point (can be absent or  ap‐
4063              pear more than once)
4064
4065              All  other  lines are ignored.  Each `device=` starts a new sec‐
4066              tion describing a device which should include two other possible
4067              prefixes.
4068
4069              `list`  subcommand is assumed to always succeed, while exit code
4070              of `mount` and `unmount` is  taken  into  account  to  determine
4071              whether operation was performed successfully.
4072
4073       'lsoptions'
4074              type: string list
4075              default: ""
4076              scope: local
4077
4078              Configures ls-like view.
4079
4080                item          used for
4081                transposed     filling  view  grid  by  columns rather than by
4082              lines
4083
4084
4085       'lsview'
4086              type: boolean
4087              default: false
4088              scope: local
4089              When this option is set, directory view  will  be  displayed  in
4090              multiple  columns  with  file names similar to output of `ls -x`
4091              command.  See "ls-like view" section below for  format  descrip‐
4092              tion.  This option has no effect if 'millerview' is on.
4093
4094       'milleroptions'
4095              type: string list
4096              default: "lsize:1,csize:1,rsize:1,rpreview:dirs"
4097              scope: local
4098
4099              Configures miller view.
4100
4101                item          default  used for
4102                lsize:num     0        left column
4103                csize:num     1        center column (can't be disabled)
4104                rsize:num     0        right column
4105                rpreview:str  dirs     right column
4106
4107              *size  specifies  ratios of columns.  Each ratio is in the range
4108              from 0 to 100 and values are adjusted to fit the  limits.   Zero
4109              disables a column, but central (main) column can't be disabled.
4110
4111              rpreview  specifies what file-system objects should be previewed
4112              in the right column and can take two values: dirs (only directo‐
4113              ries)  or  all.   Both  options  don't  include parent directory
4114              ("..").
4115
4116              Example of two-column mode which is useful in  combination  with
4117              :view command:
4118
4119                set milleroptions=lsize:1,csize:2
4120
4121
4122       'millerview'
4123              type: boolean
4124              default: false
4125              scope: local
4126              When  this  option  is  set, directory view will be displayed in
4127              multiple cascading columns.  Ignores 'lsview'.
4128
4129       'mintimeoutlen'
4130              type: integer
4131              default: 150
4132              The fracture of 'timeoutlen' in milliseconds that is waited  be‐
4133              tween subsequent input polls, which affects various asynchronous
4134              operations (detecting changes  made  by  external  applications,
4135              monitoring  background jobs, redrawing UI).  There are no strict
4136              guarantees, however the higher this value is, the  less  is  CPU
4137              load in idle mode.
4138
4139       'number' 'nu'
4140              type: boolean
4141              default: false
4142              scope: local
4143              Print  line  number in front of each file name when 'lsview' op‐
4144              tion is turned off.  Use 'numberwidth' to control width of  line
4145              number.  Also see 'relativenumber'.
4146
4147       'numberwidth' 'nuw'
4148              type: integer
4149              default: 4
4150              scope: local
4151              Minimal number of characters for line number field.
4152
4153       'previewoptions'
4154              type: string list
4155              default: "graphicsdelay:50000"
4156
4157              Tweaks how previewing is done (in quick view, miller view's col‐
4158              umn and view mode).
4159
4160                item               default  meaning
4161                graphicsdelay:num  0        delay before drawing graphics (mi‐
4162              croseconds)
4163                hardgraphicsclear  unset    redraw screen to get rid of graph‐
4164              ics
4165                toptreestats       unset    show file counts before the tree
4166
4167              graphicsdelay is needed if terminal requires some timeout before
4168              it can draw graphics (otherwise it gets lost).
4169
4170              hardgraphicsclear  seems  to  be  necessary  to get rid of sixel
4171              graphics in some terminals, where it  otherwise  lingers.   This
4172              can  cause  flicker on the screen due to erasure followed by re‐
4173              drawing.
4174
4175       'previewprg'
4176              type: string
4177              default: ""
4178              scope: local
4179
4180              External command to be used instead of preview programs  config‐
4181              ured via :fileviewer command.
4182
4183              Example:
4184
4185                " always show git log in preview of files inside some repository
4186                au DirEnter '~/git-repo/**/*' setl previewprg='git log --color -- %c 2>&1'
4187
4188       'quickview'
4189              type: boolean
4190              default: false
4191              Whether quick view (:view) is currently active or not.
4192
4193       'relativenumber' 'rnu'
4194              type: boolean
4195              default: false
4196              scope: local
4197              Print  relative  line  number  in  front  of each file name when
4198              'lsview' option is turned off.   Use  'numberwidth'  to  control
4199              width  of  line  number.   Various  combinations of 'number' and
4200              'relativenumber' lead to such results:
4201
4202                                      nonumber               number
4203
4204                  norelativenumber   | first                |   1 first
4205                                     | second               |   2 second
4206                                     | third                |   3 third
4207
4208                    relativenumber   |   1 first            |   1 first
4209                                     |   0 second           |2    second
4210                                     |   1 third            |   1 third
4211
4212
4213       'rulerformat' 'ruf'
4214              type: string
4215              default: "%l/%S "
4216              Determines the content of the ruler.  Its minimal  width  is  13
4217              characters  and  it's  right aligned.  Following macros are sup‐
4218              ported:
4219               %=  - separation point between left and right aligned halves of
4220              the line
4221               %l  - file number
4222               %L   -  total  number  of files in view (including filtered out
4223              ones)
4224               %x  - number of files excluded by filters
4225               %0- - old name for %x macro
4226               %P  - percentage through file list (All, Top, xx% or Bot),  al‐
4227              ways 3 in length
4228               %S  - number of displayed files
4229               %=  - separation point between left and right align items
4230               %%  - literal percent sign
4231               %[  - designates beginning of an optional block
4232               %]  - designates end of an optional block
4233
4234              Percent  sign  can  be followed by optional minimum field width.
4235              Add '-' before minimum field width if you want field to be right
4236              aligned.
4237
4238              Optional  blocks are ignored unless at least one macro inside of
4239              them is expanded to a non-empty value.
4240
4241              Example:
4242
4243                set rulerformat='%2l-%S%[ +%x%]'
4244
4245       'runexec'
4246              type: boolean
4247              default: false
4248              Run executable file on Enter, l or Right Arrow  key.   Behaviour
4249              of the last two depends on the value of the 'lsview' option.
4250
4251       'scrollbind' 'scb'
4252              type: boolean
4253              default: false
4254              When  this  option  is  set, vifm will try to keep difference of
4255              scrolling positions of two windows constant.
4256
4257       'scrolloff' 'so'
4258              type: integer
4259              default: 0
4260              Minimal number of screen lines to keep above and below the  cur‐
4261              sor.   If you want cursor line to always be in the middle of the
4262              view (except at the beginning or end of the file list), set this
4263              option to some large value (e.g. 999).
4264
4265       'sessionoptions' 'ssop'
4266              sessionoptions ssop
4267              type: set
4268              default: tui,state,tabs,savedirs,dhistory
4269              An  equivalent of 'vifminfo' for sessions, uses the same values.
4270              When both options include the same value, data from session file
4271              has  higher  priority (data from vifminfo isn't necessarily com‐
4272              pletely discarded, instead it's merged with the state of a  ses‐
4273              sion  the  same  way  state  of  multiple instances is merged on
4274              exit).
4275
4276       'shell' 'sh'
4277              type: string
4278              default: $SHELL or "/bin/sh" or "cmd" (on MS-Windows)
4279              Full path to the shell to use to run external commands.  On *nix
4280              a shell argument can be supplied.
4281
4282       'shellcmdflag' 'shcf'
4283              type: string
4284              default: "-c" or "/C" (for cmd.exe on MS-Windows)
4285              Command-line  option  used  to  pass a command to 'shell'.  It's
4286              used in contexts where command comes from the user.
4287
4288              Note that using this option to force  interactive  mode  of  the
4289              shell  is  most  likely a BAD IDEA.  In general interactive host
4290              and interactive child shell can't share the same  terminal  ses‐
4291              sion.   You can't even run such a shell in background.  Consider
4292              writing a wrapper for your shell that preloads aliases and  com‐
4293              mands  without  making the shell interactive and ending up using
4294              it in a way it was not meant to be used.
4295
4296              Note that this option is ignored when 'shell' is set  to  Power‐
4297              Shell due to the internal use of `-encodedCommand`.
4298
4299       'shortmess' 'shm'
4300              type: charset
4301              default: "p"
4302              Contains  a  sequence  of single-character flags.  Each flag en‐
4303              ables shortening of some message displayed by vifm in  the  TUI.
4304              Flags:
4305               -  L  - display only last directory in tab line instead of full
4306              path.
4307               - M - shorten titles in windows of terminal  multiplexers  cre‐
4308              ated by vifm down to file name instead of using full path.
4309               -  T  -  truncate status-bar messages in the middle if they are
4310              too long to fit on the command line.  "..." will appear  in  the
4311              middle.
4312               - p - use tilde shortening in view titles.
4313
4314
4315       'showtabline' 'stal'
4316              type: enumeration
4317              default: multiple
4318              Specifies when tab line should be displayed.  Possible values:
4319               - never    - never display tab line
4320               -  multiple  -  show  tab line only when there are at least two
4321              tabs
4322               - always   - display tab line always
4323
4324              Alternatively 0, 1 and 2 Vim-like values  are also accepted  and
4325              correspond to "never", "multiple" and "always" respectively.
4326
4327
4328       'sizefmt'
4329              type: string list
4330              default: "units:iec"
4331              Configures the way size is formatted in human-friendly way.
4332
4333                  item          value         meaning
4334                  units:         iec            Use 1024 byte units (K or KiB,
4335              etc.).
4336                                              See 'iec' option.
4337                                si            Use 1000 byte units (KB, etc.).
4338                  precision:    i > 0         How many fraction digits to con‐
4339              sider.
4340                                {not  set}     Precision of 1 for integer part
4341              < 10,
4342                                              0 otherwise (provides old behav‐
4343              iour).
4344                  space          {present}      Insert  space before unit sym‐
4345              bols.
4346                                              This is the default.
4347                  nospace       {present}     Do not insert space before  unit
4348              symbols.
4349
4350              Numbers are rounded from zero.  Trailing zeros are dropped.
4351
4352              Example:
4353
4354                set sizefmt=units:iec,precision:2,nospace
4355
4356
4357       'slowfs'
4358              type: string list
4359              default: ""
4360              only for *nix
4361              A  list of mounter fs name beginnings (first column in /etc/mtab
4362              or /proc/mounts) or paths prefixes for fs/directories that  work
4363              too  slow  for  you.   This option can be used to stop vifm from
4364              making some requests to particular kinds of  file  systems  that
4365              can  slow  down file browsing.  Currently this means don't check
4366              if directory has changed, skip check if target of symbolic links
4367              exists,  assume  that link target located on slow fs to be a di‐
4368              rectory (allows entering directories and navigating to files via
4369              gf).  If you set the option to "*", it means all the systems are
4370              considered slow (useful for cygwin, where all the  checks  might
4371              render vifm very slow if there are network mounts).
4372
4373              Example for autofs root /mnt/autofs:
4374
4375                set slowfs+=/mnt/autofs
4376
4377       'smartcase' 'scs'
4378              type: boolean
4379              default: false
4380              Overrides  the  ignorecase option if a pattern contains at least
4381              one upper case character.  Only used when 'ignorecase' option is
4382              enabled.
4383
4384       'sort' type: string list
4385              default: +name on *nix and +iname on Windows
4386              scope: local
4387              Sets  list of sorting keys (first item is primary key, second is
4388              secondary key, etc.):
4389                 [+-]ext     - extension of files and directories
4390                 [+-]fileext - extension of files only
4391                 [+-]name    - name (including extension)
4392                 [+-]iname   - name (including extension, ignores case)
4393                 [+-]type                -              file              type
4394              (dir/reg/exe/link/char/block/sock/fifo)
4395                 [+-]dir     - directory grouping (directory < file)
4396                 [+-]gid     - group id (*nix only)
4397                 [+-]gname   - group name (*nix only)
4398                 [+-]mode    - file type derived from its mode (*nix only)
4399                 [+-]perms   - permissions string (*nix only)
4400                 [+-]uid     - owner id (*nix only)
4401                 [+-]uname   - owner name (*nix only)
4402                 [+-]nlinks  - number of hard links (*nix only)
4403                 [+-]inode   - inode number (*nix only)
4404                 [+-]size    - size
4405                 [+-]nitems  - number of items in a directory (zero for files)
4406                 [+-]groups  - groups extracted via regexps from 'sortgroups'
4407                 [+-]target   -  symbolic  link  target  (empty for other file
4408              types)
4409                 [+-]atime   - time accessed (e.g., read, executed)
4410                 [+-]ctime   - time changed (changes in metadata, like mode)
4411                 [+-]mtime   - time modified (when file contents is changed)
4412
4413              Note: look for st_atime, st_ctime and st_mtime in "man  2  stat"
4414              for more information on time keys.
4415
4416              '+'  means ascending sort for this key, and '-' means descending
4417              sort.
4418
4419              "dir" key is somewhat similar in this regard but it's added  im‐
4420              plicitly:  when "dir" is not specified, sorting behaves as if it
4421              was the first key in the list.  That's why if one wants  sorting
4422              algorithm to mix directories and files, "dir" should be appended
4423              to sorting option, for example like this:
4424
4425                set sort+=dir
4426
4427              or
4428
4429                set sort=-size,dir
4430
4431              Value of the option is checked to include dir  key  and  default
4432              sorting key (name on *nix, iname on Windows).  Here is what hap‐
4433              pens if one of them is missing:
4434
4435                - type key is added at the beginning;
4436
4437                - default key is added at the end;
4438
4439              all other keys are left untouched (at most they are moved).
4440
4441              This option also changes view columns according to primary sort‐
4442              ing key set, unless 'viewcolumns' option is not empty.
4443
4444       'sortnumbers'
4445              type: boolean
4446              default: false
4447              scope: local
4448              Natural sort of (version) numbers within text.
4449
4450       'sortgroups'
4451              type: string
4452              default: ""
4453              scope: local
4454              Sets  comma-separated list of regular expressions for group type
4455              of sorting.  Double the comma to insert it literally.
4456
4457              The regular expressions are used to extract substrings  of  file
4458              names  to serve as keys for sorting.  It is essentially a way to
4459              ignore uninteresting parts of file names during sorting by name.
4460
4461              Each expression should contain at least one group or  its  value
4462              will  be  considered  to  be always empty.  Also, only the first
4463              match of regular expression is processed.
4464
4465              The first group divides list of files into sub-groups,  each  of
4466              which  is then sorted by substrings extracted using second regu‐
4467              lar expression and so on recursively.
4468
4469              Example:
4470                set sortgroups=-(todo|done).*
4471              this would group files with "-done" in  their  names  and  files
4472              with "-todo" separately.  On ascending sorting, group containing
4473              "-done" would appear before the other one.
4474
4475       'sortorder'
4476              type: enumeration
4477              default: ascending
4478              Sets sort order for primary key: ascending, descending.
4479
4480       'statusline' 'stl'
4481              type: string
4482              default: ""
4483              Determines the content of the status line (the line right  above
4484              command-line).   Empty string means use same format like in pre‐
4485              vious versions.  Following macros are supported:
4486
4487              - %N - line break (increases height of the status  line  accord‐
4488                ingly), ignores %[ %] blocks
4489
4490              - %t - file name (considering value of the 'classify' option)
4491
4492              - %T - symbolic link target (empty for other filetypes)
4493
4494              - %f - file name relative to current directory (considers 'clas‐
4495                sify')
4496
4497              - %A - file attributes (permissions on  *nix  or  properties  on
4498                Windows)
4499
4500              - %u - user name or uid (if it cannot be resolved)
4501
4502              - %g - group name or gid (if it cannot be resolved)
4503
4504              - %s - file size in human readable format
4505
4506              - %E  - size of selected files in human readable format, same as
4507                %s when no files are selected, except that it will never  show
4508                size of ../ in visual mode, since it cannot be selected
4509
4510              - %d - file modification date (uses 'timefmt' option)
4511
4512              - %D - path of the other pane for single-pane layout
4513
4514              - %a - amount of free space available on current FS
4515
4516              - %c - size of current FS
4517
4518              - %z  -  short  tips/tricks/hints that chosen randomly after one
4519                minute period
4520
4521              - %{<expr>} - evaluate arbitrary vifm expression '<expr>',  e.g.
4522                '&sort'
4523
4524              - %*  -  resets or applies one of User1..User9 highlight groups;
4525                reset happens when width field is 0 or not specified,  one  of
4526                groups  gets picked when width field is in the range from 1 to
4527                9
4528
4529              - all 'rulerformat' macros
4530
4531              Percent sign can be followed by optional  minimum  field  width.
4532              Add '-' before minimum field width if you want field to be right
4533              aligned.
4534
4535              On Windows file properties include the  following  flags  (upper
4536              case means flag is on):
4537               A - archive
4538               H - hidden
4539               I - content isn't indexed
4540               R - readonly
4541               S - system
4542               C - compressed
4543               D - directory
4544               E - encrypted
4545               P - reparse point (e.g. symbolic link)
4546               Z - sparse file
4547
4548              Example without colors:
4549
4550                set statusline="  %t%= %A %10u:%-7g %15s %20d %{&sort} "
4551
4552              Example with colors:
4553
4554               highlight User1 ctermbg=yellow
4555               highlight User2 ctermbg=blue ctermfg=white cterm=bold
4556               set statusline="%1* %-26t %2* %= %1* %A %2* %7u:%-7g %1* %-5s %2* %d "
4557
4558
4559       'suggestoptions'
4560              type: string list
4561              default:
4562              Controls  when, for what and how suggestions are displayed.  The
4563              following values are available:
4564               - normal          - in normal mode;
4565               - visual          - in visual mode;
4566               - view            - in view mode;
4567               - otherpane       - use other pane to display suggestions, when
4568              available;
4569               - delay[:num]     - display suggestions after a small delay (to
4570              do not annoy if you just want to type a fast shortcut consisting
4571              of  multiple  keys),  num  specifies the delay in ms (500 by de‐
4572              fault), 'timeoutlen' at most;
4573               - keys            - include shortcuts (commands and selectors);
4574               - foldsubkeys     - fold multiple keys with common prefix;
4575               - marks           - include marks;
4576               - registers[:num] - include registers, at most num files (5  by
4577              default).
4578
4579       'syncregs'
4580              type: string
4581              default:
4582              Specifies  identifier of group of instances that share registers
4583              between each other.  When several instances of  vifm  have  this
4584              option  set  to  identical value, they automatically synchronize
4585              contents of their registers on operations which use them.
4586
4587       'syscalls'
4588              type: boolean
4589              default: false
4590              When disabled, vifm will rely on external applications  to  per‐
4591              form file-system operations, otherwise system calls are used in‐
4592              stead (much faster and supports progress tracking).  The  option
4593              should  eventually be removed.  Mostly *nix-like systems are af‐
4594              fected.
4595
4596       'tablabel'
4597              type: string
4598              default: ""
4599              When non-empty, determines format of the main part of  a  single
4600              tab's label.
4601
4602              When  empty,  tab label is set to either tab name for named tabs
4603              or to view title (usually current path) for unnamed tabs.
4604
4605              The following macros can appear in the  format  (see  below  for
4606              what a flag is):
4607
4608              - %C      - flag of a current tab
4609
4610              - %N      - number of the tab
4611
4612              - %T      - flag of a tree mode
4613
4614              - %c      - description of a custom view
4615
4616              - %n      - name of the tab
4617
4618              - %p      - path of the view (handles filename modifiers)
4619
4620              - %t      - title of the view (affected by 'shortmess' flags)
4621
4622              - %%      - literal percent sign
4623
4624              - %[      - designates beginning of an optional block
4625
4626              - %]      - designates end of an optional block
4627
4628              - %*, %0* - resets highlighting
4629
4630              - %1-%9   - applies one of User1..User9 highlight groups
4631
4632              In global tabs the view in bullets above refers to currently ac‐
4633              tive view of that tab.
4634
4635              Flag macros are a special kind of macros that always  expand  to
4636              an empty value and are ment to be used inside optional blocks to
4637              control their visibility.
4638
4639              Optional blocks are ignored unless at least one macro inside  of
4640              them is expanded to a non-empty value or is a set flag macro.
4641
4642                " %[(%n)%]        -- optional name of the tab
4643                " %[              -- optional description of the view
4644                "   %[%T{tree}%]  -- mark of tree mode
4645                "   %[{%c}%]      -- description of custom view
4646                "   @             -- just an extra separator before the path
4647                ' %]
4648                " %p:t            -- tail part of view's location
4649                set tablabel=%[(%n)%]%[%[%T{tree}%]%[{%c}%]@%]%p:t
4650
4651       'tabprefix'
4652              type: string
4653              default: "[%N:"
4654              Determines  prefix  of a tab's label.  Formatting is done as for
4655              'tablabel' option.
4656
4657       'tabscope'
4658              type: enumeration
4659              default: global
4660              Picks style of tabs, which defines what a single  tab  contains.
4661              Possible values:
4662               -  global - tab describes complete UI of two views and how they
4663              are arranged
4664               - pane   - tab is located "inside" a pane and  manages  it  and
4665              quick view
4666
4667       'tabstop' 'ts'
4668              type: integer
4669              default: value from curses library
4670              Number of spaces that a Tab in the file counts for.
4671
4672       'tabsuffix'
4673              type: string
4674              default: "]"
4675              Determines  suffix  of a tab's label.  Formatting is done as for
4676              'tablabel' option.
4677
4678       'timefmt'
4679              type: string
4680              default: "%m/%d %H:%M"
4681              Format of time in file list.  See "man 1 date" or "man  3  strf‐
4682              time" for details.
4683
4684       'timeoutlen' 'tm'
4685              type: integer
4686              default: 1000
4687              The time in milliseconds that is waited for a mapped key in case
4688              of already typed key sequence is ambiguous.
4689
4690       'title'
4691              type: boolean
4692              default: true when title can be restored, false otherwise
4693              When enabled, title of the terminal  or  terminal  multiplexer's
4694              window  is  updated  according to current location.  Because not
4695              all terminals support setting title, this works only if  `$TERM`
4696              value matches one of the following conditions:
4697               - equals "xterm" or starts with "xterm-"
4698               - equals "rxvt" or starts with "rxvt-"
4699               - equals "screen" or starts with "screen-"
4700               - equals "aterm"
4701               - equals "Eterm"
4702
4703       'trash'
4704              type: boolean
4705              default: true
4706              Use trash directory.  See "Trash directory" section below.
4707
4708       'trashdir'
4709              type: string
4710              default: on *nix:
4711                 "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash"
4712                 or if $VIFM/Trash doesn't exist
4713                 "%r/.vifm-Trash-%u,$XDG_DATA_HOME/vifm/Trash,%r/.vifm-Trash"
4714                       on Windows:
4715                 "%r/.vifm-Trash,$XDG_DATA_HOME/vifm/Trash"
4716              List of trash directory path specifications, separated with com‐
4717              mas.  Each list item either defines an absolute  path  to  trash
4718              directory or a path relative to a mount point root when list el‐
4719              ement starts with "%r/".  Value of the option can contain  envi‐
4720              ronment  variables  (of form "$envname"), which will be expanded
4721              (prepend $ with a  slash  to  prevent  expansion).   Environment
4722              variables are expanded when the option is set.
4723
4724              On  *nix,  if  element ends with "%u", the mark is replaced with
4725              real user ID and permissions are set  so  that  only  that  only
4726              owner is able to use it.
4727              Note that even this setup is not completely secure when combined
4728              with "%r/" and it's overall safer to keep files in  home  direc‐
4729              tory, but that implies cost of copying files between partitions.
4730
4731              When  new file gets cut (deleted) vifm traverses each element of
4732              the option in the order of their appearance and uses first trash
4733              directory  that  it  was  able  to  create  or  that  is already
4734              writable.
4735
4736              Default value tries to use trash directory per mount  point  and
4737              falls back to ~/.vifm/Trash on failure.
4738
4739              Will  attempt to create the directory if it does not exist.  See
4740              "Trash directory" section below.
4741
4742       'tuioptions' 'to'
4743              type: charset
4744              default: "psv"
4745              Each flag configures some aspect of TUI appearance.   The  flags
4746              are:
4747              p - when included:
4748                *  file  list  inside  a pane gets additional single character
4749              padding on left and right sides;
4750                * quick view and view mode get single character padding.
4751              s - when included, left and right borders (side  borders,  hence
4752              "s" character) are visible.
4753              u  - use Unicode characters in the TUI (Unicode ellipsis instead
4754              of "...").
4755              v - vary width of middle border to equalize view sizes.
4756
4757              Each pane title contains the path of the listed  directory.   If
4758              too large, the path is truncated on the left for the active pane
4759              and on the right for the other pane.  This can be modified with:
4760
4761              l - truncation is always on the left.
4762              r - truncation is always on the right.
4763
4764       'undolevels' 'ul'
4765              type: integer
4766              default: 100
4767              Maximum number of changes that can be undone.   Note  that  here
4768              single  file  operation  is  used as a unit, not operation, i.e.
4769              deletion of 101 files will exceed default limit.
4770
4771       'vicmd'
4772              type: string
4773              default: "vim"
4774              Command used to edit files in various contexts.  Ampersand  sign
4775              at  the  end  (regardless whether it's preceded by space or not)
4776              means backgrounding of command.
4777
4778              Background flag is ignored in certain context where  vifm  waits
4779              for  the  editor  to  finish.  Such contexts include any command
4780              that spawns editor to change list of file names  or  a  command,
4781              with  :rename  being one example.  `-f` is also appended to pre‐
4782              vent forking in such cases, so the command needs to  handle  the
4783              flag.
4784
4785              Additionally  `+{num}` and `+'call cursor()'` arguments are used
4786              to position cursor when location is known.
4787
4788       'viewcolumns'
4789              type: string
4790              default: ""
4791              scope: local
4792              Format string containing list of columns in the view.  When this
4793              option  is  empty, view columns to show are chosen automatically
4794              using sorting keys (see 'sort') as a base.  Value of this option
4795              is  ignored if 'lsview' is set.  See "Column view" section below
4796              for format description.
4797
4798              An example of setting the options for both  panes  (note  :windo
4799              command):
4800
4801                windo set viewcolumns=-{name}..,6{size},11{perms}
4802
4803       'vixcmd'
4804              type: string
4805              default: value of 'vicmd'
4806              Same  as  'vicmd', but takes precedence over it when running in‐
4807              side a graphical environment.
4808
4809       'vifminfo'
4810              type: set
4811              default: bookmarks,bmarks
4812              Controls what will be saved in the $VIFM/vifminfo file.
4813
4814                 bmarks    - named bookmarks (see :bmark command)
4815                 bookmarks - marks, except special ones like '< and '>
4816                 tui       - state of the user interface (sorting,  number  of
4817              windows, quick
4818                             view state, active view)
4819                 dhistory  - directory history
4820                 state     - file name and dot filters and terminal multiplex‐
4821              ers integration
4822                             state
4823                 cs        - primary color scheme
4824                 savedirs  - save last visited directory
4825                 chistory  - command line history
4826                 shistory  - search history (/ and ? commands)
4827                 phistory  - prompt history
4828                 fhistory  - history of local filter (see description  of  the
4829              "=" normal mode
4830                             command)
4831                 dirstack  - directory stack overwrites previous stack, unless
4832              stack of
4833                             current instance is empty
4834                 registers - registers content
4835                 tabs      - global or pane tabs
4836                 options   - all options that can be set with the :set command
4837              (obsolete)
4838                 filetypes - associated programs and viewers (obsolete)
4839                 commands   - user defined commands (see :command description)
4840              (obsolete)
4841
4842       'vimhelp'
4843              type: boolean
4844              default: false
4845              Use vim help format.
4846
4847       'wildmenu' 'wmnu'
4848              type: boolean
4849              default: false
4850              Controls whether possible matches of completion  will  be  shown
4851              above the command line.
4852
4853       'wildstyle'
4854              type: enumeration
4855              default: bar
4856              Picks presentation style of wild menu.  Possible values:
4857               - bar   - one-line with left-to-right cursor
4858               - popup - multi-line with top-to-bottom cursor
4859
4860       'wordchars'
4861              type: string list
4862              default:  "1-8,14-31,33-255" (that is all non-whitespace charac‐
4863              ters)
4864              Specifies which characters in command-line mode should  be  con‐
4865              sidered  as  part of a word.  Value of the option is comma-sepa‐
4866              rated list of ranges.  If both endpoints of a range match,  sin‐
4867              gle  endpoint  is enough (e.g. "a" = "a-a").  Both endpoints are
4868              inclusive.  There are two accepted forms: character representing
4869              itself  or  number  encoding character according to ASCII table.
4870              In case of ambiguous characters (dash, comma, digit) use numeric
4871              form.   Accepted characters are in the range from 0 to 255.  Any
4872              Unicode character with code greater than 255 is considered to be
4873              part of a word.
4874
4875              The option affects Alt-D, Alt-B and Alt-F, but not Ctrl-W.  This
4876              is intentionally to allow two use cases:
4877
4878               - Moving by WORDS and deletion by words.
4879               - Moving by words and deletion by WORDS.
4880
4881              To get the latter use the following mapping:
4882
4883                cnoremap <c-w> <a-b><a-d>
4884
4885              Also used for abbreviations.
4886
4887       'wrap' type: boolean
4888              default: true
4889              Controls whether to wrap text in quick view.
4890
4891       'wrapscan' 'ws'
4892              type: boolean
4893              default: true
4894              Searches wrap around end of the list.
4895

Mappings

4897       Map arguments
4898
4899       LHS of mappings can be preceded by arguments which  take  the  form  of
4900       special sequences:
4901
4902       <silent>
4903              Postpone UI updates until RHS is completely processed.
4904
4905       <wait> In  case  of builtin mapping causing conflict for a user-defined
4906              mapping (e.g., `t` builtin to a partially  typed  `ta`  user-de‐
4907              fined  mapping),  ignore  the builtin mapping and wait for input
4908              indefinitely as opposed to default behaviour of  triggering  the
4909              builtin mapping after a delay defined by 'timeoutlen'.  Example:
4910
4911                nnoremap <wait> tw :set wrap!<cr>
4912                nnoremap <wait> tn :set number!<cr>
4913                nnoremap <wait> tr :set relativenumber!<cr>
4914
4915       Special sequences
4916
4917       Since  it's not easy to enter special characters there are several spe‐
4918       cial sequences that can be used in place of them.  They are:
4919
4920       <cr>   Enter key.
4921
4922       <esc>  Escape key.
4923
4924       <space>
4925              Space key.
4926
4927       <lt>   Less-than character (<).
4928
4929       <nop>  provides a way to disable a mapping (by mapping it to <nop>).
4930
4931       <bs>   Backspace key (see key conflict description below).
4932
4933       <tab> <s-tab>
4934              Tabulation and Shift+Tabulation keys.
4935
4936       <home> <end>
4937              Home/End.
4938
4939       <left> <right> <up> <down>
4940              Arrow keys.
4941
4942       <pageup> <pagedown>
4943              PageUp/PageDown.
4944
4945       <del> <delete>
4946              Delete key.   <del>  and  <delete>  mean  different  codes,  but
4947              <delete> is more common.
4948
4949       <insert>
4950              Insert key.
4951
4952       <c-a>,<c-b>,...,<c-z>,<c-[>,<c->,<c-]>,<c-^>,<c-_>
4953              Control + some key (see key conflict description below).
4954
4955       <c-@>  only for *nix
4956              Control + Space.
4957
4958       <a-a>,<a-b>,...,<a-z>
4959              <m-a>,<m-b>,...,<m-z> Alt + some key.
4960
4961       <a-c-a>,<a-c-b>,...,<a-c-z>
4962              <m-c-a>,<m-c-b>,...,<m-c-z> only for *nix
4963              Alt + Ctrl + some key.
4964
4965       <f0> - <f63>
4966              Functional keys.
4967
4968       <c-f1> - <c-f12>
4969              only for MS-Windows
4970              functional keys with Control key pressed.
4971
4972       <a-f1> - <a-f12>
4973              only for MS-Windows
4974              functional keys with Alt key pressed.
4975
4976       <s-f1> - <s-f12>
4977              only for MS-Windows
4978              functional keys with Shift key pressed.
4979
4980       Note  that  due  to the way terminals process their input, several key‐
4981       board keys might be mapped to single key code, for example:
4982
4983         - <cr> and <c-m>;
4984
4985         - <tab> and <c-i>;
4986
4987         - <c-h> and <bs>;
4988
4989         - etc.
4990
4991       Most of the time they are defined consistently  and  don't  cause  sur‐
4992       prises,  but  <c-h> and <bs> are treated differently in different envi‐
4993       ronments (although they match each other all the time), that's why they
4994       correspond to different keys in vifm.  As a consequence, if you map <c-
4995       h> or <bs> be sure to repeat the mapping with the other one so that  it
4996       works  in all environments.  Alternatively, provide your mapping in one
4997       form and add one of the following:
4998
4999         " if mappings with <c-h> in the LHS work
5000         map <c-h> <bs>
5001         " if mappings with <bs> in the LHS work
5002         map <bs> <c-h>
5003
5004       Whitespace
5005
5006       vifm removes whitespace characters at the beginning  and  end  of  com‐
5007       mands.   That's  why  you  may want to use <space> at the end of rhs in
5008       mappings.  For example:
5009
5010         cmap <f1> man<space>
5011
5012       will put "man " in line when you hit the <f1> key in the  command  line
5013       mode.
5014

Expression syntax

5016       Supported expressions is a subset of what VimL provides.
5017
5018       Expression syntax summary, from least to most significant:
5019
5020       expr1      expr2
5021                  expr2 || expr2 ..       logical OR
5022
5023       expr2      expr3
5024                  expr3 && expr3 ..       logical AND
5025
5026       expr3      expr4
5027                  expr4 == expr4          equal
5028                  expr4 != expr4          not equal
5029                  expr4 >  expr4          greater than
5030                  expr4 >= expr4          greater than or equal
5031                  expr4 <  expr4          smaller than
5032                  expr4 <= expr4          smaller than or equal
5033
5034       expr4      expr5
5035                  expr5 + expr5 ..        number addition
5036                  expr5 - expr5 ..        number subtraction
5037
5038       expr5      expr6
5039                  expr6 . expr6 ..        string concatenation
5040
5041       expr6      expr7
5042                  - expr6                 unary minus
5043                  + expr6                 unary plus
5044                  ! expr6                 logical NOT
5045
5046       expr7      number                  number constant
5047                  "string"                string constant, \ is special
5048                  'string'                string constant, ' is doubled
5049                  &option                 option value
5050                  $VAR                    environment variable
5051                  v:var                   builtin variable
5052                  function(expr1, ...)    function call
5053                  (expr1)                 nested expression
5054
5055       ".." indicates that the operations in this level can be concatenated.
5056
5057       expr1
5058       -----
5059       expr2 || expr2
5060
5061       Arguments are converted to numbers before evaluation.
5062
5063       Result is non-zero if at least one of arguments is non-zero.
5064
5065       It's  right  associative  and with short-circuiting, so sub-expressions
5066       are evaluated from left to right until result of  whole  expression  is
5067       determined (i.e., until first non-zero) or end of the expression.
5068
5069       expr2
5070       -----
5071       expr3 && expr3
5072
5073       Arguments are converted to numbers before evaluation.
5074
5075       Result is non-zero only if both arguments are non-zero.
5076
5077       It's  right  associative  and with short-circuiting, so sub-expressions
5078       are evaluated from left to right until result of  whole  expression  is
5079       determined (i.e., until first zero) or end of the expression.
5080
5081       expr3
5082       -----
5083       expr4 {cmp} expr4
5084
5085       Compare  two  expr4  expressions,  resulting  in a 0 if it evaluates to
5086       false or 1 if it evaluates to true.
5087
5088       equal                   ==
5089       not equal               !=
5090       greater than            >
5091       greater than or equal   >=
5092       smaller than            <
5093       smaller than or equal   <=
5094
5095       Examples:
5096
5097         'a' ==  'a'         == 1
5098         'a' >   'b'         == 1
5099         'a' ==  'b'         == 0
5100         '2' >   'b'         == 0
5101          2  >   'b'         == 1
5102          2  >   '1b'        == 1
5103          2  >   '9b'        == 0
5104         -1  == -'1'         == 1
5105          0  ==  '--1'       == 1
5106
5107       expr4
5108       -----
5109       expr5 + expr5 ..     number addition expr5 - expr5 ..      number  sub‐
5110       traction
5111
5112       Examples:
5113
5114         1 + 3 - 3          == 1
5115         1 + '2'            == 3
5116
5117       expr5
5118       -----
5119       expr6 . expr6 ..     string concatenation
5120
5121       Examples:
5122
5123         'a' . 'b'           == 'ab'
5124         'aaa' . '' . 'c'    == 'aaac'
5125
5126       expr6
5127       -----
5128
5129       - expr6              unary minus
5130       + expr6              unary plus
5131       ! expr6              logical NOT
5132
5133       For '-' the sign of the number is changed.
5134       For '+' the number is unchanged.
5135       For '!' non-zero becomes zero, zero becomes one.
5136
5137       A String will be converted to a Number first.
5138
5139       These operations can be repeated and mixed.  Examples:
5140
5141          --9                == 9
5142         ---9                == -9
5143          -+9                == 9
5144          !-9                == 0
5145          !''                == 1
5146         !'x'                == 0
5147          !!9                == 1
5148
5149       expr7
5150       -----
5151
5152       number               number constant
5153       -----
5154
5155       Decimal number.  Examples:
5156
5157         0                   == 0
5158         0000                == 0
5159         01                  == 1
5160         123                 == 123
5161         10000               == 10000
5162
5163       string
5164       ------
5165       "string"             string constant
5166
5167       Note that double quotes are used.
5168
5169       A string constant accepts these special characters:
5170         \b      backspace <bs>
5171         \e      escape <esc>
5172         \n      newline
5173         \r      return <cr>
5174         \t      tab <tab>
5175         \\      backslash
5176         \"      double quote
5177
5178       Examples:
5179
5180         "\"Hello,\tWorld!\""
5181         "Hi,\nthere!"
5182
5183       literal-string
5184       --------------
5185       'string'             string constant
5186
5187       Note that single quotes are used.
5188
5189       This  string  is  taken as it is.  No backslashes are removed or have a
5190       special meaning.  The only exception is that two quotes stand  for  one
5191       quote.
5192
5193       Examples:
5194
5195         'All\slashes\are\saved.'
5196         'This string contains doubled single quotes ''here'''
5197
5198       option
5199       ------
5200       &option                option value (local one is preferred, if exists)
5201       &g:option             global option value  &l:option              local
5202       option value
5203
5204       Examples:
5205
5206         echo 'Terminal size: '.&columns.'x'.&lines
5207         if &columns > 100
5208
5209       Any  valid  option name can be used here (note that "all" in ":set all"
5210       is a pseudo option).  See ":set options" section above.
5211
5212       environment variable
5213       --------------------
5214       $VAR                  environment variable
5215
5216       The String value of any environment variable.  When it is not  defined,
5217       the result is an empty string.
5218
5219       Examples:
5220
5221         'This is my $PATH env: ' . $PATH
5222         'vifmrc at ' . $MYVIFMRC . ' is used.'
5223
5224       builtin variable
5225       --------------------
5226       v:var                 builtin variable
5227
5228       Information exposed by vifm for use in scripting.
5229
5230       v:count
5231         count  passed to : command, 0 by default.  Can be used in mappings to
5232       passthe count to a different command.
5233       v:count1
5234         same as v:count, but 1 by default.
5235       v:jobcount
5236         number of active jobs (as can be seen in the :jobs menu).
5237       v:session
5238         name of the current session or empty string.
5239       v:servername
5240         See below.
5241
5242       function call
5243       -------------
5244       function(expr1, ...)  function call
5245
5246       See "Functions" section below.
5247
5248       Examples:
5249
5250         "'" . filetype('.') . "'"
5251         filetype('.') == 'reg'
5252
5253       expression nesting
5254       ------------------
5255       (expr1)               nested expression
5256
5257       Groups any other expression of arbitrary complexity enforcing order  in
5258       which operators are applied.
5259
5260

Functions

5262       USAGE                 RESULT      DESCRIPTION
5263
5264       chooseopt({opt})       String       Queries choose parameters passed on
5265       startup.
5266       executable({expr})    Integer     Checks whether {expr} command  avail‐
5267       able.
5268       expand({expr})        String      Expands special keywords in {expr}.
5269       extcached({cache}, {path}, {extcmd})
5270                             String      Caches output of {extcmd} per {cache}
5271       and
5272                                         {path} combination.
5273       filetype({fnum} [, {resolve}])
5274                             String      Returns file type from position.
5275       fnameescape({expr})   String      Escapes {expr} for use in a :command.
5276       getpanetype()         String      Returns type of current pane.
5277       has({property})       Integer     Checks whether  instance  has  {prop‐
5278       erty}.
5279       layoutis({type})       Integer      Checks  whether  layout  is of type
5280       {type}.
5281       paneisat({loc})       Integer     Checks whether  current  pane  is  at
5282       {loc}.
5283       system({command})      String       Executes  shell command and returns
5284       its output.
5285       tabpagenr([{arg}])    Integer     Returns number  of  current  or  last
5286       tab.
5287       term({command})        String       Like  system(), but for interactive
5288       commands.
5289
5290       chooseopt({opt})
5291
5292       Retrieves values of options related to file choosing.  {opt} can be one
5293       of:
5294           files      returns argument of --choose-files or empty string
5295           dir        returns argument of --choose-dir or empty string
5296           cmd        returns argument of --on-choose or empty string
5297           delimiter  returns argument of --delimiter or the default one (\n)
5298
5299       executable({expr})
5300
5301       If {expr} is absolute or relative path, checks whether path destination
5302       exists and refers to an executable, otherwise  checks  whether  command
5303       named  {expr}  is  present  in directories listed in $PATH.  Checks for
5304       various executable extensions on Windows.  Returns  boolean  value  de‐
5305       scribing result of the check.
5306
5307       Example:
5308
5309         " use custom default viewer script if it's available and installed
5310         " in predefined system directory, otherwise try to find it elsewhere
5311         if executable('/usr/local/bin/defviewer')
5312             fileview * /usr/local/bin/defviewer %c
5313         else
5314             if executable('defviewer')
5315                 fileview * defviewer %c
5316             endif
5317         endif
5318
5319       expand({expr})
5320
5321       Expands  environment variables and macros in {expr} just like it's done
5322       for command-line commands.  Returns a  string.   See  "Command  macros"
5323       section above.
5324
5325       Examples:
5326
5327         " percent sign
5328         :echo expand('%%')
5329         " the last part of directory name of the other pane
5330         :echo expand('%D:t')
5331         " $PATH environment variable (same as `:echo $PATH`)
5332         :echo expand('$PATH')
5333
5334       extcached({cache}, {path}, {extcmd})
5335
5336       Caches  value of {extcmd} external command automatically updating it as
5337       necessary based on monitoring change date of a {path}.   The  cache  is
5338       invalidated  when  file or its meta-data is updated.  A single path can
5339       have multiple caches associated with it.
5340
5341       {path} value is normalized, but symbolic links in it aren't resolved.
5342
5343       Example:
5344
5345         " display number and size of blocks actually used by a file or directory
5346         set statusline+=" Uses: %{ extcached('uses',
5347                                             expand('%c'),
5348                                             expand('stat --format=%%bx%%B %c')) }"
5349
5350       filetype({fnum} [, {resolve}])
5351
5352       The result is a string, which represents file type and is  one  of  the
5353       list:
5354           exe     executables
5355           reg     regular files
5356           link    symbolic links
5357           broken  broken symbolic links (appears only when resolving)
5358           dir     directories
5359           char    character devices
5360           block   block devices
5361           fifo    pipes
5362           sock    *nix domain sockets
5363           ?       unknown file type (should not normally happen) or
5364                   non-file (pseudo-entries in compare view)
5365
5366       The result can also be an empty string in case of invalid argument.
5367
5368       Parameter {fnum} can have following values:
5369           - '.' to get type of file under the cursor in the active pane
5370           - numerical value base 1 to get type of file on specified line num‐
5371       ber
5372
5373       Optional parameter {resolve} is treated  as  a  boolean  and  specifies
5374       whether symbolic links should be resolved.
5375
5376       fnameescape({expr})
5377
5378       Escapes parameter to make it suitable for use as an argument of a :com‐
5379       mand.  List of escaped characters includes %, which is doubled.
5380
5381       Usage example:
5382
5383         " navigate to most recently modified file in current directory
5384         execute 'goto' fnameescape(system('ls -t | head -1'))
5385
5386       getpanetype()
5387
5388       Retrieves string describing type of current pane.  Possible return val‐
5389       ues:
5390           regular      regular file listing of some directory
5391           custom       custom file list (%u)
5392           very-custom  very custom file list (%U)
5393           tree         tree view
5394
5395       has({property})
5396
5397       Allows  examining  internal  parameters from scripts to e.g. figure out
5398       environment in which application is running.  Returns 1 if property  is
5399       true/present, otherwise 0 is returned.  Currently the following proper‐
5400       ties are supported (anything else will yield 0):
5401           unix  runs in *nix-like environment (including Cygwin)
5402           win   runs on Windows
5403
5404       Usage example:
5405
5406         " skip user/group on Windows
5407         if !has('win')
5408             let $RIGHTS = '%10u:%-7g '
5409         endif
5410
5411         execute 'set' 'statusline="  %t%= %A '.$RIGHTS.'%15E %20d  "'
5412
5413       layoutis({type})
5414
5415       Checks whether current interface layout is {type} or not, where  {type}
5416       can be:
5417           only    single-pane mode
5418           split   double-pane mode (either vertical or horizontal split)
5419           vsplit  vertical split (left and right panes)
5420           hsplit  horizontal split (top and bottom panes)
5421
5422       Usage example:
5423
5424         " automatically split vertically before enabling preview
5425         :nnoremap w :if layoutis('only') | vsplit | endif | view!<cr>
5426
5427       paneisat({loc})
5428
5429       Checks whether position of active pane in current layout matches one of
5430       the following locations:
5431           top     pane reaches top border
5432           bottom  pane reaches bottom border
5433           left    pane reaches left border
5434           right   pane reaches right border
5435
5436       system({command})
5437
5438       Runs the command in shell and returns its output (joined standard  out‐
5439       put  and  standard error streams).  All trailing newline characters are
5440       stripped to allow easy appending to command output.  Ctrl-C should  in‐
5441       terrupt the command.
5442
5443       Use this function to consume output of external commands that don't re‐
5444       quire user interaction and term() for interactive  commands  that  make
5445       use of terminal and are capable of handling stream redirection.
5446
5447       Usage example:
5448
5449         " command to enter .git/ directory of git-repository (when ran inside one)
5450         command! cdgit :execute 'cd' fnameescape(system('git rev-parse --git-dir'))
5451
5452       tabpagenr([{arg}])
5453
5454       When  called  without arguments returns number of current tab page base
5455       one.
5456
5457       When called with "$" as an argument returns number of the last tab page
5458       base one, which is the same as number of tabs.
5459
5460       term({command})
5461
5462       Same  as  system()  function, but user interface is shutdown during the
5463       execution of the command, which makes sure  that  external  interactive
5464       applications won't affect the way terminal is used by vifm.
5465
5466       Usage example:
5467
5468         " command to change directory by picking it via fzf
5469         command! fzfcd :execute 'cd'
5470                                fnameescape(term('find -type d | fzf 2> /dev/tty'))
5471
5473       When  navigating  to some path from a menu there is a difference in end
5474       location depending on whether path has trailing slash  or  not.   Files
5475       normally  don't have trailing slashes so "file/" won't work and one can
5476       only navigate to a file anyway.  On the  other  hand  with  directories
5477       there are two options: navigate to a directory or inside of it.  To al‐
5478       low both use cases, the first one is used on paths like "dir"  and  the
5479       second one for "dir/".
5480
5481       Commands
5482
5483       :range navigate to a menu line.
5484
5485       :exi[t][!] :q[uit][!] :x[it][!]
5486              leave menu mode.
5487
5488       :noh[lsearch]
5489              reset search match highlighting.
5490
5491       :w[rite] {dest}
5492              write all menu lines into file specified by {dest}.
5493
5494       General
5495
5496       j, Ctrl-N - move down.
5497       k, Ctrl-P - move up.
5498       Enter, l - select and exit the menu.
5499       Ctrl-L - redraw the menu.
5500
5501       Escape, Ctrl-C, ZZ, ZQ, q - quit.
5502
5503       In all menus
5504
5505       The following set of keys has the same meaning as in normal mode.
5506
5507       Ctrl-B, Ctrl-F
5508       Ctrl-D, Ctrl-U
5509       Ctrl-E, Ctrl-Y
5510       /, ?
5511       n, N
5512       [count]G, [count]gg
5513       H, M, L
5514       zb, zt, zz
5515
5516       zh - scroll menu items [count] characters to the right.
5517       zl - scroll menu items [count] characters to the left.
5518       zH - scroll menu items half of screen width characters to the right.
5519       zL - scroll menu items half of screen width characters to the left.
5520
5521       : - enter command line mode for menus (currently only :exi[t], :q[uit],
5522       :x[it] and :{range} are supported).
5523
5524       b - interpret content of the menu as list of paths and use it to create
5525       custom  view  in  place  of previously active pane.  See "Custom views"
5526       section below.
5527       B - same as above, but creates unsorted view.
5528
5529       v - load menu content into quickfix list of the editor (Vim  compatible
5530       by  assumption)  or  if  list  doesn't have separators after file names
5531       (colons) open each line as a file name.
5532
5533
5534       Below is description of additional commands and reaction  on  selection
5535       in some menus and dialogs.
5536
5537       Apropos menu
5538
5539       Selecting  menu  item  runs man on a given topic.  Menu won't be closed
5540       automatically to allow view several pages one by one.
5541
5542       Command-line mode abbreviations menu
5543
5544       Type dd on an abbreviation to remove it.
5545
5546       c leaves menu preserving file selection and inserts right-hand side  of
5547       selected command into command-line.
5548
5549       Color scheme menu
5550
5551       Selecting  name  of a color scheme applies it the same way as if ":col‐
5552       orscheme <name>" was executed on the command-line.
5553
5554       Commands menu
5555
5556       Selecting command executes it with empty arguments (%a).
5557
5558       dd on a command to remove.
5559
5560       Marks menu
5561
5562       Selecting mark navigates to it.
5563
5564       dd on a mark to remove it.
5565
5566       Bookmarks menu
5567
5568       Selecting a bookmark navigates to it.
5569
5570       Type dd on a bookmark to remove it.
5571
5572       gf and e also work to make it more convenient to bookmark files.
5573
5574       Trash (:lstrash) menu
5575
5576       r on a file name to restore it from trash.
5577
5578       dd deletes file under the cursor.
5579
5580       Trashes (:trashes) menu
5581
5582       dd empties selected trash in background.
5583
5584       Directory history and Trashes menus
5585
5586       Selecting directory name will change directory of the current  view  as
5587       if :cd command was used.
5588
5589       Directory stack menu
5590
5591       Selecting  directory  name  will rotate stack to put selected directory
5592       pair at the top of the stack.
5593
5594       File (:file) menu
5595
5596       Commands from vifmrc or typed in command-line are displayed above empty
5597       line.  All commands below empty line are from .desktop files.
5598
5599       c leaves menu preserving file selection and inserts command after :! in
5600       command-line mode.
5601
5602       Grep, find, locate, bookmarks and user menu with navigation (%M macro)
5603
5604       gf - navigate  previously  active  view  to  currently  selected  item.
5605       Leaves menu mode except for grep menu.  Pressing Enter key has the same
5606       effect.
5607
5608       e - open selected path in the editor, stays in menu mode.
5609
5610       c - leave menu preserving file selection and insert file name after  :!
5611       in command-line mode.
5612
5613       User menu without navigation (%m macro)
5614
5615       c leaves menu preserving file selection and inserts whole line after :!
5616       in command-line mode.
5617
5618       Grep menu
5619
5620       Selecting file (via Enter or l key) opens it in editor set  by  'vicmd'
5621       at  given  line  number.   Menu  won't be closed automatically to allow
5622       viewing more than one result.
5623
5624       See above for "gf" and "e" keys description.
5625
5626       Command-line history menu
5627
5628       Selecting an item executes it as command-line command, search query  or
5629       local filter.
5630
5631       c  leaves menu preserving file selection and inserts line into command-
5632       line of appropriate kind.
5633
5634       Volumes menu
5635
5636       Selecting a drive navigates previously active pane to the root of  that
5637       drive.
5638
5639       Fileinfo dialog
5640
5641       Enter, q - close dialog
5642
5643       Sort dialog
5644
5645       h, Space - switch ascending/descending.
5646       q - close dialog
5647
5648       One shortcut per sorting key (see the dialog).
5649
5650       Attributes (permissions or properties) dialog
5651
5652       h, Space - check/uncheck.
5653       q - close dialog
5654       r - (*nix only) (un)set all read bits
5655       w - (*nix only) (un)set all write bits
5656       x - (*nix only) (un)set all execute bits
5657       s - (*nix only) (un)set all special (SetUID, SetGID, Sticky) bits
5658       e - (*nix only) (un)set recursion (for directories only)
5659
5660       Item states:
5661
5662       - * - checked flag.
5663
5664       - X - means that it has different value for files in selection.
5665
5666       - d  (*nix only) - (only for execute flags) means u-x+X, g-x+X or o-x+X
5667         argument for the chmod program.  If you're not on OS X  and  want  to
5668         remove execute permission bit from all files, but preserve it for di‐
5669         rectories, set all execute flags to 'd' and check  'Set  Recursively'
5670         flag.
5671
5672       Jobs menu
5673
5674       dd requests cancellation of job under cursor.  The job won't be removed
5675       from the list, but marked as being cancelled (if cancellation was  suc‐
5676       cessfully  requested).   A  message  will pop up if the job has already
5677       stopped.  Note that on Windows cancelling external programs  like  this
5678       might not work, because their parent shell doesn't have any windows.
5679
5680       e  key displays errors of selected job if any were collected.  They are
5681       displayed in a new menu, but you can get back to jobs menu by  pressing
5682       h.
5683
5684
5685       Undolist menu
5686
5687       r - reset undo position to group under the cursor.
5688
5689
5690       Media menu
5691
5692       Selecting  a  device  either mounts (if it wasn't mounted yet) or navi‐
5693       gates to its first mount point.
5694
5695       Selecting a mount point navigates to it.
5696
5697       Selecting "not mounted" line causes mounting.
5698
5699       Selecting any other line does nothing.
5700
5701       r - reload the list.
5702
5703       m - mount/unmount device (cursor should be positioned  on  lines  under
5704       device information).
5705
5706       [ - put cursor on the previous device.
5707
5708       ] - put cursor on the next device.
5709
5710
5711       Plugins menu
5712
5713       e  - display  log  messages  of  selected plugin if any were collected.
5714       They are displayed in a new menu, but you can get back to plugins  menu
5715       by pressing h.
5716
5717       gf  -  navigate  previously  active  view  to  the location of selected
5718       plugin.  Leaves menu mode.
5719
5720

Custom views

5722       Definition
5723
5724       Normally file views contain list of files from a single directory,  but
5725       sometimes  it's  useful to populate them with list of files that do not
5726       belong to the same directory, which is what custom views are for.
5727
5728       Presentation
5729
5730       Custom views are still related to directory they were in before  custom
5731       list  was  loaded.   Path to that directory (original directory) can be
5732       seen in the title of a custom view.
5733
5734       Files in same directory have to be named differently, this doesn't hold
5735       for custom views thus seeing just file names might be rather confusing.
5736       In order to give an idea where files come from and when possible, rela‐
5737       tive  paths  to  original directory of the view is displayed, otherwise
5738       full path is used instead.
5739
5740       Custom views normally don't contain any inexistent files.
5741
5742       Navigation
5743
5744       Custom views have some differences related  to  navigation  in  regular
5745       views.
5746
5747       gf  - acts similar to gf on symbolic links and navigates to the file at
5748       its real
5749            location.
5750
5751       h - go to closes parent node in tree  view,  otherwise  return  to  the
5752       original directory.
5753
5754       gh - return to the original directory.
5755
5756       Opening ".." entry also causes return to the original directory.
5757
5758       History
5759
5760       Custom  list exists only while it's visible, once left one can't return
5761       to it, so there is no appearances of it in any history.
5762
5763       Filters
5764
5765       Only local filter affects content of the view.   This  is  intentional,
5766       presumably  if  one loads list, precisely that list should be displayed
5767       (except for inexistent paths, which are ignored).
5768
5769       Search
5770
5771       Although directory names are visible in listing, they are  not  search‐
5772       able.   Only file names are taken into account (might be changed in fu‐
5773       ture, searching whole lines seems quite reasonable).
5774
5775       Sorting
5776
5777       Contrary to search sorting by name works on whole visible part of  file
5778       path.
5779
5780       Highlight
5781
5782       Whole  file name is highlighted as one entity, even if there are direc‐
5783       tory elements.
5784
5785       Updates
5786
5787       Reloads can occur, though they are not automatic  due  to  files  being
5788       scattered  among  different  places.  On a reload, inexistent files are
5789       removed and meta-data of all other files is updated.
5790
5791       Once custom view forgets about the file, it won't add it back  even  if
5792       it's created again.  So not seeing file previously affected by an oper‐
5793       ation, which was undone is normal.
5794
5795       Operations
5796
5797       All operations that add files are forbidden for custom views.  For  ex‐
5798       ample,  moving/copying/putting  files  into a custom view doesn't work,
5799       because it doesn't make much sense.
5800
5801       On the other hand, operations that use files of  a  custom  view  as  a
5802       source  (e.g. yanking, copying, moving file from custom view, deletion)
5803       and operations that modify names are all allowed.
5804

Compare views

5806       Kinds
5807
5808       :compare can produce four different results depending on arguments:
5809        - single compare view (ofone and either listall or listdups);
5810        - single custom view (ofone and listunique);
5811        - two compare views (ofboth and either listall or listdups);
5812        - two custom views (ofboth and listunique).
5813
5814       The first two display files of one file system tree.   Here  duplicates
5815       are  files that have at least one copy in the same tree.  The other two
5816       kinds of operation compare two trees, in  which  duplicates  are  files
5817       that are found in both trees.
5818
5819       Lists of unique files are presented in custom views because there is no
5820       file grouping to preserve as all file ids are  guaranteed  to  be  dis‐
5821       tinct.
5822
5823       Creation
5824
5825       Arguments  passed  to  :compare  form four categories each with its own
5826       prefix and is responsible for particular property of operation.
5827
5828       Which files to compare:
5829        - ofboth - compares files of two panes against each other;
5830        - ofone  - compares files of the same directory.
5831
5832       How files are compared:
5833        - byname     - by their name only;
5834        - bysize     - only by their size;
5835        - bycontents - by data they contain (combination of size and  hash  of
5836       small  chunk of contents is used as first approximation, so don't worry
5837       too much about large files).
5838
5839       Which files to display:
5840        - listall    - all files;
5841        - listunique - unique files only;
5842        - listdups   - only duplicated files.
5843
5844       How results are grouped (has no effect if "ofone" specified):
5845        - groupids   - files considered identical are always adjacent in  out‐
5846       put;
5847        -  grouppaths  -  file system ordering is preferred (this also enables
5848       displaying identically named files as mismatches).
5849
5850       Which files to omit:
5851        - skipempty - ignore empty files.
5852
5853       Each argument can appear multiple times, the rightmost one of the group
5854       is considered.  Arguments alter default behaviour instead of substitut‐
5855       ing it.
5856
5857       Examples
5858
5859       The defaults corresponds to probably the most common use case  of  com‐
5860       paring  files in two trees with grouping by paths, so the following are
5861       equivalent:
5862
5863         :compare
5864         :compare bycontents grouppaths
5865         :compare bycontents listall ofboth grouppaths
5866
5867       Another use case is to find duplicates in the current sub-tree:
5868
5869         :compare listdups ofone
5870
5871       The following command lists files that are unique to each pane:
5872
5873         :compare listunique
5874
5875       Look
5876
5877       The view can't switch to ls-like view as it's unable to  display  diff-
5878       like data.
5879
5880       Comparison  views  have  second column displaying id of the file, files
5881       with same id are considered to be equal.  The view  columns  configura‐
5882       tion is predefined.
5883
5884       Behaviour
5885
5886       When  two  views  are  being  compared against each other the following
5887       changes to the regular behaviour apply:
5888        - views are scrolled synchronously (as if 'scrollbind' was set);
5889        - views' cursors are synchronized;
5890        - local filtering is disabled (its results wouldn't be meaningful);
5891        - zd excludes groups of adjacent identical files, 1zd gives usual  be‐
5892       haviour;
5893        - sorting is permanently disabled (ordering is fixed);
5894        - removed files hide their counter pairs;
5895        - exiting one of the views terminates the other immediately;
5896        - renaming files isn't blocked, but isn't taken into account and might
5897       require regeneration of comparison;
5898        - entries which indicate absence of equivalent file have  empty  names
5899       and can be matched as such;
5900        -  when  unique  files  of  both  views are listed custom views can be
5901       empty, this absence of unique files is stated clearly.
5902
5903       One compare view has similar properties (those that are applicable  for
5904       single pane).
5905
5906       Files are gathered in this way:
5907        - recursively starting at current location of the view;
5908        -  dot files are excluded if view hides them at the moment of compari‐
5909       son, file name filters are obeyed as well so you end up comparing  what
5910       you see;
5911        - directories are not taken into account;
5912        - symbolic links to directories are ignored.
5913

Startup

5915       On  startup vifm determines several variables that are used during exe‐
5916       cution.  They are determined in the order they appear below.
5917
5918       On *nix systems $HOME is normally present and used as is.   On  Windows
5919       systems  vifm tries to find correct home directory in the following or‐
5920       der:
5921        - $HOME variable;
5922        - $USERPROFILE variable (on Windows only);
5923        - a combination of $HOMEDRIVE  and  $HOMEPATH  variables  (on  Windows
5924       only).
5925
5926       vifm tries to find correct configuration directory by checking the fol‐
5927       lowing places:
5928        - $VIFM variable;
5929        - parent directory of the executable file (on Windows only);
5930        - $HOME/.vifm directory;
5931        - $APPDATA/Vifm directory (on Windows only);
5932        - $XDG_CONFIG_HOME/vifm directory;
5933        - $HOME/.config/vifm directory.
5934
5935       vifm tries to find correct configuration file by checking the following
5936       places:
5937        - $MYVIFMRC variable;
5938        - vifmrc in parent directory of the executable file (on Windows only);
5939        - $VIFM/vifmrc file.
5940

Configure

5942       See  "Startup"  section  above  for the explanations on $VIFM and $MYV‐
5943       IFMRC.
5944
5945       The vifmrc file  contains  commands  that  will  be  executed  on  vifm
5946       startup.  There are two such files: global and local.  Global one is at
5947       {prefix}/etc/vifm/vifmrc, see $MYVIFMRC variable  description  for  the
5948       search  algorithm  used  to find local vifmrc.  Global vifmrc is loaded
5949       before the local one, so that the later one can redefine anything  con‐
5950       figured globally.
5951
5952       Use vifmrc to set settings, mappings, filetypes etc.  To use multi line
5953       commands precede each next line with a slash (whitespace  before  slash
5954       is ignored, but all spaces at the end of the lines are saved).  For ex‐
5955       ample:
5956
5957         set
5958             \smartcase
5959
5960       equals "setsmartcase".  When
5961
5962         set<space here>
5963             \ smartcase
5964
5965       equals "set  smartcase".
5966
5967       The $VIFM/vifminfo file contains generic state of the application.  You
5968       can  control  what  is stored in vifminfo by setting 'vifminfo' option.
5969       Vifm always writes this file on exit unless 'vifminfo' option is empty.
5970       Marks,  bookmarks, commands, histories, filetypes, fileviewers and reg‐
5971       isters in the file are merged with vifm configuration (which has bigger
5972       priority).
5973
5974       Generally,  runtime  configuration  has bigger priority during merging,
5975       but there are some exceptions:
5976
5977         - directory stack stored in the file is not overwritten unless  some‐
5978           thing is changed in vifm instance that performs merge;
5979
5980         - each  mark  or  bookmark  is marked with a timestamp, so that newer
5981           value is not overwritten by older one, thus no matter from where it
5982           comes, the newer one wins;
5983
5984         - all  histories  are  marked  with timestamps on storing, this means
5985           that last instance to quit puts its elements on top of the list;
5986
5987         - tabs are merged only if both current instance and stored state con‐
5988           tain exactly one tab of any kind.
5989
5990       The  $VIFM/scripts  directory can contain shell scripts.  vifm modifies
5991       its PATH environment variable to let user  run  those  scripts  without
5992       specifying  full path.  All subdirectories of the $VIFM/scripts will be
5993       added to PATH too.  Script in a subdirectory overlaps script  with  the
5994       same name in all its parent directories.
5995
5996       The  $VIFM/colors/  and  {prefix}/etc/vifm/colors/  directories contain
5997       color schemes.  Available color schemes are searched in that order,  so
5998       on name conflict the one in $VIFM/colors/ wins.
5999
6000       Each  color scheme should have ".vifm" extension.  This wasn't the case
6001       before and for this reason the following rules apply during lookup:
6002
6003         - if there is no file with .vifm extension,  all  regular  files  are
6004           listed;
6005
6006         - otherwise  only files with .vifm extension are listed (with the ex‐
6007           tension being truncated).
6008

Sessions

6010       Sessions provide a way to have multiple persistent  runtime  configura‐
6011       tions.  Think of them as second-level vifminfo files in addition to the
6012       first-level one used by all sessions.  In other words,  they  aren't  a
6013       replacement  for vifminfo file that exists without sessions, but an ad‐
6014       dition to it.  One can empty 'vifminfo' option and rely solely on  ses‐
6015       sions,  but  in  practice  one might want to share some state among in‐
6016       stances in different sessions or have an  "out-of-sessions"  state  for
6017       tasks that don't deserve a session of their own.
6018
6019       This  leads  to  a  two-level structure where data in session files has
6020       higher priority than data in vifminfo files (where  this  makes  sense)
6021       following the same rules that merging of vifminfo file obeys.  In addi‐
6022       tion to that, history items from session files are never ordered before
6023       history items from vifminfo file.
6024
6025       Format
6026
6027       Sessions  have the format of vifminfo files, they do not consist of se‐
6028       quence of command-line commands and are not meant  to  be  sourced  via
6029       :source command.
6030
6031       Storage and naming
6032
6033       `$VIFM/sessions/`  directory  serves as a storage for sessions.  Conse‐
6034       quently names should be valid filenames.  The structure of the  storage
6035       is  flat  meaning that there are no subdirectories, that's why names of
6036       sessions can't contain slashes.
6037
6038       Usage model
6039
6040       Contrary to Vim, vifm automates basic management of sessions.  You  can
6041       start, switch, stop or delete a session using builtin means.
6042
6043       Current  session is saved at the same time vifminfo is saved (on normal
6044       exits or explicitly on :write command) and right  before  switching  to
6045       another  session.   To avoid saving in those cases use :session command
6046       to detach (without saving) from a session before proceeding.
6047
6048       Related topics
6049
6050       Commands: :session, :delsession
6051       Options: 'sessionoptions'
6052       Variables: v:session
6053

Automatic FUSE mounts

6055       vifm has a builtin support of automated FUSE file system mounts.  It is
6056       implemented  using  file  associations  mechanism.  To enable automated
6057       mounts, one needs to use a specially formatted program line in filetype
6058       or  filextype  commands.   These  use special macros, which differ from
6059       macros in commands unrelated to FUSE.  Currently three formats are sup‐
6060       ported:
6061
6062       1)  FUSE_MOUNT  This format should be used in case when all information
6063       needed for mounting all files of a particular type is the  same.   E.g.
6064       mounting of tar files don't require any file specific options.
6065
6066       Format line:
6067         FUSE_MOUNT|mounter %SOURCE_FILE %DESTINATION_DIR [%FOREGROUND]
6068
6069       Example filetype command:
6070
6071         :filetype FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR
6072
6073       2)  FUSE_MOUNT2 This format allows one to use specially formatted files
6074       to perform mounting and is useful for mounting remotes, for example re‐
6075       mote file systems over ftp or ssh.
6076
6077       Format line:
6078         FUSE_MOUNT2|mounter %PARAM %DESTINATION_DIR [%FOREGROUND]
6079
6080       Example filetype command:
6081
6082         :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR
6083
6084       Example file content:
6085
6086         root@127.0.0.1:/
6087
6088       3) FUSE_MOUNT3
6089
6090       This  format  is equivalent to FUSE_MOUNT, but omits unmounting.  It is
6091       useful for cases, when unmounting isn't needed, like when using AVFS.
6092
6093       Example :filetype command:
6094
6095         :filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz,*.deb
6096              \ {Mount with avfs}
6097              \ FUSE_MOUNT3|mount-avfs %DESTINATION_DIR %SOURCE_FILE
6098
6099       Example `mount-avfs` helper script:
6100
6101         #!/bin/sh
6102
6103         dest=$1
6104         file=$2
6105
6106         rmdir "$dest"
6107         ln -s "$HOME/.avfs$file#/" "$dest"
6108
6109       All % macros are expanded by vifm at runtime  and  have  the  following
6110       meaning:
6111         - %SOURCE_FILE is replaced by full path to selected file;
6112         - %DESTINATION_DIR is replaced by full path to mount directory, which
6113       is created by vifm basing on the value of 'fusehome' option;
6114         - %PARAM value is filled from the first line of  file  (whole  line),
6115       though in the future it can be changed to whole file content;
6116         -  %FOREGROUND  means that you want to run mount command as a regular
6117       command (required to be able to provide input  for  communication  with
6118       mounter in interactive way).
6119
6120       %FOREGROUND  is an optional macro.  Other macros are not mandatory, but
6121       mount commands likely won't work without them.
6122
6123       %CLEAR is obsolete name of %FOREGROUND, which is still  supported,  but
6124       might be removed in future.  Its use is discouraged.
6125
6126       Unlike  macros  elsewhere,  these are recognized only if they appear at
6127       the end of a command or are followed by a space.  There is  no  way  to
6128       escape  % either.  These are historical limitations, which might be ad‐
6129       dressed in the future.
6130
6131       The mounted FUSE file systems will be automatically  unmounted  in  two
6132       cases:
6133
6134         - when vifm quits (with ZZ, :q, etc. or when killed by signal);
6135
6136         - when you explicitly leave mount point going up to its parent direc‐
6137           tory (with h, Enter on "../" or ":cd ..") and other pane is not  in
6138           the same directory or its child directories.
6139

View look

6141       vifm supports displaying of file list view in two different ways:
6142
6143         - in  a  table  mode,  when  multiple columns can be set using 'view‐
6144           columns' option (see "Column view" section below for details);
6145
6146         - in a multicolumn list manner which looks almost like `ls  -x`  com‐
6147           mand output (see "ls-like view" section below for details).
6148
6149       The  look is local for each view and can be chosen by changing value of
6150       the 'lsview' boolean option.
6151
6152       Depending on view look some of keys change their meaning to allow  more
6153       natural cursor moving.  This concerns mainly h, j, k, l and other simi‐
6154       lar navigation keys.
6155
6156       Also some of options can be ignored if they don't affect view  display‐
6157       ing in selected look.  For example value of 'viewcolumns' when 'lsview'
6158       is set.
6159

ls-like view

6161       When this view look is enabled by setting 'lsview' option on, vifm will
6162       display  files  in  multiple columns.  Number of columns depends on the
6163       length of the longest file name present in  current  directory  of  the
6164       view.   Whole  file list is automatically reflowed on directory change,
6165       terminal or view resize.
6166
6167       View looks close to output of `ls -x` command, so files are listed left
6168       to right in rows.
6169
6170       In  this  mode file manipulation commands (e.g. d) don't work line-wise
6171       like they do in Vim, since such operations would be uncommon  for  file
6172       manipulation  tasks.   Thus,  for  example, dd will remove only current
6173       file.
6174
6175       By default the view is filled by lines, 'lsoptions' can be used to  get
6176       filling by columns.
6177
6178       Note that tree-view and compare view inhibit ls-like view.
6179

Column view

6181       View columns are described by a comma-separated list of column descrip‐
6182       tions, each of which has the following format
6183           [ '-' | '*' ] [ fw ( [ '.' tw ] | '%' ) ] '{' type  |  literal  '}'
6184       '.'{0,3}
6185       where  fw stands for full width, tw stands for text width, bar is logi‐
6186       cal or, square brackets denote optional parts and curly  braces  define
6187       range of repetitions for a symbol that precedes them.
6188
6189       So it basically consists of four parts:
6190        1. Optional alignment specifier
6191        2. Optional width specifier
6192        3. Mandatory column name
6193        4. Optional cropping specifier
6194
6195       Alignment specifier
6196
6197       It's  an  optional  minus  or  asterisk sign as the first symbol of the
6198       string.
6199
6200       Specifies type of text alignment within a column.  Three types are sup‐
6201       ported:
6202
6203       - left align
6204
6205           set viewcolumns=-{name}
6206
6207       - right align (default)
6208
6209           set viewcolumns={name}
6210
6211       - dynamic align
6212
6213         It's  like  left alignment, but when the text is bigger than the col‐
6214         umn, the alignment is made at the right (so the part of the field  is
6215         always visible).
6216
6217           set viewcolumns=*{name}
6218
6219       Width specifier
6220
6221       It's  a  number  followed  by  a  percent sign, two numbers (second one
6222       should be less than or equal to the first one) separated with a dot  or
6223       a single number.
6224
6225       Specifies column width and its units. There are three size types:
6226
6227       - absolute size - column width is specified in characters
6228
6229           set viewcolumns=-100{name},20.15{ext}
6230
6231         results  in  two  columns  with  lengths of 100 and 20 and a reserved
6232         space of five characters on the left of second column.
6233
6234       - relative (percent) size - column width is specified  in  percents  of
6235         view width
6236
6237           set viewcolumns=-80%{name},15%{ext},5%{mtime}
6238
6239         results  in three columns with lengths of 80/100, 15/100 and 5/100 of
6240         view width.
6241
6242       - auto size (default) - column width is automatically determined
6243
6244           set viewcolumns=-{name},{ext},{mtime}
6245
6246         results in three columns with length of  one  third  of  view  width.
6247         There  is no size adjustment to content, since it will slow down ren‐
6248         dering.
6249
6250       Columns of different sizing types can be  freely  mixed  in  one  view.
6251       Though  sometimes  some  of columns can be seen partly or be completely
6252       invisible if there is not enough space to display them.
6253
6254       Column contents
6255
6256       This is usually a sorting key surrounded with curly braces, e.g.
6257
6258         {name},{ext},{mtime}
6259
6260       {name} and {iname} types are the same and present both for  consistency
6261       with 'sort' option.
6262
6263       Following types don't have corresponding sorting keys:
6264
6265         - {root}      -  display  name without extension (as a complement for
6266           {ext})
6267
6268         - {fileroot} - display name without extension for anything except for
6269           directories  and symbolic links to directories (as a complement for
6270           {fileext})
6271
6272       Empty curly braces ({}) are replaced with the default secondary  column
6273       for  primary sort key. So after the next command view will be displayed
6274       almost as if 'viewcolumns' is empty, but adding ellipsis for long  file
6275       names:
6276
6277         set viewcolumns=-{name}..,6{}.
6278
6279       The last kind of column value is a string literal.  The literal is used
6280       as a column value for every row.  The syntax is "{#literal}", for exam‐
6281       ple:
6282
6283         3{#},{#|},{# | }
6284
6285       This  can be used to draw column separators.  Mind that for convenience
6286       literals have different defaults: truncation and  automatically  deter‐
6287       mined absolute size, which is what you usually want for them.  Example:
6288
6289         set viewcolumns=*{name}..,{#|},6{}.
6290
6291       Cropping specifier
6292
6293       It's from one to three dots after closing curly brace in column format.
6294
6295       Specifies  type  of  text  truncation  if it doesn't fit in the column.
6296       Currently three types are supported:
6297
6298         - truncation - text is truncated
6299
6300             set viewcolumns=-{name}.
6301
6302           results in truncation of names that are too long  too  fit  in  the
6303           view.
6304
6305         - adding  of  ellipsis - ellipsis on the left or right are added when
6306           needed
6307
6308             set viewcolumns=-{name}..
6309
6310           results in that ellipsis are added at the  end  of  too  long  file
6311           names.
6312
6313         - none (default) - text can pass column boundaries
6314
6315             set viewcolumns=-{name}...,{ext}
6316
6317           results in that long file names can partially be written on the ext
6318           column.
6319

Color schemes

6321       The color schemes in vifm can be applied in two different ways:
6322
6323         - as the primary color scheme;
6324
6325         - as local to a pane color scheme.
6326
6327       Both types are set using :colorscheme command, but of different forms:
6328
6329         - :colorscheme color_scheme_name - for the primary color scheme;
6330
6331         - :colorscheme color_scheme_name directory - for local color schemes.
6332
6333       Look of different parts of the TUI (Text User Interface) is  determined
6334       in this way:
6335
6336         - Border,  TabLine,  TabLineSel,  TopLineSel,  TopLine,  CmdLine, Er‐
6337           rorMsg, StatusLine, JobLine, SuggestBox and WildMenu are always de‐
6338           termined by the primary color scheme;
6339
6340         - CurrLine,  Selected,  Directory,  Link, BrokenLink, Socket, Device,
6341           Executable, Fifo, CmpMismatch, Win, AuxWin and OtherWin are  deter‐
6342           mined  by  primary  color  scheme and a set of local color schemes,
6343           which can be empty.
6344
6345       There might be a set of local color schemes because they are structured
6346       hierarchically  according to file system structure. For example, having
6347       the following piece of file system:
6348
6349         ~
6350         `-- bin
6351            |
6352            `-- my
6353
6354       Two color schemes:
6355
6356         # ~/.vifm/colors/for_bin
6357         highlight Win cterm=none ctermfg=white ctermbg=red
6358         highlight CurrLine cterm=none ctermfg=red ctermbg=black
6359
6360         # ~/.vifm/colors/for_bin_my
6361         highlight CurrLine cterm=none ctermfg=green ctermbg=black
6362
6363       And these three commands in the vifmrc file:
6364
6365         colorscheme Default
6366         colorscheme for_bin ~/bin
6367         colorscheme for_bin_my ~/bin/my
6368
6369       File list will look in the following way for each level:
6370
6371       - ~/ - Default color scheme
6372         black background
6373         cursor with blue background
6374
6375       - ~/bin/ - mix of Default and for_bin color schemes
6376         red background
6377         cursor with black background and red foreground
6378
6379       - ~/bin/my/ - mix of Default, for_bin and for_bin_my color schemes
6380         red background
6381         cursor with black background and green foreground
6382

Trash directory

6384       vifm has support of trash directory, which is used as temporary storage
6385       for deleted files or files that were cut.  Using trash is controlled by
6386       the 'trash' option, and exact  path  to  the  trash  can  be  set  with
6387       'trashdir'  option.   Trash  directory in vifm differs from the system-
6388       wide one by default, because of possible incompatibilities  of  storing
6389       deleted   files  among  different  file  managers.   But  one  can  set
6390       'trashdir' to "~/.local/share/Trash" to use a "standard"  trash  direc‐
6391       tory.
6392
6393       There are two scenarios of using trash in vifm:
6394
6395         1. As  a  place for storing files that were cut by "d" and may be in‐
6396            serted to some other place in file system.
6397
6398         2. As a storage of files, that are deleted but not purged yet.
6399
6400       The first scenario uses deletion ("d") operations to put files to trash
6401       and  put  ("p") operations to restore files from trash directory.  Note
6402       that such operations move files to and from trash directory, which  can
6403       be  long  term  operations  in  case  of different partitions or remote
6404       drives mounted locally.
6405
6406       The second scenario uses deletion ("d") operations for moving files  to
6407       trash directory and :empty command-line command to purge all previously
6408       deleted files.
6409
6410       Deletion and put operations depend on registers,  which  can  point  to
6411       files  in trash directory.  Normally, there are no nonexistent files in
6412       registers, but vifm doesn't keep track of modifications under trash di‐
6413       rectory,  so  one  shouldn't expect value of registers to be absolutely
6414       correct if trash directory was modified not by operation that are meant
6415       for  it.  But this won't lead to any issues with operations, since they
6416       ignore nonexistent files.
6417

Client-Server

6419       vifm supports remote execution of command-line  mode  commands,  remote
6420       changing  of  directories  and expression evaluation.  This is possible
6421       using --remote and --remote-expr command-line arguments.
6422
6423       To execute a command remotely combine --remote argument with  -c  <com‐
6424       mand> or +<command>.  For example:
6425
6426         vifm --remote -c 'cd /'
6427         vifm --remote '+cd /'
6428
6429       To  change directory not using command-line mode commands one can spec‐
6430       ify paths right after --remote argument, like this:
6431
6432         vifm --remote /
6433         vifm --remote ~
6434         vifm --remote /usr/bin /tmp
6435
6436       Evaluating expression remotely might be  useful  to  query  information
6437       about an instance, for example its location:
6438
6439         vifm --remote-expr 'expand("%d")'
6440
6441       If  there  are  several  running instances, the target can be specified
6442       with --server-name option (otherwise, the first  one  lexicographically
6443       is used):
6444
6445         vifm --server-name work --remote ~/work/project
6446
6447       List  of  names  of running instances can be obtained via --server-list
6448       option.  Name of the current one is available via v:servername.
6449
6450
6451       v:servername
6452              server name of the running  vifm  instance.   Empty  if  client-
6453              server feature is disabled.
6454

External Renaming

6456       When  an editor is run to edit list of file names, contents of the tem‐
6457       porary file has the following format:
6458
6459         1. Order of lines correspond to the order of files in a view.
6460
6461         2. Lines that start with a "#" are comments and are ignored.
6462
6463         3. Single backslash at the beginning of a line is ignored, so that  a
6464            file starting with a backslash will appear like "\#name".
6465
6466       If  an  operation was rejected due to issues with file names, next time
6467       you'll see the following in this order:
6468
6469         1. Last error (in comments).
6470
6471         2. Original file names (in comments).
6472
6473         3. Failed list of new names.
6474
6475       Mind that Vim plugin will extract list of original names and show  them
6476       in a vertical split.
6477
6478       You  can  cancel renaming by removing all non-comments from the buffer.
6479       This also erases information about previous edits.
6480

Plugin

6482       Plugin for using vifm in vim as a file selector.
6483
6484       Commands:
6485
6486         :EditVifm   select a file or files to open in the current buffer.
6487         :Vifm       alias for :EditVifm.
6488         :SplitVifm  split buffer and select a file or files to open.
6489         :VsplitVifm vertically split buffer and select a  file  or  files  to
6490       open.
6491         :DiffVifm    select  a  file  or files to compare to the current file
6492       with
6493                     :vert diffsplit.
6494         :TabVifm    select a file or files to open in tabs.
6495
6496       Each command accepts up to two arguments: left pane directory and right
6497       pane  directory.   After arguments are checked, vifm process is spawned
6498       in a special "file-picker" mode.  To pick files just open  them  either
6499       by  pressing  l,  i  or Enter keys, or by running :edit command.  If no
6500       files are selected, file under the cursor is  opened,  otherwise  whole
6501       selection is passed to the plugin and opened in vim.
6502
6503       The  plugin  have  only  two  settings.   It's  a string variable named
6504       g:vifm_term to let user specify command to run GUI  terminal.   By  de‐
6505       fault  it's  equal  to  'xterm  -e'.  And another string variable named
6506       g:vifm_exec, which equals "vifm"  by  default  and  specifies  path  to
6507       vifm's  executable.   To  pass  arguments to vifm use g:vifm_exec_args,
6508       which is empty by default.
6509
6510       To use the plugin copy the vifm.vim file  to  either  the  system  wide
6511       vim/plugin directory or into ~/.vim/plugin.
6512
6513       If  you would prefer not to use the plugin and it is in the system wide
6514       plugin directory add
6515
6516       let loaded_vifm=1
6517
6518       to your ~/.vimrc file.
6519

Reserved

6521       The following command names are reserved and shouldn't be used for user
6522       commands.
6523
6524         g[lobal]
6525         v[global]
6526

ENVIRONMENT

6528       VIFM   Points to main configuration directory (usually ~/.vifm/).
6529
6530       MYVIFMRC
6531              Points to main configuration file (usually ~/.vifm/vifmrc).
6532
6533       These  environment variables are valid inside vifm and also can be used
6534       to configure it by setting some of them before running vifm.
6535
6536       When $MYVIFMRC isn't set, it's made as $VIFM/vifmrc (exception for Win‐
6537       dows: vifmrc in the same directory as vifm.exe has higher priority than
6538       $VIFM/vifmrc).
6539
6540       See "Startup" section above for more details.
6541
6542       VIFM_FUSE_FILE
6543              On execution of external commands this variable is  set  to  the
6544              full  path  of  file  used to initiate FUSE mount of the closest
6545              mount point from current pane's directory up.  It's not set when
6546              outside  FUSE  mount  point.   When vifm is used inside terminal
6547              multiplexer, it tries to set this variable as well  (it  doesn't
6548              work this way on its own).
6549

SEE ALSO

6551       vifm-convert-dircolors(1), vifm-pause(1)
6552
6553       Website: https://vifm.info/
6554       Wiki: https://wiki.vifm.info/
6555
6556       Esperanto translation of the documentation by Sebastian Cyprych:
6557       http://cyprych.neostrada.pl/tekstoj/komputiloj/vifm-help.eo.html
6558

AUTHOR

6560       Vifm was written by ksteen <ksteen@users.sourceforge.net>
6561       And currently is developed by xaizek <xaizek@posteo.net>
6562
6563
6564
6565vifm 0.12                     September 29, 2021                       VIFM(1)
Impressum