dotfiles

andersuno dotfiles
git clone git://git.andersuno.nu/dotfiles.git
Log | Files | Refs | README

vifm-help.txt (199104B)


      1 VIFM(1)			    General Commands Manual		       VIFM(1)
      2 
      3 
      4 
      5 NAME
      6        vifm - vi file manager
      7 
      8 SYNOPSIS
      9        vifm [OPTION]...
     10        vifm [OPTION]... path
     11        vifm [OPTION]... path path
     12 
     13 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 
     18 OPTIONS
     19        vifm  starts  in	 the  current directory unless it is given a different
     20        directory 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 session.	To suppress  this  be-
     34        haviour :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 
    115 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 
    122 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
    133 	      directory node in tree view), otherwise move left one file.
    134 
    135        l      when 'lsview' is off move into a directory or launches  a	 file,
    136 	      otherwise move right one file.
    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.
    148 
    149        H      move to the first file in the window.
    150 
    151        M      move to the file in the middle of the window.
    152 
    153        L      move to the last file in the window.
    154 
    155        Ctrl-F or Page Down
    156 	      move forward one page.
    157 
    158        Ctrl-B or Page Up
    159 	      move back one page.
    160 
    161        Ctrl-D jump back one half page.
    162 
    163        Ctrl-U jump forward one half page.
    164 
    165        n%     move to the file that is n percent from the top of the list (for
    166 	      example 25%).
    167 
    168        0 or ^ move cursor to the first column.	See 'lsview'  option  descrip-
    169 	      tion.
    170 
    171        $      move  cursor  to	the last column.  See 'lsview' option descrip-
    172 	      tion.
    173 
    174        Space  switch file lists.
    175 
    176        gt     switch to the next tab (wrapping around).
    177 
    178        {n}gt  switch to the tab number {n} (wrapping around).
    179 
    180        gT     switch to the previous tab (wrapping around).
    181 
    182        {n}gT  switch to {n}-th previous tab.
    183 
    184 Movement with Count
    185        Most movement commands also accept a count,  12j	 would	move  down  12
    186        files.
    187 
    188        [count]%
    189 	      move to percent of the file list.
    190 
    191        [count]j
    192 	      move down [count] files.
    193 
    194        [count]k
    195 	      move up [count] files.
    196 
    197        [count]G or [count]gg
    198 	      move to list position [count].
    199 
    200        [count]h
    201 	      go up [count] directories.
    202 
    203 Scrolling panes
    204        zt     redraw pane with file in top of list.
    205 
    206        zz     redraw pane with file in center of list.
    207 
    208        zb     redraw pane with file in bottom of list.
    209 
    210        Ctrl-E scroll pane one line down.
    211 
    212        Ctrl-Y scroll pane one line up.
    213 
    214 Pane manipulation
    215        Second character can be entered with or without Control key.
    216 
    217        Ctrl-W H
    218 	      move the pane to the far left.
    219 
    220        Ctrl-W J
    221 	      move the pane to the very bottom.
    222 
    223        Ctrl-W K
    224 	      move the pane to the very top.
    225 
    226        Ctrl-W L
    227 	      move the pane to the far right.
    228 
    229 
    230        Ctrl-W h
    231 	      switch to the left pane.
    232 
    233        Ctrl-W j
    234 	      switch to the pane below.
    235 
    236        Ctrl-W k
    237 	      switch to the pane above.
    238 
    239        Ctrl-W l
    240 	      switch to the right pane.
    241 
    242 
    243        Ctrl-W b
    244 	      switch to bottom-right window.
    245 
    246        Ctrl-W t
    247 	      switch to top-left window.
    248 
    249 
    250        Ctrl-W p
    251 	      switch to previous window.
    252 
    253        Ctrl-W w
    254 	      switch to other pane.
    255 
    256 
    257        Ctrl-W o
    258 	      leave only one pane.
    259 
    260        Ctrl-W s
    261 	      split window horizontally.
    262 
    263        Ctrl-W v
    264 	      split window vertically.
    265 
    266 
    267        Ctrl-W x
    268 	      exchange panes.
    269 
    270        Ctrl-W z
    271 	      quit preview pane or view modes.
    272 
    273 
    274        Ctrl-W -
    275 	      decrease size of the view by count.
    276 
    277        Ctrl-W +
    278 	      increase size of the view by count.
    279 
    280        Ctrl-W <
    281 	      decrease size of the view by count.
    282 
    283        Ctrl-W >
    284 	      increase size of the view by count.
    285 
    286 
    287        Ctrl-W |
    288 	      set current view size to count.
    289 
    290        Ctrl-W _
    291 	      set current view size to count.
    292 
    293        Ctrl-W =
    294 	      make size of two views equal.
    295 
    296        For  Ctrl-W +, Ctrl-W -, Ctrl-W <, Ctrl-W >, Ctrl-W | and Ctrl-W _ com-
    297        mands count can be given before and/or  after  Ctrl-W.	The  resulting
    298        count  is  a  multiplication of those two.  So "2 Ctrl-W 2 -" decreases
    299        window size by 4 lines or columns.
    300 
    301        Ctrl-W | and Ctrl-W _ maximise current view by default.
    302 
    303 Marks
    304        Marks are set the same way as they are in vi.
    305 
    306        You can use these characters for marks [a-z][A-Z][0-9].
    307 
    308        m[a-z][A-Z][0-9]
    309 	      set a mark for the file at the current cursor position.
    310 
    311        '[a-z][A-Z][0-9]
    312 	      navigate to the file set for the mark.
    313 
    314 
    315        There are also several special marks that can't be set manually:
    316 
    317 	 - ' (single quote) - previously visited directory of the  view,  thus
    318 	   hitting '' allows switching between two last locations
    319 
    320 	 - < - the first file of the last visually selected block
    321 
    322 	 - > - the last file of the last visually selected block
    323 
    324 Searching
    325        /regular expression pattern
    326 	      search  for  files matching regular expression in forward direc-
    327 	      tion and advance cursor to next match.
    328 
    329        /      perform forward search with top item of search pattern history.
    330 
    331        ?regular expression pattern
    332 	      search for files matching regular expression in backward	direc-
    333 	      tion and advance cursor to previous match.
    334 
    335        ?      perform backward search with top item of search pattern history.
    336 
    337        Trailing	 slash	for directories is taken into account, so /\/ searches
    338        for directories and symbolic links to directories.  At  the  moment  //
    339        works  too, but this can change in the future, so consider escaping the
    340        slash if not typing pattern by hand.
    341 
    342        Matches are automatically selected  if  'hlsearch'  is  set.   Enabling
    343        'incsearch'  makes  search  interactive.	  'ignorecase' and 'smartcase'
    344        options affect case sensitivity of search queries.
    345 
    346 
    347        [count]n
    348 	      go to the next file matching last search	pattern.   Takes  last
    349 	      search direction into account.
    350 
    351        [count]N
    352 	      go  to  the  previous  file matching last search pattern.	 Takes
    353 	      last search direction into account.
    354 
    355        If 'hlsearch' option is set, hitting n/N to perform search  and	go  to
    356        the first matching item resets current selection in normal mode.	 It is
    357        not the case if search was already performed on files in the directory,
    358        thus  selection	is  not reset after clearing selection with escape key
    359        and hitting n/N key again.
    360 
    361        Note: vifm uses extended regular expressions for / and ?.
    362 
    363 
    364        [count]f[character]
    365 	      search forward for file with [character] as first	 character  in
    366 	      name.  Search wraps around the end of the list.
    367 
    368        [count]F[character]
    369 	      search  backward for file with [character] as first character in
    370 	      name.  Search wraps around the end of the list.
    371 
    372        [count];
    373 	      find the next match of f or F.
    374 
    375        [count],
    376 	      find the previous match of f or F.
    377 
    378        Note: f, F, ; and , wrap around list beginning and end  when  they  are
    379        used alone and they don't wrap when they are used as selectors.
    380 
    381 File Filters
    382        There are three basic file filters:
    383 
    384 	 - dot files filter (excluding "." and ".." special directories, whose
    385 	   appearance is controlled by the 'dotdirs' option);
    386 
    387 	 - manual filter for file names;
    388 
    389 	 - automatic filter for file names;
    390 
    391 	 - local filter for file names (see description of the "=" normal mode
    392 	   command).
    393 
    394        Performing  operations  on  manual  filter for file names automatically
    395        does the same on automatic one.	The  file  name	 filter	 is  separated
    396        mainly for convenience purpose and to get more deterministic behaviour.
    397 
    398        The basic vim folding key bindings are used for filtering files.
    399 
    400        Each file list has its own copy of each filter.
    401 
    402        Filtered files are not checked in / search or :commands.
    403 
    404        Files  and  directories	are  filtered separately.  For this a slash is
    405        appended to a directory name before testing whether it matches the fil-
    406        ter.  Examples:
    407 
    408 
    409 	 " filter directories which names end with '.files'
    410 	 :filter /^.*\.files\/$/
    411 
    412 	 " filter files which names end with '.d'
    413 	 :filter /^.*\.d$/
    414 
    415 	 " filter files and directories which names end with '.o'
    416 	 :filter /^.*\.o\/?$/
    417 
    418        Note: vifm uses extended regular expressions.
    419 
    420        za     toggle visibility of dot files.
    421 
    422        zo     show dot files.
    423 
    424        zm     hide dot files.
    425 
    426        zf     add selected files to file name filter.
    427 
    428        zO     show files hidden by file name filter.
    429 
    430        zM     restore all filters.
    431 
    432        zR     remove all filters.
    433 
    434        zr     remove local filter.
    435 
    436        zd     exclude  selection  or  current  file  from a custom view.  Does
    437 	      nothing for regular view.	 For  tree  view  excluding  directory
    438 	      excludes	that  sub-tree.	  For  compare views zd hides group of
    439 	      adjacent identical files, count can be specified as 1 to exclude
    440 	      just single file or selected items instead.  Files excluded this
    441 	      way are not counted as filtered out and can't be returned unless
    442 	      view is reloaded.
    443 
    444        =regular expression pattern
    445 	      filter  out  files that don't match regular expression.  Whether
    446 	      view is updated as regular expression is changed depends on  the
    447 	      value  of	 the 'incsearch' option.  This kind of filter is auto-
    448 	      matically reset when directory is changed.
    449 
    450 Other Normal Mode Keys
    451        [count]:
    452 	      enter command line mode.	[count] generates range.
    453 
    454        q:     open external editor to prompt for  command-line	command.   See
    455 	      "Command line editing" section for details.
    456 
    457        q/     open external editor to prompt for search pattern to be searched
    458 	      in forward direction.  See "Command line	editing"  section  for
    459 	      details.
    460 
    461        q?     open external editor to prompt for search pattern to be searched
    462 	      in backward direction.  See "Command line editing"  section  for
    463 	      details.
    464 
    465        q=     open external editor to prompt for filter pattern.  See "Command
    466 	      line editing" section for details.  Unlike other	q{x}  commands
    467 	      this one doesn't work in Visual mode.
    468 
    469        [count]!! and [count]!<selector>
    470 	      enter  command  line mode with entered ! command.	 [count] modi-
    471 	      fies range.
    472 
    473        Ctrl-O go backwards through directory history of current view.	Nonex-
    474 	      istent directories are automatically skipped.
    475 
    476        Ctrl-I if  'cpoptions' contains "t" flag, <tab> and <c-i> switch active
    477 	      pane just like <space> does, otherwise it goes  forward  through
    478 	      directory	 history of current view.  Nonexistent directories are
    479 	      automatically skipped.
    480 
    481        Ctrl-G create a window showing detailed information about  the  current
    482 	      file.
    483 
    484        Shift-Tab
    485 	      enters  view  mode  (works  only after activating view pane with
    486 	      :view command).
    487 
    488        ga     calculate directory size.	 Uses cached directory sizes when pos-
    489 	      sible  for  better  performance.	 As a special case calculating
    490 	      size of ".." entry results in calculation	 of  size  of  current
    491 	      directory.
    492 
    493        gA     like  ga,	 but  force  update.   Ignores old values of directory
    494 	      sizes.
    495 
    496        If file under cursor is selected, each selected item is processed, oth-
    497        erwise only current file is updated.
    498 
    499        gf     find  link  destination (like l with 'followlinks' off, but also
    500 	      finds directories).
    501 
    502        gr     only for MS-Windows
    503 	      same as l key, but tries	to  run	 program  with	administrative
    504 	      privileges.
    505 
    506        av     go  to visual mode into selection amending state preserving cur-
    507 	      rent selection.
    508 
    509        gv     go to visual mode restoring last selection.
    510 
    511        [reg]gs
    512 	      when no register is specified, restore last t selection (similar
    513 	      to  what	gv  does  for  visual mode selection).	If register is
    514 	      present, then all files listed in that register  and  which  are
    515 	      visible in current view are selected.
    516 
    517        gu<selector>
    518 	      make names of selected files lowercase.
    519 
    520        [count]guu and [count]gugu
    521 	      make names of [count] files starting from the current one lower-
    522 	      case.  Without [count] only current file is affected.
    523 
    524        gU<selector>
    525 	      make names of selected files uppercase.
    526 
    527        [count]gUU and [count]gUgU
    528 	      make names of [count] files starting from the current one upper-
    529 	      case.  Without [count] only current file is affected.
    530 
    531        e      explore file in the current pane.
    532 
    533        i      handle  file (even if it's an executable and 'runexec' option is
    534 	      set).
    535 
    536        cw     change word is used to rename a file or files.
    537 
    538        cW     change WORD is used to change only name of file (without	exten-
    539 	      sion).
    540 
    541        cl     change link target.
    542 
    543        co     only for *nix
    544 	      change file owner.
    545 
    546        cg     only for *nix
    547 	      change file group.
    548 
    549        [count]cp
    550 	      change  file  attributes	(permission  on *nix and properties on
    551 	      Windows).	 If [count] is specified, it's	treated	 as  numerical
    552 	      argument	 for   non-recursive  `chmod`  command	(of  the  form
    553 	      [0-7]{3,4}).
    554 
    555        [count]C
    556 	      clone file [count] times.
    557 
    558        [count]dd or d[count]selector
    559 	      move selected file or  files  to	trash  directory  (if  'trash'
    560 	      option is set, otherwise delete).	 See "Trash directory" section
    561 	      below.
    562 
    563        [count]DD or D[count]selector
    564 	      like dd and d<selector>, but omitting trash directory (even when
    565 	      'trash' option is set).
    566 
    567        Y, [count]yy or y[count]selector
    568 	      yank selected files.
    569 
    570        p      copy  yanked files to the current directory or move the files to
    571 	      the current directory if they were deleted with dd or  :d[elete]
    572 	      or  if  the  files were yanked from trash directory.  See "Trash
    573 	      directory" section below.
    574 
    575        P      move the last yanked files.  The advantage of using P instead of
    576 	      d	 followed  by  p  is that P moves files only once.  This isn't
    577 	      important in case you're moving files in the  same  file	system
    578 	      where  your home directory is, but using P to move files on some
    579 	      other file system (or file systems, in case  you	want  to  move
    580 	      files  from  fs1	to  fs2 and your home is on fs3) can save your
    581 	      time.
    582 
    583        al     put symbolic links with absolute paths.
    584 
    585        rl     put symbolic links with relative paths.
    586 
    587        t      select or unselect (tag) the current file.
    588 
    589        u      undo last change.
    590 
    591        Ctrl-R redo last change.
    592 
    593        dp     in compare view of "ofboth grouppaths" kind, makes corresponding
    594 	      entry of the other pane equal to the current one.	 The semantics
    595 	      is as follows:
    596 	       - nothing done for identical entries
    597 	       - if file is missing in current view, its pair gets removed
    598 	       - if file is missing or differs in other view, it's replaced
    599 	       - file pairs are defined by matching relative paths
    600 	      File removal obeys 'trash' option.  When the option is  enabled,
    601 	      the  operation  can  be undone/redone (although results won't be
    602 	      visible automatically).
    603 	      Unlike in Vim, this operation is	performed  on  a  single  line
    604 	      rather than a set of adjacent changes.
    605 
    606        do     same as dp, but applies changes in the opposite direction.
    607 
    608        v or V enter visual mode, clears current selection.
    609 
    610        [count]Ctrl-A
    611 	      increment first number in file name by [count] (1 by default).
    612 
    613        [count]Ctrl-X
    614 	      decrement first number in file name by [count] (1 by default).
    615 
    616        ZQ     same as :quit!.
    617 
    618        ZZ     same as :quit.
    619 
    620        .      repeat  last  command-line  command (not normal mode command) of
    621 	      this session (does nothing right after startup or :restart  com-
    622 	      mand).   The  command doesn't depend on command-line history and
    623 	      can be used with completely disabled history.
    624 
    625        (      go to previous group.  Groups are	 defined  by  primary  sorting
    626 	      key.   For  name and iname members of each group have same first
    627 	      letter, for all other sorting keys vifm uses size, uid, ...
    628 
    629        )      go to next group.	 See ( key description above.
    630 
    631        {      speeds up navigation to closest previous entry of	 the  opposite
    632 	      type  by	moving to the first file backwards when cursor is on a
    633 	      directory and to the first directory backwards when cursor is on
    634 	      a	 file.	This is essentially a special case of ( that is locked
    635 	      on "dirs".
    636 
    637        }      same as {, but in forward direction.
    638 
    639        [c     go to previous mismatched entry in directory comparison view  or
    640 	      do nothing.
    641 
    642        ]c     go  to  next mismatched entry in directory comparison view or do
    643 	      nothing.
    644 
    645        [d     go to previous directory entry or do nothing.
    646 
    647        ]d     go to next directory entry or do nothing.
    648 
    649        [r     same as :siblprev.
    650 
    651        ]r     same as :siblnext.
    652 
    653        [R     same as :siblprev!.
    654 
    655        ]R     same as :siblnext!.
    656 
    657        [s     go to previous selected entry or do nothing.
    658 
    659        ]s     go to next selected entry or do nothing.
    660 
    661        [z     go to first sibling of current entry.
    662 
    663        ]z     go to last sibling of current entry.
    664 
    665        zj     go to next directory sibling of current entry or do nothing.
    666 
    667        zk     go to previous directory sibling of current entry or do nothing.
    668 
    669 Using Count
    670        You can use count with commands like yy.
    671 
    672        [count]yy
    673 	      yank count files starting from current cursor position downward.
    674 
    675        Or you can use count with motions passed to y, d or D.
    676 
    677        d[count]j
    678 	      delete (count + 1) files starting from current  cursor  position
    679 	      upward.
    680 
    681 Registers
    682        vifm  supports  multiple registers for temporary storing list of yanked
    683        or deleted files.
    684 
    685        Registers should be specified by hitting double quote key followed by a
    686        register	 name.	 Count	is  specified after register name.  By default
    687        commands use unnamed register, which has double quote as its name.
    688 
    689        Though all commands accept registers, most  of  commands	 ignores  them
    690        (for  example H or Ctrl-U).  Other commands can fill register or append
    691        new files to it.
    692 
    693        Presently vifm supports ", _, a-z and A-Z characters as register names.
    694 
    695        As mentioned above " is unnamed register and has special meaning of the
    696        default	register.  Every time when you use named registers (a-z and A-
    697        Z) unnamed register is updated to contain same list  of	files  as  the
    698        last used register.
    699 
    700        _  is black hole register.  It can be used for writing, but its list is
    701        always empty.
    702 
    703        Registers with names from a to z and from A to Z are named ones.	  Low-
    704        ercase  registers  are cleared before adding new files, while uppercase
    705        aren't and should be used to append new files to the existing file list
    706        of appropriate lowercase register (A for a, B for b, ...).
    707 
    708        Registers  can be changed on :empty command if they contain files under
    709        trash directory (see "Trash directory" section below).
    710 
    711        Registers do not contain one file more than once.
    712 
    713        Example:
    714 
    715 	 "a2yy
    716 
    717        puts names of two files to register a (and to the unnamed register),
    718 
    719 	 "Ad
    720 
    721        removes one file and append its name to register a (and to the  unnamed
    722        register),
    723 
    724 	 p or "ap or "Ap
    725 
    726        inserts previously yanked and deleted files into current directory.
    727 
    728 Selectors
    729        y,  d, D, !, gu and gU commands accept selectors.  You can combine them
    730        with any of selectors below to quickly remove or yank several files.
    731 
    732        Most of selectors are like vi motions: j, k, gg, G, H, L, M, %,	f,  F,
    733        ;, comma, ', ^, 0 and $.	 But there are some additional ones.
    734 
    735        a      all files in current view.
    736 
    737        s      selected files.
    738 
    739        S      all files except selected.
    740 
    741        Examples:
    742 
    743 	 - dj - delete file under cursor and one below;
    744 
    745 	 - d2j - delete file under cursor and two below;
    746 
    747 	 - y6gg - yank all files from cursor position to 6th file in the list.
    748 
    749        When you pass a count to whole command and its selector they are multi-
    750        plied. So:
    751 
    752 	 - 2d2j - delete file under cursor and four below;
    753 
    754 	 - 2dj - delete file under cursor and two below;
    755 
    756 	 - 2y6gg - yank all files from cursor position to  12th	 file  in  the
    757 	   list.
    758 
    759 Visual Mode
    760        Visual mode has to generic operating submodes:
    761 
    762 	 - plain selection as it is in Vim;
    763 
    764 	 - selection editing submode.
    765 
    766        Both  modes  select files in range from cursor position at which visual
    767        mode was entered to current cursor position (let's call	it  "selection
    768        region").  Each of two borders can be adjusted by swapping them via "o"
    769        or "O" keys and updating cursor position	 with  regular	cursor	motion
    770        keys.   Obviously,  once	 initial  cursor position is altered this way,
    771        real start position becomes unavailable.
    772 
    773        Plain Vim-like visual mode starts with cleared selection, which is  not
    774        restored	 on  rejecting selection ("Escape", "Ctrl-C", "v", "V").  Con-
    775        trary to it, selection editing doesn't clear previously selected	 files
    776        and  restores  them after reject.  Accepting selection by performing an
    777        operation on selected items (e.g. yanking them via "y") moves cursor to
    778        the  top of current selection region (not to the top most selected file
    779        of the view).
    780 
    781        In turn, selection editing supports three types	of  editing  (look  at
    782        statusbar to know which one is currently active):
    783 
    784 	 - append - amend selection by selecting elements in selection region;
    785 
    786 	 - remove  -  amend  selection	by  deselecting	 elements in selection
    787 	   region;
    788 
    789 	 - invert - amend selection by	inverting  selection  of  elements  in
    790 	   selection region.
    791 
    792        No  matter  how	you  activate selection editing it starts in "append".
    793        One can switch type of operation (in the order given above) via	"Ctrl-
    794        G" key.
    795 
    796        Almost all normal mode keys work in visual mode, but instead of accept-
    797        ing selectors they operate on selected items.
    798 
    799        Enter  save selection and go back to normal mode not moving cursor.
    800 
    801        av     leave visual mode if in amending mode (restores previous	selec-
    802 	      tion), otherwise switch to amending selection mode.
    803 
    804        gv     restore previous visual selection.
    805 
    806        v, V, Ctrl-C or Escape
    807 	      leave  visual  mode if not in amending mode, otherwise switch to
    808 	      normal visual selection.
    809 
    810        Ctrl-G switch type of amending by round robin scheme: append ->	remove
    811 	      -> invert.
    812 
    813        :      enter  command  line  mode.  Selection is cleared on leaving the
    814 	      mode.
    815 
    816        o      switch active selection bound.
    817 
    818        O      switch active selection bound.
    819 
    820        gu, u  make names of selected files lowercase.
    821 
    822        gU, U  make names of selected files uppercase.
    823 
    824 View Mode
    825        This mode tries to imitate the less program.  List of builtin shortcuts
    826        can be found below.  Shortcuts can be customized using :qmap, :qnoremap
    827        and :qunmap command-line commands.
    828 
    829        Shift-Tab, Tab, q, Q, ZZ
    830 	      return to normal mode.
    831 
    832        [count]e, [count]Ctrl-E, [count]j, [count]Ctrl-N, [count]Enter
    833 	      scroll forward one line (or [count] lines).
    834 
    835        [count]y, [count]Ctrl-Y, [count]k, [count]Ctrl-K, [count]Ctrl-P
    836 	      scroll backward one line (or [count] lines).
    837 
    838        [count]f, [count]Ctrl-F, [count]Ctrl-V, [count]Space
    839 	      scroll forward one window (or [count] lines).
    840 
    841        [count]b, [count]Ctrl-B, [count]Alt-V
    842 	      scroll backward one window (or [count] lines).
    843 
    844        [count]z
    845 	      scroll forward one window (and set window to [count]).
    846 
    847        [count]w
    848 	      scroll backward one window (and set window to [count]).
    849 
    850        [count]Alt-Space
    851 	      scroll forward one window, but don't stop at end-of-file.
    852 
    853        [count]d, [count]Ctrl-D
    854 	      scroll forward one half-window (and set half-window to [count]).
    855 
    856        [count]u, [count]Ctrl-U
    857 	      scroll  backward	one  half-window  (and	set   half-window   to
    858 	      [count]).
    859 
    860        r, Ctrl-R, Ctrl-L
    861 	      repaint screen.
    862 
    863        R      reload view preserving scroll position.
    864 
    865        F      toggle  automatic	 forwarding.   Roughly	equivalent to periodic
    866 	      file reload and scrolling to the bottom.	The behaviour is simi-
    867 	      lar to `tail -F` or F key in less.
    868 
    869        [count]/pattern
    870 	      search forward for ([count]-th) matching line.
    871 
    872        [count]?pattern
    873 	      search backward for ([count]-th) matching line.
    874 
    875        [count]n
    876 	      repeat previous search (for [count]-th occurrence).
    877 
    878        [count]N
    879 	      repeat  previous	search	in  reverse  direction (for [count]-th
    880 	      occurrence).
    881 
    882        [count]g, [count]<, [count]Alt-<
    883 	      scroll to the first line of the file (or line [count]).
    884 
    885        [count]G, [count]>, [count]Alt->
    886 	      scroll to the last line of the file (or line [count]).
    887 
    888        [count]p, [count]%
    889 	      scroll to the beginning of the file (or N percent into file).
    890 
    891        v      invoke an editor to edit the current  file  being	 viewed.   The
    892 	      command  for  editing  is taken from the 'vicmd'/'vixcmd' option
    893 	      value and extended with middle line number prepended by  a  plus
    894 	      sign and name of the current file.
    895 
    896        All  "Ctrl-W  x" keys work the same was as in Normal mode.  Active mode
    897        is automatically changed on navigating among windows.   When  less-like
    898        mode  activated	on  file preview is left using one by "Ctrl-W x" keys,
    899        its state is stored until another file is displayed using preview (it's
    900        possible	 to leave the mode, hide preview pane, do something else, then
    901        get back to the file and show preview pane again with previously stored
    902        state in it).
    903 
    904 Command line Mode
    905        These keys are available in all submodes of the command line mode: com-
    906        mand, search, prompt and filtering.
    907 
    908        Down, Up, Left, Right, Home, End and Delete are extended keys and  they
    909        are  not	 available  if	vifm  is compiled with --disable-extended-keys
    910        option.
    911 
    912        Esc, Ctrl-C
    913 	      leave command line mode,	cancels	 input.	  Cancelled  input  is
    914 	      saved into appropriate history and can be recalled later.
    915 
    916        Ctrl-M, Enter
    917 	      execute command and leave command line mode.
    918 
    919        Ctrl-I, Tab
    920 	      complete command or its argument.
    921 
    922        Shift-Tab
    923 	      complete in reverse order.
    924 
    925        Ctrl-_ stop completion and return original input.
    926 
    927        Ctrl-B, Left
    928 	      move cursor to the left.
    929 
    930        Ctrl-F, Right
    931 	      move cursor to the right.
    932 
    933        Ctrl-A, Home
    934 	      go to line beginning.
    935 
    936        Ctrl-E, End
    937 	      go to line end.
    938 
    939        Alt-B  go to the beginning of previous word.
    940 
    941        Alt-F  go to the end of next word.
    942 
    943        Ctrl-U remove  characters  from	cursor	position till the beginning of
    944 	      line.
    945 
    946        Ctrl-K remove characters from cursor position till the end of line.
    947 
    948        Ctrl-H, Backspace
    949 	      remove character before the cursor.
    950 
    951        Ctrl-D, Delete
    952 	      remove character under the cursor.
    953 
    954        Ctrl-W remove characters from cursor position  till  the	 beginning  of
    955 	      previous word.
    956 
    957        Alt-D  remove  characters  from	cursor	position till the beginning of
    958 	      next word.
    959 
    960        Ctrl-T swap the order of current and previous character and move cursor
    961 	      forward  or,  if	cursor past the end of line, swap the order of
    962 	      two last characters in the line.
    963 
    964        Alt-.  insert last part of previous command to current cursor position.
    965 	      Each next call will insert last part of older command.
    966 
    967        Ctrl-G edit command-line content in external editor.  See "Command line
    968 	      editing" section for details.
    969 
    970        Ctrl-N recall more recent command-line from history.
    971 
    972        Ctrl-P recall older command-line from history.
    973 
    974        Up     recall more recent command-line from history, that begins as the
    975 	      current command-line.
    976 
    977        Down   recall  older command-line from history, that begins as the cur-
    978 	      rent command-line.
    979 
    980        Ctrl-] trigger abbreviation expansion.
    981 
    982 Pasting special values
    983        The shortcuts listed below insert specified values into current	cursor
    984        position.  Last key of every shortcut references value that it inserts:
    985 	 - c - [c]urrent file
    986 	 - d - [d]irectory path
    987 	 - e - [e]xtension of a file name
    988 	 - r - [r]oot part of a file name
    989 	 - t - [t]ail part of directory path
    990 
    991 	 - a - [a]utomatic filter
    992 	 - m - [m]anual filter
    993 	 - = - local filter, which is bound to "=" in normal mode
    994 
    995        Values related to filelist in current pane are available through Ctrl-X
    996        prefix, while values from the other pane have  doubled  Ctrl-X  key  as
    997        their  prefix  (doubled Ctrl-X is presumably easier to type than upper-
    998        case letters; it's still easy to remap the keys to correspond to	 names
    999        of similar macros).
   1000 
   1001        Ctrl-X c
   1002 	      name of the current file of the active pane.
   1003 
   1004        Ctrl-X d
   1005 	      path to the current directory of the active pane.
   1006 
   1007        Ctrl-X e
   1008 	      extension of the current file of the active pane.
   1009 
   1010        Ctrl-X r
   1011 	      name root of current file of the active pane.
   1012 
   1013        Ctrl-X t
   1014 	      the  last	 component  of	path  to  the current directory of the
   1015 	      active pane.
   1016 
   1017        Ctrl-X Ctrl-X c
   1018 	      name of the current file of the inactive pane.
   1019 
   1020        Ctrl-X Ctrl-X d
   1021 	      path to the current directory of the inactive pane.
   1022 
   1023        Ctrl-X Ctrl-X e
   1024 	      extension of the current file of the inactive pane.
   1025 
   1026        Ctrl-X Ctrl-X r
   1027 	      name root of current file of the inactive pane.
   1028 
   1029        Ctrl-X Ctrl-X t
   1030 	      the last component of path to the current directory of the inac-
   1031 	      tive pane.
   1032 
   1033 
   1034        Ctrl-X a
   1035 	      value of automatic filter of the active pane.
   1036 
   1037        Ctrl-X m
   1038 	      value of manual filter of the active pane.
   1039 
   1040        Ctrl-X =
   1041 	      value of local filter of the active pane.
   1042 
   1043 
   1044        Ctrl-X /
   1045 	      last pattern from search history.
   1046 
   1047 Command line editing
   1048        vifm provides a facility to edit several kinds of data, that is usually
   1049        edited in command-line mode, in external editor (using  command	speci-
   1050        fied  by 'vicmd' or 'vixcmd' option).  This has at least two advantages
   1051        over built-in command-line mode:
   1052 	 - one can use full power of Vim to edit text;
   1053 	 - finding and reusing history entries becomes possible.
   1054 
   1055        The facility is supported by four input submodes of the command-line:
   1056 	 - command;
   1057 	 - forward search;
   1058 	 - backward search;
   1059 	 - file rename (see description of cw and cW normal mode keys).
   1060 
   1061        Editing command-line using external editor is activated by  the	Ctrl-G
   1062        shortcut.   It's	 also  possible	 to do almost the same from Normal and
   1063        Visual modes using q:, q/ and q? commands.
   1064 
   1065        Temporary file created for the purpose of editing the line has the fol-
   1066        lowing structure:
   1067 
   1068 	 1. First line, which is either empty or contains text already entered
   1069 	    in command-line.
   1070 
   1071 	 2. 2nd and all other lines with history items starting with the  most
   1072 	    recent  one.   Altering this lines in any way won't change history
   1073 	    items stored by vifm.
   1074 
   1075        After editing application is finished the first line  of	 the  file  is
   1076        taken  as  the  result  of operation, when the application returns zero
   1077        exit code.  If the application returns an error (see :cquit command  in
   1078        Vim), all the edits made to the file are ignored, but the initial value
   1079        of the first line is saved in appropriate history.
   1080 
   1081 More Mode
   1082        This is the mode that appears when status bar content is so big that it
   1083        doesn't	fit  on the screen.  One can identify the mode by "-- More --"
   1084        message at the bottom.
   1085 
   1086        The following keys are handled in this mode:
   1087 
   1088 
   1089        Enter, Ctrl-J, j or Down
   1090 	      scroll one line down.
   1091 
   1092        Backspace, k or Up
   1093 	      scroll one line up.
   1094 
   1095 
   1096        d      scroll one page (half of a screen) down.
   1097 
   1098        u      scroll one page (half of a screen) up.
   1099 
   1100 
   1101        Space, f or PageDown
   1102 	      scroll down a screen.
   1103 
   1104        b or PageUp
   1105 	      scroll up a screen.
   1106 
   1107 
   1108        G      scroll to the bottom.
   1109 
   1110        g      scroll to the top.
   1111 
   1112 
   1113        q, Escape or Ctrl-C
   1114 	      quit the mode.
   1115 
   1116        :      switch to command-line mode.
   1117 
   1118 Commands
   1119        Commands are executed with :command_name<Enter>
   1120 
   1121        Commented out lines should start with  the  double  quote  symbol  ("),
   1122        which  may be preceded by whitespace characters intermixed with colons.
   1123        Inline comments can be added at the end of the line after double	 quote
   1124        symbol,	only  last  line of a multi-line command can contain such com-
   1125        ment.  Not all commands support inline comments as  their  syntax  con-
   1126        flicts  with  names  of	registers  and	fields where double quotes are
   1127        allowed.
   1128 
   1129        Most of the commands have two forms: complete and the short one.	 Exam-
   1130        ple:
   1131 
   1132 	 :noh[lsearch]
   1133 
   1134        This  means  the	 complete  command is nohlsearch, and the short one is
   1135        noh.
   1136 
   1137        Most of command-line commands completely reset selection in the current
   1138        view.  However, there are several exceptions:
   1139 
   1140 	 - `:invert s` most likely leaves some files selected;
   1141 
   1142 	 - :normal command (when it doesn't leave command-line mode);
   1143 
   1144 	 - :if	and :else commands don't affect selection on successful execu-
   1145 	   tion.
   1146 
   1147        '|' can be used to separate commands, so you can give multiple commands
   1148        in  one	line.	If you want to use '|' in an argument, precede it with
   1149        '\'.
   1150 
   1151        These commands see '|' as  part	of  their  arguments  even  when  it's
   1152        escaped:
   1153 
   1154 	   :[range]!
   1155 	   :autocmd
   1156 	   :cabbrev
   1157 	   :cmap
   1158 	   :cnoreabbrev
   1159 	   :cnoremap
   1160 	   :command
   1161 	   :dmap
   1162 	   :dnoremap
   1163 	   :filetype
   1164 	   :fileviewer
   1165 	   :filextype
   1166 	   :map
   1167 	   :mmap
   1168 	   :mnoremap
   1169 	   :nmap
   1170 	   :nnoremap
   1171 	   :noremap
   1172 	   :normal
   1173 	   :qmap
   1174 	   :qnoremap
   1175 	   :vmap
   1176 	   :vnoremap
   1177 	   :wincmd
   1178 	   :windo
   1179 	   :winrun
   1180 
   1181        To  be able to use another command after one of these, wrap it with the
   1182        :execute command.  An example:
   1183 
   1184 	 if filetype('.') == 'reg' | execute '!!echo regular file' | endif
   1185 
   1186        :[count]
   1187 
   1188        :number
   1189 	      move to the file number.
   1190 	      :12 would move to the 12th file in the list.
   1191 	      :0 move to the top of the list.
   1192 	      :$ move to the bottom of the list.
   1193 
   1194        :[count]command
   1195 	      The  only	 builtin  :[count]command  are	:[count]d[elete]   and
   1196 	      :[count]y[ank].
   1197 
   1198        :d3    would  delete  three files starting at the current file position
   1199 	      moving down.
   1200 
   1201        :3d    would delete one file at the third line in the list.
   1202 
   1203        :command [args]
   1204 
   1205        :[range]!program
   1206 	      execute command via shell.  Accepts macros.
   1207 
   1208        :[range]!command &
   1209 
   1210        same as above, but the command is run in the  background	 using	vifm's
   1211        means.
   1212 
   1213        Programs that write to stdout like "ls" create an error message showing
   1214        partial output of the command.
   1215 
   1216        Note the space before ampersand symbol, if you omit it, command will be
   1217        run in the background using job control of your shell.
   1218 
   1219        Accepts macros.
   1220 
   1221 						:!!
   1222 
   1223        :[range]!!command
   1224 	      same as :!, but pauses before returning.
   1225 
   1226        :!!    repeat the last command.
   1227 
   1228 						:alink
   1229 
   1230        :[range]alink[!?]
   1231 	      create absolute symbolic links to files in directory of inactive
   1232 	      view.  With "?"  prompts for destination file names in  an  edi-
   1233 	      tor.  "!" forces overwrite.
   1234 
   1235        :[range]alink[!] path
   1236 	      create  absolute	symbolic links to files in directory specified
   1237 	      by the path (absolute  or	 relative  to  directory  of  inactive
   1238 	      view).
   1239 
   1240        :[range]alink[!] name1 name2...
   1241 	      create  absolute	symbolic  links of files in directory of other
   1242 	      view giving each next link a corresponding name from  the	 argu-
   1243 	      ment list.
   1244 
   1245 						:apropos
   1246 
   1247        :apropos keyword...
   1248 	      create a menu of items returned by the apropos command.  Select-
   1249 	      ing an item in  the  menu	 opens	corresponding  man  page.   By
   1250 	      default  the  command  relies on the external "apropos" utility,
   1251 	      which can be customized by altering value	 of  the  'aproposprg'
   1252 	      option.
   1253 
   1254 						:autocmd
   1255 
   1256        :au[tocmd] {event} {pat} {cmd}
   1257 	      register autocommand for the {event}, which can be:
   1258 		- DirEnter - performed on entering a directory
   1259 	      Event name is case insensitive.
   1260 
   1261 	      {pat}  is	 a  comma-separated  list  of modified globs patterns,
   1262 	      which can contain tilde or environment variables.	 All paths use
   1263 	      slash  ('/') as directory separator.  The pattern can start with
   1264 	      a '!', which negates it.	Patterns that do not  contain  slashes
   1265 	      are  matched  against the last item of the path only (e.g. "dir"
   1266 	      in "/path/dir").	Literal comma can be entered by	 doubling  it.
   1267 	      Two modifications to globs matching are as follows:
   1268 		-  *  - never matches a slash (i.e., can signify single direc-
   1269 	      tory level)
   1270 		- ** - matches any character (i.e., can match  path  of	 arbi-
   1271 	      trary depth)
   1272 
   1273 	      {cmd} is a :command or several of them separated with '|'.
   1274 
   1275 	      Examples of patterns:
   1276 		- conf.d      - matches conf.d directory anywhere
   1277 		- *.d	      - matches directories ending with ".d" anywhere
   1278 		- **.git      - matches something.git, but not .git anywhere
   1279 		- **/.git/**  - matches /path/.git/objects, but not /path/.git
   1280 		-  **/.git/**/ - matches /path/.git/ only (because of trailing
   1281 	      slash)
   1282 		-  /etc/*	-  matches  /etc/conf.d/,  /etc/X11,  but  not
   1283 	      /etc/X11/fs
   1284 		- /etc/**/*.d - matches /etc/conf.d, /etc/X11/conf.d, etc.
   1285 		- /etc/**/*   - matches /etc/ itself and any file below it
   1286 		- /etc/**/**  - matches /etc/ itself and any file below it
   1287 
   1288        :au[tocmd] [{event}] [{pat}]
   1289 	      list  those autocommands that match given event-pattern combina-
   1290 	      tion.
   1291 	      {event} and {pat} can be omitted to list all  autocommands.   To
   1292 	      list  any autocommands for specific pattern one can use * place-
   1293 	      holder in place of {event}.
   1294 
   1295        :au[tocmd]! [{event}] [{pat}]
   1296 	      remove autocommands that match given event-pattern  combination.
   1297 	      Syntax is the same as for listing above.
   1298 
   1299        :apropos
   1300 	      repeat last :apropos command.
   1301 
   1302 						:bmark
   1303 
   1304        :bmark tag1 [tag2 [tag3...]]
   1305 	      bookmark current directory with specified tags.
   1306 
   1307        :bmark! path tag1 [tag2 [tag3...]]
   1308 	      same  as :bmark, but allows bookmarking specific path instead of
   1309 	      current directory.  This is for use in vifmrc and for  bookmark-
   1310 	      ing files.
   1311 
   1312 	      Path  can contain macros that expand to single path (%c, %C, %d,
   1313 	      %D) or those that can expand to multiple paths, but contain only
   1314 	      one  (%f, %F, %rx).  The latter is done for convenience on using
   1315 	      the command interactively.  Complex macros that  include	spaces
   1316 	      (e.g. "%c:gs/ /_") should be escaped.
   1317 
   1318 						:bmarks
   1319 
   1320        :bmarks
   1321 	      display all bookmarks in a menu.
   1322 
   1323        :bmarks [tag1 [tag2...]]
   1324 	      display  menu  of	 bookmarks  that  include all of the specified
   1325 	      tags.
   1326 
   1327 						:bmgo
   1328 
   1329        :bmgo [tag1 [tag2...]]
   1330 	      when there are more than one match acts  exactly	like  :bmarks,
   1331 	      otherwise	 navigates  to	single match immediately (and fails if
   1332 	      there is no match).
   1333 
   1334 						:cabbrev
   1335 
   1336        :ca[bbrev]
   1337 	      display menu of command-line mode abbreviations.
   1338 
   1339        :ca[bbrev] lhs-prefix
   1340 	      display command-line mode	 abbreviations	which  left-hand  side
   1341 	      starts with specified prefix.
   1342 
   1343        :ca[bbrev] lhs rhs
   1344 	      register	new  or	 overwrites existing abbreviation for command-
   1345 	      line mode.  rhs can contain spaces  and  any  special  sequences
   1346 	      accepted	in  rhs	 of  mappings  (see "Mappings" section below).
   1347 	      Abbreviations are expanded non-recursively.
   1348 
   1349 						:cnoreabbrev
   1350 
   1351        :cnorea[bbrev]
   1352 	      display menu of command-line mode abbreviations.
   1353 
   1354        :cnorea[bbrev] lhs-prefix
   1355 	      display command-line mode	 abbreviations	which  left-hand  side
   1356 	      starts with specified prefix.
   1357 
   1358        :cnorea[bbrev] lhs rhs
   1359 	      same  as :cabbrev, but mappings in rhs are ignored during expan-
   1360 	      sion.
   1361 
   1362 						:cd
   1363 
   1364        :cd or :cd ~ or :cd $HOME
   1365 	      change to home directory.
   1366 
   1367        :cd -  go to the last visited directory.
   1368 
   1369        :cd ~/dir
   1370 	      change directory to ~/dir.
   1371 
   1372        :cd /curr/dir /other/dir
   1373 	      change directory of the current pane to /curr/dir and  directory
   1374 	      of  the other pane to /other/dir.	 Relative paths are assumed to
   1375 	      be relative to directory of current view.	 Command won't fail if
   1376 	      one  of directories is invalid.  All forms of the command accept
   1377 	      macros.
   1378 
   1379        :cd! /dir
   1380 	      same as :cd /dir /dir.
   1381 
   1382 						:change
   1383 
   1384        :c[hange]
   1385 	      create a menu window to alter a files properties.
   1386 
   1387 						:chmod
   1388 
   1389        :[range]chmod
   1390 	      display file attributes (permission on *nix  and	properties  on
   1391 	      Windows) change dialog.
   1392 
   1393        :[range]chmod[!] arg...
   1394 	      only for *nix
   1395 	      change permissions for files.  See `man 1 chmod` for arg format.
   1396 	      "!" means set permissions recursively.
   1397 
   1398 						:chown
   1399 
   1400        :[range]chown
   1401 	      only for *nix
   1402 	      same as co key in normal mode.
   1403 
   1404        :[range]chown [user][:][group]
   1405 	      only for *nix
   1406 	      change owner and/or group of  files.   Operates  on  directories
   1407 	      recursively.
   1408 
   1409 						:clone
   1410 
   1411        :[range]clone[!?]
   1412 	      clones  files  in current directory.  With "?" vifm will open vi
   1413 	      to edit file names.  "!" forces overwrite.  Macros are expanded.
   1414 
   1415        :[range]clone[!] path
   1416 	      clones files to directory specified with the path	 (absolute  or
   1417 	      relative	to  current directory).	 "!" forces overwrite.	Macros
   1418 	      are expanded.
   1419 
   1420        :[range]clone[!] name1 name2...
   1421 	      clones files in current directory giving each next clone a  cor-
   1422 	      responding  name	from the argument list.	 "!" forces overwrite.
   1423 	      Macros are expanded.
   1424 
   1425 						:colorscheme
   1426 
   1427        :colo[rscheme]?
   1428 	      print current color scheme name on the status bar.
   1429 
   1430        :colo[rscheme]
   1431 	      display a menu with a list of available color schemes.  You  can
   1432 	      choose  primary  color  scheme  here.  It is used for view if no
   1433 	      directory specific colorscheme fits  current  path.   It's  also
   1434 	      used  to	set  border  color  (except view titles) and colors in
   1435 	      menus and dialogs.
   1436 
   1437        :colo[rscheme] color_scheme_name
   1438 	      change primary color scheme to color_scheme_name.	  In  case  of
   1439 	      errors  (e.g.  some colors are not supported by terminal) either
   1440 	      nothing is changed or color scheme is reset to builtin colors to
   1441 	      ensure that TUI is left in a usable state.
   1442 
   1443        :colo[rscheme] color_scheme_name directory
   1444 	      associate	 directory with the color scheme.  The directory argu-
   1445 	      ment can be either absolute or relative path  when  :colorscheme
   1446 	      command  is  executed from command line, but mandatory should be
   1447 	      an absolute path when the command is executed in scripts	loaded
   1448 	      at startup (until vifm is completely loaded).
   1449 
   1450 						:comclear
   1451 
   1452        :comc[lear]
   1453 	      remove all user defined commands.
   1454 
   1455 						:command
   1456 
   1457        :com[mand]
   1458 	      display a menu of user commands.
   1459 
   1460        :com[mand] beginning
   1461 	      display user defined commands that start with the beginning.
   1462 
   1463        :com[mand] name action
   1464 	      set a new user command.
   1465 	      Trying  to  use  a reserved command name will result in an error
   1466 	      message.
   1467 	      Use :com[mand]! to overwrite a previously set command.
   1468 	      Unlike vim user commands do not have to  start  with  a  capital
   1469 	      letter.	User commands are run in a shell by default.  To run a
   1470 	      command in the background you must set it as a  background  com-
   1471 	      mand with & at the end of the commands action (:com rm rm %f &).
   1472 	      Command name cannot contain numbers or special  symbols  (except
   1473 	      '?' and '!').
   1474 
   1475        :com[mand] name /pattern
   1476 	      set search pattern.
   1477 
   1478        :com[mand] name =pattern
   1479 	      set local filter value.
   1480 
   1481        :com[mand] name filter{:filter args}
   1482 	      set  file	 name  filter  (see :filter command description).  For
   1483 	      example:
   1484 
   1485 		" display only audio files
   1486 		:command onlyaudio filter/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i
   1487 		" display everything except audio files
   1488 		:command noaudio filter!/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i
   1489 
   1490        :com[mand] cmd :commands
   1491 	      set kind of an alias for internal command	 (like	in  a  shell).
   1492 	      Passes  range  given  to alias to an aliased command, so running
   1493 	      :%cp after
   1494 		:command cp :copy %a
   1495 	      equals
   1496 		:%copy
   1497 
   1498 						:compare
   1499 
   1500        :compare [byname |  bysize  |  bycontents  |  listall  |	 listunique  |
   1501        listdups | ofboth | ofone | groupids | grouppaths | skipempty]...
   1502 	      compare  files in one or two views according the arguments.  The
   1503 	      default is "bycontents listall ofboth grouppaths".  See "Compare
   1504 	      views"  section below for details.  Tree structure is incompati-
   1505 	      ble with alternative representations, so values of 'lsview'  and
   1506 	      'millerview' options are ignored.
   1507 
   1508 						:copen
   1509 
   1510        :cope[n]
   1511 	      opens menu with contents of the last displayed menu with naviga-
   1512 	      tion to files by default, if any.
   1513 
   1514 						:copy
   1515 
   1516        :[range]co[py][!?][ &]
   1517 	      copy files to directory of other view.   With  "?"  prompts  for
   1518 	      destination file names in an editor.  "!" forces overwrite.
   1519 
   1520        :[range]co[py][!] path[ &]
   1521 	      copy  files  to  directory  specified with the path (absolute or
   1522 	      relative to directory of other view).  "!" forces overwrite.
   1523 
   1524        :[range]co[py][!] name1 name2...[ &]
   1525 	      copy files to directory of other view giving each	 next  file  a
   1526 	      corresponding  name  from	 the  argument list.  "!" forces over-
   1527 	      write.
   1528 
   1529 						:cquit
   1530 
   1531        :cq[uit][!]
   1532 	      same  as	:quit,	but  also  aborts   directory	choosing   via
   1533 	      --choose-dir  (empties  output  file)  and returns non-zero exit
   1534 	      code.
   1535 
   1536 						:cunabbrev
   1537 
   1538        :cuna[bbrev] lhs
   1539 	      unregister command-line mode abbreviation by its lhs.
   1540 
   1541        :cuna[bbrev] rhs
   1542 	      unregister command-line mode abbreviation by its	rhs,  so  that
   1543 	      abbreviation could be removed even after expansion.
   1544 
   1545 						:delbmarks
   1546 
   1547        :delbmarks
   1548 	      remove bookmarks from current directory.
   1549 
   1550        :delbmarks tag1 [tag2 [tag3...]]
   1551 	      remove set of bookmarks that include all of the specified tags.
   1552 
   1553        :delbmarks!
   1554 	      remove all bookmarks.
   1555 
   1556        :delbmarks! path1 [path2 [path3...]]
   1557 	      remove bookmarks of listed paths.
   1558 
   1559 						:delcommand
   1560 
   1561        :delc[ommand] user_command
   1562 	      remove user defined command named user_command.
   1563 
   1564 						:delete
   1565 
   1566        :[range]d[elete][!][ &]
   1567 	      delete  selected	file  or  files.   "!"	means complete removal
   1568 	      (omitting trash).
   1569 
   1570        :[range]d[elete][!] [reg] [count][ &]
   1571 	      delete selected or [count] files to the reg register.  "!" means
   1572 	      complete removal (omitting trash).
   1573 
   1574 						:delmarks
   1575 
   1576        :delm[arks]!
   1577 	      delete all marks.
   1578 
   1579        :delm[arks] marks ...
   1580 	      delete  specified	 marks,	 each  argument is treated as a set of
   1581 	      marks.
   1582 
   1583 						:display
   1584 
   1585        :di[splay]
   1586 	      display menu with registers content.
   1587 
   1588        :di[splay] list ...
   1589 	      display the contents of the numbered and	named  registers  that
   1590 	      are  mentioned in list (for example "az to display "", "a and "z
   1591 	      content).
   1592 
   1593 						:dirs
   1594 
   1595        :dirs  display directory stack.
   1596 
   1597 						:echo
   1598 
   1599        :ec[ho] [<expr>...]
   1600 	      evaluate each argument as an expression and  output  them	 sepa-
   1601 	      rated  with  a space.  See help on :let command for a definition
   1602 	      of <expr>.
   1603 
   1604 						:edit
   1605 
   1606        :[range]e[dit] [file...]
   1607 	      open selected or passed file(s) in editor.  Macros and  environ-
   1608 	      ment variables are expanded.
   1609 
   1610 						:else
   1611 
   1612        :el[se]
   1613 	      execute  commands until next matching :endif if all other condi-
   1614 	      tions didn't match.  See also help on :if and :endif commands.
   1615 
   1616 						:elseif
   1617 
   1618        :elsei[f] {expr1}
   1619 	      execute commands until next matching :elseif, :else or :endif if
   1620 	      conditions  of  previous :if and :elseif branches were evaluated
   1621 	      to zero.	See also help on :if and :endif commands.
   1622 
   1623 						:empty
   1624 
   1625        :empty permanently remove  files	 from  all  existing  non-empty	 trash
   1626 	      directories (see "Trash directory" section below).  Trash direc-
   1627 	      tories which are specified via %r and/or	%u  also  get  deleted
   1628 	      completely.   Also remove all operations from undolist that have
   1629 	      no sense after :empty and remove all records about files located
   1630 	      inside  directories from all registers.  Removal is performed as
   1631 	      background task with undetermined amount	of  work  and  can  be
   1632 	      checked via :jobs menu.
   1633 
   1634 						:endif
   1635 
   1636        :en[dif]
   1637 	      end conditional block.  See also help on :if and :else commands.
   1638 
   1639 						:execute
   1640 
   1641        :exe[cute] [<expr>...]
   1642 	      evaluate	each  argument as an expression and join results sepa-
   1643 	      rated by a space to get a single string which is	then  executed
   1644 	      as a command-line command.  See help on :let command for a defi-
   1645 	      nition of <expr>.
   1646 
   1647 						:exit
   1648 
   1649        :exi[t][!]
   1650 	      same as :quit.
   1651 
   1652 						:file
   1653 
   1654        :f[ile][ &]
   1655 	      display menu of programs set for the file type  of  the  current
   1656 	      file.  " &" forces running associated program in background.
   1657 
   1658        :f[ile] arg[ &]
   1659 	      run associated command that begins with the arg skipping opening
   1660 	      menu.  " &" forces running associated program in background.
   1661 
   1662 						:filetype
   1663 
   1664        :filet[ype] pattern-list [{descr}]def_prog[ &],[{descr}]prog2[ &],...
   1665 	      associate given program list to each of the  patterns.   Associ-
   1666 	      ated  program  (command) is used by handlers of l and Enter keys
   1667 	      (and also in the :file menu).  If you need to insert comma  into
   1668 	      command  just  double it (",,").	Space followed by an ampersand
   1669 	      as two last characters of a command means running of the command
   1670 	      in  the  background.   Optional description can be given to each
   1671 	      command to ease understanding of what command  will  do  in  the
   1672 	      :file menu.  Vifm will try the rest of the programs for an asso-
   1673 	      ciation when  the	 default  isn't	 found.	  When	program	 entry
   1674 	      doesn't  contain	any  of	 vifm  macros, name of current file is
   1675 	      appended as if program entry ended with %c macro on *nix and %"c
   1676 	      on  Windows.   On	 Windows path to executables containing spaces
   1677 	      can (and should be for correct work with such paths)  be	double
   1678 	      quoted.	See  "Patterns"	 section below for pattern definition.
   1679 	      See also "Automatic FUSE mounts" section below.  Example for zip
   1680 	      archives and several actions:
   1681 
   1682 		filetype *.zip,*.jar,*.war,*.ear
   1683 		       \ {Mount with fuse-zip}
   1684 		       \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR,
   1685 		       \ {View contents}
   1686 		       \ zip -sf %c | less,
   1687 		       \ {Extract here}
   1688 		       \ tar -xf %c,
   1689 
   1690 	      Note  that  on  OS X when `open` is used to call an app, vifm is
   1691 	      unable to check whether that app is actually available.	So  if
   1692 	      automatic	 skipping  of programs that aren't there is desirable,
   1693 	      `open` should be replaced with an actual command.
   1694 
   1695        :filet[ype] filename
   1696 	      list (in menu mode) currently  registered	 patterns  that	 match
   1697 	      specified file name.  Same as ":filextype filename".
   1698 
   1699 						:filextype
   1700 
   1701        :filex[type] pattern-list [{ description }] def_program,program2,...
   1702 	      same as :filetype, but this command is ignored if not running in
   1703 	      X.  In X :filextype is equal to :filetype.  See "Patterns"  sec-
   1704 	      tion  below  for	pattern	 definition.  See also "Automatic FUSE
   1705 	      mounts" section below.
   1706 
   1707 	      For example, consider the following settings  (the  order	 might
   1708 	      seem strange, but it's for the demonstration purpose):
   1709 
   1710 		filetype *.html,*.htm
   1711 			\ {View in lynx}
   1712 			\ lynx
   1713 		filextype *.html,*.htm
   1714 			\ {Open with dwb}
   1715 			\ dwb %f %i &,
   1716 		filetype *.html,*.htm
   1717 			\ {View in links}
   1718 			\ links
   1719 		filextype *.html,*.htm
   1720 			\ {Open with firefox}
   1721 			\ firefox %f &,
   1722 			\ {Open with uzbl}
   1723 			\ uzbl-browser %f %i &,
   1724 
   1725 	      If  you're using vifm inside a terminal emulator that is running
   1726 	      in graphical environment (when X is used on *nix; always on Win-
   1727 	      dows), vifm attempts to run application in this order:
   1728 
   1729 	      1. lynx
   1730 	      2. dwb
   1731 	      3. links
   1732 	      4. firefox
   1733 	      5. uzbl
   1734 
   1735 	      If  there is no graphical environment (checked presence of $DIS-
   1736 	      PLAY environment variable on *nix; never	happens	 on  Windows),
   1737 	      the list will look like:
   1738 
   1739 	      1. lynx
   1740 	      2. links
   1741 
   1742 	      Just as if all :filextype commands were not there.
   1743 
   1744 	      The  purpose of such differentiation is to allow comfortable use
   1745 	      of vifm with same settings in desktop environment/through remote
   1746 	      connection (SSH)/in native console.
   1747 
   1748 	      Note  that  on OS X $DISPLAY isn't defined unless you define it,
   1749 	      so :filextype should be used only if you set  $DISPLAY  in  some
   1750 	      way.
   1751 
   1752        :filext[ype] filename
   1753 	      list  (in	 menu  mode)  currently registered patterns that match
   1754 	      specified file name.  Same as ":filetype filename".
   1755 
   1756 						:fileviewer
   1757 
   1758        :filev[iewer] pattern-list command1,command2,...
   1759 	      register specified list of commands as viewers for each  of  the
   1760 	      patterns.	 Viewer is a command which output is captured and dis-
   1761 	      played in one of the panes of vifm after pressing "e" or running
   1762 	      :view  command.	When  the  command doesn't contain any of vifm
   1763 	      macros, name of current file is appended	as  if	command	 ended
   1764 	      with  %c	macro.	Comma escaping and missing commands processing
   1765 	      rules as for :filetype apply to this  command.   See  "Patterns"
   1766 	      section below for pattern definition.
   1767 
   1768 	      Example for zip archives:
   1769 
   1770 		fileviewer *.zip,*.jar,*.war,*.ear zip -sf %c, echo "No zip to preview:"
   1771 
   1772        :filev[iewer] filename
   1773 	      list  (in	 menu  mode)  currently registered patterns that match
   1774 	      specified filename.
   1775 
   1776 						:filter
   1777 
   1778        :filter[!] {pattern}
   1779 	      filter files matching the pattern	 out  of  directory  listings.
   1780 	      '!'  controls  state  of	filter inversion after updating filter
   1781 	      value (see also 'cpoptions'  description).   Filter  is  matched
   1782 	      case sensitively on *nix and case insensitively on Windows.  See
   1783 	      "File Filters" and "Patterns" sections.
   1784 
   1785 	      Example:
   1786 
   1787 		" filter all files ending in .o from the filelist.
   1788 		:filter /.o$/
   1789 
   1790 
   1791        :filter[!] {empty-pattern}
   1792 	      same as above, but use last search pattern as pattern value.
   1793 
   1794 	      Example:
   1795 
   1796 		:filter //I
   1797 
   1798 
   1799        :filter
   1800 	      reset filter (set it to an empty string) and show all files.
   1801 
   1802        :filter!
   1803 	      same as :invert.
   1804 
   1805        :filter?
   1806 	      show information on local, name and auto filters.
   1807 
   1808 						:find
   1809 
   1810        :[range]fin[d] pattern
   1811 	      display results of find command in  the  menu.   Searches	 among
   1812 	      selected	files if any.  Accepts macros.	By default the command
   1813 	      relies on the external "find" utility, which can	be  customized
   1814 	      by altering value of the 'findprg' option.
   1815 
   1816        :[range]fin[d] -opt...
   1817 	      same  as	:find  above,  but  user  defines  all find arguments.
   1818 	      Searches among selected files if any.
   1819 
   1820        :[range]fin[d] path -opt...
   1821 	      same as :find  above,  but  user	defines	 all  find  arguments.
   1822 	      Ignores selection and range.
   1823 
   1824        :[range]fin[d]
   1825 	      repeat last :find command.
   1826 
   1827 						:finish
   1828 
   1829        :fini[sh]
   1830 	      stop  sourcing a script. Can only be used in a vifm script file.
   1831 	      This is a quick way to skip the rest of the file.
   1832 
   1833 						:goto
   1834 
   1835        :go[to]
   1836 	      change directory if necessary and put specified path  under  the
   1837 	      cursor.	The path should be existing non-root path.  Macros and
   1838 	      environment variables are expanded.
   1839 
   1840 						:grep
   1841 
   1842        :[range]gr[ep][!] pattern
   1843 	      will show results of grep command	 in  the  menu.	  Add  "!"  to
   1844 	      request  inversion  of  search (look for lines that do not match
   1845 	      pattern).	 Searches among selected files if  any	and  no	 range
   1846 	      given.  Ignores binary files by default.	By default the command
   1847 	      relies on the external "grep" utility, which can	be  customized
   1848 	      by altering value of the 'grepprg' option.
   1849 
   1850        :[range]gr[ep][!] -opt...
   1851 	      same  as :grep above, but user defines all grep arguments, which
   1852 	      are not escaped.	Searches among selected files if any.
   1853 
   1854        :[range]gr[ep][!]
   1855 	      repeats last :grep command.  "!" of this command inverts "!"  in
   1856 	      repeated command.
   1857 
   1858 						:help
   1859 
   1860        :h[elp]
   1861 	      show the help file.
   1862 
   1863        :h[elp] argument
   1864 	      is the same as using ':h argument' in vim.  Use vifm-<something>
   1865 	      to get help on vifm (tab completion works).  This	 form  of  the
   1866 	      command doesn't work when 'vimhelp' option is off.
   1867 
   1868 						:highlight
   1869 
   1870        :hi[ghlight]
   1871 	      display  information  about  all	highlight groups active at the
   1872 	      moment.
   1873 
   1874        :hi[ghlight] clear
   1875 	      reset all highlighting to builtin defaults and removed all file-
   1876 	      name-specific rules.
   1877 
   1878        :hi[ghlight] clear ( {pat1,pat2,...} | /regexp/ )
   1879 	      removes specified rule.
   1880 
   1881        :hi[ghlight] ( group-name | {pat1,pat2,...} | /regexp/ )
   1882 	      display  information  on given highlight group or file name pat-
   1883 	      tern of color scheme used in the active view.
   1884 
   1885        :hi[ghlight]  (	group-name  |	{pat1,pat2,...}	  |   /regexp/[iI]   )
   1886        cterm=style | ctermfg=color | ctermbg=color
   1887 	      set   style  (cterm),  foreground	 (ctermfg)  or/and  background
   1888 	      (ctermbg) parameters of highlight group or file name pattern for
   1889 	      color scheme used in the active view.
   1890 
   1891        All style values as well as color names are case insensitive.
   1892 
   1893        Available style values (some of them can be combined):
   1894 	- bold
   1895 	- underline
   1896 	- reverse or inverse
   1897 	- standout
   1898 	- italic (on unsupported systems becomes reverse)
   1899 	- none
   1900 
   1901        Available group-name values:
   1902 	- Win - color of all windows (views, dialogs, menus) and default color
   1903        for their content (e.g. regular files in views)
   1904 	- AuxWin - color of auxiliary areas of windows
   1905 	- Border - color of vertical parts of the border
   1906 	- TabLine - tab line color
   1907 	- TabLineSel - color of the tip of selected tab
   1908 	- TopLineSel - top line color of the current pane
   1909 	- TopLine - top line color of the other pane
   1910 	- CmdLine - the command line/status bar color
   1911 	- ErrorMsg - color of error messages in the status bar
   1912 	- StatusLine - color of the line above the status bar
   1913 	- JobLine - color of job line that appears above the status line
   1914 	- WildMenu - color of the wild menu items
   1915 	- SuggestBox - color of key suggestion box
   1916 	- CurrLine - line at cursor position in active view
   1917 	- OtherLine - line at cursor position in inactive view
   1918 	- Selected - color of selected files
   1919 	- Directory - color of directories
   1920 	- Link - color of symbolic links in the views
   1921 	- BrokenLink - color of broken symbolic links
   1922 	- Socket - color of sockets
   1923 	- Device - color of block and character devices
   1924 	- Executable - color of executable files
   1925 	- Fifo - color of fifo pipes
   1926 	- CmpMismatch - color of mismatched files in  side-by-side  comparison
   1927        by path
   1928 	- User1..User9 - 9 colors which can be used via %* 'statusline' macro
   1929 
   1930        Available colors:
   1931 	- -1 or default or none - default or transparent
   1932 	- black	  and lightblack
   1933 	- red	  and lightred
   1934 	- green	  and lightgreen
   1935 	- yellow  and lightyellow
   1936 	- blue	  and lightblue
   1937 	- magenta and lightmagenta
   1938 	- cyan	  and lightcyan
   1939 	- white	  and lightwhite
   1940 	- 0-255 - corresponding colors from 256-color palette
   1941 
   1942        Light  versions	of  colors are regular colors with bold attribute set.
   1943        So order of arguments of :highlight command is important and it's  bet-
   1944        ter  to	put  "cterm" in front of others to prevent it from overwriting
   1945        attributes set by "ctermfg" or "ctermbg" arguments.
   1946 
   1947        For convenience of color scheme authors xterm-like names for 256	 color
   1948        palette	  is	also   supported.    The   mapping   is	  taken	  from
   1949        http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim	Dupli-
   1950        cated  entries were altered by adding an underscore followed by numeri-
   1951        cal suffix.
   1952 
   1953 	 0 Black		  86 Aquamarine1	   172 Orange3
   1954 	 1 Red			  87 DarkSlateGray2	   173 LightSalmon3_2
   1955 	 2 Green		  88 DarkRed_2		   174 LightPink3
   1956 	 3 Yellow		  89 DeepPink4_2	   175 Pink3
   1957 	 4 Blue			  90 DarkMagenta	   176 Plum3
   1958 	 5 Magenta		  91 DarkMagenta_2	   177 Violet
   1959 	 6 Cyan			  92 DarkViolet		   178 Gold3_2
   1960 	 7 White		  93 Purple		   179 LightGoldenrod3
   1961 	 8 LightBlack		  94 Orange4_2		   180 Tan
   1962 	 9 LightRed		  95 LightPink4		   181 MistyRose3
   1963 	10 LightGreen		  96 Plum4		   182 Thistle3
   1964 	11 LightYellow		  97 MediumPurple3	   183 Plum2
   1965 	12 LightBlue		  98 MediumPurple3_2	   184 Yellow3_2
   1966 	13 LightMagenta		  99 SlateBlue1		   185 Khaki3
   1967 	14 LightCyan		 100 Yellow4		   186 LightGoldenrod2
   1968 	15 LightWhite		 101 Wheat4		   187 LightYellow3
   1969 	16 Grey0		 102 Grey53		   188 Grey84
   1970 	17 NavyBlue		 103 LightSlateGrey	   189 LightSteelBlue1
   1971 	18 DarkBlue		 104 MediumPurple	   190 Yellow2
   1972 	19 Blue3		 105 LightSlateBlue	   191 DarkOliveGreen1
   1973 	20 Blue3_2		  106  Yellow4_2	      192  DarkOliveG-
   1974        reen1_2
   1975 	21 Blue1		 107 DarkOliveGreen3	   193 DarkSeaGreen1_2
   1976 	22 DarkGreen		 108 DarkSeaGreen	   194 Honeydew2
   1977 	23 DeepSkyBlue4		 109 LightSkyBlue3	   195 LightCyan1
   1978 	24 DeepSkyBlue4_2	 110 LightSkyBlue3_2	   196 Red1
   1979 	25 DeepSkyBlue4_3	 111 SkyBlue2		   197 DeepPink2
   1980 	26 DodgerBlue3		 112 Chartreuse2_2	   198 DeepPink1
   1981 	27 DodgerBlue2		 113 DarkOliveGreen3_2	   199 DeepPink1_2
   1982 	28 Green4		 114 PaleGreen3_2	   200 Magenta2_2
   1983 	29 SpringGreen4		 115 DarkSeaGreen3	   201 Magenta1
   1984 	30 Turquoise4		 116 DarkSlateGray3	   202 OrangeRed1
   1985 	31 DeepSkyBlue3		 117 SkyBlue1		   203 IndianRed1
   1986 	32 DeepSkyBlue3_2	 118 Chartreuse1	   204 IndianRed1_2
   1987 	33 DodgerBlue1		 119 LightGreen_2	   205 HotPink
   1988 	34 Green3		 120 LightGreen_3	   206 HotPink_2
   1989 	35 SpringGreen3		 121 PaleGreen1		   207 MediumOrchid1_2
   1990 	36 DarkCyan		 122 Aquamarine1_2	   208 DarkOrange
   1991 	37 LightSeaGreen	 123 DarkSlateGray1	   209 Salmon1
   1992 	38 DeepSkyBlue2		 124 Red3		   210 LightCoral
   1993 	39 DeepSkyBlue1		 125 DeepPink4_3	   211 PaleVioletRed1
   1994 	40 Green3_2		 126 MediumVioletRed	   212 Orchid2
   1995 	41 SpringGreen3_2	 127 Magenta3		   213 Orchid1
   1996 	42 SpringGreen2		 128 DarkViolet_2	   214 Orange1
   1997 	43 Cyan3		 129 Purple_2		   215 SandyBrown
   1998 	44 DarkTurquoise	 130 DarkOrange3	   216 LightSalmon1
   1999 	45 Turquoise2		 131 IndianRed		   217 LightPink1
   2000 	46 Green1		 132 HotPink3		   218 Pink1
   2001 	47 SpringGreen2_2	 133 MediumOrchid3	   219 Plum1
   2002 	48 SpringGreen1		 134 MediumOrchid	   220 Gold1
   2003 	49  MediumSpringGreen	   135	MediumPurple2	      221 LightGolden-
   2004        rod2_2
   2005 	50 Cyan2		 136  DarkGoldenrod	     222  LightGolden-
   2006        rod2_3
   2007 	51 Cyan1		 137 LightSalmon3	   223 NavajoWhite1
   2008 	52 DarkRed		 138 RosyBrown		   224 MistyRose1
   2009 	53 DeepPink4		 139 Grey63		   225 Thistle1
   2010 	54 Purple4		 140 MediumPurple2_2	   226 Yellow1
   2011 	55 Purple4_2		 141 MediumPurple1	   227 LightGoldenrod1
   2012 	56 Purple3		 142 Gold3		   228 Khaki1
   2013 	57 BlueViolet		 143 DarkKhaki		   229 Wheat1
   2014 	58 Orange4		 144 NavajoWhite3	   230 Cornsilk1
   2015 	59 Grey37		 145 Grey69		   231 Grey100
   2016 	60 MediumPurple4	 146 LightSteelBlue3	   232 Grey3
   2017 	61 SlateBlue3		 147 LightSteelBlue	   233 Grey7
   2018 	62 SlateBlue3_2		 148 Yellow3		   234 Grey11
   2019 	63 RoyalBlue1		 149 DarkOliveGreen3_3	   235 Grey15
   2020 	64 Chartreuse4		 150 DarkSeaGreen3_2	   236 Grey19
   2021 	65 DarkSeaGreen4	 151 DarkSeaGreen2	   237 Grey23
   2022 	66 PaleTurquoise4	 152 LightCyan3		   238 Grey27
   2023 	67 SteelBlue		 153 LightSkyBlue1	   239 Grey30
   2024 	68 SteelBlue3		 154 GreenYellow	   240 Grey35
   2025 	69 CornflowerBlue	 155 DarkOliveGreen2	   241 Grey39
   2026 	70 Chartreuse3		 156 PaleGreen1_2	   242 Grey42
   2027 	71 DarkSeaGreen4_2	 157 DarkSeaGreen2_2	   243 Grey46
   2028 	72 CadetBlue		 158 DarkSeaGreen1	   244 Grey50
   2029 	73 CadetBlue_2		 159 PaleTurquoise1	   245 Grey54
   2030 	74 SkyBlue3		 160 Red3_2		   246 Grey58
   2031 	75 SteelBlue1		 161 DeepPink3		   247 Grey62
   2032 	76 Chartreuse3_2	 162 DeepPink3_2	   248 Grey66
   2033 	77 PaleGreen3		 163 Magenta3_2		   249 Grey70
   2034 	78 SeaGreen3		 164 Magenta3_3		   250 Grey74
   2035 	79 Aquamarine3		 165 Magenta2		   251 Grey78
   2036 	80 MediumTurquoise	 166 DarkOrange3_2	   252 Grey82
   2037 	81 SteelBlue1_2		 167 IndianRed_2	   253 Grey85
   2038 	82 Chartreuse2		 168 HotPink3_2		   254 Grey89
   2039 	83 SeaGreen2		 169 HotPink2		   255 Grey93
   2040 	84 SeaGreen1		 170 Orchid
   2041 	85 SeaGreen1_2		 171 MediumOrchid1
   2042 
   2043        There  are  two	colors	(foreground  and background) and only one bold
   2044        attribute.   Thus  single  bold	attribute  affects  both  colors  when
   2045        "reverse"  attribute  is used in vifm run inside terminal emulator.  At
   2046        the same time linux native console can handle  boldness	of  foreground
   2047        and  background colors independently, but for consistency with terminal
   2048        emulators this is available only implicitly by using light versions  of
   2049        colors.	This behaviour might be changed in the future.
   2050 
   2051        Although	 vifm  supports 256 colors in a sense they are supported by UI
   2052        drawing library, whether you will be able to use	 all  of  them	highly
   2053        depends	on your terminal.  To set up terminal properly, make sure that
   2054        $TERM in the environment you run vifm is set to name of 256-color  ter-
   2055        minal   (on   *nixes  it	 can  also  be	set  via  X  resources),  e.g.
   2056        xterm-256color.	One can find list of available terminal names by list-
   2057        ing  /usr/lib/terminfo/.	  Number  of colors supported by terminal with
   2058        current settings can be checked via "tput colors" command.
   2059 
   2060        Here is the hierarchy of highlight groups, which you need to  know  for
   2061        using transparency:
   2062 	 JobLine
   2063 	 SuggestBox
   2064 	 StatusLine
   2065 	   WildMenu
   2066 	   User1..User9
   2067 	 Border
   2068 	 CmdLine
   2069 	   ErrorMsg
   2070 	 Win
   2071 	   AuxWin
   2072 	     File name specific highlights
   2073 	       Directory
   2074 	       Link
   2075 	       BrokenLink
   2076 	       Socket
   2077 	       Device
   2078 	       Fifo
   2079 	       Executable
   2080 		 Selected
   2081 		   CurrLine
   2082 		   OtherLine
   2083 	 TopLine
   2084 	   TopLineSel
   2085 	 TabLine
   2086 	   TabLineSel
   2087 
   2088        "none"  means  default terminal color for highlight groups at the first
   2089        level of the hierarchy and transparency for all others.
   2090 
   2091        Here file name specific highlights mean those configured via globs ({})
   2092        or  regular  expressions (//).  At most one of them is applied per file
   2093        entry, namely the first that matches file name, hence order  of	:high-
   2094        light commands might be important in certain cases.
   2095 
   2096 						:history
   2097 
   2098        :his[tory]
   2099 	      creates a pop-up menu of directories visited.
   2100 
   2101        :his[tory] x
   2102 	      x can be:
   2103 	      d[ir]	or . show directory history.
   2104 	      c[md]	or : show command line history.
   2105 	      s[earch]	or / show search history and search forward on l key.
   2106 	      f[search] or / show search history and search forward on l key.
   2107 	      b[search] or ? show search history and search backward on l key.
   2108 	      i[nput]	or @ show prompt history (e.g. on one file renaming).
   2109 	      fi[lter]	 or  = show filter history (see description of the "="
   2110 	      normal mode command).
   2111 
   2112 						:histnext
   2113 
   2114        :histnext
   2115 	      same as <c-i>.  The main use case for this command  is  to  work
   2116 	      around  the  common pain point of <tab> and <c-i> being the same
   2117 	      ASCII character: one could alter the terminal emulator  settings
   2118 	      to  emit,	 for example, the `F1` keycode when Ctrl-I is pressed,
   2119 	      then `:noremap <f1> :histnext<cr>` in vifm, add "t" flag to  the
   2120 	      'cpoptions',  and	 thus  have  both  <c-i>  and <tab> working as
   2121 	      expected.
   2122 
   2123 						:histprev
   2124 
   2125        :histprev
   2126 	      same as <c-o>.
   2127 
   2128 						:if
   2129 
   2130        :if {expr1}
   2131 	      starts conditional block.	  Commands  are	 executed  until  next
   2132 	      matching	:elseif,  :else or :endif command if {expr1} evaluates
   2133 	      to non-zero, otherwise they are ignored.	See also help on :else
   2134 	      and :endif commands.
   2135 
   2136 	      Example:
   2137 
   2138 		if $TERM == 'screen.linux'
   2139 		    highlight CurrLine ctermfg=lightwhite ctermbg=lightblack
   2140 		elseif $TERM == 'tmux'
   2141 		    highlight CurrLine cterm=reverse ctermfg=black ctermbg=white
   2142 		else
   2143 		    highlight CurrLine cterm=bold,reverse ctermfg=black ctermbg=white
   2144 		endif
   2145 
   2146 						:invert
   2147 
   2148        :invert [f]
   2149 	      invert file name filter.
   2150 
   2151        :invert? [f]
   2152 	      show current filter state.
   2153 
   2154        :invert s
   2155 	      invert selection.
   2156 
   2157        :invert o
   2158 	      invert sorting order of the primary sorting key.
   2159 
   2160        :invert? o
   2161 	      show sorting order of the primary sorting key.
   2162 
   2163 						:jobs
   2164 
   2165        :jobs  shows menu of current backgrounded processes.
   2166 
   2167 						:let
   2168 
   2169        :let $ENV_VAR = <expr>
   2170 	      sets  environment	 variable.  Warning: setting environment vari-
   2171 	      able to an empty string on Windows removes it.
   2172 
   2173        :let $ENV_VAR .= <expr>
   2174 	      append value to environment variable.
   2175 
   2176        :let &[l:|g:]opt = <expr>
   2177 	      sets option value.
   2178 
   2179        :let &[l:|g:]opt .= <expr>
   2180 	      append value to string option.
   2181 
   2182        :let &[l:|g:]opt += <expr>
   2183 	      increasing option value, adding sub-values.
   2184 
   2185        :let &[l:|g:]opt -= <expr>
   2186 	      decreasing option value, removing sub-values.
   2187 
   2188        Where <expr> could be a single-quoted string, double-quoted string,  an
   2189        environment  variable,  function call or a concatanation of any of them
   2190        in any order using the '.' operator.  Any whitespace is ignored.
   2191 
   2192 						:locate
   2193 
   2194        :locate filename
   2195 	      use "locate" command to create a menu of filenames.  Selecting a
   2196 	      file  from the menu will reload the current file list in vifm to
   2197 	      show the selected file.  By default the command  relies  on  the
   2198 	      external	"locate"  utility  (it's  assumed that its database is
   2199 	      already built), which can be customized by altering value of the
   2200 	      'locateprg' option.
   2201 
   2202        :locate
   2203 	      repeats last :locate command.
   2204 
   2205 						:ls
   2206 
   2207        :ls    lists windows of active terminal multiplexer (only when terminal
   2208 	      multiplexer is used).  This is achieved by issuing  proper  com-
   2209 	      mand  for active terminal multiplexer, thus the list is not han-
   2210 	      dled by vifm.
   2211 
   2212 						:lstrash
   2213 
   2214        :lstrash
   2215 	      displays a menu with list of files in trash.   Each  element  of
   2216 	      the  list	 is original path of a deleted file, thus the list can
   2217 	      contain duplicates.
   2218 
   2219 						:mark
   2220 
   2221        :[range]ma[rk][?] x [/full/path] [filename]
   2222 	      Set mark x (a-zA-Z0-9) at /full/path and filename.   By  default
   2223 	      current  directory  is being used.  If no filename was given and
   2224 	      /full/path is current directory then last	 file  in  [range]  is
   2225 	      used.  Using of macros is allowed.  Question mark will stop com-
   2226 	      mand from overwriting existing marks.
   2227 
   2228 						:marks
   2229 
   2230        :marks create a pop-up menu of marks.
   2231 
   2232        :marks list ...
   2233 	      display the contents of the marks that are mentioned in list.
   2234 
   2235 						:media
   2236 
   2237        :media only for *nix
   2238 	      display media management menu.  See also 'mediaprg' option.
   2239 
   2240 						:messages
   2241 
   2242        :mes[sages]
   2243 	      shows previously given messages (up to 50).
   2244 
   2245 						:mkdir
   2246 
   2247        :[line]mkdir[!] dir ...
   2248 	      create directories at specified paths.  The [line] can  be  used
   2249 	      to  pick node in a tree-view.  "!" means make parent directories
   2250 	      as needed.  Macros are expanded.
   2251 
   2252 						:move
   2253 
   2254        :[range]m[ove][!?][ &]
   2255 	      move files to directory of other view.   With  "?"  prompts  for
   2256 	      destination file names in an editor.  "!" forces overwrite.
   2257 
   2258        :[range]m[ove][!] path[ &]
   2259 	      move  files  to  directory  specified with the path (absolute or
   2260 	      relative to directory of other view).  "!" forces overwrite.
   2261 
   2262        :[range]m[ove][!] name1 name2...[ &]
   2263 	      move files to directory of other view giving each	 next  file  a
   2264 	      corresponding  name  from	 the  argument list.  "!" forces over-
   2265 	      write.
   2266 
   2267 						:nohlsearch
   2268 
   2269        :noh[lsearch]
   2270 	      clear selection in current pane.
   2271 
   2272 						:normal
   2273 
   2274        :norm[al][!] commands
   2275 	      execute normal mode commands.  If "!" is used, user defined map-
   2276 	      pings  are  ignored.   Unfinished	 last command is aborted as if
   2277 	      <esc> or <c-c> was typed.	 A ":" should be  completed  as	 well.
   2278 	      Commands	can't  start  with  a space, so put a count of 1 (one)
   2279 	      before it.
   2280 
   2281 						:only
   2282 
   2283        :on[ly]
   2284 	      switch to a one window view.
   2285 
   2286 						:popd
   2287 
   2288        :popd  remove pane directories from stack.
   2289 
   2290 						:pushd
   2291 
   2292        :pushd[!] /curr/dir [/other/dir]
   2293 	      add pane directories to stack and	 process  arguments  like  :cd
   2294 	      command.
   2295 
   2296        :pushd exchange the top two items of the directory stack.
   2297 
   2298 						:put
   2299 
   2300        :[line]pu[t][!] [reg] [ &]
   2301 	      puts  files  from specified register (" by default) into current
   2302 	      directory.  The [line] can be used to pick node in a  tree-view.
   2303 	      "!"  moves  files	 "!"  moves files from their original location
   2304 	      instead of copying them.	During this operation no  confirmation
   2305 	      dialogs will be shown, all checks are performed beforehand.
   2306 
   2307 						:pwd
   2308 
   2309        :pw[d] show the present working directory.
   2310 
   2311 						:qall
   2312 
   2313        :qa[ll][!]
   2314 	      exit  vifm (add ! to skip saving changes and checking for active
   2315 	      backgrounded commands).
   2316 
   2317 						:quit
   2318 
   2319        :q[uit][!]
   2320 	      if there is more than one tab, close the current one,  otherwise
   2321 	      exit  vifm (add ! to skip saving changes and checking for active
   2322 	      backgrounded commands).
   2323 
   2324 						:redraw
   2325 
   2326        :redr[aw]
   2327 	      redraw the screen immediately.
   2328 
   2329 						:registers
   2330 
   2331        :reg[isters]
   2332 	      display menu with registers content.
   2333 
   2334        :reg[isters] list ...
   2335 	      display the contents of the numbered and	named  registers  that
   2336 	      are  mentioned in list (for example "az to display "", "a and "z
   2337 	      content).
   2338 
   2339 						:regular
   2340 
   2341        :regular
   2342 
   2343        switch to regular view leaving custom view.
   2344 						       :rename
   2345 
   2346        :[range]rename[!]
   2347 	      rename files using vi to edit  names.  !	means  go  recursively
   2348 	      through directories.
   2349 
   2350        :[range]rename name1 name2...
   2351 	      rename each of selected files to a corresponding name.
   2352 
   2353 						:restart
   2354 
   2355        :restart
   2356 	      free  a  lot  of	things	(histories,  commands,	etc.),	reread
   2357 	      vifminfo and vifmrc files and run startup commands passed in the
   2358 	      argument list, thus losing all unsaved changes (e.g. recent his-
   2359 	      tory or keys mapped in current session).
   2360 
   2361 						:restore
   2362 
   2363        :[range]restore
   2364 	      restore file from trash directory, doesn't work outside  one  of
   2365 	      trash directories.  See "Trash directory" section below.
   2366 
   2367 						:rlink
   2368 
   2369        :[range]rlink[!?]
   2370 	      create  relative	symbolic  links to files in directory of other
   2371 	      view.  With "?" prompts for destination file names in an editor.
   2372 	      "!" forces overwrite.
   2373 
   2374        :[range]rlink[!] path
   2375 	      create  relative	symbolic links of files in directory specified
   2376 	      with the path (absolute or relative to directory of other view).
   2377 	      "!" forces overwrite.
   2378 
   2379        :[range]rlink[!] name1 name2...
   2380 	      create  relative	symbolic  links of files in directory of other
   2381 	      view giving each next link a corresponding name from  the	 argu-
   2382 	      ment list.  "!" forces overwrite.
   2383 
   2384 						:screen
   2385 
   2386        :screen
   2387 	      toggle whether to use the terminal multiplexer or not.
   2388 	      A	 terminal  multiplexer uses pseudo terminals to allow multiple
   2389 	      windows to be used in the console or in a single xterm.	Start-
   2390 	      ing  vifm	 from  terminal	 multiplexer  with appropriate support
   2391 	      turned on will cause vifm to open	 a  new	 terminal  multiplexer
   2392 	      window for each new file edited or program launched from vifm.
   2393 	      This  requires  screen  version 3.9.9 or newer for the screen -X
   2394 	      argument or tmux (1.8 version or newer is recommended).
   2395 
   2396        :screen!
   2397 	      enable integration with terminal multiplexers.
   2398 
   2399        :screen?
   2400 	      display  whether	integration  with  terminal  multiplexers   is
   2401 	      enabled.
   2402 
   2403        Note:  the  command  is called screen for historical reasons (when tmux
   2404        wasn't yet supported) and might be changed in future releases,  or  get
   2405        an alias.
   2406 
   2407 						:select
   2408 
   2409        :[range]select
   2410 	      select  files  in	 the  given range (current file if no range is
   2411 	      given).
   2412 
   2413        :select {pattern}
   2414 	      select files that match specified pattern.   Possible  {pattern}
   2415 	      forms are described in "Patterns" section below.	Trailing slash
   2416 	      for directories is taken into account, so `:select! */ |	invert
   2417 	      s` selects only files.
   2418 
   2419        :select //[iI]
   2420 	      same as item above, but reuses last search pattern.
   2421 
   2422        :select !{external command}
   2423 	      select  files from the list supplied by external command.	 Files
   2424 	      are matched by full paths, relative paths are converted to abso-
   2425 	      lute ones beforehand.
   2426 
   2427        :[range]select! [{pattern}]
   2428 	      same  as above, but resets previously selected items before pro-
   2429 	      ceeding.
   2430 
   2431 						:set
   2432 
   2433        :se[t] display all options that differ from their default value.
   2434 
   2435        :se[t] all
   2436 	      display all options.
   2437 
   2438        :se[t] opt1=val1 opt2='val2' opt3="val3" ...
   2439 	      sets given options.  For local options both values are set.
   2440 	      You can use following syntax:
   2441 	       - for all options - option, option? and option&
   2442 	       - for boolean options - nooption, invoption and option!
   2443 	       - for integer options - option=x, option+=x and option-=x
   2444 	       - for string options - option=x and option+=x
   2445 	       - for string list options - option=x, option+=x and option-=x
   2446 	       - for enumeration options - option=x, option+=x and option-=x
   2447 	       - for set options - option=x, option+=x and option-=x
   2448 	       - for charset options  -	 option=x,  option+=x,	option-=x  and
   2449 	      option^=x
   2450 
   2451 	      the meaning:
   2452 	       - option - turn option on (for boolean) or print its value (for
   2453 	      all others)
   2454 	       - nooption - turn option off
   2455 	       - invoption - invert option state
   2456 	       - option! - invert option state
   2457 	       - option? - print option value
   2458 	       - option& - reset option to its default value
   2459 	       - option=x or option:x - set option to x
   2460 	       - option+=x - add/append x to option
   2461 	       - option-=x - remove (or subtract) x from option
   2462 	       - option^=x - toggle x presence among values of the option
   2463 
   2464 	      Option name can be prepended  and	 appended  by  any  number  of
   2465 	      whitespace characters.
   2466 
   2467 						:setglobal
   2468 
   2469        :setg[lobal]
   2470 	      display all global options that differ from their default value.
   2471 
   2472        :setg[lobal] all
   2473 	      display all global options.
   2474 
   2475        :setg[lobal] opt1=val1 opt2='val2' opt3="val3" ...
   2476 	      same  as	:set, but changes/prints only global options or global
   2477 	      values of local options.	Changes to the	latter	might  be  not
   2478 	      visible until directory is changed.
   2479 
   2480 						:setlocal
   2481 
   2482        :setl[ocal]
   2483 	      display all local options that differ from their default value.
   2484 
   2485        :setl[ocal] all
   2486 	      display all local options.
   2487 
   2488        :setl[ocal] opt1=val1 opt2='val2' opt3="val3" ...
   2489 	      same  as	:set,  but  changes/prints  only local values of local
   2490 	      options.
   2491 
   2492 						:shell
   2493 
   2494        :sh[ell][!]
   2495 	      start a shell in current	directory.   "!"  suppresses  spawning
   2496 	      dedicated	 window	 of terminal multiplexer for a shell.  To make
   2497 	      vifm adaptive to environment it uses  $SHELL  if	it's  defined,
   2498 	      otherwise 'shell' value is used.
   2499 
   2500 
   2501 						:siblnext
   2502 
   2503        :[count]siblnext[!]
   2504 
   2505 	      change  directory to [count]th next sibling directory after cur-
   2506 	      rent path using value of global sort  option  of	current	 pane.
   2507 	      "!" enables wrapping.
   2508 
   2509 	      For  example,  say, you're at /boot and root listing starts like
   2510 	      this:
   2511 
   2512 		  bin/
   2513 		  boot/
   2514 		  dev/
   2515 		  ...
   2516 
   2517 	      Issuing :siblnext will navigate to /dev.
   2518 
   2519 
   2520 						:siblprev
   2521 
   2522        :[count]siblprev[!]
   2523 	      same as :siblnext, but in the opposite direction.
   2524 
   2525 						:sort
   2526 
   2527        :sor[t]
   2528 	      display dialog with different  sorting  methods,	when  one  can
   2529 	      select primary sorting key.  When 'viewcolumns' options is empty
   2530 	      and 'lsview' is off, changing  primary  sorting  key  will  also
   2531 	      affect  view  look  (in particular the second column of the view
   2532 	      will be changed).
   2533 
   2534 						:source
   2535 
   2536        :so[urce] file
   2537 	      read command-line commands from the file.
   2538 
   2539 						:split
   2540 
   2541        :sp[lit]
   2542 	      switch to a two window horizontal view.
   2543 
   2544        :sp[lit]!
   2545 	      toggle horizontal window splitting.
   2546 
   2547        :sp[lit] path
   2548 	      splits the window horizontally to show  both  file  directories.
   2549 	      Also changes other pane to path (absolute or relative to current
   2550 	      directory of active pane).
   2551 
   2552 						:substitute
   2553 
   2554        :[range]s[ubstitute]/pattern/string/[flags]
   2555 	      for each file in range replace a match of pattern with string.
   2556 
   2557        String can contain \0...\9 to link to capture groups (\0 -  all	match,
   2558        \1 - first group, etc.).
   2559 
   2560        Pattern is stored in search history.
   2561 
   2562        Available flags:
   2563 
   2564 	 - i  -	 ignore case (the 'ignorecase' and 'smartcase' options are not
   2565 	   used)
   2566 
   2567 	 - I - don't ignore case (the 'ignorecase' and 'smartcase' options are
   2568 	   not used)
   2569 
   2570 	 - g - substitute all matches in each file name (each g toggles this)
   2571 
   2572        :[range]s[ubstitute]/pattern
   2573 	      substitute pattern with an empty string.
   2574 
   2575        :[range]s[ubstitute]//string/[flags]
   2576 	      use last pattern from search history.
   2577 
   2578        :[range]s[ubstitute]
   2579 	      repeat previous substitution command.
   2580 
   2581 						:sync
   2582 
   2583        :sync [relative path]
   2584 	      change  the  other pane to the current pane directory or to some
   2585 	      path  relative  to  the  current	directory.   Using  macros  is
   2586 	      allowed.
   2587 
   2588        :sync! change the other pane to the current pane directory and synchro-
   2589 	      nize cursor position.  If current pane displays custom  list  of
   2590 	      files,  position	before	entering it is used (current one might
   2591 	      not make any sense).
   2592 
   2593 
   2594        :sync! [location | cursorpos | localopts | filters | filelist | tree  |
   2595        all]...
   2596 	      change  enumerated  properties of the other pane to match corre-
   2597 	      sponding properties of the current  pane.	  Arguments  have  the
   2598 	      following meanings:
   2599 
   2600 		- location - current directory of the pane;
   2601 
   2602 		- cursorpos  -	cursor	position  (doesn't  make sense without
   2603 		  "location");
   2604 
   2605 		- localopts - all local options;
   2606 
   2607 		- filters - all filters;
   2608 
   2609 		- filelist - list of files for	custom	view  (implies	"loca-
   2610 		  tion");
   2611 
   2612 		- tree - tree structure for tree view (implies "location");
   2613 
   2614 		- all - all of the above.
   2615 
   2616 						:tabclose
   2617 
   2618        :tabc[lose]
   2619 	      close  current  tab,  unless  it's  the only one open at current
   2620 	      scope.
   2621 
   2622 						:tabmove
   2623 
   2624        :tabm[ove] [N]
   2625 	      without the argument or with `$` as the  argument,  current  tab
   2626 	      becomes  the  last tab.  With the argument, current tab is moved
   2627 	      after the tab with the specified number.	Argument of `0`	 moves
   2628 	      current tab to the first position.
   2629 
   2630 						:tabname
   2631 
   2632        :tabname [name]
   2633 	      set,  update or reset (when no argument is provided) name of the
   2634 	      current tab.
   2635 
   2636 						:tabnew
   2637 
   2638        :tabnew [path]
   2639 	      create new tab.  Accepts optional path for the new tab.	Macros
   2640 	      and environment variables are expanded.
   2641 
   2642 						:tabnext
   2643 
   2644        :tabn[ext]
   2645 	      switch to the next tab (wrapping around).
   2646 
   2647        :tabn[ext] {n}
   2648 	      go to the tab number {n}.	 Tab numeration starts with 1.
   2649 
   2650 						:tabprevious
   2651 
   2652        :tabp[revious]
   2653 	      switch to the previous tab (wrapping around).
   2654 
   2655        :tabp[revious] {n}
   2656 	      go  to  the {n}-th previous tab.	Note that :tabnext handles its
   2657 	      argument differently.
   2658 
   2659 						:touch
   2660 
   2661        :[line]touch file...
   2662 	      create files at specified paths.	 Aborts	 on  errors.   Doesn't
   2663 	      update  time  of existing files.	The [line] can be used to pick
   2664 	      node in a tree-view.  Macros are expanded.
   2665 
   2666 						:tr
   2667 
   2668        :[range]tr/pattern/string/
   2669 	      for each file in range transliterate the characters which appear
   2670 	      in  pattern  to  the  corresponding  character  in string.  When
   2671 	      string is shorter than pattern, it's padded with its last	 char-
   2672 	      acter.
   2673 
   2674 						:trashes
   2675 
   2676        :trashes
   2677 	      lists all valid trash directories in a menu.  Only non-empty and
   2678 	      writable trash directories are shown.  This is exactly the  list
   2679 	      of directories that are cleared when :empty command is executed.
   2680 
   2681        :trashes?
   2682 	      same  as	:trashes,  but also displays size of each trash direc-
   2683 	      tory.
   2684 
   2685 						:tree
   2686 
   2687        :tree  turn pane into tree view with current  directory	as  its	 root.
   2688 	      The  tree	 view  is  implemented on top of a custom view, but is
   2689 	      automatically kept in sync with file system state and  considers
   2690 	      all  the	filters.   Thus	 the structure corresponds to what one
   2691 	      would see on visiting the directories manually.	As  a  special
   2692 	      case  for	 trees	built  out of custom view file-system tracking
   2693 	      isn't performed.
   2694 
   2695 	      To leave tree view go up from its root or use gh at any level of
   2696 	      the  tree.   Any command that changes directory will also do, in
   2697 	      particular, `:cd ..`.
   2698 
   2699 	      Tree structure is incompatible with alternative representations,
   2700 	      so values of 'lsview' and 'millerview' options are ignored.
   2701 
   2702        :tree! toggle current view in and out of tree mode.
   2703 
   2704 						:undolist
   2705 
   2706        :undol[ist]
   2707 	      display list of latest changes.  Use "!" to see actual commands.
   2708 
   2709 						:unlet
   2710 
   2711        :unl[et][!] $ENV_VAR1 $ENV_VAR2 ...
   2712 	      remove  environment variables. Add ! to omit displaying of warn-
   2713 	      ings about nonexistent variables.
   2714 
   2715 						:unselect
   2716 
   2717        :[range]unselect
   2718 	      unselect files in the given range (current file if no  range  is
   2719 	      given).
   2720 
   2721        :unselect {pattern}
   2722 	      unselect files that match specified pattern.  Possible {pattern}
   2723 	      forms are described in "Patterns" section below.	Trailing slash
   2724 	      for  directories	is taken into account, so `:unselect */` unse-
   2725 	      lects directories.
   2726 
   2727        :unselect !{external command}
   2728 	      unselect files from  the	list  supplied	by  external  command.
   2729 	      Files are matched by full paths, relative paths are converted to
   2730 	      absolute ones beforehand.
   2731 
   2732        :unselect //[iI]
   2733 	      same as item above, but reuses last search pattern.
   2734 
   2735 						:version
   2736 
   2737        :ve[rsion]
   2738 	      show menu with version information.
   2739 
   2740 						:vifm
   2741 
   2742        :vifm  same as :version.
   2743 
   2744 						:view
   2745 
   2746        :vie[w]
   2747 	      toggle on and off the quick file	view.	See  also  'quickview'
   2748 	      option.
   2749 
   2750        :vie[w]!
   2751 	      turn on quick file view if it's off.
   2752 
   2753 						:volumes
   2754 
   2755        :volumes
   2756 	      only for MS-Windows
   2757 	      display  menu  with volume list.	Hitting l (or Enter) key opens
   2758 	      appropriate volume in the current pane.
   2759 
   2760 						:vsplit
   2761 
   2762        :vs[plit]
   2763 	      switch to a two window vertical view.
   2764 
   2765        :vs[plit]!
   2766 	      toggle window vertical splitting.
   2767 
   2768        :vs[plit] path
   2769 	      split the window vertically to show both file directories.   And
   2770 	      changes  other  pane  to	path  (absolute or relative to current
   2771 	      directory of active pane).
   2772 
   2773 						:wincmd
   2774 
   2775        :[count]winc[md] {arg}
   2776 	      same as running Ctrl-W [count] {arg}.
   2777 
   2778 						:windo
   2779 
   2780        :windo [command...]
   2781 	      execute command for each pane (same as :winrun % command).
   2782 
   2783 						:winrun
   2784 
   2785        :winrun type [command...]
   2786 	      execute command for pane(s), which is determined by  type	 argu-
   2787 	      ment:
   2788 		- ^ - top-left pane
   2789 		- $ - bottom-right pane
   2790 		- % - all panes
   2791 		- . - current pane
   2792 		- , - other pane
   2793 
   2794 						:write
   2795 
   2796        :w[rite]
   2797 	      write vifminfo file.
   2798 
   2799 						:wq
   2800 
   2801        :wq[!] same  as	:quit,	but ! only disables check of backgrounded com-
   2802 	      mands.					       :wqall
   2803 
   2804        :wqa[ll][!]
   2805 	      same as :qall, but ! only disables check	of  backgrounded  com-
   2806 	      mands.
   2807 
   2808 						:xall
   2809 
   2810        :xa[ll][!]
   2811 	      same as :qall.
   2812 
   2813 						:xit
   2814 
   2815        :x[it][!]
   2816 	      same as :quit.
   2817 
   2818 						:yank
   2819 
   2820        :[range]y[ank] [reg] [count]
   2821 	      will yank files to the reg register.
   2822 
   2823 						:map lhs rhs
   2824 
   2825        :map lhs rhs
   2826 	      map lhs key sequence to rhs in normal and visual modes.
   2827 
   2828        :map! lhs rhs
   2829 	      map lhs key sequence to rhs in command line mode.
   2830 
   2831 
   2832 					       :cmap  :dmap  :mmap :nmap :qmap
   2833        :vmap
   2834 
   2835        :cm[ap] lhs rhs
   2836 	      map lhs to rhs in command line mode.
   2837 
   2838        :dm[ap] lhs rhs
   2839 	      map lhs to rhs in dialog modes.
   2840 
   2841        :mm[ap] lhs rhs
   2842 	      map lhs to rhs in menu mode.
   2843 
   2844        :nm[ap] lhs rhs
   2845 	      map lhs to rhs in normal mode.
   2846 
   2847        :qm[ap] lhs rhs
   2848 	      map lhs to rhs in view mode.
   2849 
   2850        :vm[ap] lhs rhs
   2851 	      map lhs to rhs in visual mode.
   2852 
   2853 
   2854 						:*map
   2855 
   2856        :cm[ap]
   2857 	      list all maps in command line mode.
   2858 
   2859        :dm[ap]
   2860 	      list all maps in dialog modes.
   2861 
   2862        :mm[ap]
   2863 	      list all maps in menu mode.
   2864 
   2865        :nm[ap]
   2866 	      list all maps in normal mode.
   2867 
   2868        :qm[ap]
   2869 	      list all maps in view mode.
   2870 
   2871        :vm[ap]
   2872 	      list all maps in visual mode.
   2873 
   2874 						:*map beginning
   2875 
   2876        :cm[ap] beginning
   2877 	      list all maps in command line mode that start  with  the	begin-
   2878 	      ning.
   2879 
   2880        :dm[ap] beginning
   2881 	      list all maps in dialog modes that start with the beginning.
   2882 
   2883        :mm[ap] beginning
   2884 	      list all maps in menu mode that start with the beginning.
   2885 
   2886        :nm[ap] beginning
   2887 	      list all maps in normal mode that start with the beginning.
   2888 
   2889        :qm[ap] beginning
   2890 	      list all maps in view mode that start with the beginning.
   2891 
   2892        :vm[ap] beginning
   2893 	      list all maps in visual mode that start with the beginning.
   2894 
   2895 						:noremap
   2896 
   2897        :no[remap] lhs rhs
   2898 	      map the key sequence lhs to rhs for normal and visual modes, but
   2899 	      disallow mapping of rhs.
   2900 
   2901        :no[remap]! lhs rhs
   2902 	      map the key sequence lhs to rhs for command line mode, but  dis-
   2903 	      allow mapping of rhs.
   2904 
   2905 			:cnoremap   :dnoremap  :mnoremap  :nnoremap  :qnoremap
   2906        :vnoremap
   2907 
   2908        :cno[remap] lhs rhs
   2909 	      map the key sequence lhs to rhs for command line mode, but  dis-
   2910 	      allow mapping of rhs.
   2911 
   2912        :dn[oremap] lhs rhs
   2913 	      map  the	key sequence lhs to rhs for dialog modes, but disallow
   2914 	      mapping of rhs.
   2915 
   2916        :mn[oremap] lhs rhs
   2917 	      map the key sequence lhs to rhs for menu mode, but disallow map-
   2918 	      ping of rhs.
   2919 
   2920        :nn[oremap] lhs rhs
   2921 	      map  the	key  sequence lhs to rhs for normal mode, but disallow
   2922 	      mapping of rhs.
   2923 
   2924        :qn[oremap] lhs rhs
   2925 	      map the key sequence lhs to rhs for view mode, but disallow map-
   2926 	      ping of rhs.
   2927 
   2928        :vn[oremap] lhs rhs
   2929 	      map  the	key  sequence lhs to rhs for visual mode, but disallow
   2930 	      mapping of rhs.
   2931 
   2932 						:unmap
   2933 
   2934        :unm[ap] lhs
   2935 	      remove the mapping of lhs from normal and visual modes.
   2936 
   2937        :unm[ap]! lhs
   2938 	      remove the mapping of lhs from command line mode.
   2939 
   2940 				   :cunmap  :dunmap  :munmap  :nunmap  :qunmap
   2941        :vunmap
   2942 
   2943        :cu[nmap] lhs
   2944 	      remove the mapping of lhs from command line mode.
   2945 
   2946        :du[nmap] lhs
   2947 	      remove the mapping of lhs from dialog modes.
   2948 
   2949        :mu[nmap] lhs
   2950 	      remove the mapping of lhs from menu mode.
   2951 
   2952        :nun[map] lhs
   2953 	      remove the mapping of lhs from normal mode.
   2954 
   2955        :qun[map] lhs
   2956 	      remove the mapping of lhs from view mode.
   2957 
   2958        :vu[nmap] lhs
   2959 	      remove the mapping of lhs from visual mode.
   2960 
   2961 Ranges
   2962        The ranges implemented include:
   2963 	 2,3 - from second to third file in the list (including it)
   2964 	 % - the entire directory.
   2965 	 . - the current position in the filelist.
   2966 	 $ - the end of the filelist.
   2967 	 't - the mark position t.
   2968 
   2969        Examples:
   2970 
   2971 	 :%delete
   2972 
   2973        would delete all files in the directory.
   2974 
   2975 	 :2,4delete
   2976 
   2977        would delete the files in the list positions 2 through 4.
   2978 
   2979 	 :.,$delete
   2980 
   2981        would  delete  the  files  from	the current position to the end of the
   2982        filelist.
   2983 
   2984 	 :3delete4
   2985 
   2986        would delete the files in the list positions 3, 4, 5, 6.
   2987 
   2988        If a backward range is given :4,2delete - an query message is given and
   2989        user can chose what to do next.
   2990 
   2991        The builtin commands that accept a range are :d[elete] and :y[ank].
   2992 
   2993 Command macros
   2994        The command macros may be used in user commands.
   2995 
   2996        %a     User  arguments.	 When  user arguments contain macros, they are
   2997 	      expanded before preforming substitution of %a.
   2998 
   2999        %c %"c The current file under the cursor.
   3000 
   3001        %C %"C The current file under the cursor in the other directory.
   3002 
   3003        %f %"f All of the selected files.
   3004 
   3005        %F %"F All of the selected files in the other directory list.
   3006 
   3007        %b %"b Same as %f %F.
   3008 
   3009        %d %"d Full path to current directory.
   3010 
   3011        %D %"D Full path to other file list directory.
   3012 
   3013        %rx %"rx
   3014 	      Full paths to files in the register {x}.	 In  case  of  invalid
   3015 	      symbol in place of {x}, it's processed with the rest of the line
   3016 	      and default register is used.
   3017 
   3018        %m     Show command output in a menu.
   3019 
   3020        %M     Same as %m, but l (or Enter) key is handled like for :locate and
   3021 	      :find commands.
   3022 
   3023        %u     Process  command output as list of paths and compose custom view
   3024 	      out of it.
   3025 
   3026        %U     Same as %u, but implies less list updates inside vifm, which  is
   3027 	      absence of sorting at the moment.
   3028 
   3029        %Iu    same  as	%u, but gives up terminal before running external com-
   3030 	      mand.
   3031 
   3032        %IU    same as %U, but gives up terminal before running	external  com-
   3033 	      mand.
   3034 
   3035        %S     Show command output in the status bar.
   3036 
   3037        %q     redirect	command	 output	 to  quick view, which is activated if
   3038 	      disabled.
   3039 
   3040        %s     Execute command in split window of active	 terminal  multiplexer
   3041 	      (ignored if not running inside one).
   3042 
   3043        %n     Forbid using of terminal multiplexer to run the command.
   3044 
   3045        %i     Completely ignore command output.
   3046 
   3047 
   3048        %pc    Marks end of the main command and beginning of the clear command
   3049 	      for graphical preview, which is invoked on closing preview of  a
   3050 	      file.
   3051 
   3052        The following dimensions and coordinates are in characters:
   3053 
   3054        %px    x coordinate of top-left corner of preview area.
   3055 
   3056        %py    y coordinate of top-left corner of preview area.
   3057 
   3058        %pw    width of preview area.
   3059 
   3060        %ph    height of preview area.
   3061 
   3062 
   3063        Use %% if you need to put a percent sign in your command.
   3064 
   3065        Note  that %m, %M, %s, %S, %i, %u and %U macros are mutually exclusive.
   3066        Only the last one of them on the command will take effect.
   3067 
   3068        You can use file name modifiers after %c, %C, %f, %F,  %b,  %d  and  %D
   3069        macros.	Supported modifiers are:
   3070 
   3071 	 - :p		- full path
   3072 
   3073 	 - :u		  -   UNC   name   of	path   (e.g.   "\\server"   in
   3074 	   "\\server\share"), Windows only.  Expands to current computer  name
   3075 	   for not UNC paths.
   3076 
   3077 	 - :~		- relative to the home directory
   3078 
   3079 	 - :.		- relative to current directory
   3080 
   3081 	 - :h		- head of the file name
   3082 
   3083 	 - :t		- tail of the file name
   3084 
   3085 	 - :r		- root of the file name (without last extension)
   3086 
   3087 	 - :e		- extension of the file name (last one)
   3088 
   3089 	 - :s?pat?sub?	 -  substitute	the  first occurrence of pat with sub.
   3090 	   You can use any character for '?', but it must not occur in pat  or
   3091 	   sub.
   3092 
   3093 	 - :gs?pat?sub? - like :s, but substitutes all occurrences of pat with
   3094 	   sub.
   3095 
   3096        See ':h filename-modifiers' in Vim's  documentation  for	 the  detailed
   3097        description.
   3098 
   3099        Using  %x means expand corresponding macro escaping all characters that
   3100        have special meaning.  And %"x means using of double quotes and	escape
   3101        only  backslash	and  double  quote characters, which is more useful on
   3102        Windows systems.
   3103 
   3104        Position and quantity (if there is any) of %m, %M, %S or %s  macros  in
   3105        the command is unimportant.  All their occurrences are removed from the
   3106        resulting command.
   3107 
   3108        %c and %f macros are expanded to file names only, when %C  and  %F  are
   3109        expanded to full paths.	%f and %F follow this in %b too.
   3110 
   3111        :com move mv %f %D
   3112 	      set  the	:move command to move all of the files selected in the
   3113 	      current directory to the other directory.
   3114 
   3115        The %a macro is replaced with any arguments given to an alias  command.
   3116        All arguments are considered optional.
   3117 	      :com  lsl !!ls -l %a - set the lsl command to execute ls -l with
   3118 	      or without an argument.
   3119 
   3120        :lsl<Enter>
   3121 	      will list the directory contents of the current directory.
   3122 
   3123        :lsl filename<Enter>
   3124 	      will list only the given filename.
   3125 
   3126        The macros can also be used in directly executing commands.   ":!mv  %f
   3127        %D" would move the current directory selected files to the other direc-
   3128        tory.
   3129 
   3130        Appending & to the end of a command causes it to	 be  executed  in  the
   3131        background.   Typically	you want to run two kinds of external commands
   3132        in the background:
   3133 
   3134 	 - GUI applications that doesn't fork thus block vifm (:!sxiv %f &);
   3135 
   3136 	 - console tools that do not work with terminal (:!mv %f %D &).
   3137 
   3138        You don't want to run terminal commands, which require  terminal	 input
   3139        or output something in background because they will mess up vifm's TUI.
   3140        Anyway, if you did run such a command, you can use Ctrl-L key to update
   3141        vifm's TUI.
   3142 
   3143        Rewriting  the example command with macros given above with background-
   3144        ing:
   3145 
   3146        %m, %M, %s, %S, %u and %U macros cannot	be  combined  with  background
   3147        mark (" &") as it doesn't make much sense.
   3148 
   3149 Command backgrounding
   3150        Copy  and move operation can take a lot of time to proceed.  That's why
   3151        vifm supports backgrounding of this  two	 operations.   To  run	:copy,
   3152        :move  or :delete command in the background just add " &" at the end of
   3153        a command.
   3154 
   3155        For each background operation a new thread is created.	Currently  job
   3156        cannot be stopped or paused.
   3157 
   3158        You  can	 see  if  command  is  still running in the :jobs menu.	 Back-
   3159        grounded commands have progress instead	of  process  id	 at  the  line
   3160        beginning.
   3161 
   3162        Background operations cannot be undone.
   3163 
   3164 Cancellation
   3165        Note that cancellation works somewhat different on Windows platform due
   3166        to different mechanism of break signal  propagation.   One  also	 might
   3167        need to use Ctrl-Break shortcut instead of Ctrl-C.
   3168 
   3169        There are two types of operations that can be cancelled:
   3170 
   3171 	 - file system operations;
   3172 
   3173 	 - mounting  with  FUSE	 (but  not  unmounting as it can cause loss of
   3174 	   data);
   3175 
   3176 	 - calls of external applications.
   3177 
   3178        Note that vifm never terminates applications, it	 sends	SIGINT	signal
   3179        and lets the application quit normally.
   3180 
   3181        When one of set of operations is cancelled (e.g. copying of 5th file of
   3182        10 files), further operations are cancelled too.	  In  this  case  undo
   3183        history will contain only actually performed operations.
   3184 
   3185        Cancelled  operations are indicated by "(cancelled)" suffix appended to
   3186        information message on statusbar.
   3187 
   3188        File system operations
   3189 
   3190        Currently the following commands	 can  be  cancelled:  :alink,  :chmod,
   3191        :chown,	:clone,	 :copy,	 :delete,  :mkdir,  :move,  :restore,  :rlink,
   3192        :touch.	File putting (on p/P key) can be cancelled as well.  It's  not
   3193        hard to see that these are mainly long-running operations.
   3194 
   3195        Cancelling  commands when they are repeated for undo/redo operations is
   3196        allowed for convenience, but is not recommended	as  further  undo/redo
   3197        operations  might  get  blocked	by side-effects of partially cancelled
   3198        group of operations.
   3199 
   3200        These commands can't be cancelled: :empty, :rename, :substitute, :tr.
   3201 
   3202        Mounting with FUSE
   3203 
   3204        It's not considered to be an error, so only notification on the	status
   3205        bar is shown.
   3206 
   3207        External application calls
   3208 
   3209        Each  of	 this  operations  can	be  cancelled: :apropos, :find, :grep,
   3210        :locate.
   3211 
   3212 Patterns
   3213        :highlight, :filetype, :filextype, :fileviewer commands and  'classify'
   3214        option  support globs, regular expressions and mime types to match file
   3215        names or their paths.
   3216 
   3217        There are six possible ways to write a single pattern:
   3218 
   3219 	 1. [!]{comma-separated-name-globs}
   3220 
   3221 	 2. [!]{{comma-separated-path-globs}}
   3222 
   3223 	 3. [!]/name-regular-expression/[iI]
   3224 
   3225 	 4. [!]//path-regular-expression//[iI]
   3226 
   3227 	 5. [!]<comma-separated-mime-type-globs>
   3228 
   3229 	 6. undecorated-pattern
   3230 
   3231        Flags of regular expressions mean the following:
   3232 	 - "i" makes filter case insensitive;
   3233 	 - "I" makes filter case sensitive.  They  can	be  repeated  multiple
   3234        times,  but  the later one takes precedence (e.g.  "iiiI" is equivalent
   3235        to "I" and "IiIi" is the same as "i").
   3236 
   3237        To combine several patterns (AND them), make sure you're using  one  of
   3238        the first five forms and write patterns one after another, like this:
   3239 	 <text/plain>{*.vifm}
   3240        Mind that if you make a mistake the whole string will be treated as the
   3241        sixth form.
   3242 
   3243        :filetype, :filextype and :fileviewer commands  accept  comma-separated
   3244        list of patterns instead of a single pattern, thus effectively handling
   3245        OR operation on them:
   3246 	 <text/plain>{*.vifm},<application/pdf>{*.pdf}
   3247 
   3248        Five first forms can include leading exclamation mark that negates pat-
   3249        tern matching.
   3250 
   3251        The  last  form is implicitly refers to one of others.  :highlight does
   3252        not accept undecorated form, while :filetype, :filextype,  :fileviewer,
   3253        :select, :unselect and 'classify' treat it as list of name globs.
   3254 
   3255        Regular	expression  patterns  are  case	 insensitive  by  default, see
   3256        description of commands, which might override default behaviour.
   3257 
   3258        "Globs" section below provides short overview of globs and some	impor-
   3259        tant points that one needs to know about them.
   3260 
   3261        Mime  type  matching is essentially globs matching applied to mime type
   3262        of a file instead of its name/path.  Note: mime types  aren't  detected
   3263        on Windows.
   3264 
   3265 Globs
   3266        Globs are always case insensitive as it makes sense in general case.
   3267 
   3268        *, ?, [ and ] are treated as special symbols in the pattern.  E.g.
   3269 
   3270 	 :filetype * less %c
   3271 
   3272        matches all files.  One can use character classes for escaping, so
   3273 
   3274 	 :filetype [*] less %c
   3275 
   3276        matches	only  one file name, the one which contains only asterisk sym-
   3277        bol.
   3278 
   3279        * means any number of any characters  (possibly	an  empty  substring),
   3280        with one exception: asterisk at the pattern beginning doesn't match dot
   3281        in the first position.  E.g.
   3282 
   3283 	 :fileviewer *.zip,*.jar zip -sf %c
   3284 
   3285        associates using of zip program to preview all files with  zip  or  jar
   3286        extensions as listing of their content.
   3287 
   3288        ? means any character at this position.	E.g.
   3289 
   3290 	 :fileviewer ?.out file %c
   3291 
   3292        calls  file  tool  for all files which has exactly one character before
   3293        their extension (e.g. a.out, b.out).
   3294 
   3295        Square brackets designate character class, which means that whole char-
   3296        acter  class matches against any of characters listed in it.  For exam-
   3297        ple
   3298 
   3299 	 :fileviewer *.[ch] highlight -O xterm256 -s dante --syntax c %c
   3300 
   3301        makes vifm call highlight program to colorize source and	 header	 files
   3302        in C language for a 256-color terminal.	Equal command would be
   3303 
   3304 	 :fileviewer *.c,*.h highlight -O xterm256 -s dante --syntax c %c
   3305 
   3306 
   3307        Inside  square brackets ^ or ! can be used for symbol class negotiation
   3308        and the - symbol to set a range. ^ and ! should appear right after  the
   3309        opening square bracket.	For example
   3310 
   3311 	 :filetype *.[!d]/ inspect_dir
   3312 
   3313        associates  inspect_dir	as additional handler for all directories that
   3314        have one character extension unless it's "d" letter.  And
   3315 
   3316 	 :filetype [0-9].jpg sxiv
   3317 
   3318        associates sxiv picture viewer only for JPEG-files that contain	single
   3319        digit in their name.
   3320 
   3321 :set options
   3322        Local options
   3323 	      These are kind of options that are local to a specific view.  So
   3324 	      you can set ascending sorting order for left pane and descending
   3325 	      order for right pane.
   3326 
   3327 	      In  addition  to being local to views, each such option also has
   3328 	      two values:
   3329 
   3330 		- local to current directory (value  associated	 with  current
   3331 		  location);
   3332 
   3333 		- global  to  current  directory  (value  associated  with the
   3334 		  pane).
   3335 
   3336 	      The idea is that current	directory  can	be  made  a  temporary
   3337 	      exception	 to regular configuration of the view, until directory
   3338 	      change.  Use :setlocal for that.	:setglobal changes view	 value
   3339 	      not  affecting  settings	until  directory change.  :set applies
   3340 	      changes immediately to all values.
   3341 
   3342 
   3343        'aproposprg'
   3344 	      type: string
   3345 	      default: "apropos %a"
   3346 	      Specifies format for an external command to be  invoked  by  the
   3347 	      :apropos command.	 The format supports expanding of macros, spe-
   3348 	      cific for a particular *prg option, and %% sequence for  insert-
   3349 	      ing  percent  sign literally.  This option should include the %a
   3350 	      macro to specify placement of arguments passed to	 the  :apropos
   3351 	      command.	 If the macro is not used, it will be implicitly added
   3352 	      after a space to the value of this option.
   3353 
   3354        'autochpos'
   3355 	      type: boolean
   3356 	      default: true
   3357 	      When disabled vifm will set cursor to the first line in the view
   3358 	      after  :cd and :pushd commands instead of saved cursor position.
   3359 	      Disabling this will also make vifm clear information about  cur-
   3360 	      sor position in the view history on :cd and :pushd commands (and
   3361 	      on startup if 'autochpos' is disabled in the vifmrc).  l key  in
   3362 	      the  ":history ." and ":trashes" menus are treated like :cd com-
   3363 	      mand.  This option also affects marks so that  navigating	 to  a
   3364 	      mark doesn't restore cursor position.
   3365 
   3366 	      When this option is enabled, more fine grained control over cur-
   3367 	      sor position is available via 'histcursor' option.
   3368 
   3369        'columns' 'co'
   3370 	      type: integer
   3371 	      default: terminal width on startup
   3372 	      Terminal width in characters.
   3373 
   3374        'caseoptions'
   3375 	      type: charset
   3376 	      default: ""
   3377 	      This option gives additional control over	 case  sensitivity  by
   3378 	      allowing	overriding  default behaviour to either always be case
   3379 	      sensitive or always be case insensitive.	Possible  values  form
   3380 	      pairs  of	 lower	and upper case letters that configure specific
   3381 	      aspect of behaviour:
   3382 		p - always ignore case of paths during completion.
   3383 		P - always match case of paths during completion.
   3384 		g - always ignore case of characters for f/F/;/,.
   3385 		G - always match case of characters for f/F/;/,.
   3386 
   3387 	      At most one item of each pair takes affect, if both or more  are
   3388 	      present,	only  the  last one matters.  When none of pair's ele-
   3389 	      ments are present, the behaviour is default (depends on  operat-
   3390 	      ing system for path completion and on values of 'ignorecase' and
   3391 	      'smartcase' options for file navigation).
   3392 
   3393        'cdpath' 'cd'
   3394 	      type: string list
   3395 	      default: value of $CDPATH with commas instead of colons
   3396 	      Specifies locations to check on changing directory with relative
   3397 	      path  that  doesn't  start  with "./" or "../".  When non-empty,
   3398 	      current directory is examined after directories  listed  in  the
   3399 	      option.
   3400 
   3401 	      This option doesn't affect completion of :cd command.
   3402 
   3403 	      Example:
   3404 
   3405 		set cdpath=~
   3406 
   3407 	      This  way	 ":cd  bin"  will  switch to "~/bin" even if directory
   3408 	      named "bin" exists in current directory, while ":cd ./bin"  com-
   3409 	      mand will ignore value of 'cdpath'.
   3410 
   3411        'chaselinks'
   3412 	      type: boolean
   3413 	      default: false
   3414 	      When  enabled path of view is always resolved to real path (with
   3415 	      all symbolic links expanded).
   3416 
   3417        'classify'
   3418 	      type: string list
   3419 	      default: ":dir:/"
   3420 	      Specifies file name prefixes and suffixes depending on file type
   3421 	      or name.	The format is either of:
   3422 		- [{prefix}]:{filetype}:[{suffix}]
   3423 		- [{prefix}]::{pattern}::[{suffix}]
   3424 	      Possible	{pattern}  forms  are  described in "Patterns" section
   3425 	      above.
   3426 
   3427 	      Priority rules:
   3428 		- file name patterns have priority over type patterns
   3429 		- file name patterns are matched  in  left-to-right  order  of
   3430 	      their appearance in this option
   3431 
   3432 	      Either {prefix} or {suffix} or both can be omitted (which is the
   3433 	      default for all unspecified file types), this means empty	 {pre-
   3434 	      fix}  and/or  {suffix}.  {prefix} and {suffix} should consist of
   3435 	      at most eight characters.	 Elements  are	separated  by  commas.
   3436 	      Neither  prefixes	 nor  suffixes are part of file names, so they
   3437 	      don't affect commands which operate on file names	 in  any  way.
   3438 	      Comma  (',')  character can be inserted by doubling it.  List of
   3439 	      file type names can be found in the  description	of  filetype()
   3440 	      function.
   3441 
   3442        'confirm' 'cf'
   3443 	      type: set
   3444 	      default: delete,permdelete
   3445 	      Defines which operations require confirmation:
   3446 	       - delete	    - moving files to trash (on d or :delete);
   3447 	       -  permdelete  -	 permanent deletion of files (on D or :delete!
   3448 	      command or on undo/redo operation).
   3449 
   3450        'cpoptions' 'cpo'
   3451 	      type: charset
   3452 	      default: "fst"
   3453 	      Contains	a  sequence  of	 single-character  flags.   Each  flag
   3454 	      enables behaviour of older versions of vifm.  Flags:
   3455 	       -  f  -	when  included, running :filter command results in not
   3456 	      inverted (matching files	are  filtered  out)  and  :filter!  in
   3457 	      inverted (matching files are left) filter, when omitted, meaning
   3458 	      of the exclamation mark changes to the opposite;
   3459 	       - s - when included, yy, dd and DD normal mode commands act  on
   3460 	      selection, otherwise they operate on current file only;
   3461 	       -  t  - when included, <tab> (thus <c-i>) behave as <space> and
   3462 	      switches active pane, otherwise <tab> and <c-i>  go  forward  in
   3463 	      the view history.	 It's possible to make both <tab> and <c-i> to
   3464 	      work as expected by setting up the terminal  to  emit  a	custom
   3465 	      sequence when <c-i> is pressed; see :histnext for details.
   3466 
   3467        'cvoptions'
   3468 	      type: set
   3469 	      default:
   3470 	      Specifies	 whether entering/leaving custom views triggers events
   3471 	      that normally happen on entering/leaving directories:
   3472 	       - autocmds    - trigger autocommands on entering/leaving custom
   3473 	      views;
   3474 	       -  localopts   - reset local options on entering/leaving custom
   3475 	      views;
   3476 	       - localfilter - reset local filter on  entering/leaving	custom
   3477 	      views.
   3478 
   3479        'deleteprg'
   3480 	      type: string
   3481 	      default: ""
   3482 	      Specifies	 program to run on files that are permanently removed.
   3483 	      When empty, files are removed as usual, otherwise	 this  command
   3484 	      is  invoked  on each file by appending its name.	If the command
   3485 	      doesn't remove files, they will remain on the file system.
   3486 
   3487        'dirsize'
   3488 	      type: enumeration
   3489 	      default: size
   3490 	      Controls how size of directories is  displayed  in  file	views.
   3491 	      The following values are possible:
   3492 	       -  size	 - size of directory (i.e., size used to store list of
   3493 	      files)
   3494 	       - nitems - number of entries in the directory (excluding .  and
   3495 	      ..)
   3496 
   3497 	      Size  obtained via ga/gA overwrites this setting so seeing count
   3498 	      of files and occasionally size of directories is possible.
   3499 
   3500        'dotdirs'
   3501 	      type: set
   3502 	      default: nonrootparent
   3503 	      Controls displaying of dot directories.	The  following	values
   3504 	      are possible:
   3505 	       - rootparent    - show "../" in root directory of file system
   3506 	       -  nonrootparent	 -  show "../" in non-root directories of file
   3507 	      system
   3508 
   3509 	      Note that empty directories always contain "../"	entry  regard-
   3510 	      less of value of this option.  "../" disappears at the moment at
   3511 	      least one file is created.
   3512 
   3513        'dotfiles'
   3514 	      type: boolean
   3515 	      default: false
   3516 	      Whether dot files are shown in the view.	Can be controlled with
   3517 	      z* bindings.
   3518 
   3519        'fastrun'
   3520 	      type: boolean
   3521 	      default: false
   3522 	      With  this  option  turned on you can run partially entered com-
   3523 	      mands with unambiguous beginning using :! (e.g. :!Te instead  of
   3524 	      :!Terminal or :!Te<tab>).
   3525 
   3526        'fillchars' 'fcs'
   3527 	      type: string list
   3528 	      default: ""
   3529 	      Sets characters used to fill borders.
   3530 
   3531 		item	     default	used for
   3532 		vborder:c     '	 '	  left, middle and right vertical bor-
   3533 	      ders
   3534 
   3535 	      If value is omitted, its default value is used.  Example:
   3536 
   3537 		set fillchars=vborder:.
   3538 
   3539        'findprg'
   3540 	      type: string
   3541 	      default: "find %s %a -print , -type d \( ! -readable -o !	 -exe-
   3542 	      cutable \) -prune"
   3543 	      Specifies	 format	 for  an external command to be invoked by the
   3544 	      :find command.  The format supports expanding  of	 macros,  spe-
   3545 	      cific  for a particular *prg option, and %% sequence for insert-
   3546 	      ing percent sign literally.  This option should include  the  %s
   3547 	      macro  to specify placement of list of paths to search in and %a
   3548 	      or %A macro to specify placement	of  arguments  passed  to  the
   3549 	      :find command.  If some of the macros are not used, they will be
   3550 	      implicitly added after a space to the value of the option in the
   3551 	      following	 order:	 %s, %a.  Note that when neither %a nor %A are
   3552 	      specified, it's %a which is added implicitly.
   3553 
   3554 	      The macros can slightly change their meaning depending on	 :find
   3555 	      command  arguments.  When the first argument points to an exist-
   3556 	      ing directory, %s is assigned all arguments and %a/%A  are  left
   3557 	      empty.   Otherwise,  %s  is assigned a dot (".") meaning current
   3558 	      directory or list of selected file names,	 if  any.   %a/%A  are
   3559 	      assigned arguments when first argument starts with a dash ("-"),
   3560 	      otherwise %a gets an escaped version of arguments, prepended  by
   3561 	      "-name" (on *nix) or "-iname" (on Windows) predicate.
   3562 
   3563 	      %a  and  %A macros contain almost the same value, the difference
   3564 	      is that %a can be escaped and %A is never escaped.  %A is to  be
   3565 	      used  mainly  on Windows, where shell escaping is a mess and can
   3566 	      break command execution.
   3567 
   3568 	      Optional %u or %U macro could be used (if both specified	%U  is
   3569 	      chosen)  to  force redirection to custom or unsorted custom view
   3570 	      respectively.
   3571 
   3572 	      Starting from Windows Server 2003 a where command is  available,
   3573 	      one can configure vifm to use it in the following way:
   3574 
   3575 		set findprg="where /R %s %A"
   3576 
   3577 	      As  the  syntax of this command is rather limited, one can't use
   3578 	      :find command with selection of more than one item in this case.
   3579 	      The  command  looks  for files only completely ignoring directo-
   3580 	      ries.
   3581 
   3582 	      When using find port on Windows,	another	 option	 is  to	 setup
   3583 	      'findprg' like this:
   3584 
   3585 		set findprg="find %s %a"
   3586 
   3587        'followlinks'
   3588 	      type: boolean
   3589 	      default: true
   3590 	      Follow  links  on	 l  or Enter.  That is navigate to destination
   3591 	      file instead of treating the link as if  it  were	 target	 file.
   3592 	      Doesn't  affects	links to directories, which are always entered
   3593 	      (use gf key for directories).
   3594 
   3595        'fusehome'
   3596 	      type: string
   3597 	      default: "($XDG_DATA_HOME/.local/share | $VIFM)/fuse/"
   3598 	      Directory to be used as a root dir for FUSE  mounts.   Value  of
   3599 	      the   option   can   contain   environment  variables  (in  form
   3600 	      "$envname"), which will be expanded (prepend it with a slash  to
   3601 	      prevent  expansion).   The  value	 should	 expand to an absolute
   3602 	      path.
   3603 
   3604 	      If you change this option,  vifm	won't  remount	anything.   It
   3605 	      affects future mounts only.  See "Automatic FUSE mounts" section
   3606 	      below for more information.
   3607 
   3608        'gdefault' 'gd'
   3609 	      type: boolean
   3610 	      default: false
   3611 	      When on, 'g' flag is on for :substitute by default.
   3612 
   3613        'grepprg'
   3614 	      type: string
   3615 	      default: "grep -n -H -I -r %i %a %s"
   3616 	      Specifies format for an external command to be  invoked  by  the
   3617 	      :grep  command.	The  format supports expanding of macros, spe-
   3618 	      cific for a particular *prg option, and %% sequence for  insert-
   3619 	      ing  percent  sign literally.  This option should include the %i
   3620 	      macro to specify placement of  "-v"  string  when	 inversion  of
   3621 	      results  is  requested,  %a  or %A macro to specify placement of
   3622 	      arguments passed to the :grep command and the %s macro to	 spec-
   3623 	      ify  placement  of  list	of files to search in.	If some of the
   3624 	      macros are not used, they will be implicitly added after a space
   3625 	      to the value of the 'grepprg' option in the following order: %i,
   3626 	      %a, %s.  Note that when neither %a nor %A are specified, it's %a
   3627 	      which is added implicitly.
   3628 
   3629 	      Optional	%u  or %U macro could be used (if both specified %U is
   3630 	      chosen) to force redirection to custom or unsorted  custom  view
   3631 	      respectively.
   3632 
   3633 	      See  'findprg'  option  for description of difference between %a
   3634 	      and %A.
   3635 
   3636 	      Example of setup to use ack (http://beyondgrep.com/) instead  of
   3637 	      grep:
   3638 
   3639 		set grepprg='ack -H -r %i %a %s'
   3640 
   3641 	      or   The	 Silver	 Searcher  (https://github.com/ggreer/the_sil-
   3642 	      ver_searcher):
   3643 
   3644 		set grepprg='ag --line-numbers %i %a %s'
   3645 
   3646 
   3647 
   3648        'histcursor'
   3649 	      type: set
   3650 	      default: startup,dirmark,direnter
   3651 	      Defines situations when cursor  should  be  moved	 according  to
   3652 	      directory history:
   3653 	       - startup  - on loading file lists during startup
   3654 	       -  dirmark   -  after navigating to a mark that doesn't specify
   3655 	      file
   3656 	       - direnter - on opening directory from a file list
   3657 
   3658 	      This option has no effect when 'autochpos' is disabled.
   3659 
   3660 	      Note that the list is not exhaustive and there are other	situa-
   3661 	      tions when cursor is positioned automatically.
   3662 
   3663        'history' 'hi'
   3664 	      type: integer
   3665 	      default: 15
   3666 	      Maximum number of stored items in all histories.
   3667 
   3668        'hlsearch' 'hls'
   3669 	      type: boolean
   3670 	      default: true
   3671 	      Highlight all matches of search pattern.
   3672 
   3673        'iec'  type: boolean
   3674 	      default: false
   3675 	      Use  KiB,	 MiB,  ... suffixes instead of K, M, ... when printing
   3676 	      size in human-friendly format.
   3677 
   3678        'ignorecase' 'ic'
   3679 	      type: boolean
   3680 	      default: false
   3681 	      Ignore case in search patterns (:substitute, / and  ?  commands)
   3682 	      and  characters  after f and F commands.	It doesn't affect file
   3683 	      filtering.
   3684 
   3685        'incsearch' 'is'
   3686 	      type: boolean
   3687 	      default: false
   3688 	      When this option is set, search and view update for local filter
   3689 	      is  be performed starting from initial cursor position each time
   3690 	      search pattern is changed.
   3691 
   3692        'iooptions'
   3693 	      type: set
   3694 	      default:
   3695 	      Controls details of file operations.  The following  values  are
   3696 	      available:
   3697 	       -  fastfilecloning - perform fast file cloning (copy-on-write),
   3698 	      when available
   3699 				   (available on Linux and btrfs file system).
   3700 
   3701        'laststatus' 'ls'
   3702 	      type: boolean
   3703 	      default: true
   3704 	      Controls if status bar is visible.
   3705 
   3706        'lines'
   3707 	      type: integer
   3708 	      default: terminal height on startup
   3709 	      Terminal height in lines.
   3710 
   3711        'locateprg'
   3712 	      type: string
   3713 	      default: "locate %a"
   3714 	      Specifies format for an external command to be  invoked  by  the
   3715 	      :locate  command.	 The format supports expanding of macros, spe-
   3716 	      cific for a particular *prg option, and %% sequence for  insert-
   3717 	      ing  percent  sign literally.  This option should include the %a
   3718 	      macro to specify placement of arguments passed  to  the  :locate
   3719 	      command.	 If the macro is not used, it will be implicitly added
   3720 	      after a space to the value of this option.
   3721 
   3722 	      Optional %u or %U macro could be used (if both specified	%U  is
   3723 	      chosen)  to  force redirection to custom or unsorted custom view
   3724 	      respectively.
   3725 
   3726        'mediaprg'
   3727 	      type: string
   3728 	      default: path to bundled script that supports udevil and udisks
   3729 	      {only for *nix}
   3730 	      Specifies command to be used to manage media devices.   Used  by
   3731 	      :media command.
   3732 
   3733 	      The command can be passed the following parameters:
   3734 	       - list		-- list media
   3735 	       - mount {device} -- mount a device
   3736 	       - unmount {path} -- unmount given mount point
   3737 
   3738 	      The  output  of  `list`  subcommand is parsed in search of lines
   3739 	      that start with one of the following prefixes:
   3740 	       - device=      - specifies device path (e.g., "/dev/sde")
   3741 	       - label=	      - specifies optional device label (e.g., "Memory
   3742 	      card")
   3743 	       -  mount-point=	-  specifies  a	 mount point (can be absent or
   3744 	      appear more than once)
   3745 
   3746 	      All other lines are ignored.  Each `device=` starts a  new  sec-
   3747 	      tion describing a device which should include two other possible
   3748 	      prefixes.
   3749 
   3750 	      `list` subcommand is assumed  to	always	succeed,  while	 error
   3751 	      stream  and  exit	 code  of  `mount` and `unmount` is taken into
   3752 	      account to determine whether operation  was  performed  success-
   3753 	      fully.
   3754 
   3755        'lsoptions'
   3756 	      type: string list
   3757 	      default: ""
   3758 	      scope: local
   3759 
   3760 	      Configures ls-like view.
   3761 
   3762 		item	      used for
   3763 		transposed     filling	view  grid  by	columns rather than by
   3764 	      lines
   3765 
   3766 
   3767        'lsview'
   3768 	      type: boolean
   3769 	      default: false
   3770 	      scope: local
   3771 	      When this option is set, directory view  will  be	 displayed  in
   3772 	      multiple	columns	 with  file names similar to output of `ls -x`
   3773 	      command.	See "ls-like view" section below for  format  descrip-
   3774 	      tion.  This option has no effect if 'millerview' is on.
   3775 
   3776        'milleroptions'
   3777 	      type: string list
   3778 	      default: "lsize:1,csize:1,rsize:1"
   3779 	      scope: local
   3780 
   3781 	      Configures miller view.
   3782 
   3783 		item	      default  used for
   3784 		lsize:num     0	       left column
   3785 		csize:num     1	       center column (can't be disabled)
   3786 		rsize:num     0	       right column
   3787 
   3788 	      *size  specifies	ratios of columns.  Each ratio is in the range
   3789 	      from 0 to 100 and values are adjusted to fit the	limits.	  Zero
   3790 	      disables a column, but central (main) column can't be disabled.
   3791 
   3792 	      Example  of  two-column mode which is useful in combination with
   3793 	      :view command:
   3794 
   3795 		set milleroptions=lsize:1,csize:2
   3796 
   3797 
   3798        'millerview'
   3799 	      type: boolean
   3800 	      default: false
   3801 	      scope: local
   3802 	      When this option is set, directory view  will  be	 displayed  in
   3803 	      multiple cascading columns.  Ignores 'lsview'.
   3804 
   3805        'mintimeoutlen'
   3806 	      type: integer
   3807 	      default: 150
   3808 	      The  fracture  of	 'timeoutlen'  in  milliseconds that is waited
   3809 	      between subsequent input polls, which affects various  asynchro-
   3810 	      nous  operations	(detecting  changes  made by external applica-
   3811 	      tions, monitoring background jobs, redrawing UI).	 There are  no
   3812 	      strict guarantees, however the higher this value is, the less is
   3813 	      CPU load in idle mode.
   3814 
   3815        'number' 'nu'
   3816 	      type: boolean
   3817 	      default: false
   3818 	      scope: local
   3819 	      Print line number in front  of  each  file  name	when  'lsview'
   3820 	      option  is  turned  off.	 Use 'numberwidth' to control width of
   3821 	      line number.  Also see 'relativenumber'.
   3822 
   3823        'numberwidth' 'nuw'
   3824 	      type: integer
   3825 	      default: 4
   3826 	      scope: local
   3827 	      Minimal number of characters for line number field.
   3828 
   3829        'previewprg'
   3830 	      type: string
   3831 	      default: ""
   3832 	      scope: local
   3833 
   3834 	      External command to be used instead of preview programs  config-
   3835 	      ured via :fileviewer command.
   3836 
   3837 	      Example:
   3838 
   3839 		" always show git log in preview of files inside some repository
   3840 		au DirEnter '~/git-repo/**/*' setl previewprg='git log --color -- %c 2>&1'
   3841 
   3842        'quickview'
   3843 	      type: boolean
   3844 	      default: false
   3845 	      Whether quick view (:view) is currently active or not.
   3846 
   3847        'relativenumber' 'rnu'
   3848 	      type: boolean
   3849 	      default: false
   3850 	      scope: local
   3851 	      Print  relative  line  number  in	 front	of each file name when
   3852 	      'lsview' option is turned off.   Use  'numberwidth'  to  control
   3853 	      width  of	 line  number.	 Various  combinations of 'number' and
   3854 	      'relativenumber' lead to such results:
   3855 
   3856 				      nonumber		     number
   3857 
   3858 		  norelativenumber   | first		    |	1 first
   3859 				     | second		    |	2 second
   3860 				     | third		    |	3 third
   3861 
   3862 		    relativenumber   |	 1 first	    |	1 first
   3863 				     |	 0 second	    |2	  second
   3864 				     |	 1 third	    |	1 third
   3865 
   3866 
   3867        'rulerformat' 'ruf'
   3868 	      type: string
   3869 	      default: "%l/%S "
   3870 	      Determines the content of the ruler.  Its minimal	 width	is  13
   3871 	      characters  and  it's  right aligned.  Following macros are sup-
   3872 	      ported:
   3873 	       %=  - separation point between left and right aligned halves of
   3874 	      the line
   3875 	       %l  - file number
   3876 	       %L   -  total  number  of files in view (including filtered out
   3877 	      ones)
   3878 	       %x  - number of files excluded by filters
   3879 	       %0- - old name for %x macro
   3880 	       %S  - number of displayed files
   3881 	       %=  - separation point between left and right align items
   3882 	       %%  - percent sign
   3883 	       %[  - designates beginning of an optional block
   3884 	       %]  - designates end of an optional block
   3885 
   3886 	      Percent sign can be followed by optional	minimum	 field	width.
   3887 	      Add '-' before minimum field width if you want field to be right
   3888 	      aligned.
   3889 
   3890 	      Example:
   3891 
   3892 		set rulerformat='%2l-%S%[ +%x%]'
   3893 
   3894        'runexec'
   3895 	      type: boolean
   3896 	      default: false
   3897 	      Run executable file on Enter or l.
   3898 
   3899        'scrollbind' 'scb'
   3900 	      type: boolean
   3901 	      default: false
   3902 	      When this option is set, vifm will try  to  keep	difference  of
   3903 	      scrolling positions of two windows constant.
   3904 
   3905        'scrolloff' 'so'
   3906 	      type: integer
   3907 	      default: 0
   3908 	      Minimal  number of screen lines to keep above and below the cur-
   3909 	      sor.  If you want cursor line to always be in the middle of  the
   3910 	      view (except at the beginning or end of the file list), set this
   3911 	      option to some large value (e.g. 999).
   3912 
   3913        'shell' 'sh'
   3914 	      type: string
   3915 	      default: $SHELL or "/bin/sh" or "cmd" (on MS-Windows)
   3916 	      Full path to the shell to use to run external commands.  On *nix
   3917 	      a shell argument can be supplied.
   3918 
   3919        'shortmess' 'shm'
   3920 	      type: charset
   3921 	      default: "p"
   3922 	      Contains	a  sequence  of	 single-character  flags.   Each  flag
   3923 	      enables shortening of some message displayed by vifm in the TUI.
   3924 	      Flags:
   3925 	       -  M  - shorten titles in windows of terminal multiplexers cre-
   3926 	      ated by vifm down to file name instead of using full path.
   3927 	       - T - truncate status-bar messages in the middle	 if  they  are
   3928 	      too  long	 to fit on the command line.  "..." will appear in the
   3929 	      middle.
   3930 	       - p - use tilde shortening in view titles.
   3931 
   3932 
   3933        'showtabline' 'stal'
   3934 	      type: enumeration
   3935 	      default: multiple
   3936 	      Specifies when tab line should be displayed.  Possible values:
   3937 	       - never	  - never display tab line
   3938 	       - multiple - show tab line only when there  are	at  least  two
   3939 	      tabs
   3940 	       - always	  - display tab line always
   3941 
   3942 	      Alternatively  0, 1 and 2 Vim-like values	 are also accepted and
   3943 	      correspond to "never", "multiple" and "always" respectively.
   3944 
   3945 
   3946        'sizefmt'
   3947 	      type: string list
   3948 	      default: "units:iec"
   3949 	      Configures the way size is formatted in human-friendly way.
   3950 
   3951 		  item		value	      meaning
   3952 		  units:	iec	      Use 1024 byte units (K  or  KiB,
   3953 	      etc.).
   3954 					      See 'iec' option.
   3955 				si	      Use 1000 byte units (KB, etc.).
   3956 		  precision:	i > 0	      How many fraction digits to con-
   3957 	      sider.
   3958 				{not set}     Precision of 1 for integer  part
   3959 	      < 10,
   3960 					      0 otherwise (provides old behav-
   3961 	      iour).
   3962 
   3963 	      Numbers are rounded from zero.  Trailing zeros are dropped.
   3964 
   3965 	      Example:
   3966 
   3967 		set sizefmt=units:iec,precision:2
   3968 
   3969 
   3970        'slowfs'
   3971 	      type: string list
   3972 	      default: ""
   3973 	      only for *nix
   3974 	      A list of mounter fs name beginnings (first column in  /etc/mtab
   3975 	      or  /proc/mounts) or paths prefixes for fs/directories that work
   3976 	      too slow for you.	 This option can be used  to  stop  vifm  from
   3977 	      making  some  requests  to particular kinds of file systems that
   3978 	      can slow down file browsing.  Currently this means  don't	 check
   3979 	      if directory has changed, skip check if target of symbolic links
   3980 	      exists, assume that link target located  on  slow	 fs  to	 be  a
   3981 	      directory	 (allows  entering directories and navigating to files
   3982 	      via gf).	If you set the option to "*", it means all the systems
   3983 	      are  considered  slow  (useful  for cygwin, where all the checks
   3984 	      might render vifm very slow if there are network mounts).
   3985 
   3986 	      Example for autofs root /mnt/autofs:
   3987 
   3988 		set slowfs+=/mnt/autofs
   3989 
   3990        'smartcase' 'scs'
   3991 	      type: boolean
   3992 	      default: false
   3993 	      Overrides the ignorecase option if the search  pattern  contains
   3994 	      at  least	 one  upper case character.  Only used when ignorecase
   3995 	      option is enabled.  It doesn't affect file filtering.
   3996 
   3997        'sort' type: string list
   3998 	      default: +name on *nix and +iname on Windows
   3999 	      scope: local
   4000 	      Sets list of sorting keys (first item is primary key, second  is
   4001 	      secondary key, etc.):
   4002 		 [+-]ext     - extension of files and directories
   4003 		 [+-]fileext - extension of files only
   4004 		 [+-]name    - name (including extension)
   4005 		 [+-]iname   - name (including extension, ignores case)
   4006 		 [+-]type		  -		 file		  type
   4007 	      (dir/reg/exe/link/char/block/sock/fifo)
   4008 		 [+-]dir     - directory grouping (directory < file)
   4009 		 [+-]gid     - group id (*nix only)
   4010 		 [+-]gname   - group name (*nix only)
   4011 		 [+-]mode    - file type derived from its mode (*nix only)
   4012 		 [+-]perms   - permissions string (*nix only)
   4013 		 [+-]uid     - owner id (*nix only)
   4014 		 [+-]uname   - owner name (*nix only)
   4015 		 [+-]nlinks  - number of hard links (*nix only)
   4016 		 [+-]inode   - inode number (*nix only)
   4017 		 [+-]size    - size
   4018 		 [+-]nitems  - number of items in a directory (zero for files)
   4019 		 [+-]groups  - groups extracted via regexps from 'sortgroups'
   4020 		 [+-]target  - symbolic link  target  (empty  for  other  file
   4021 	      types)
   4022 		 [+-]atime   - time accessed (e.g. read, executed)
   4023 		 [+-]ctime   - time changed (changes in metadata, e.g. mode)
   4024 		 [+-]mtime   - time modified (when file contents is changed)
   4025 
   4026 	      Note:  look  for st_atime, st_ctime and st_mtime in "man 2 stat"
   4027 	      for more information on time keys.
   4028 
   4029 	      '+' means ascending sort for this key, and '-' means  descending
   4030 	      sort.
   4031 
   4032 	      "dir"  key  is  somewhat	similar	 in this regard but it's added
   4033 	      implicitly: when "dir" is not specified, sorting behaves	as  if
   4034 	      it was the first key in the list.	 That's why if one wants sort-
   4035 	      ing algorithm to mix directories	and  files,  "dir"  should  be
   4036 	      appended to sorting option, for example like this:
   4037 
   4038 		set sort+=dir
   4039 
   4040 	      or
   4041 
   4042 		set sort=-size,dir
   4043 
   4044 	      Value  of	 the  option is checked to include dir key and default
   4045 	      sorting key (name on *nix, iname on Windows).  Here is what hap-
   4046 	      pens if one of them is missing:
   4047 
   4048 		- type key is added at the beginning;
   4049 
   4050 		- default key is added at the end;
   4051 
   4052 	      all other keys are left untouched (at most they are moved).
   4053 
   4054 	      This option also changes view columns according to primary sort-
   4055 	      ing key set, unless 'viewcolumns' option is not empty.
   4056 
   4057        'sortnumbers'
   4058 	      type: boolean
   4059 	      default: false
   4060 	      scope: local
   4061 	      Natural sort of (version) numbers within text.
   4062 
   4063        'sortgroups'
   4064 	      type: string
   4065 	      default: ""
   4066 	      scope: local
   4067 	      Sets comma-separated list of  regular  expressions  to  use  for
   4068 	      group  sorting,  double comma is literal comma.  Each expression
   4069 	      should contain at least one group or its value will  be  consid-
   4070 	      ered  to	be  always  empty.   Only  first match of each regular
   4071 	      expression is considered.	 Groups are considered from  right  to
   4072 	      first  similar to 'sort', first group divides list of files into
   4073 	      sub-groups, each of which is sorted by the second group  and  so
   4074 	      on.
   4075 
   4076 	      Example:
   4077 		set sortgroups=-(done|todo).*
   4078 	      this would put files with "-done" in their names above all files
   4079 	      with "-todo".
   4080 
   4081        'sortorder'
   4082 	      type: enumeration
   4083 	      default: ascending
   4084 	      Sets sort order for primary key: ascending, descending.
   4085 
   4086        'statusline' 'stl'
   4087 	      type: string
   4088 	      default: ""
   4089 	      Determines the content of the status line (the line right	 above
   4090 	      command-line).   Empty string means use same format like in pre-
   4091 	      vious versions.  Following macros are supported:
   4092 
   4093 	      - %t - file name (considering value of the 'classify' option)
   4094 
   4095 	      - %T - symbolic link target (empty for other filetypes)
   4096 
   4097 	      - %f - file name relative to current directory (considers 'clas-
   4098 		sify')
   4099 
   4100 	      - %A  -  file  attributes	 (permissions on *nix or properties on
   4101 		Windows) %u - user name or uid (if it cannot be resolved)
   4102 
   4103 	      - %g - group name or gid (if it cannot be resolved)
   4104 
   4105 	      - %s - file size in human readable format
   4106 
   4107 	      - %E - size of selected files in human readable format, same  as
   4108 		%s  when no files are selected, except that it will never show
   4109 		size of ../ in visual mode, since it cannot be selected
   4110 
   4111 	      - %d - file modification date (uses 'timefmt' option)
   4112 
   4113 	      - %D - path of the other pane for single-pane layout
   4114 
   4115 	      - %a - amount of free space available at current partition
   4116 
   4117 	      - %z - short tips/tricks/hints that chosen  randomly  after  one
   4118 		minute period
   4119 
   4120 	      - %{<expr>}  - evaluate arbitrary vifm expression '<expr>', e.g.
   4121 		'&sort'
   4122 
   4123 	      - %* - resets or applies one of User1..User9  highlight  groups;
   4124 		reset  happens	when width field is 0 or not specified, one of
   4125 		groups gets picked when width field is in the range from 1  to
   4126 		9
   4127 
   4128 	      - all 'rulerformat' macros
   4129 
   4130 	      Percent  sign  can  be followed by optional minimum field width.
   4131 	      Add '-' before minimum field width if you want field to be right
   4132 	      aligned.
   4133 
   4134 	      On  Windows  file	 properties include the following flags (upper
   4135 	      case means flag is on):
   4136 	       A - archive
   4137 	       H - hidden
   4138 	       I - content isn't indexed
   4139 	       R - readonly
   4140 	       S - system
   4141 	       C - compressed
   4142 	       D - directory
   4143 	       E - encrypted
   4144 	       P - reparse point (e.g. symbolic link)
   4145 	       Z - sparse file
   4146 
   4147 	      Example without colors:
   4148 
   4149 		set statusline="  %t%= %A %10u:%-7g %15s %20d %{&sort} "
   4150 
   4151 	      Example with colors:
   4152 
   4153 	       highlight User1 ctermbg=yellow
   4154 	       highlight User2 ctermbg=blue ctermfg=white cterm=bold
   4155 	       set statusline="%1* %-26t %2* %= %1* %A %2* %7u:%-7g %1* %-5s %2* %d "
   4156 
   4157 
   4158        'suggestoptions'
   4159 	      type: string list
   4160 	      default:
   4161 	      Controls when, for what and how suggestions are displayed.   The
   4162 	      following values are available:
   4163 	       - normal		 - in normal mode;
   4164 	       - visual		 - in visual mode;
   4165 	       - view		 - in view mode;
   4166 	       - otherpane	 - use other pane to display suggestions, when
   4167 	      available;
   4168 	       - delay[:num]	 - display suggestions after a small delay (to
   4169 	      do not annoy if you just want to type a fast shortcut consisting
   4170 	      of multiple keys),  num  specifies  the  delay  in  ms  (500  by
   4171 	      default), 'timeoutlen' at most;
   4172 	       - keys		 - include shortcuts (commands and selectors);
   4173 	       - foldsubkeys	 - fold multiple keys with common prefix;
   4174 	       - marks		 - include marks;
   4175 	       -  registers[:num] - include registers, at most num files (5 by
   4176 	      default).
   4177 
   4178        'syncregs'
   4179 	      type: string
   4180 	      default:
   4181 	      Specifies identifier of group of instances that share  registers
   4182 	      between  each  other.   When several instances of vifm have this
   4183 	      option set to identical value,  they  automatically  synchronize
   4184 	      contents of their registers on operations which use them.
   4185 
   4186        'syscalls'
   4187 	      type: boolean
   4188 	      default: false
   4189 	      When  disabled,  vifm will rely on external applications to per-
   4190 	      form file-system operations, otherwise  system  calls  are  used
   4191 	      instead  (much  faster  and  supports  progress  tracking).  The
   4192 	      option should eventually be removed.  Mostly  *nix-like  systems
   4193 	      are affected.
   4194 
   4195        'tabscope'
   4196 	      type: enumeration
   4197 	      default: global
   4198 	      Picks  style  of tabs, which defines what a single tab contains.
   4199 	      Possible values:
   4200 	       - global - tab describes complete UI of two views and how  they
   4201 	      are arranged
   4202 	       -  pane	  -  tab is located "inside" a pane and manages it and
   4203 	      quick view
   4204 
   4205        'tabstop' 'ts'
   4206 	      type: integer
   4207 	      default: value from curses library
   4208 	      Number of spaces that a Tab in the file counts for.
   4209 
   4210        'timefmt'
   4211 	      type: string
   4212 	      default: "%m/%d %H:%M"
   4213 	      Format of time in file list.  See "man 1 date" or "man  3	 strf-
   4214 	      time" for details.
   4215 
   4216        'timeoutlen' 'tm'
   4217 	      type: integer
   4218 	      default: 1000
   4219 	      The time in milliseconds that is waited for a mapped key in case
   4220 	      of already typed key sequence is ambiguous.
   4221 
   4222        'title'
   4223 	      type: boolean
   4224 	      default: true when title can be restored, false otherwise
   4225 	      When enabled title of the	 terminal  or  terminal	 multiplexer's
   4226 	      window is updated according to current location.
   4227 
   4228        'trash'
   4229 	      type: boolean
   4230 	      default: true
   4231 	      Use trash directory.  See "Trash directory" section below.
   4232 
   4233        'trashdir'
   4234 	      type: string
   4235 	      default: on *nix:
   4236 		 "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash"
   4237 		 or if $VIFM/Trash doesn't exist
   4238 		 "%r/.vifm-Trash-%u,$XDG_DATA_HOME/vifm/Trash,%r/.vifm-Trash"
   4239 		       on Windows:
   4240 		 "%r/.vifm-Trash,$XDG_DATA_HOME/vifm/Trash"
   4241 	      List of trash directory path specifications, separated with com-
   4242 	      mas.  Each list item either defines an absolute  path  to	 trash
   4243 	      directory	 or  a	path  relative to a mount point root when list
   4244 	      element starts with "%r/".  Value	 of  the  option  can  contain
   4245 	      environment  variables  (of  form	 "$envname"),  which  will  be
   4246 	      expanded (prepend $ with a slash to prevent  expansion).	 Envi-
   4247 	      ronment variables are expanded when the option is set.
   4248 
   4249 	      On  *nix,	 if  element ends with "%u", the mark is replaced with
   4250 	      real user ID and permissions are set  so	that  only  that  only
   4251 	      owner is able to use it.
   4252 	      Note that even this setup is not completely secure when combined
   4253 	      with "%r/" and it's overall safer to keep files in  home	direc-
   4254 	      tory, but that implies cost of copying files between partitions.
   4255 
   4256 	      When  new file gets cut (deleted) vifm traverses each element of
   4257 	      the option in the order of their appearance and uses first trash
   4258 	      directory	 that  it  was	able  to  create  or  that  is already
   4259 	      writable.
   4260 
   4261 	      Default value tries to use trash directory per mount  point  and
   4262 	      falls back to ~/.vifm/Trash on failure.
   4263 
   4264 	      Will  attempt to create the directory if it does not exist.  See
   4265 	      "Trash directory" section below.
   4266 
   4267        'tuioptions' 'to'
   4268 	      type: charset
   4269 	      default: "ps"
   4270 	      Each flag configures some aspect of TUI appearance.   The	 flags
   4271 	      are:
   4272 	      p - when included:
   4273 		*  file	 list  inside  a pane gets additional single character
   4274 	      padding on left and right sides;
   4275 		* quick view and view mode get single character padding.
   4276 	      s - when included, left and right borders (side  borders,	 hence
   4277 	      "s" character) are visible.
   4278 	      u	 - use Unicode characters in the TUI (Unicode ellipsis instead
   4279 	      of "...").
   4280 
   4281        'undolevels' 'ul'
   4282 	      type: integer
   4283 	      default: 100
   4284 	      Maximum number of changes that can be undone.   Note  that  here
   4285 	      single  file  operation  is  used as a unit, not operation, i.e.
   4286 	      deletion of 101 files will exceed default limit.
   4287 
   4288        'vicmd'
   4289 	      type: string
   4290 	      default: "vim"
   4291 	      The actual command used to start vi.  Ampersand sign at the  end
   4292 	      (regardless  whether  it's preceded by space or not) means back-
   4293 	      grounding of command.
   4294 
   4295 	      Background flag is ignored in certain context where  vifm	 waits
   4296 	      for  the	editor	to  finish.  Such contexts include any command
   4297 	      that spawns editor to change list of file names  or  a  command,
   4298 	      with  :rename  being one example.	 `-f` is also appended to pre-
   4299 	      vent forking in such cases, so the command needs to  handle  the
   4300 	      flag.
   4301 
   4302 	      Additionally  `+{num}` and `+'call cursor()'` arguments are used
   4303 	      to position cursor when location is known.
   4304 
   4305        'viewcolumns'
   4306 	      type: string
   4307 	      default: ""
   4308 	      scope: local
   4309 	      Format string containing list of columns in the view.  When this
   4310 	      option  is  empty, view columns to show are chosen automatically
   4311 	      using sorting keys (see 'sort') as a base.  Value of this option
   4312 	      is  ignored if 'lsview' is set.  See "Column view" section below
   4313 	      for format description.
   4314 
   4315 	      An example of setting the options for both  panes	 (note	:windo
   4316 	      command):
   4317 
   4318 		windo set viewcolumns=-{name}..,6{size},11{perms}
   4319 
   4320        'vixcmd'
   4321 	      type: string
   4322 	      default: value of 'vicmd'
   4323 	      Same as 'vicmd', but takes precedence over it when running in X.
   4324 
   4325        'vifminfo'
   4326 	      type: set
   4327 	      default: bookmarks,bmarks
   4328 	      Controls what will be saved in the $VIFM/vifminfo file.
   4329 
   4330 		 bmarks	   - named bookmarks
   4331 		 bookmarks - marks, except special ones like '< and '>
   4332 		 tui	    -  state of the user interface (sorting, number of
   4333 	      windows, quick
   4334 			     view state, active view)
   4335 		 dhistory  - directory history
   4336 		 state	   - file name and dot filters and terminal multiplex-
   4337 	      ers integration
   4338 			     state
   4339 		 cs	   - primary color scheme
   4340 		 savedirs  - save last visited directory (requires dhistory)
   4341 		 chistory  - command line history
   4342 		 shistory  - search history (/ and ? commands)
   4343 		 phistory  - prompt history
   4344 		 fhistory   -  history of local filter (see description of the
   4345 	      "=" normal mode
   4346 			     command)
   4347 		 dirstack  - directory stack overwrites previous stack, unless
   4348 	      stack of
   4349 			     current session is empty
   4350 		 registers - registers content
   4351 		 options   - all options that can be set with the :set command
   4352 	      (obsolete)
   4353 		 filetypes - associated programs and viewers (obsolete)
   4354 		 commands  - user defined commands (see :command  description)
   4355 	      (obsolete)
   4356 
   4357        'vimhelp'
   4358 	      type: boolean
   4359 	      default: false
   4360 	      Use vim help format.
   4361 
   4362        'wildmenu' 'wmnu'
   4363 	      type: boolean
   4364 	      default: false
   4365 	      Controls	whether	 possible  matches of completion will be shown
   4366 	      above the command line.
   4367 
   4368        'wildstyle'
   4369 	      type: enumeration
   4370 	      default: bar
   4371 	      Picks presentation style of wild menu.  Possible values:
   4372 	       - bar   - one-line with left-to-right cursor
   4373 	       - popup - multi-line with top-to-bottom cursor
   4374 
   4375        'wordchars'
   4376 	      type: string list
   4377 	      default: "1-8,14-31,33-255" (that is all non-whitespace  charac-
   4378 	      ters)
   4379 	      Specifies	 which	characters in command-line mode should be con-
   4380 	      sidered as part of a word.  Value of the option  is  comma-sepa-
   4381 	      rated  list of ranges.  If both endpoints of a range match, sin-
   4382 	      gle endpoint is enough (e.g. "a" = "a-a").  Both	endpoints  are
   4383 	      inclusive.  There are two accepted forms: character representing
   4384 	      itself or number encoding character according  to	 ASCII	table.
   4385 	      In case of ambiguous characters (dash, comma, digit) use numeric
   4386 	      form.  Accepted characters are in the range from 0 to 255.   Any
   4387 	      Unicode character with code greater than 255 is considered to be
   4388 	      part of a word.
   4389 
   4390 	      The option affects Alt-D, Alt-B and Alt-F, but not Ctrl-W.  This
   4391 	      is intentionally to allow two use cases:
   4392 
   4393 	       - Moving by WORDS and deletion by words.
   4394 	       - Moving by words and deletion by WORDS.
   4395 
   4396 	      To get the latter use the following mapping:
   4397 
   4398 		cnoremap <c-w> <a-b><a-d>
   4399 
   4400 	      Also used for abbreviations.
   4401 
   4402        'wrap' type: boolean
   4403 	      default: true
   4404 	      Controls whether to wrap text in quick view.
   4405 
   4406        'wrapscan' 'ws'
   4407 	      type: boolean
   4408 	      default: true
   4409 	      Searches wrap around end of the list.
   4410 
   4411 Mappings
   4412        Map arguments
   4413 
   4414        LHS  of	mappings  can  be preceded by arguments which take the form of
   4415        special sequences:
   4416 
   4417        <silent>
   4418 	      Postpone UI updates until RHS is completely processed.
   4419 
   4420        <wait> In case of builtin mapping causing conflict for  a  user-defined
   4421 	      mapping  (e.g.,  `t`  builtin  to	 a  partially typed `ta` user-
   4422 	      defined mapping), ignore the builtin mapping and wait for	 input
   4423 	      indefinitely  as	opposed to default behaviour of triggering the
   4424 	      builtin mapping after a delay defined by 'timeoutlen'.  Example:
   4425 
   4426 		nnoremap <wait> tw :set wrap!<cr>
   4427 		nnoremap <wait> tn :set number!<cr>
   4428 		nnoremap <wait> tr :set relativenumber!<cr>
   4429 
   4430        Special sequences
   4431 
   4432        Since it's not easy to enter special characters there are several  spe-
   4433        cial sequences that can be used in place of them.  They are:
   4434 
   4435        <cr>   Enter key.
   4436 
   4437        <esc>  Escape key.
   4438 
   4439        <space>
   4440 	      Space key.
   4441 
   4442        <lt>   Less-than character (<).
   4443 
   4444        <nop>  provides a way to disable a mapping (by mapping it to <nop>).
   4445 
   4446        <bs>   Backspace key (see key conflict description below).
   4447 
   4448        <tab> <s-tab>
   4449 	      Tabulation and Shift+Tabulation keys.
   4450 
   4451        <home> <end>
   4452 	      Home/End.
   4453 
   4454        <left> <right> <up> <down>
   4455 	      Arrow keys.
   4456 
   4457        <pageup> <pagedown>
   4458 	      PageUp/PageDown.
   4459 
   4460        <del> <delete>
   4461 	      Delete  key.   <del>  and	 <delete>  mean	 different  codes, but
   4462 	      <delete> is more common.
   4463 
   4464        <insert>
   4465 	      Insert key.
   4466 
   4467        <c-a>,<c-b>,...,<c-z>,<c-[>,<c->,<c-]>,<c-^>,<c-_>
   4468 	      Control + some key (see key conflict description below).
   4469 
   4470        <c-@>  only for *nix
   4471 	      Control + Space.
   4472 
   4473        <a-a>,<a-b>,...,<a-z>
   4474 	      <m-a>,<m-b>,...,<m-z> Alt + some key.
   4475 
   4476        <a-c-a>,<a-c-b>,...,<a-c-z>
   4477 	      <m-c-a>,<m-c-b>,...,<m-c-z> only for *nix
   4478 	      Alt + Ctrl + some key.
   4479 
   4480        <f0> - <f63>
   4481 	      Functional keys.
   4482 
   4483        <c-f1> - <c-f12>
   4484 	      only for MS-Windows
   4485 	      functional keys with Control key pressed.
   4486 
   4487        <a-f1> - <a-f12>
   4488 	      only for MS-Windows
   4489 	      functional keys with Alt key pressed.
   4490 
   4491        <s-f1> - <s-f12>
   4492 	      only for MS-Windows
   4493 	      functional keys with Shift key pressed.
   4494 
   4495        Note that due to the way terminals process their	 input,	 several  key-
   4496        board keys might be mapped to single key code, for example:
   4497 
   4498 	 - <cr> and <c-m>;
   4499 
   4500 	 - <tab> and <c-i>;
   4501 
   4502 	 - <c-h> and <bs>;
   4503 
   4504 	 - etc.
   4505 
   4506        Most  of	 the  time  they are defined consistently and don't cause sur-
   4507        prises, but <c-h> and <bs> are treated differently in  different	 envi-
   4508        ronments (although they match each other all the time), that's why they
   4509        correspond to different keys in vifm.  As a consequence, if you map <c-
   4510        h>  or <bs> be sure to repeat the mapping with the other one so that it
   4511        works in all environments.  Alternatively, provide your mapping in  one
   4512        form and add one of the following:
   4513 
   4514 	 " if mappings with <c-h> in the LHS work
   4515 	 map <c-h> <bs>
   4516 	 " if mappings with <bs> in the LHS work
   4517 	 map <bs> <c-h>
   4518 
   4519        Whitespace
   4520 
   4521        vifm  removes  whitespace  characters  at the beginning and end of com-
   4522        mands.  That's why you may want to use <space> at the  end  of  rhs  in
   4523        mappings.  For example:
   4524 
   4525 	 cmap <f1> man<space>
   4526 
   4527        will  put  "man " in line when you hit the <f1> key in the command line
   4528        mode.
   4529 
   4530 Expression syntax
   4531        Supported expressions is a subset of what VimL provides.
   4532 
   4533        Expression syntax summary, from least to most significant:
   4534 
   4535        expr1	  expr2
   4536 		  expr2 || expr2 ..	  logical OR
   4537 
   4538        expr2	  expr3
   4539 		  expr3 && expr3 ..	  logical AND
   4540 
   4541        expr3	  expr4
   4542 		  expr4 == expr4	  equal
   4543 		  expr4 != expr4	  not equal
   4544 		  expr4 >  expr4	  greater than
   4545 		  expr4 >= expr4	  greater than or equal
   4546 		  expr4 <  expr4	  smaller than
   4547 		  expr4 <= expr4	  smaller than or equal
   4548 
   4549        expr4	  expr5
   4550 		  expr5 + expr5 ..	  number addition
   4551 		  expr5 - expr5 ..	  number subtraction
   4552 
   4553        expr5	  expr6
   4554 		  expr6 . expr6 ..	  string concatenation
   4555 
   4556        expr6	  expr7
   4557 		  - expr6		  unary minus
   4558 		  + expr6		  unary plus
   4559 		  ! expr6		  logical NOT
   4560 
   4561        expr7	  number		  number constant
   4562 		  "string"		  string constant, \ is special
   4563 		  'string'		  string constant, ' is doubled
   4564 		  &option		  option value
   4565 		  $VAR			  environment variable
   4566 		  v:var			  builtin variable
   4567 		  function(expr1, ...)	  function call
   4568 		  (expr1)		  nested expression
   4569 
   4570        ".." indicates that the operations in this level can be concatenated.
   4571 
   4572        expr1
   4573        -----
   4574        expr2 || expr2
   4575 
   4576        Arguments are converted to numbers before evaluation.
   4577 
   4578        Result is non-zero if at least one of arguments is non-zero.
   4579 
   4580        It's right associative and with	short-circuiting,  so  sub-expressions
   4581        are  evaluated  from  left to right until result of whole expression is
   4582        determined (i.e., until first non-zero) or end of the expression.
   4583 
   4584        expr2
   4585        -----
   4586        expr3 && expr3
   4587 
   4588        Arguments are converted to numbers before evaluation.
   4589 
   4590        Result is non-zero only if both arguments are non-zero.
   4591 
   4592        It's right associative and with	short-circuiting,  so  sub-expressions
   4593        are  evaluated  from  left to right until result of whole expression is
   4594        determined (i.e., until first zero) or end of the expression.
   4595 
   4596        expr3
   4597        -----
   4598        expr4 {cmp} expr4
   4599 
   4600        Compare two expr4 expressions, resulting in a  0	 if  it	 evaluates  to
   4601        false or 1 if it evaluates to true.
   4602 
   4603        equal		       ==
   4604        not equal	       !=
   4605        greater than	       >
   4606        greater than or equal   >=
   4607        smaller than	       <
   4608        smaller than or equal   <=
   4609 
   4610        Examples:
   4611 
   4612 	 'a' ==	 'a'	     == 1
   4613 	 'a' >	 'b'	     == 1
   4614 	 'a' ==	 'b'	     == 0
   4615 	 '2' >	 'b'	     == 0
   4616 	  2  >	 'b'	     == 1
   4617 	  2  >	 '1b'	     == 1
   4618 	  2  >	 '9b'	     == 0
   4619 	 -1  == -'1'	     == 1
   4620 	  0  ==	 '--1'	     == 1
   4621 
   4622        expr4
   4623        -----
   4624        expr5  +	 expr5 ..     number addition expr5 - expr5 ..	   number sub-
   4625        traction
   4626 
   4627        Examples:
   4628 
   4629 	 1 + 3 - 3	    == 1
   4630 	 1 + '2'	    == 3
   4631 
   4632        expr5
   4633        -----
   4634        expr6 . expr6 ..	    string concatenation
   4635 
   4636        Examples:
   4637 
   4638 	 'a' . 'b'	     == 'ab'
   4639 	 'aaa' . '' . 'c'    == 'aaac'
   4640 
   4641        expr6
   4642        -----
   4643 
   4644        - expr6		    unary minus
   4645        + expr6		    unary plus
   4646        ! expr6		    logical NOT
   4647 
   4648        For '-' the sign of the number is changed.
   4649        For '+' the number is unchanged.
   4650        For '!' non-zero becomes zero, zero becomes one.
   4651 
   4652        A String will be converted to a Number first.
   4653 
   4654        These operations can be repeated and mixed.  Examples:
   4655 
   4656 	  --9		     == 9
   4657 	 ---9		     == -9
   4658 	  -+9		     == 9
   4659 	  !-9		     == 0
   4660 	  !''		     == 1
   4661 	 !'x'		     == 0
   4662 	  !!9		     == 1
   4663 
   4664        expr7
   4665        -----
   4666 
   4667        number		    number constant
   4668        -----
   4669 
   4670        Decimal number.	Examples:
   4671 
   4672 	 0		     == 0
   4673 	 0000		     == 0
   4674 	 01		     == 1
   4675 	 123		     == 123
   4676 	 10000		     == 10000
   4677 
   4678        string
   4679        ------
   4680        "string"		    string constant
   4681 
   4682        Note that double quotes are used.
   4683 
   4684        A string constant accepts these special characters:
   4685 	 \b	 backspace <bs>
   4686 	 \e	 escape <esc>
   4687 	 \n	 newline
   4688 	 \r	 return <cr>
   4689 	 \t	 tab <tab>
   4690 	 \\	 backslash
   4691 	 \"	 double quote
   4692 
   4693        Examples:
   4694 
   4695 	 "\"Hello,\tWorld!\""
   4696 	 "Hi,\nthere!"
   4697 
   4698        literal-string
   4699        --------------
   4700        'string'		    string constant
   4701 
   4702        Note that single quotes are used.
   4703 
   4704        This string is taken as it is.  No backslashes are removed  or  have  a
   4705        special	meaning.   The only exception is that two quotes stand for one
   4706        quote.
   4707 
   4708        Examples:
   4709 
   4710 	 'All\slashes\are\saved.'
   4711 	 'This string contains doubled single quotes ''here'''
   4712 
   4713        option
   4714        ------
   4715        &option		     option value (local one is preferred, if  exists)
   4716        &g:option	      global  option value &l:option		 local
   4717        option value
   4718 
   4719        Examples:
   4720 
   4721 	 echo 'Terminal size: '.&columns.'x'.&lines
   4722 	 if &columns > 100
   4723 
   4724        Any valid option name can be used here (note that "all" in  ":set  all"
   4725        is a pseudo option).  See ":set options" section above.
   4726 
   4727        environment variable
   4728        --------------------
   4729        $VAR		     environment variable
   4730 
   4731        The  String value of any environment variable.  When it is not defined,
   4732        the result is an empty string.
   4733 
   4734        Examples:
   4735 
   4736 	 'This is my $PATH env: ' . $PATH
   4737 	 'vifmrc at ' . $MYVIFMRC . ' is used.'
   4738 
   4739        builtin variable
   4740        --------------------
   4741        v:var		     builtin variable
   4742 
   4743        Information exposed by vifm for use in scripting.
   4744 
   4745        v:count
   4746 	 count passed to : command, 0 by default.  Can be used in mappings  to
   4747        pass
   4748 	 count to a different command.
   4749        v:count1
   4750 	 same as v:count, but 1 by default.
   4751        v:servername
   4752 	 See below.
   4753 
   4754        function call
   4755        -------------
   4756        function(expr1, ...)  function call
   4757 
   4758        See "Functions" section below.
   4759 
   4760        Examples:
   4761 
   4762 	 "'" . filetype('.') . "'"
   4763 	 filetype('.') == 'reg'
   4764 
   4765        expression nesting
   4766        ------------------
   4767        (expr1)		     nested expression
   4768 
   4769        Groups  any other expression of arbitrary complexity enforcing order in
   4770        which operators are applied.
   4771 
   4772 
   4773 Functions
   4774        USAGE		     RESULT	 DESCRIPTION
   4775 
   4776        chooseopt({opt})	     String	 Queries choose parameters  passed  on
   4777        startup.
   4778        executable({expr})     Integer	  Checks whether {expr} command avail-
   4779        able.
   4780        expand({expr})	     String	 Expands special keywords in {expr}.
   4781        filetype({fnum} [, {resolve}])
   4782 			     String	 Returns file type from position.
   4783        fnameescape({expr})   String	 Escapes {expr} for use in a :command.
   4784        getpanetype()	     String	 Returns type of current pane.
   4785        has({property})	     Integer	 Checks whether	 instance  has	{prop-
   4786        erty}.
   4787        layoutis({type})	      Integer	   Checks  whether  layout  is of type
   4788        {type}.
   4789        paneisat({loc})	     Integer	 Checks whether	 current  pane	is  at
   4790        {loc}.
   4791        system({command})      String	   Executes  shell command and returns
   4792        its output.
   4793        tabpagenr([{arg}])    Integer	 Returns number	 of  current  or  last
   4794        tab.
   4795        term({command})	      String	   Like	 system(), but for interactive
   4796        commands.
   4797 
   4798        chooseopt({opt})
   4799 
   4800        Retrieves values of options related to file choosing.  {opt} can be one
   4801        of:
   4802 	   files      returns argument of --choose-files or empty string
   4803 	   dir	      returns argument of --choose-dir or empty string
   4804 	   cmd	      returns argument of --on-choose or empty string
   4805 	   delimiter  returns argument of --delimiter or the default one (\n)
   4806 
   4807        executable({expr})
   4808 
   4809        If {expr} is absolute or relative path, checks whether path destination
   4810        exists and refers to an executable, otherwise  checks  whether  command
   4811        named  {expr}  is  present  in directories listed in $PATH.  Checks for
   4812        various	executable  extensions	on  Windows.   Returns	boolean	 value
   4813        describing result of the check.
   4814 
   4815        Example:
   4816 
   4817 	 " use custom default viewer script if it's available and installed
   4818 	 " in predefined system directory, otherwise try to find it elsewhere
   4819 	 if executable('/usr/local/bin/defviewer')
   4820 	     fileview * /usr/local/bin/defviewer %c
   4821 	 else
   4822 	     if executable('defviewer')
   4823 		 fileview * defviewer %c
   4824 	     endif
   4825 	 endif
   4826 
   4827        expand({expr})
   4828 
   4829        Expands	environment variables and macros in {expr} just like it's done
   4830        for command-line commands.  Returns a  string.	See  "Command  macros"
   4831        section above.
   4832 
   4833        Examples:
   4834 
   4835 	 " percent sign
   4836 	 :echo expand('%%')
   4837 	 " the last part of directory name of the other pane
   4838 	 :echo expand('%D:t')
   4839 	 " $PATH environment variable (same as `:echo $PATH`)
   4840 	 :echo expand('$PATH')
   4841 
   4842        filetype({fnum}[,{resolve}])
   4843 
   4844        The  result  is	a string, which represents file type and is one of the
   4845        list:
   4846 	   exe	   executables
   4847 	   reg	   regular files
   4848 	   link	   symbolic links
   4849 	   broken  broken symbolic links (appears only when resolving)
   4850 	   dir	   directories
   4851 	   char	   character devices
   4852 	   block   block devices
   4853 	   fifo	   pipes
   4854 	   sock	   *nix domain sockets
   4855 	   ?	   unknown file type (should not normally appear)
   4856 
   4857        The result can also be an empty string in case of invalid argument.
   4858 
   4859        Parameter {fnum} can have following values:
   4860 	   - '.' to get type of file under the cursor in the active pane
   4861 	   - numerical value base 1 to get type of file on specified line num-
   4862        ber
   4863 
   4864        Optional	 parameter  {resolve}  is  treated  as a boolean and specifies
   4865        whether symbolic links should be resolved.
   4866 
   4867        fnameescape({expr})
   4868 
   4869        Escapes parameter to make it suitable for use as an argument of a :com-
   4870        mand.  List of escaped characters includes %, which is doubled.
   4871 
   4872        Usage example:
   4873 
   4874 	 " navigate to most recently modified file in current directory
   4875 	 execute 'goto' fnameescape(system('ls -t | head -1'))
   4876 
   4877        getpanetype()
   4878 
   4879        Retrieves string describing type of current pane.  Possible return val-
   4880        ues:
   4881 	   regular	regular file listing of some directory
   4882 	   custom	custom file list (%u)
   4883 	   very-custom	very custom file list (%U)
   4884 	   tree		tree view
   4885 
   4886        has({property})
   4887 
   4888        Allows examining internal parameters from scripts to  e.g.  figure  out
   4889        environment  in which application is running.  Returns 1 if property is
   4890        true/present, otherwise 0 is returned.  Currently the following proper-
   4891        ties are supported (anything else will yield 0):
   4892 	   unix	 runs in *nix-like environment (including Cygwin)
   4893 	   win	 runs on Windows
   4894 
   4895        Usage example:
   4896 
   4897 	 " skip user/group on Windows
   4898 	 if !has('win')
   4899 	     let $RIGHTS = '%10u:%-7g '
   4900 	 endif
   4901 
   4902 	 execute 'set' 'statusline="  %t%= %A '.$RIGHTS.'%15E %20d  "'
   4903 
   4904        layoutis({type})
   4905 
   4906        Checks  whether current interface layout is {type} or not, where {type}
   4907        can be:
   4908 	   only	   single-pane mode
   4909 	   split   double-pane mode (either vertical or horizon split)
   4910 	   vsplit  vertical split (left and right panes)
   4911 	   hsplit  horizontal split (top and bottom panes)
   4912 
   4913        Usage example:
   4914 
   4915 	 " automatically split vertically before enabling preview
   4916 	 :nnoremap w :if layoutis('only') | vsplit | endif | view!<cr>
   4917 
   4918        paneisat({loc})
   4919 
   4920        Checks whether position of active pane in current layout matches one of
   4921        the following locations:
   4922 	   top	   pane reaches top border
   4923 	   bottom  pane reaches bottom border
   4924 	   left	   pane reaches left border
   4925 	   right   pane reaches right border
   4926 
   4927        system({command})
   4928 
   4929        Runs  the command in shell and returns its output (joined standard out-
   4930        put and standard error streams).	 All trailing newline  characters  are
   4931        stripped	 to  allow  easy  appending  to command output.	 Ctrl-C should
   4932        interrupt the command.
   4933 
   4934        Use this function to consume output of  external	 commands  that	 don't
   4935        require	user interaction and term() for interactive commands that make
   4936        use of terminal and are capable of handling stream redirection.
   4937 
   4938        Usage example:
   4939 
   4940 	 " command to enter .git/ directory of git-repository (when ran inside one)
   4941 	 command! cdgit :execute 'cd' system('git rev-parse --git-dir')
   4942 
   4943        tabpagenr([{arg}])
   4944 
   4945        When called without arguments returns number of current tab  page  base
   4946        one.
   4947 
   4948        When called with "$" as an argument returns number of the last tab page
   4949        base one, which is the same as number of tabs.
   4950 
   4951        term({command})
   4952 
   4953        Same as system() function, but user interface is	 shutdown  during  the
   4954        execution  of  the  command, which makes sure that external interactive
   4955        applications won't affect the way terminal is used by vifm.
   4956 
   4957        Usage example:
   4958 
   4959 	 " command to change directory by picking it via fzf
   4960 	 command! fzfcd :execute 'cd' "'".term('find -type d | fzf 2> /dev/tty')."'"
   4961 
   4962 Menus and dialogs
   4963        When navigating to some path from a menu there is a difference  in  end
   4964        location	 depending  on	whether path has trailing slash or not.	 Files
   4965        normally don't have trailing slashes so "file/" won't work and one  can
   4966        only  navigate  to  a  file anyway.  On the other hand with directories
   4967        there are two options: navigate to a directory or  inside  of  it.   To
   4968        allow both use cases, the first one is used on paths like "dir" and the
   4969        second one for "dir/".
   4970 
   4971        Commands
   4972 
   4973        :range navigate to a menu line.
   4974 
   4975        :exi[t][!] :q[uit][!] :x[it][!]
   4976 	      leave menu mode.
   4977 
   4978        :noh[lsearch]
   4979 	      reset search match highlighting.
   4980 
   4981        :w[rite] {dest}
   4982 	      write all menu lines into file specified by {dest}.
   4983 
   4984        General
   4985 
   4986        j, Ctrl-N - move down.
   4987        k, Ctrl-P - move up.
   4988        Enter, l - select and exit the menu.
   4989        Ctrl-L - redraw the menu.
   4990 
   4991        Escape, Ctrl-C, ZZ, ZQ, q - quit.
   4992 
   4993        In all menus
   4994 
   4995        The following set of keys has the same meaning as in normal mode.
   4996 
   4997        Ctrl-B, Ctrl-F
   4998        Ctrl-D, Ctrl-U
   4999        Ctrl-E, Ctrl-Y
   5000        /, ?
   5001        n, N
   5002        [count]G, [count]gg
   5003        H, M, L
   5004        zb, zt, zz
   5005 
   5006        zh - scroll menu items [count] characters to the right.
   5007        zl - scroll menu items [count] characters to the left.
   5008        zH - scroll menu items half of screen width characters to the right.
   5009        zL - scroll menu items half of screen width characters to the left.
   5010 
   5011        : - enter command line mode for menus (currently only :exi[t], :q[uit],
   5012        :x[it] and :{range} are supported).
   5013 
   5014        b - interpret content of the menu as list of paths and use it to create
   5015        custom view in place of previously active  pane.	  See  "Custom	views"
   5016        section below.
   5017        B - same as above, but creates unsorted view.
   5018 
   5019        v  - load menu content into quickfix list of the editor (Vim compatible
   5020        by assumption) or if list doesn't  have	separators  after  file	 names
   5021        (colons) open each line as a file name.
   5022 
   5023 
   5024        Below  is  description of additional commands and reaction on selection
   5025        in some menus and dialogs.
   5026 
   5027        Apropos menu
   5028 
   5029        Selecting menu item runs man on a given topic.  Menu  won't  be	closed
   5030        automatically to allow view several pages one by one.
   5031 
   5032        Command-line mode abbreviations menu
   5033 
   5034        Type dd on an abbreviation to remove it.
   5035 
   5036        c  leaves menu preserving file selection and inserts right-hand side of
   5037        selected command into command-line.
   5038 
   5039        Color scheme menu
   5040 
   5041        Selecting name of a color scheme applies it the same way as  if	":col-
   5042        orscheme <name>" was executed on the command-line.
   5043 
   5044        Commands menu
   5045 
   5046        Selecting command executes it with empty arguments (%a).
   5047 
   5048        dd on a command to remove.
   5049 
   5050        Marks menu
   5051 
   5052        Selecting mark navigates to it.
   5053 
   5054        dd on a mark to remove it.
   5055 
   5056        Bookmarks menu
   5057 
   5058        Selecting a bookmark navigates to it.
   5059 
   5060        Type dd on a bookmark to remove it.
   5061 
   5062        gf and e also work to make it more convenient to bookmark files.
   5063 
   5064        Trash (:lstrash) menu
   5065 
   5066        r on a file name to restore it from trash.
   5067 
   5068        dd deletes file under the cursor.
   5069 
   5070        Trashes menu
   5071 
   5072        dd empties selected trash in background.
   5073 
   5074        Directory history and Trashes menus
   5075 
   5076        Selecting  directory  name will change directory of the current view as
   5077        if :cd command was used.
   5078 
   5079        Directory stack menu
   5080 
   5081        Selecting directory name will rotate stack to  put  selected  directory
   5082        pair at the top of the stack.
   5083 
   5084        Filetype menu
   5085 
   5086        Commands from vifmrc or typed in command-line are displayed above empty
   5087        line.  All commands below empty line are from .desktop files.
   5088 
   5089        c leaves menu preserving file selection and inserts command after :! in
   5090        command-line mode.
   5091 
   5092        Grep, find, locate, bookmarks and user menu with navigation (%M macro)
   5093 
   5094        gf  -  navigate	previously  active  view  to  currently selected item.
   5095        Leaves menu mode except for grep menu.  Pressing Enter key has the same
   5096        effect.
   5097 
   5098        e - open selected path in the editor, stays in menu mode.
   5099 
   5100        c  - leave menu preserving file selection and insert file name after :!
   5101        in command-line mode.
   5102 
   5103        User menu without navigation (%m macro)
   5104 
   5105        c leaves menu preserving file selection and inserts whole line after :!
   5106        in command-line mode.
   5107 
   5108        Grep menu
   5109 
   5110        Selecting  file	(via Enter or l key) opens it in editor set by 'vicmd'
   5111        at given line number.  Menu won't  be  closed  automatically  to	 allow
   5112        viewing more than one result.
   5113 
   5114        See above for "gf" and "e" keys description.
   5115 
   5116        Command-line history menu
   5117 
   5118        Selecting  an item executes it as command-line command, search query or
   5119        local filter.
   5120 
   5121        c leaves menu preserving file selection and inserts line into  command-
   5122        line of appropriate kind.
   5123 
   5124        Volumes menu
   5125 
   5126        Selecting  a drive navigates previously active pane to the root of that
   5127        drive.
   5128 
   5129        Fileinfo dialog
   5130 
   5131        Enter, q - close dialog
   5132 
   5133        Sort dialog
   5134 
   5135        h, Space - switch ascending/descending.
   5136        q - close dialog
   5137 
   5138        One shortcut per sorting key (see the dialog).
   5139 
   5140        Attributes (permissions or properties) dialog
   5141 
   5142        h, Space - check/uncheck.
   5143        q - close dialog
   5144 
   5145        Item states:
   5146 
   5147        - * - checked flag.
   5148 
   5149        - X - means that it has different value for files in selection.
   5150 
   5151        - d (*nix only) - (only for execute flags) means u-x+X, g-x+X or	 o-x+X
   5152 	 argument  for	the  chmod program.  If you're not on OS X and want to
   5153 	 remove execute permission bit from all files,	but  preserve  it  for
   5154 	 directories, set all execute flags to 'd' and check 'Set Recursively'
   5155 	 flag.
   5156 
   5157        Jobs menu
   5158 
   5159        dd requests cancellation of job under cursor.  The job won't be removed
   5160        from  the list, but marked as being cancelled (if cancellation was suc-
   5161        cessfully requested).  A message will pop up if	the  job  has  already
   5162        stopped.	  Note	that on Windows cancelling external programs like this
   5163        might not work, because their parent shell doesn't have any windows.
   5164 
   5165        e key displays errors of selected job if any were collected.  They  are
   5166        displayed  in a new menu, but you can get back to jobs menu by pressing
   5167        h.
   5168 
   5169 
   5170        Undolist menu
   5171 
   5172        r - reset undo position to group under the cursor.
   5173 
   5174 
   5175        Media menu
   5176 
   5177        r - reload the list.
   5178 
   5179        m - mount/unmount device (cursor should be positioned  on  lines	 under
   5180        device information).
   5181 
   5182 
   5183 Custom views
   5184        Definition
   5185 
   5186        Normally	 file views contain list of files from a single directory, but
   5187        sometimes it's useful to populate them with list of files that  do  not
   5188        belong to the same directory, which is what custom views are for.
   5189 
   5190        Presentation
   5191 
   5192        Custom  views are still related to directory they were in before custom
   5193        list was loaded.	 Path to that directory (original  directory)  can  be
   5194        seen in the title of a custom view.
   5195 
   5196        Files in same directory have to be named differently, this doesn't hold
   5197        for custom views thus seeing just file names might be rather confusing.
   5198        In order to give an idea where files come from and when possible, rela-
   5199        tive paths to original directory of the view  is	 displayed,  otherwise
   5200        full path is used instead.
   5201 
   5202        Custom views normally don't contain any inexistent files.
   5203 
   5204        Navigation
   5205 
   5206        Custom  views  have  some  differences related to navigation in regular
   5207        views.
   5208 
   5209        gf - acts similar to gf on symbolic links and navigates to the file  at
   5210        its real
   5211 	    location.
   5212 
   5213        h  -  go	 to  closes  parent node in tree view, otherwise return to the
   5214        original directory.
   5215 
   5216        gh - return to the original directory.
   5217 
   5218        Opening ".." entry also causes return to the original directory.
   5219 
   5220        History
   5221 
   5222        Custom list exists only while it's visible, once left one can't	return
   5223        to it, so there is no appearances of it in any history.
   5224 
   5225        Filters
   5226 
   5227        Only  local  filter  affects content of the view.  This is intentional,
   5228        presumably if one loads list, precisely that list should	 be  displayed
   5229        (except for inexistent paths, which are ignored).
   5230 
   5231        Search
   5232 
   5233        Although	 directory  names are visible in listing, they are not search-
   5234        able.  Only file names are taken into  account  (might  be  changed  in
   5235        future, searching whole lines seems quite reasonable).
   5236 
   5237        Sorting
   5238 
   5239        Contrary	 to search sorting by name works on whole visible part of file
   5240        path.
   5241 
   5242        Highlight
   5243 
   5244        Whole file name is highlighted as one entity, even if there are	direc-
   5245        tory elements.
   5246 
   5247        Updates
   5248 
   5249        Reloads	can  occur,  though  they are not automatic due to files being
   5250        scattered among different places.  On a reload,	inexistent  files  are
   5251        removed and meta-data of all other files is updated.
   5252 
   5253        Once  custom  view forgets about the file, it won't add it back even if
   5254        it's created again.  So not seeing file previously affected by an oper-
   5255        ation, which was undone is normal.
   5256 
   5257        Operations
   5258 
   5259        All  operations	that  add  files  are forbidden for custom views.  For
   5260        example, moving/copying/putting files into a custom view doesn't	 work,
   5261        because it doesn't make much sense.
   5262 
   5263        On  the	other  hand,  operations  that use files of a custom view as a
   5264        source (e.g. yanking, copying, moving file from custom view,  deletion)
   5265        and operations that modify names are all allowed.
   5266 
   5267 Compare views
   5268        Kinds
   5269 
   5270        :compare can produce four different results depending on arguments:
   5271 	- single compare view (ofone and either listall or listdups);
   5272 	- single custom view (ofone and listunique);
   5273 	- two compare views (ofboth and either listall or listdups);
   5274 	- two custom views (ofboth and listunique).
   5275 
   5276        The  first  two display files of one file system tree.  Here duplicates
   5277        are files that have at least one copy in the same tree.	The other  two
   5278        kinds  of  operation  compare  two trees, in which duplicates are files
   5279        that are found in both trees.
   5280 
   5281        Lists of unique files are presented in custom views because there is no
   5282        file  grouping  to  preserve  as all file ids are guaranteed to be dis-
   5283        tinct.
   5284 
   5285        Creation
   5286 
   5287        Arguments passed to :compare form four categories  each	with  its  own
   5288        prefix and is responsible for particular property of operation.
   5289 
   5290        Which files to compare:
   5291 	- ofboth - compares files of two panes against each other;
   5292 	- ofone	 - compares files of the same directory.
   5293 
   5294        How files are compared:
   5295 	- byname     - by their name only;
   5296 	- bysize     - only by their size;
   5297 	- bycontents - by combination of size and hash of file contents.
   5298 
   5299        Which files to display:
   5300 	- listall    - all files;
   5301 	- listunique - unique files only;
   5302 	- listdups   - only duplicated files.
   5303 
   5304        How results are grouped (has no effect if "ofone" specified):
   5305 	-  groupids   - files considered identical are always adjacent in out-
   5306        put;
   5307 	- grouppaths - file system ordering is preferred  (this	 also  enables
   5308        displaying identically named files as mismatches).
   5309 
   5310        Which files to omit:
   5311 	- skipempty - ignore empty files.
   5312 
   5313        Each argument can appear multiple times, the rightmost one of the group
   5314        is considered.  Arguments alter default behaviour instead of substitut-
   5315        ing it.
   5316 
   5317        Examples
   5318 
   5319        The  defaults  corresponds to probably the most common use case of com-
   5320        paring files in two trees with grouping by paths, so the following  are
   5321        equivalent:
   5322 
   5323 	 :compare
   5324 	 :compare bycontents grouppaths
   5325 	 :compare bycontents listall ofboth grouppaths
   5326 
   5327        Another use case is to find duplicates in the current sub-tree:
   5328 
   5329 	 :compare listdups ofone
   5330 
   5331        The following command lists files that are unique to each pane:
   5332 
   5333 	 :compare listunique
   5334 
   5335        Look
   5336 
   5337        The  view  can't switch to ls-like view as it's unable to display diff-
   5338        like data.
   5339 
   5340        Comparison views have second column displaying id of  the  file,	 files
   5341        with  same  id are considered to be equal.  The view columns configura-
   5342        tion is predefined.
   5343 
   5344        Behaviour
   5345 
   5346        When two views are being compared  against  each	 other	the  following
   5347        changes to the regular behaviour apply:
   5348 	- views are scrolled synchronously (as if 'scrollbind' was set);
   5349 	- views' cursors are synchronized;
   5350 	- local filtering is disabled (its results wouldn't be meaningful);
   5351 	-  zd excludes groups of adjacent identical files, 1zd gives usual be-
   5352        haviour;
   5353 	- sorting is permanently disabled (ordering is fixed);
   5354 	- removed files hide their counter pairs;
   5355 	- exiting one of the views terminates the other immediately;
   5356 	- renaming files isn't blocked, but isn't taken into account and might
   5357        require regeneration of comparison;
   5358 	-  entries  which indicate absence of equivalent file have empty names
   5359        and can be matched as such;
   5360 	- when unique files of both views  are	listed	custom	views  can  be
   5361        empty, this absence of unique files is stated clearly.
   5362 
   5363        One  compare view has similar properties (those that are applicable for
   5364        single pane).
   5365 
   5366        Files are gathered in this way:
   5367 	- recursively starting at current location of the view;
   5368 	- dot files are excluded if view hides them at the moment of  compari-
   5369        son;
   5370 	- directories are not taken into account;
   5371 	- symbolic links to directories are ignored.
   5372 
   5373 Startup
   5374        On  startup  vifm determines several variables that are used during the
   5375        session.	 They are determined in the order they appear below.
   5376 
   5377        On *nix systems $HOME is normally present and used as is.   On  Windows
   5378        systems	vifm  tries  to	 find  correct home directory in the following
   5379        order:
   5380 	- $HOME variable;
   5381 	- $USERPROFILE variable (on Windows only);
   5382 	- a combination of $HOMEDRIVE  and  $HOMEPATH  variables  (on  Windows
   5383        only).
   5384 
   5385        vifm tries to find correct configuration directory by checking the fol-
   5386        lowing places:
   5387 	- $VIFM variable;
   5388 	- parent directory of the executable file (on Windows only);
   5389 	- $HOME/.vifm directory;
   5390 	- $APPDATA/Vifm directory (on Windows only);
   5391 	- $XDG_CONFIG_HOME/vifm directory;
   5392 	- $HOME/.config/vifm directory.
   5393 
   5394        vifm tries to find correct configuration file by checking the following
   5395        places:
   5396 	- $MYVIFMRC variable;
   5397 	- vifmrc in parent directory of the executable file (on Windows only);
   5398 	- $VIFM/vifmrc file.
   5399 
   5400 Configure
   5401        See  "Startup"  section	above  for the explanations on $VIFM and $MYV-
   5402        IFMRC.
   5403 
   5404        The vifmrc file	contains  commands  that  will	be  executed  on  vifm
   5405        startup.	 There are two such files: global and local.  Global one is at
   5406        {prefix}/etc/vifm/vifmrc, see $MYVIFMRC variable	 description  for  the
   5407        search  algorithm  used	to find local vifmrc.  Global vifmrc is loaded
   5408        before the local one, so that the later one can redefine anything  con-
   5409        figured globally.
   5410 
   5411        Use vifmrc to set settings, mappings, filetypes etc.  To use multi line
   5412        commands precede each next line with a slash (whitespace	 before	 slash
   5413        is  ignored,  but  all  spaces at the end of the lines are saved).  For
   5414        example:
   5415 
   5416 	 set
   5417 	     \smartcase
   5418 
   5419        equals "setsmartcase".  When
   5420 
   5421 	 set<space here>
   5422 	     \ smartcase
   5423 
   5424        equals "set  smartcase".
   5425 
   5426        The $VIFM/vifminfo file contains session settings.  You may edit it  by
   5427        hand  to change the settings, but it's not recommended to do that, edit
   5428        vifmrc instead.	You  can  control  what	 settings  will	 be  saved  in
   5429        vifminfo by setting 'vifminfo' option.  Vifm always writes this file on
   5430        exit unless 'vifminfo' option is empty.	 Marks,	 bookmarks,  commands,
   5431        histories,  filetypes, fileviewers and registers in the file are merged
   5432        with vifm configuration (which has bigger priority).
   5433 
   5434        Generally, runtime configuration has bigger  priority  during  merging,
   5435        but there are some exceptions:
   5436 
   5437 	 - directory  stack stored in the file is not overwritten unless some-
   5438 	   thing is changed in vifm session that performs merge;
   5439 
   5440 	 - each mark or bookmark is marked with a  timestamp,  so  that	 newer
   5441 	   value is not overwritten by older one, thus no matter from where it
   5442 	   comes, the newer one wins.
   5443 
   5444        The $VIFM/scripts directory can contain shell scripts.	vifm  modifies
   5445        its  PATH  environment  variable	 to let user run those scripts without
   5446        specifying full path.  All subdirectories of the $VIFM/scripts will  be
   5447        added  to  PATH too.  Script in a subdirectory overlaps script with the
   5448        same name in all its parent directories.
   5449 
   5450        The $VIFM/colors/  and  {prefix}/etc/vifm/colors/  directories  contain
   5451        color  schemes.	Available color schemes are searched in that order, so
   5452        on name conflict the one in $VIFM/colors/ wins.
   5453 
   5454        Each color scheme should have ".vifm" extension.	 This wasn't the  case
   5455        before and for this reason the following rules apply during lookup:
   5456 
   5457 	 - if  there  is  no  file with .vifm extension, all regular files are
   5458 	   listed;
   5459 
   5460 	 - otherwise only files with .vifm  extension  are  listed  (with  the
   5461 	   extension being truncated).
   5462 
   5463 Automatic FUSE mounts
   5464        vifm has a builtin support of automated FUSE file system mounts.	 It is
   5465        implemented using file associations  mechanism.	 To  enable  automated
   5466        mounts, one needs to use a specially formatted program line in filetype
   5467        or filextype commands.  Currently two formats are supported:
   5468 
   5469        1) FUSE_MOUNT This format should be used in case when  all  information
   5470        needed  for  mounting all files of a particular type is the same.  E.g.
   5471        mounting of tar files don't require any file specific options.
   5472 
   5473        Format line:
   5474 	 FUSE_MOUNT|mounter %SOURCE_FILE %DESTINATION_DIR [%FOREGROUND]
   5475 
   5476        Example filetype command:
   5477 
   5478 	 :filetype FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR
   5479 
   5480        2) FUSE_MOUNT2 This format allows one to use specially formatted	 files
   5481        to  perform  mounting  and  is useful for mounting remotes, for example
   5482        remote file systems over ftp or ssh.
   5483 
   5484        Format line:
   5485 	 FUSE_MOUNT2|mounter %PARAM %DESTINATION_DIR [%FOREGROUND]
   5486 
   5487        Example filetype command:
   5488 
   5489 	 :filetype FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR
   5490 
   5491        Example file content:
   5492 
   5493 	 root@127.0.0.1:/
   5494 
   5495        All % macros are expanded by vifm at runtime  and  have	the  following
   5496        meaning:
   5497 	 - %SOURCE_FILE is replaced by full path to selected file;
   5498 	 - %DESTINATION_DIR is replaced by full path to mount directory, which
   5499        is created by vifm basing on the value of 'fusehome' option;
   5500 	 - %PARAM value is filled from the first line of  file	(whole	line),
   5501        though in the future it can be changed to whole file content;
   5502 	 -  %FOREGROUND	 means that you want to run mount command as a regular
   5503        command (required to be able to provide input  for  communication  with
   5504        mounter in interactive way).
   5505 
   5506        %FOREGROUND  is an optional macro.  Other macros are not mandatory, but
   5507        mount commands likely won't work without them.
   5508 
   5509        %CLEAR is obsolete name of %FOREGROUND, which is still  supported,  but
   5510        might be removed in future.  Its use is discouraged.
   5511 
   5512        The  mounted  FUSE  file systems will be automatically unmounted in two
   5513        cases:
   5514 
   5515 	 - when vifm quits (with ZZ, :q, etc. or when killed by signal);
   5516 
   5517 	 - when you explicitly leave mount point going up to its parent direc-
   5518 	   tory	 (with h, Enter on "../" or ":cd ..") and other pane is not in
   5519 	   the same directory or its child directories.
   5520 
   5521 View look
   5522        vifm supports displaying of file list view in two different ways:
   5523 
   5524 	 - in a table mode, when multiple columns  can	be  set	 using	'view-
   5525 	   columns' option (see "Column view" section below for details);
   5526 
   5527 	 - in  a  multicolumn list manner which looks almost like `ls -x` com-
   5528 	   mand output (see "ls-like view" section below for details).
   5529 
   5530        The look is local for each view and can be chosen by changing value  of
   5531        the 'lsview' boolean option.
   5532 
   5533        Depending  on view look some of keys change their meaning to allow more
   5534        natural cursor moving.  This concerns mainly h, j, k, l and other simi-
   5535        lar navigation keys.
   5536 
   5537        Also  some of options can be ignored if they don't affect view display-
   5538        ing in selected look.  For example value of 'viewcolumns' when 'lsview'
   5539        is set.
   5540 
   5541 ls-like view
   5542        When this view look is enabled by setting 'lsview' option on, vifm will
   5543        display files in multiple columns.  Number of columns  depends  on  the
   5544        length  of  the	longest	 file name present in current directory of the
   5545        view.  Whole file list is automatically reflowed on  directory  change,
   5546        terminal or view resize.
   5547 
   5548        View looks close to output of `ls -x` command, so files are listed left
   5549        to right in rows.
   5550 
   5551        In this mode file manipulation commands (e.g. d) don't  work  line-wise
   5552        like  they  do in Vim, since such operations would be uncommon for file
   5553        manipulation tasks.  Thus, for example, dd  will	 remove	 only  current
   5554        file.
   5555 
   5556        By  default the view is filled by lines, 'lsoptions' can be used to get
   5557        filling by columns.
   5558 
   5559        Note that tree-view and compare view inhibit ls-like view.
   5560 
   5561 Column view
   5562        View columns are described by a comma-separated list of column descrip-
   5563        tions, each of which has the following format
   5564 	   [ '-' ] [ fw ( [ '.' tw ] | '%' ) ] '{' type '}' '.'{0,3}
   5565        where fw stands for full width and tw stands for text width.
   5566 
   5567        So it basically consists of four parts:
   5568 	1. Optional alignment specifier
   5569 	2. Optional width specifier
   5570 	3. Mandatory column name
   5571 	4. Optional cropping specifier
   5572 
   5573        Alignment specifier
   5574 
   5575        It's  an	 optional  minus  or  asterisk sign as the first symbol of the
   5576        string.
   5577 
   5578        Specifies type of text alignment within a column.  Three types are sup-
   5579        ported:
   5580 
   5581        - left align
   5582 
   5583 	   set viewcolumns=-{name}
   5584 
   5585        - right align (default)
   5586 
   5587 	   set viewcolumns={name}
   5588 
   5589        - dynamic align
   5590 
   5591 	 It's  like  left alignment, but when the text is bigger than the col-
   5592 	 umn, the alignment is made at the right (so the part of the field  is
   5593 	 always visible).
   5594 
   5595 	   set viewcolumns=*{name}
   5596 
   5597        Width specifier
   5598 
   5599        It's  a	number	followed  by  a	 percent sign, two numbers (second one
   5600        should be less than or equal to the first one) separated with a dot  or
   5601        a single number.
   5602 
   5603        Specifies column width and its units. There are three size types:
   5604 
   5605        - absolute size - column width is specified in characters
   5606 
   5607 	   set viewcolumns=-100{name},20.15{ext}
   5608 
   5609 	 results  in  two  columns  with  lengths of 100 and 20 and a reserved
   5610 	 space of five characters on the left of second column.
   5611 
   5612        - relative (percent) size - column width is specified  in  percents  of
   5613 	 view width
   5614 
   5615 	   set viewcolumns=-80%{name},15%{ext},5%{mtime}
   5616 
   5617 	 results  in three columns with lengths of 80/100, 15/100 and 5/100 of
   5618 	 view width.
   5619 
   5620        - auto size (default) - column width is automatically determined
   5621 
   5622 	   set viewcolumns=-{name},{ext},{mtime}
   5623 
   5624 	 results in three columns with length of  one  third  of  view	width.
   5625 	 There	is no size adjustment to content, since it will slow down ren-
   5626 	 dering.
   5627 
   5628        Columns of different sizing types can be	 freely	 mixed	in  one	 view.
   5629        Though  sometimes  some	of columns can be seen partly or be completely
   5630        invisible if there is not enough space to display them.
   5631 
   5632        Column name
   5633 
   5634        This is just a sort key surrounded with curly braces or {root}, e.g.
   5635 
   5636 	 {name},{ext},{mtime}
   5637 
   5638        {name} and {iname} keys are the same and present both  for  consistency
   5639        with 'sort' option.
   5640 
   5641        Following keys don't have corresponding sorting keys:
   5642 
   5643 	 - {root} - display name without extension (as a complement for {ext})
   5644 
   5645        Empty  curly braces ({}) are replaced with the default secondary column
   5646        for primary sort key. So after the next command view will be  displayed
   5647        almost  as if 'viewcolumns' is empty, but adding ellipsis for long file
   5648        names:
   5649 
   5650 	 set viewcolumns=-{name}..,6{}.
   5651 
   5652        Cropping specifier
   5653 
   5654        It's from one to three dots after closing curly brace in column format.
   5655 
   5656        Specifies type of text truncation if it	doesn't	 fit  in  the  column.
   5657        Currently three types are supported:
   5658 
   5659 	 - truncation - text is truncated
   5660 
   5661 	     set viewcolumns=-{name}.
   5662 
   5663 	   results  in	truncation  of	names that are too long too fit in the
   5664 	   view.
   5665 
   5666 	 - adding of ellipsis - ellipsis on the left or right are  added  when
   5667 	   needed
   5668 
   5669 	     set viewcolumns=-{name}..
   5670 
   5671 	   results  in	that  ellipsis	are  added at the end of too long file
   5672 	   names.
   5673 
   5674 	 - none (default) - text can pass column boundaries
   5675 
   5676 	     set viewcolumns=-{name}...,{ext}
   5677 
   5678 	   results in that long file names can partially be written on the ext
   5679 	   column.
   5680 
   5681 Color schemes
   5682        The color schemes in vifm can be applied in two different ways:
   5683 
   5684 	 - as the primary color scheme;
   5685 
   5686 	 - as local to a pane color scheme.
   5687 
   5688        Both types are set using :colorscheme command, but of different forms:
   5689 
   5690 	 - :colorscheme color_scheme_name - for the primary color scheme;
   5691 
   5692 	 - :colorscheme color_scheme_name directory - for local color schemes.
   5693 
   5694        Look  of different parts of the TUI (Text User Interface) is determined
   5695        in this way:
   5696 
   5697 	 - Border,  TabLine,   TabLineSel,   TopLineSel,   TopLine,   CmdLine,
   5698 	   ErrorMsg,  StatusLine,  JobLine, SuggestBox and WildMenu are always
   5699 	   determined by the primary color scheme;
   5700 
   5701 	 - CurrLine, Selected, Directory, Link,	 BrokenLink,  Socket,  Device,
   5702 	   Executable,	Fifo,  CmpMismatch,  Win  and AuxWin are determined by
   5703 	   primary color scheme and a set of local color schemes, which can be
   5704 	   empty.
   5705 
   5706        There might be a set of local color schemes because they are structured
   5707        hierarchically according to file system structure. For example,	having
   5708        the following piece of file system:
   5709 
   5710 	 ~
   5711 	 `-- bin
   5712 	    |
   5713 	    `-- my
   5714 
   5715        Two color schemes:
   5716 
   5717 	 # ~/.vifm/colors/for_bin
   5718 	 highlight Win cterm=none ctermfg=white ctermbg=red
   5719 	 highlight CurrLine cterm=none ctermfg=red ctermbg=black
   5720 
   5721 	 # ~/.vifm/colors/for_bin_my
   5722 	 highlight CurrLine cterm=none ctermfg=green ctermbg=black
   5723 
   5724        And these three commands in the vifmrc file:
   5725 
   5726 	 colorscheme Default
   5727 	 colorscheme for_bin ~/bin
   5728 	 colorscheme for_bin_my ~/bin/my
   5729 
   5730        File list will look in the following way for each level:
   5731 
   5732        - ~/ - Default color scheme
   5733 	 black background
   5734 	 cursor with blue background
   5735 
   5736        - ~/bin/ - mix of Default and for_bin color schemes
   5737 	 red background
   5738 	 cursor with black background and red foreground
   5739 
   5740        - ~/bin/my/ - mix of Default, for_bin and for_bin_my color schemes
   5741 	 red background
   5742 	 cursor with black background and green foreground
   5743 
   5744 Trash directory
   5745        vifm has support of trash directory, which is used as temporary storage
   5746        for deleted files or files that were cut.  Using trash is controlled by
   5747        the  'trash'  option,  and  exact  path	to  the	 trash can be set with
   5748        'trashdir' option.  Trash directory in vifm differs  from  the  system-
   5749        wide  one  by default, because of possible incompatibilities of storing
   5750        deleted	files  among  different	 file  managers.   But	one  can   set
   5751        'trashdir'  to  "~/.local/share/Trash" to use a "standard" trash direc-
   5752        tory.
   5753 
   5754        There are two scenarios of using trash in vifm:
   5755 
   5756 	 1. As a place for storing files that were  cut	 by  "d"  and  may  be
   5757 	    inserted to some other place in file system.
   5758 
   5759 	 2. As a storage of files, that are deleted but not purged yet.
   5760 
   5761        The first scenario uses deletion ("d") operations to put files to trash
   5762        and put ("p") operations to restore files from trash  directory.	  Note
   5763        that  such operations move files to and from trash directory, which can
   5764        be long term operations in  case	 of  different	partitions  or	remote
   5765        drives mounted locally.
   5766 
   5767        The  second scenario uses deletion ("d") operations for moving files to
   5768        trash directory and :empty command-line command to purge all previously
   5769        deleted files.
   5770 
   5771        Deletion	 and  put  operations  depend on registers, which can point to
   5772        files in trash directory.  Normally, there are no nonexistent files  in
   5773        registers,  but	vifm  doesn't  keep track of modifications under trash
   5774        directory, so one shouldn't expect value of registers to be  absolutely
   5775        correct if trash directory was modified not by operation that are meant
   5776        for it.	But this won't lead to any issues with operations, since  they
   5777        ignore nonexistent files.
   5778 
   5779 Client-Server
   5780        vifm  supports  remote  execution of command-line mode commands, remote
   5781        changing of directories and expression evaluation.   This  is  possible
   5782        using --remote and --remote-expr command-line arguments.
   5783 
   5784        To  execute  a command remotely combine --remote argument with -c <com-
   5785        mand> or +<command>.  For example:
   5786 
   5787 	 vifm --remote -c 'cd /'
   5788 	 vifm --remote '+cd /'
   5789 
   5790        To change directory not using command-line mode commands one can	 spec-
   5791        ify paths right after --remote argument, like this:
   5792 
   5793 	 vifm --remote /
   5794 	 vifm --remote ~
   5795 	 vifm --remote /usr/bin /tmp
   5796 
   5797        Evaluating  expression  remotely	 might	be useful to query information
   5798        about an instance, for example its location:
   5799 
   5800 	 vifm --remote-expr 'expand("%d")'
   5801 
   5802        If there are several running instances, the  target  can	 be  specified
   5803        with  --server-name  option (otherwise, the first one lexicographically
   5804        is used):
   5805 
   5806 	 vifm --server-name work --remote ~/work/project
   5807 
   5808        List of names of running instances can be  obtained  via	 --server-list
   5809        option.	Name of the current one is available via v:servername.
   5810 
   5811 
   5812        v:servername
   5813 	      server  name  of	the  running  vifm instance.  Empty if client-
   5814 	      server feature is disabled.
   5815 
   5816 Plugin
   5817        Plugin for using vifm in vim as a file selector.
   5818 
   5819        Commands:
   5820 
   5821 	 :EditVifm   select a file or files to open in the current buffer.
   5822 	 :SplitVifm  split buffer and select a file or files to open.
   5823 	 :VsplitVifm vertically split buffer and select a  file	 or  files  to
   5824        open.
   5825 	 :DiffVifm    select  a	 file  or files to compare to the current file
   5826        with
   5827 		     :vert diffsplit.
   5828 	 :TabVifm    select a file or files to open in tabs.
   5829 
   5830        Each command accepts up to two arguments: left pane directory and right
   5831        pane  directory.	  After arguments are checked, vifm process is spawned
   5832        in a special "file-picker" mode.	 To pick files just open  them	either
   5833        by  pressing  l,	 i  or Enter keys, or by running :edit command.	 If no
   5834        files are selected, file under the cursor is  opened,  otherwise	 whole
   5835        selection is passed to the plugin and opened in vim.
   5836 
   5837        The  plugin  have  only	two  settings.	 It's  a string variable named
   5838        g:vifm_term to let user	specify	 command  to  run  GUI	terminal.   By
   5839        default	it's  equal  to 'xterm -e'.  And another string variable named
   5840        g:vifm_exec, which equals "vifm"	 by  default  and  specifies  path  to
   5841        vifm's  executable.   To	 pass  arguments to vifm use g:vifm_exec_args,
   5842        which is empty by default.
   5843 
   5844        To use the plugin copy the vifm.vim file	 to  either  the  system  wide
   5845        vim/plugin directory or into ~/.vim/plugin.
   5846 
   5847        If  you would prefer not to use the plugin and it is in the system wide
   5848        plugin directory add
   5849 
   5850        let loaded_vifm=1
   5851 
   5852        to your ~/.vimrc file.
   5853 
   5854 Reserved
   5855        The following command names are reserved and shouldn't be used for user
   5856        commands.
   5857 
   5858 	 g[lobal]
   5859 	 v[global]
   5860 
   5861 ENVIRONMENT
   5862        VIFM   Points to main configuration directory (usually ~/.vifm/).
   5863 
   5864        MYVIFMRC
   5865 	      Points to main configuration file (usually ~/.vifm/vifmrc).
   5866 
   5867        These  environment variables are valid inside vifm and also can be used
   5868        to configure it by setting some of them before running vifm.
   5869 
   5870        When $MYVIFMRC isn't set, it's made as $VIFM/vifmrc (exception for Win-
   5871        dows: vifmrc in the same directory as vifm.exe has higher priority than
   5872        $VIFM/vifmrc).
   5873 
   5874        See "Startup" section above for more details.
   5875 
   5876        VIFM_FUSE_FILE
   5877 	      On execution of external commands this variable is  set  to  the
   5878 	      full  path  of  file  used  to initiate FUSE mount of the closes
   5879 	      mount point from current pane directory up.  It's not  set  when
   5880 	      outside  FUSE  mount  point.   When vifm is used inside terminal
   5881 	      multiplexer, it tries to set this variable as well  (it  doesn't
   5882 	      work this way on its own).
   5883 
   5884 SEE ALSO
   5885        vifm-convert-dircolors(1), vifm-pause(1)
   5886 
   5887        Website: https://vifm.info/
   5888        Wiki: https://wiki.vifm.info/
   5889 
   5890        Esperanto translation of the documentation by Sebastian Cyprych:
   5891        http://cyprych.neostrada.pl/tekstoj/komputiloj/vifm-help.eo.html
   5892 
   5893 AUTHOR
   5894        Vifm was written by ksteen <ksteen@users.sourceforge.net>
   5895        And currently is developed by xaizek <xaizek@posteo.net>
   5896 
   5897 
   5898 
   5899 vifm 0.10		       November 11, 2018		       VIFM(1)