mirror of
				https://github.com/tiyn/dotfiles.git
				synced 2025-11-04 14:31:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			6104 lines
		
	
	
		
			201 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			6104 lines
		
	
	
		
			201 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
VIFM(1)			    General Commands Manual		       VIFM(1)
 | 
						|
 | 
						|
 | 
						|
 | 
						|
NAME
 | 
						|
       vifm - vi file manager
 | 
						|
 | 
						|
SYNOPSIS
 | 
						|
       vifm [OPTION]...
 | 
						|
       vifm [OPTION]... path
 | 
						|
       vifm [OPTION]... path path
 | 
						|
 | 
						|
DESCRIPTION
 | 
						|
       Vifm is an ncurses based file manager with vi like keybindings.	If you
 | 
						|
       use vi, vifm gives you complete keyboard control over your files	 with-
 | 
						|
       out having to learn a new set of commands.
 | 
						|
 | 
						|
OPTIONS
 | 
						|
       vifm starts in the current directory unless it is given a different di-
 | 
						|
       rectory on the command line or 'vifminfo'  option  includes  "savedirs"
 | 
						|
       (in which case last visited directories are used as defaults).
 | 
						|
 | 
						|
       -      Read list of files from standard input stream and compose custom
 | 
						|
	      view out of them (see "Custom views" section).  Current  working
 | 
						|
	      directory is used as a base for relative paths.
 | 
						|
 | 
						|
       <path> Starts Vifm in the specified path.
 | 
						|
 | 
						|
       <path> <path>
 | 
						|
	      Starts Vifm in the specified paths.
 | 
						|
 | 
						|
       Specifying  two	directories  triggers split view even when vifm was in
 | 
						|
       single-view mode on finishing previous session.	To suppress  this  be-
 | 
						|
       haviour :only command can be put in the vifmrc file.
 | 
						|
 | 
						|
       When only one path argument is found on command-line, the left/top pane
 | 
						|
       is automatically set as the current view.
 | 
						|
 | 
						|
       Paths to files are also allowed in case you want	 vifm  to  start  with
 | 
						|
       some archive opened.
 | 
						|
 | 
						|
       --select <path>
 | 
						|
	      Open  parent  directory  of  the given path and select specified
 | 
						|
	      file in it.
 | 
						|
 | 
						|
       -f     Makes  vifm  instead  of	opening	 files	write	selection   to
 | 
						|
	      $VIFM/vimfiles and quit.
 | 
						|
 | 
						|
       --choose-files <path>|-
 | 
						|
	      Sets  output  file  to  write  selection into on exit instead of
 | 
						|
	      opening files.  "-" means standard output.  Use empty  value  to
 | 
						|
	      disable it.
 | 
						|
 | 
						|
       --choose-dir <path>|-
 | 
						|
	      Sets  output  file to write last visited directory into on exit.
 | 
						|
	      "-" means standard output.  Use empty value to disable it.
 | 
						|
 | 
						|
       --delimiter <delimiter>
 | 
						|
	      Sets separator for list of  file	paths  written	out  by	 vifm.
 | 
						|
	      Empty  value  means null character.  Default is new line charac-
 | 
						|
	      ter.
 | 
						|
 | 
						|
       --on-choose <command>
 | 
						|
	      Sets command to be executed on selected files instead of opening
 | 
						|
	      them.   The  command may use any of macros described in "Command
 | 
						|
	      macros" section below.  The command is executed once  for	 whole
 | 
						|
	      selection.
 | 
						|
 | 
						|
       --logging[=<startup log path>]
 | 
						|
	      Log some operational details $VIFM/log.  If the optional startup
 | 
						|
	      log path is specified and permissions allow to open it for writ-
 | 
						|
	      ing, then logging of early initialization (before value of $VIFM
 | 
						|
	      is determined) is put there.
 | 
						|
 | 
						|
       --server-list
 | 
						|
	      List available server names and exit.
 | 
						|
 | 
						|
       --server-name <name>
 | 
						|
	      Name of target or this instance (sequential numbers are appended
 | 
						|
	      on name conflict).
 | 
						|
 | 
						|
       --remote
 | 
						|
	      Sends  the rest of the command line to another instance of vifm,
 | 
						|
	      --server-name is treated just like any other argument and should
 | 
						|
	      precede  --remote on the command line.  When there is no server,
 | 
						|
	      quits silently.  There is no limit on how many arguments can  be
 | 
						|
	      processed.  One can combine --remote with -c <command> or +<com-
 | 
						|
	      mand> to execute commands in already running instance  of	 vifm.
 | 
						|
	      See also "Client-Server" section below.
 | 
						|
 | 
						|
       --remote-expr
 | 
						|
	      passes  expression  to  vifm server and prints result.  See also
 | 
						|
	      "Client-Server" section below.
 | 
						|
 | 
						|
       -c <command> or +<command>
 | 
						|
	      Run command-line mode <command> on startup.   Commands  in  such
 | 
						|
	      arguments are executed in the order they appear in command line.
 | 
						|
	      Commands with spaces or special symbols must be enclosed in dou-
 | 
						|
	      ble  or  single  quotes or all special symbols should be escaped
 | 
						|
	      (the exact syntax strongly depends on shell).  "+"  argument  is
 | 
						|
	      equivalent to "$" and thus picks last item of of the view.
 | 
						|
 | 
						|
       --help, -h
 | 
						|
	      Show a brief command summary and exit vifm.
 | 
						|
 | 
						|
       --version, -v
 | 
						|
	      Show version information and quit.
 | 
						|
 | 
						|
       --no-configs
 | 
						|
	      Skip reading vifmrc and vifminfo.
 | 
						|
 | 
						|
 | 
						|
       See "Startup" section below for the explanations on $VIFM.
 | 
						|
 | 
						|
General keys
 | 
						|
       Ctrl-C or Escape
 | 
						|
	      cancel most operations (see "Cancellation" section below), clear
 | 
						|
	      all selected files.
 | 
						|
 | 
						|
       Ctrl-L clear and redraw the screen.
 | 
						|
 | 
						|
Basic Movement
 | 
						|
       The basic vi key bindings are used to move through the files and pop-up
 | 
						|
       windows.
 | 
						|
 | 
						|
       k, gk, or Ctrl-P
 | 
						|
	      move cursor up one line.
 | 
						|
 | 
						|
       j, gj or Ctrl-N
 | 
						|
	      move cursor down one line.
 | 
						|
 | 
						|
       h      when  'lsview' is off move up one directory (moves to parent di-
 | 
						|
	      rectory node in tree view), otherwise move left one file.
 | 
						|
 | 
						|
       l      when 'lsview' is off move into a directory or launches  a	 file,
 | 
						|
	      otherwise move right one file.
 | 
						|
 | 
						|
       gg     move to the first line of the file list.
 | 
						|
 | 
						|
       G      move to the last line in the file list.
 | 
						|
 | 
						|
       gh     go  up one directory regardless of view representation (regular,
 | 
						|
	      ls-like).	 Also can be used to leave custom views including tree
 | 
						|
	      view.
 | 
						|
 | 
						|
       gl or Enter
 | 
						|
	      enter directory or launch a file.
 | 
						|
 | 
						|
       H      move to the first file in the window.
 | 
						|
 | 
						|
       M      move to the file in the middle of the window.
 | 
						|
 | 
						|
       L      move to the last file in the window.
 | 
						|
 | 
						|
       Ctrl-F or Page Down
 | 
						|
	      move forward one page.
 | 
						|
 | 
						|
       Ctrl-B or Page Up
 | 
						|
	      move back one page.
 | 
						|
 | 
						|
       Ctrl-D jump back one half page.
 | 
						|
 | 
						|
       Ctrl-U jump forward one half page.
 | 
						|
 | 
						|
       n%     move to the file that is n percent from the top of the list (for
 | 
						|
	      example 25%).
 | 
						|
 | 
						|
       0 or ^ move cursor to the first column.	See 'lsview'  option  descrip-
 | 
						|
	      tion.
 | 
						|
 | 
						|
       $      move  cursor  to	the last column.  See 'lsview' option descrip-
 | 
						|
	      tion.
 | 
						|
 | 
						|
       Space  switch file lists.
 | 
						|
 | 
						|
       gt     switch to the next tab (wrapping around).
 | 
						|
 | 
						|
       {n}gt  switch to the tab number {n} (wrapping around).
 | 
						|
 | 
						|
       gT     switch to the previous tab (wrapping around).
 | 
						|
 | 
						|
       {n}gT  switch to {n}-th previous tab.
 | 
						|
 | 
						|
Movement with Count
 | 
						|
       Most movement commands also accept a count,  12j	 would	move  down  12
 | 
						|
       files.
 | 
						|
 | 
						|
       [count]%
 | 
						|
	      move to percent of the file list.
 | 
						|
 | 
						|
       [count]j
 | 
						|
	      move down [count] files.
 | 
						|
 | 
						|
       [count]k
 | 
						|
	      move up [count] files.
 | 
						|
 | 
						|
       [count]G or [count]gg
 | 
						|
	      move to list position [count].
 | 
						|
 | 
						|
       [count]h
 | 
						|
	      go up [count] directories.
 | 
						|
 | 
						|
Scrolling panes
 | 
						|
       zt     redraw pane with file in top of list.
 | 
						|
 | 
						|
       zz     redraw pane with file in center of list.
 | 
						|
 | 
						|
       zb     redraw pane with file in bottom of list.
 | 
						|
 | 
						|
       Ctrl-E scroll pane one line down.
 | 
						|
 | 
						|
       Ctrl-Y scroll pane one line up.
 | 
						|
 | 
						|
Pane manipulation
 | 
						|
       Second character can be entered with or without Control key.
 | 
						|
 | 
						|
       Ctrl-W H
 | 
						|
	      move the pane to the far left.
 | 
						|
 | 
						|
       Ctrl-W J
 | 
						|
	      move the pane to the very bottom.
 | 
						|
 | 
						|
       Ctrl-W K
 | 
						|
	      move the pane to the very top.
 | 
						|
 | 
						|
       Ctrl-W L
 | 
						|
	      move the pane to the far right.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-W h
 | 
						|
	      switch to the left pane.
 | 
						|
 | 
						|
       Ctrl-W j
 | 
						|
	      switch to the pane below.
 | 
						|
 | 
						|
       Ctrl-W k
 | 
						|
	      switch to the pane above.
 | 
						|
 | 
						|
       Ctrl-W l
 | 
						|
	      switch to the right pane.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-W b
 | 
						|
	      switch to bottom-right window.
 | 
						|
 | 
						|
       Ctrl-W t
 | 
						|
	      switch to top-left window.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-W p
 | 
						|
	      switch to previous window.
 | 
						|
 | 
						|
       Ctrl-W w
 | 
						|
	      switch to other pane.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-W o
 | 
						|
	      leave only one pane.
 | 
						|
 | 
						|
       Ctrl-W s
 | 
						|
	      split window horizontally.
 | 
						|
 | 
						|
       Ctrl-W v
 | 
						|
	      split window vertically.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-W x
 | 
						|
	      exchange panes.
 | 
						|
 | 
						|
       Ctrl-W z
 | 
						|
	      quit preview pane or view modes.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-W -
 | 
						|
	      decrease size of the view by count.
 | 
						|
 | 
						|
       Ctrl-W +
 | 
						|
	      increase size of the view by count.
 | 
						|
 | 
						|
       Ctrl-W <
 | 
						|
	      decrease size of the view by count.
 | 
						|
 | 
						|
       Ctrl-W >
 | 
						|
	      increase size of the view by count.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-W |
 | 
						|
	      set current view size to count.
 | 
						|
 | 
						|
       Ctrl-W _
 | 
						|
	      set current view size to count.
 | 
						|
 | 
						|
       Ctrl-W =
 | 
						|
	      make size of two views equal.
 | 
						|
 | 
						|
       For  Ctrl-W +, Ctrl-W -, Ctrl-W <, Ctrl-W >, Ctrl-W | and Ctrl-W _ com-
 | 
						|
       mands count can be given before and/or  after  Ctrl-W.	The  resulting
 | 
						|
       count  is  a  multiplication of those two.  So "2 Ctrl-W 2 -" decreases
 | 
						|
       window size by 4 lines or columns.
 | 
						|
 | 
						|
       Ctrl-W | and Ctrl-W _ maximise current view by default.
 | 
						|
 | 
						|
Marks
 | 
						|
       Marks are set the same way as they are in vi.
 | 
						|
 | 
						|
       You can use these characters for marks [a-z][A-Z][0-9].
 | 
						|
 | 
						|
       m[a-z][A-Z][0-9]
 | 
						|
	      set a mark for the file at the current cursor position.
 | 
						|
 | 
						|
       '[a-z][A-Z][0-9]
 | 
						|
	      navigate to the file set for the mark.
 | 
						|
 | 
						|
 | 
						|
       There are also several special marks that can't be set manually:
 | 
						|
 | 
						|
	 - ' (single quote) - previously visited directory of the  view,  thus
 | 
						|
	   hitting '' allows switching between two last locations
 | 
						|
 | 
						|
	 - < - the first file of the last visually selected block
 | 
						|
 | 
						|
	 - > - the last file of the last visually selected block
 | 
						|
 | 
						|
Searching
 | 
						|
       /regular expression pattern
 | 
						|
	      search  for  files matching regular expression in forward direc-
 | 
						|
	      tion and advance cursor to next match.
 | 
						|
 | 
						|
       /      perform forward search with top item of search pattern history.
 | 
						|
 | 
						|
       ?regular expression pattern
 | 
						|
	      search for files matching regular expression in backward	direc-
 | 
						|
	      tion and advance cursor to previous match.
 | 
						|
 | 
						|
       ?      perform backward search with top item of search pattern history.
 | 
						|
 | 
						|
       Trailing	 slash	for directories is taken into account, so /\/ searches
 | 
						|
       for directories and symbolic links to directories.  At  the  moment  //
 | 
						|
       works  too, but this can change in the future, so consider escaping the
 | 
						|
       slash if not typing pattern by hand.
 | 
						|
 | 
						|
       Matches are automatically selected  if  'hlsearch'  is  set.   Enabling
 | 
						|
       'incsearch' makes search interactive.  'ignorecase' and 'smartcase' op-
 | 
						|
       tions affect case sensitivity of search queries.
 | 
						|
 | 
						|
 | 
						|
       [count]n
 | 
						|
	      go to the next file matching last search	pattern.   Takes  last
 | 
						|
	      search direction into account.
 | 
						|
 | 
						|
       [count]N
 | 
						|
	      go  to  the  previous  file matching last search pattern.	 Takes
 | 
						|
	      last search direction into account.
 | 
						|
 | 
						|
       If 'hlsearch' option is set, hitting n/N to perform search  and	go  to
 | 
						|
       the first matching item resets current selection in normal mode.	 It is
 | 
						|
       not the case if search was already performed on files in the directory,
 | 
						|
       thus  selection	is  not reset after clearing selection with escape key
 | 
						|
       and hitting n/N key again.
 | 
						|
 | 
						|
       Note: vifm uses extended regular expressions for / and ?.
 | 
						|
 | 
						|
 | 
						|
       [count]f[character]
 | 
						|
	      search forward for file with [character] as first	 character  in
 | 
						|
	      name.  Search wraps around the end of the list.
 | 
						|
 | 
						|
       [count]F[character]
 | 
						|
	      search  backward for file with [character] as first character in
 | 
						|
	      name.  Search wraps around the end of the list.
 | 
						|
 | 
						|
       [count];
 | 
						|
	      find the next match of f or F.
 | 
						|
 | 
						|
       [count],
 | 
						|
	      find the previous match of f or F.
 | 
						|
 | 
						|
       Note: f, F, ; and , wrap around list beginning and end  when  they  are
 | 
						|
       used alone and they don't wrap when they are used as selectors.
 | 
						|
 | 
						|
File Filters
 | 
						|
       There are three basic file filters:
 | 
						|
 | 
						|
	 - dot files filter (does not affect "." and ".." special directories,
 | 
						|
	   whose appearance is controlled by the 'dotdirs' option), see	 'dot-
 | 
						|
	   files' option;
 | 
						|
 | 
						|
	 - permanent filter;
 | 
						|
 | 
						|
	 - local filter (see description of the "=" normal mode command).
 | 
						|
 | 
						|
       Permanent  filter  essentially  allows  defining a group of files names
 | 
						|
       which are not desirable to be seen by default, like temporary or backup
 | 
						|
       files,  which  might  be	 created alongside normal ones.	 Just like you
 | 
						|
       don't usually need to see hidden dot files (files starting with a dot).
 | 
						|
       Local  filter on the other hand is for temporary immediate filtering of
 | 
						|
       file list at hand, to get rid of uninterested files in the view	or  to
 | 
						|
       make it possible to use % range in a :command.
 | 
						|
 | 
						|
       For  the	 purposes  of  more  deterministic editing permanent filter is
 | 
						|
       split into two parts:
 | 
						|
 | 
						|
	 - one edited explicitly via :filter command;
 | 
						|
 | 
						|
	 - another one which is edited implicitly via zf shortcut.
 | 
						|
 | 
						|
       Files are tested against both parts and a match counts if at least  one
 | 
						|
       of the parts matched.
 | 
						|
 | 
						|
 | 
						|
       Each file list has its own copy of each filter.
 | 
						|
 | 
						|
       Filtered files are not checked in / search or :commands.
 | 
						|
 | 
						|
       Files and directories are filtered separately.  This is done by append-
 | 
						|
       ing a slash to a directory name before testing whether it  matches  the
 | 
						|
       filter. Examples:
 | 
						|
 | 
						|
 | 
						|
	 " filter directories which names end with '.files'
 | 
						|
	 :filter /^.*\.files\/$/
 | 
						|
 | 
						|
	 " filter files which names end with '.d'
 | 
						|
	 :filter {*.d}
 | 
						|
 | 
						|
	 " filter files and directories which names end with '.o'
 | 
						|
	 :filter /^.*\.o\/?$/
 | 
						|
 | 
						|
       Note: vifm uses extended regular expressions.
 | 
						|
 | 
						|
       The basic vim folding key bindings are used for managing filters.
 | 
						|
 | 
						|
 | 
						|
       za     toggle visibility of dot files.
 | 
						|
 | 
						|
       zo     show dot files.
 | 
						|
 | 
						|
       zm     hide dot files.
 | 
						|
 | 
						|
       zf     add selected files to permanent filter.
 | 
						|
 | 
						|
       zO     reset permanent filter.
 | 
						|
 | 
						|
       zR     save and reset all filters.
 | 
						|
 | 
						|
       zr     clear local filter.
 | 
						|
 | 
						|
       zM     restore all filters (undoes last zR).
 | 
						|
 | 
						|
       zd     exclude  selection  or  current  file  from a custom view.  Does
 | 
						|
	      nothing for regular view.	 For tree view excluding directory ex-
 | 
						|
	      cludes that sub-tree.  For compare views zd hides group of adja-
 | 
						|
	      cent identical files, count can be specified  as	1  to  exclude
 | 
						|
	      just single file or selected items instead.  Files excluded this
 | 
						|
	      way are not counted as filtered out and can't be returned unless
 | 
						|
	      view is reloaded.
 | 
						|
 | 
						|
       =regular expression pattern
 | 
						|
	      filter  out  files that don't match regular expression.  Whether
 | 
						|
	      view is updated as regular expression is changed depends on  the
 | 
						|
	      value  of	 the 'incsearch' option.  This kind of filter is auto-
 | 
						|
	      matically reset when directory is changed.
 | 
						|
 | 
						|
Other Normal Mode Keys
 | 
						|
       [count]:
 | 
						|
	      enter command line mode.	[count] generates range.
 | 
						|
 | 
						|
       q:     open external editor to prompt for  command-line	command.   See
 | 
						|
	      "Command line editing" section for details.
 | 
						|
 | 
						|
       q/     open external editor to prompt for search pattern to be searched
 | 
						|
	      in forward direction.  See "Command line	editing"  section  for
 | 
						|
	      details.
 | 
						|
 | 
						|
       q?     open external editor to prompt for search pattern to be searched
 | 
						|
	      in backward direction.  See "Command line editing"  section  for
 | 
						|
	      details.
 | 
						|
 | 
						|
       q=     open external editor to prompt for filter pattern.  See "Command
 | 
						|
	      line editing" section for details.  Unlike other	q{x}  commands
 | 
						|
	      this one doesn't work in Visual mode.
 | 
						|
 | 
						|
       [count]!! and [count]!<selector>
 | 
						|
	      enter  command  line mode with entered ! command.	 [count] modi-
 | 
						|
	      fies range.
 | 
						|
 | 
						|
       Ctrl-O go backwards through directory history of current view.	Nonex-
 | 
						|
	      istent directories are automatically skipped.
 | 
						|
 | 
						|
       Ctrl-I if  'cpoptions' contains "t" flag, <tab> and <c-i> switch active
 | 
						|
	      pane just like <space> does, otherwise it goes  forward  through
 | 
						|
	      directory	 history of current view.  Nonexistent directories are
 | 
						|
	      automatically skipped.
 | 
						|
 | 
						|
       Ctrl-G create a window showing detailed information about  the  current
 | 
						|
	      file.
 | 
						|
 | 
						|
       Shift-Tab
 | 
						|
	      enters  view  mode  (works  only after activating view pane with
 | 
						|
	      :view command).
 | 
						|
 | 
						|
       ga     calculate directory size.	 Uses cached directory sizes when pos-
 | 
						|
	      sible  for  better  performance.	 As a special case calculating
 | 
						|
	      size of ".." entry results in calculation of size of current di-
 | 
						|
	      rectory.
 | 
						|
 | 
						|
       gA     like  ga,	 but  force  update.   Ignores old values of directory
 | 
						|
	      sizes.
 | 
						|
 | 
						|
       If file under cursor is selected, each selected item is processed, oth-
 | 
						|
       erwise only current file is updated.
 | 
						|
 | 
						|
       gf     find  link  destination (like l with 'followlinks' off, but also
 | 
						|
	      finds directories).
 | 
						|
 | 
						|
       gr     only for MS-Windows
 | 
						|
	      same as l key, but tries	to  run	 program  with	administrative
 | 
						|
	      privileges.
 | 
						|
 | 
						|
       av     go  to visual mode into selection amending state preserving cur-
 | 
						|
	      rent selection.
 | 
						|
 | 
						|
       gv     go to visual mode restoring last selection.
 | 
						|
 | 
						|
       [reg]gs
 | 
						|
	      when no register is specified, restore last t selection (similar
 | 
						|
	      to  what	gv  does  for  visual mode selection).	If register is
 | 
						|
	      present, then all files listed in that register  and  which  are
 | 
						|
	      visible in current view are selected.
 | 
						|
 | 
						|
       gu<selector>
 | 
						|
	      make names of selected files lowercase.
 | 
						|
 | 
						|
       [count]guu and [count]gugu
 | 
						|
	      make names of [count] files starting from the current one lower-
 | 
						|
	      case.  Without [count] only current file is affected.
 | 
						|
 | 
						|
       gU<selector>
 | 
						|
	      make names of selected files uppercase.
 | 
						|
 | 
						|
       [count]gUU and [count]gUgU
 | 
						|
	      make names of [count] files starting from the current one upper-
 | 
						|
	      case.  Without [count] only current file is affected.
 | 
						|
 | 
						|
       e      explore file in the current pane.
 | 
						|
 | 
						|
       i      handle  file (even if it's an executable and 'runexec' option is
 | 
						|
	      set).
 | 
						|
 | 
						|
       cw     change word is used to rename a file or files.
 | 
						|
 | 
						|
       cW     change WORD is used to change only name of file (without	exten-
 | 
						|
	      sion).
 | 
						|
 | 
						|
       cl     change link target.
 | 
						|
 | 
						|
       co     only for *nix
 | 
						|
	      change file owner.
 | 
						|
 | 
						|
       cg     only for *nix
 | 
						|
	      change file group.
 | 
						|
 | 
						|
       [count]cp
 | 
						|
	      change  file  attributes	(permission  on *nix and properties on
 | 
						|
	      Windows).	 If [count] is specified, it's	treated	 as  numerical
 | 
						|
	      argument	 for   non-recursive  `chmod`  command	(of  the  form
 | 
						|
	      [0-7]{3,4}).
 | 
						|
 | 
						|
       [count]C
 | 
						|
	      clone file [count] times.
 | 
						|
 | 
						|
       [count]dd or d[count]selector
 | 
						|
	      move selected file or files to trash directory (if  'trash'  op-
 | 
						|
	      tion  is	set, otherwise delete).	 See "Trash directory" section
 | 
						|
	      below.
 | 
						|
 | 
						|
       [count]DD or D[count]selector
 | 
						|
	      like dd and d<selector>, but omitting trash directory (even when
 | 
						|
	      'trash' option is set).
 | 
						|
 | 
						|
       Y, [count]yy or y[count]selector
 | 
						|
	      yank selected files.
 | 
						|
 | 
						|
       p      copy  yanked files to the current directory or move the files to
 | 
						|
	      the current directory if they were deleted with dd or  :d[elete]
 | 
						|
	      or  if  the  files were yanked from trash directory.  See "Trash
 | 
						|
	      directory" section below.
 | 
						|
 | 
						|
       P      move the last yanked files.  The advantage of using P instead of
 | 
						|
	      d followed by p is that P moves files only once.	This isn't im-
 | 
						|
	      portant in case you're moving files  in  the  same  file	system
 | 
						|
	      where  your home directory is, but using P to move files on some
 | 
						|
	      other file system (or file systems, in case  you	want  to  move
 | 
						|
	      files  from  fs1	to  fs2 and your home is on fs3) can save your
 | 
						|
	      time.
 | 
						|
 | 
						|
       al     put symbolic links with absolute paths.
 | 
						|
 | 
						|
       rl     put symbolic links with relative paths.
 | 
						|
 | 
						|
       t      select or unselect (tag) the current file.
 | 
						|
 | 
						|
       u      undo last change.
 | 
						|
 | 
						|
       Ctrl-R redo last change.
 | 
						|
 | 
						|
       dp     in compare view of "ofboth grouppaths" kind, makes corresponding
 | 
						|
	      entry of the other pane equal to the current one.	 The semantics
 | 
						|
	      is as follows:
 | 
						|
	       - nothing done for identical entries
 | 
						|
	       - if file is missing in current view, its pair gets removed
 | 
						|
	       - if file is missing or differs in other view, it's replaced
 | 
						|
	       - file pairs are defined by matching relative paths
 | 
						|
	      File removal obeys 'trash' option.  When the option is  enabled,
 | 
						|
	      the  operation  can  be undone/redone (although results won't be
 | 
						|
	      visible automatically).
 | 
						|
	      Unlike in Vim, this operation is	performed  on  a  single  line
 | 
						|
	      rather than a set of adjacent changes.
 | 
						|
 | 
						|
       do     same as dp, but applies changes in the opposite direction.
 | 
						|
 | 
						|
       v or V enter visual mode, clears current selection.
 | 
						|
 | 
						|
       [count]Ctrl-A
 | 
						|
	      increment first number in file name by [count] (1 by default).
 | 
						|
 | 
						|
       [count]Ctrl-X
 | 
						|
	      decrement first number in file name by [count] (1 by default).
 | 
						|
 | 
						|
       ZQ     same as :quit!.
 | 
						|
 | 
						|
       ZZ     same as :quit.
 | 
						|
 | 
						|
       .      repeat  last  command-line  command (not normal mode command) of
 | 
						|
	      this session (does nothing right after startup or :restart  com-
 | 
						|
	      mand).   The  command doesn't depend on command-line history and
 | 
						|
	      can be used with completely disabled history.
 | 
						|
 | 
						|
       (      go to previous group.  Groups are	 defined  by  primary  sorting
 | 
						|
	      key.   For  name and iname members of each group have same first
 | 
						|
	      letter, for all other sorting keys vifm uses size, uid, ...
 | 
						|
 | 
						|
       )      go to next group.	 See ( key description above.
 | 
						|
 | 
						|
       {      speeds up navigation to closest previous entry of	 the  opposite
 | 
						|
	      type  by	moving to the first file backwards when cursor is on a
 | 
						|
	      directory and to the first directory backwards when cursor is on
 | 
						|
	      a	 file.	This is essentially a special case of ( that is locked
 | 
						|
	      on "dirs".
 | 
						|
 | 
						|
       }      same as {, but in forward direction.
 | 
						|
 | 
						|
       [c     go to previous mismatched entry in directory comparison view  or
 | 
						|
	      do nothing.
 | 
						|
 | 
						|
       ]c     go  to  next mismatched entry in directory comparison view or do
 | 
						|
	      nothing.
 | 
						|
 | 
						|
       [d     go to previous directory entry or do nothing.
 | 
						|
 | 
						|
       ]d     go to next directory entry or do nothing.
 | 
						|
 | 
						|
       [r     same as :siblprev.
 | 
						|
 | 
						|
       ]r     same as :siblnext.
 | 
						|
 | 
						|
       [R     same as :siblprev!.
 | 
						|
 | 
						|
       ]R     same as :siblnext!.
 | 
						|
 | 
						|
       [s     go to previous selected entry or do nothing.
 | 
						|
 | 
						|
       ]s     go to next selected entry or do nothing.
 | 
						|
 | 
						|
       [z     go to first sibling of current entry.
 | 
						|
 | 
						|
       ]z     go to last sibling of current entry.
 | 
						|
 | 
						|
       zj     go to next directory sibling of current entry or do nothing.
 | 
						|
 | 
						|
       zk     go to previous directory sibling of current entry or do nothing.
 | 
						|
 | 
						|
Using Count
 | 
						|
       You can use count with commands like yy.
 | 
						|
 | 
						|
       [count]yy
 | 
						|
	      yank count files starting from current cursor position downward.
 | 
						|
 | 
						|
       Or you can use count with motions passed to y, d or D.
 | 
						|
 | 
						|
       d[count]j
 | 
						|
	      delete (count + 1) files starting from current  cursor  position
 | 
						|
	      upward.
 | 
						|
 | 
						|
Registers
 | 
						|
       vifm  supports  multiple registers for temporary storing list of yanked
 | 
						|
       or deleted files.
 | 
						|
 | 
						|
       Registers should be specified by hitting double quote key followed by a
 | 
						|
       register	 name.	 Count	is  specified after register name.  By default
 | 
						|
       commands use unnamed register, which has double quote as its name.
 | 
						|
 | 
						|
       Though all commands accept registers, most  of  commands	 ignores  them
 | 
						|
       (for  example H or Ctrl-U).  Other commands can fill register or append
 | 
						|
       new files to it.
 | 
						|
 | 
						|
       Presently vifm supports ", _, a-z and A-Z characters as register names.
 | 
						|
 | 
						|
       As mentioned above " is unnamed register and has special meaning of the
 | 
						|
       default	register.  Every time when you use named registers (a-z and A-
 | 
						|
       Z) unnamed register is updated to contain same list  of	files  as  the
 | 
						|
       last used register.
 | 
						|
 | 
						|
       _  is black hole register.  It can be used for writing, but its list is
 | 
						|
       always empty.
 | 
						|
 | 
						|
       Registers with names from a to z and from A to Z are named ones.	  Low-
 | 
						|
       ercase  registers  are cleared before adding new files, while uppercase
 | 
						|
       aren't and should be used to append new files to the existing file list
 | 
						|
       of appropriate lowercase register (A for a, B for b, ...).
 | 
						|
 | 
						|
       Registers  can be changed on :empty command if they contain files under
 | 
						|
       trash directory (see "Trash directory" section below).
 | 
						|
 | 
						|
       Registers do not contain one file more than once.
 | 
						|
 | 
						|
       Example:
 | 
						|
 | 
						|
	 "a2yy
 | 
						|
 | 
						|
       puts names of two files to register a (and to the unnamed register),
 | 
						|
 | 
						|
	 "Ad
 | 
						|
 | 
						|
       removes one file and append its name to register a (and to the  unnamed
 | 
						|
       register),
 | 
						|
 | 
						|
	 p or "ap or "Ap
 | 
						|
 | 
						|
       inserts previously yanked and deleted files into current directory.
 | 
						|
 | 
						|
Selectors
 | 
						|
       y,  d, D, !, gu and gU commands accept selectors.  You can combine them
 | 
						|
       with any of selectors below to quickly remove or yank several files.
 | 
						|
 | 
						|
       Most of selectors are like vi motions: j, k, gg, G, H, L, M, %,	f,  F,
 | 
						|
       ;, comma, ', ^, 0 and $.	 But there are some additional ones.
 | 
						|
 | 
						|
       a      all files in current view.
 | 
						|
 | 
						|
       s      selected files.
 | 
						|
 | 
						|
       S      all files except selected.
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 - dj - delete file under cursor and one below;
 | 
						|
 | 
						|
	 - d2j - delete file under cursor and two below;
 | 
						|
 | 
						|
	 - y6gg - yank all files from cursor position to 6th file in the list.
 | 
						|
 | 
						|
       When you pass a count to whole command and its selector they are multi-
 | 
						|
       plied. So:
 | 
						|
 | 
						|
	 - 2d2j - delete file under cursor and four below;
 | 
						|
 | 
						|
	 - 2dj - delete file under cursor and two below;
 | 
						|
 | 
						|
	 - 2y6gg - yank all files from cursor position to  12th	 file  in  the
 | 
						|
	   list.
 | 
						|
 | 
						|
Visual Mode
 | 
						|
       Visual mode has to generic operating submodes:
 | 
						|
 | 
						|
	 - plain selection as it is in Vim;
 | 
						|
 | 
						|
	 - selection editing submode.
 | 
						|
 | 
						|
       Both  modes  select files in range from cursor position at which visual
 | 
						|
       mode was entered to current cursor position (let's call	it  "selection
 | 
						|
       region").  Each of two borders can be adjusted by swapping them via "o"
 | 
						|
       or "O" keys and updating cursor position	 with  regular	cursor	motion
 | 
						|
       keys.   Obviously,  once	 initial  cursor position is altered this way,
 | 
						|
       real start position becomes unavailable.
 | 
						|
 | 
						|
       Plain Vim-like visual mode starts with cleared selection, which is  not
 | 
						|
       restored	 on  rejecting selection ("Escape", "Ctrl-C", "v", "V").  Con-
 | 
						|
       trary to it, selection editing doesn't clear previously selected	 files
 | 
						|
       and  restores  them after reject.  Accepting selection by performing an
 | 
						|
       operation on selected items (e.g. yanking them via "y") moves cursor to
 | 
						|
       the  top of current selection region (not to the top most selected file
 | 
						|
       of the view).
 | 
						|
 | 
						|
       In turn, selection editing supports three types	of  editing  (look  at
 | 
						|
       statusbar to know which one is currently active):
 | 
						|
 | 
						|
	 - append - amend selection by selecting elements in selection region;
 | 
						|
 | 
						|
	 - remove  -  amend selection by deselecting elements in selection re-
 | 
						|
	   gion;
 | 
						|
 | 
						|
	 - invert - amend selection by inverting selection of elements in  se-
 | 
						|
	   lection region.
 | 
						|
 | 
						|
       No  matter  how	you  activate selection editing it starts in "append".
 | 
						|
       One can switch type of operation (in the order given above) via	"Ctrl-
 | 
						|
       G" key.
 | 
						|
 | 
						|
       Almost all normal mode keys work in visual mode, but instead of accept-
 | 
						|
       ing selectors they operate on selected items.
 | 
						|
 | 
						|
       Enter  save selection and go back to normal mode not moving cursor.
 | 
						|
 | 
						|
       av     leave visual mode if in amending mode (restores previous	selec-
 | 
						|
	      tion), otherwise switch to amending selection mode.
 | 
						|
 | 
						|
       gv     restore previous visual selection.
 | 
						|
 | 
						|
       v, V, Ctrl-C or Escape
 | 
						|
	      leave  visual  mode if not in amending mode, otherwise switch to
 | 
						|
	      normal visual selection.
 | 
						|
 | 
						|
       Ctrl-G switch type of amending by round robin scheme: append ->	remove
 | 
						|
	      -> invert.
 | 
						|
 | 
						|
       :      enter  command  line  mode.  Selection is cleared on leaving the
 | 
						|
	      mode.
 | 
						|
 | 
						|
       o      switch active selection bound.
 | 
						|
 | 
						|
       O      switch active selection bound.
 | 
						|
 | 
						|
       gu, u  make names of selected files lowercase.
 | 
						|
 | 
						|
       gU, U  make names of selected files uppercase.
 | 
						|
 | 
						|
View Mode
 | 
						|
       This mode tries to imitate the less program.  List of builtin shortcuts
 | 
						|
       can be found below.  Shortcuts can be customized using :qmap, :qnoremap
 | 
						|
       and :qunmap command-line commands.
 | 
						|
 | 
						|
       Shift-Tab, Tab, q, Q, ZZ
 | 
						|
	      return to normal mode.
 | 
						|
 | 
						|
       [count]e, [count]Ctrl-E, [count]j, [count]Ctrl-N, [count]Enter
 | 
						|
	      scroll forward one line (or [count] lines).
 | 
						|
 | 
						|
       [count]y, [count]Ctrl-Y, [count]k, [count]Ctrl-K, [count]Ctrl-P
 | 
						|
	      scroll backward one line (or [count] lines).
 | 
						|
 | 
						|
       [count]f, [count]Ctrl-F, [count]Ctrl-V, [count]Space
 | 
						|
	      scroll forward one window (or [count] lines).
 | 
						|
 | 
						|
       [count]b, [count]Ctrl-B, [count]Alt-V
 | 
						|
	      scroll backward one window (or [count] lines).
 | 
						|
 | 
						|
       [count]z
 | 
						|
	      scroll forward one window (and set window to [count]).
 | 
						|
 | 
						|
       [count]w
 | 
						|
	      scroll backward one window (and set window to [count]).
 | 
						|
 | 
						|
       [count]Alt-Space
 | 
						|
	      scroll forward one window, but don't stop at end-of-file.
 | 
						|
 | 
						|
       [count]d, [count]Ctrl-D
 | 
						|
	      scroll forward one half-window (and set half-window to [count]).
 | 
						|
 | 
						|
       [count]u, [count]Ctrl-U
 | 
						|
	      scroll  backward	one  half-window  (and	set   half-window   to
 | 
						|
	      [count]).
 | 
						|
 | 
						|
       r, Ctrl-R, Ctrl-L
 | 
						|
	      repaint screen.
 | 
						|
 | 
						|
       R      reload view preserving scroll position.
 | 
						|
 | 
						|
       F      toggle  automatic	 forwarding.   Roughly	equivalent to periodic
 | 
						|
	      file reload and scrolling to the bottom.	The behaviour is simi-
 | 
						|
	      lar to `tail -F` or F key in less.
 | 
						|
 | 
						|
       [count]/pattern
 | 
						|
	      search forward for ([count]-th) matching line.
 | 
						|
 | 
						|
       [count]?pattern
 | 
						|
	      search backward for ([count]-th) matching line.
 | 
						|
 | 
						|
       [count]n
 | 
						|
	      repeat previous search (for [count]-th occurrence).
 | 
						|
 | 
						|
       [count]N
 | 
						|
	      repeat  previous search in reverse direction (for [count]-th oc-
 | 
						|
	      currence).
 | 
						|
 | 
						|
       [count]g, [count]<, [count]Alt-<
 | 
						|
	      scroll to the first line of the file (or line [count]).
 | 
						|
 | 
						|
       [count]G, [count]>, [count]Alt->
 | 
						|
	      scroll to the last line of the file (or line [count]).
 | 
						|
 | 
						|
       [count]p, [count]%
 | 
						|
	      scroll to the beginning of the file (or N percent into file).
 | 
						|
 | 
						|
       v      invoke an editor to edit the current  file  being	 viewed.   The
 | 
						|
	      command  for  editing  is taken from the 'vicmd'/'vixcmd' option
 | 
						|
	      value and extended with middle line number prepended by  a  plus
 | 
						|
	      sign and name of the current file.
 | 
						|
 | 
						|
       All  "Ctrl-W  x" keys work the same was as in Normal mode.  Active mode
 | 
						|
       is automatically changed on navigating among windows.   When  less-like
 | 
						|
       mode  activated	on  file preview is left using one by "Ctrl-W x" keys,
 | 
						|
       its state is stored until another file is displayed using preview (it's
 | 
						|
       possible	 to leave the mode, hide preview pane, do something else, then
 | 
						|
       get back to the file and show preview pane again with previously stored
 | 
						|
       state in it).
 | 
						|
 | 
						|
Command line Mode
 | 
						|
       These keys are available in all submodes of the command line mode: com-
 | 
						|
       mand, search, prompt and filtering.
 | 
						|
 | 
						|
       Down, Up, Left, Right, Home, End and Delete are extended keys and  they
 | 
						|
       are  not available if vifm is compiled with --disable-extended-keys op-
 | 
						|
       tion.
 | 
						|
 | 
						|
       Esc, Ctrl-C
 | 
						|
	      leave command line mode,	cancels	 input.	  Cancelled  input  is
 | 
						|
	      saved into appropriate history and can be recalled later.
 | 
						|
 | 
						|
       Ctrl-M, Enter
 | 
						|
	      execute command and leave command line mode.
 | 
						|
 | 
						|
       Ctrl-I, Tab
 | 
						|
	      complete command or its argument.
 | 
						|
 | 
						|
       Shift-Tab
 | 
						|
	      complete in reverse order.
 | 
						|
 | 
						|
       Ctrl-_ stop completion and return original input.
 | 
						|
 | 
						|
       Ctrl-B, Left
 | 
						|
	      move cursor to the left.
 | 
						|
 | 
						|
       Ctrl-F, Right
 | 
						|
	      move cursor to the right.
 | 
						|
 | 
						|
       Ctrl-A, Home
 | 
						|
	      go to line beginning.
 | 
						|
 | 
						|
       Ctrl-E, End
 | 
						|
	      go to line end.
 | 
						|
 | 
						|
       Alt-B  go to the beginning of previous word.
 | 
						|
 | 
						|
       Alt-F  go to the end of next word.
 | 
						|
 | 
						|
       Ctrl-U remove  characters  from	cursor	position till the beginning of
 | 
						|
	      line.
 | 
						|
 | 
						|
       Ctrl-K remove characters from cursor position till the end of line.
 | 
						|
 | 
						|
       Ctrl-H, Backspace
 | 
						|
	      remove character before the cursor.
 | 
						|
 | 
						|
       Ctrl-D, Delete
 | 
						|
	      remove character under the cursor.
 | 
						|
 | 
						|
       Ctrl-W remove characters from cursor position  till  the	 beginning  of
 | 
						|
	      previous word.
 | 
						|
 | 
						|
       Alt-D  remove  characters  from	cursor	position till the beginning of
 | 
						|
	      next word.
 | 
						|
 | 
						|
       Ctrl-T swap the order of current and previous character and move cursor
 | 
						|
	      forward  or,  if	cursor past the end of line, swap the order of
 | 
						|
	      two last characters in the line.
 | 
						|
 | 
						|
       Alt-.  insert last part of previous command to current cursor position.
 | 
						|
	      Each next call will insert last part of older command.
 | 
						|
 | 
						|
       Ctrl-G edit command-line content in external editor.  See "Command line
 | 
						|
	      editing" section for details.
 | 
						|
 | 
						|
       Ctrl-N recall more recent command-line from history.
 | 
						|
 | 
						|
       Ctrl-P recall older command-line from history.
 | 
						|
 | 
						|
       Up     recall more recent command-line from history, that begins as the
 | 
						|
	      current command-line.
 | 
						|
 | 
						|
       Down   recall  older command-line from history, that begins as the cur-
 | 
						|
	      rent command-line.
 | 
						|
 | 
						|
       Ctrl-] trigger abbreviation expansion.
 | 
						|
 | 
						|
Pasting special values
 | 
						|
       The shortcuts listed below insert specified values into current	cursor
 | 
						|
       position.  Last key of every shortcut references value that it inserts:
 | 
						|
	 - c - [c]urrent file
 | 
						|
	 - d - [d]irectory path
 | 
						|
	 - e - [e]xtension of a file name
 | 
						|
	 - r - [r]oot part of a file name
 | 
						|
	 - t - [t]ail part of directory path
 | 
						|
 | 
						|
	 - a - [a]utomatic filter
 | 
						|
	 - m - [m]anual filter
 | 
						|
	 - = - local filter, which is bound to "=" in normal mode
 | 
						|
 | 
						|
       Values related to filelist in current pane are available through Ctrl-X
 | 
						|
       prefix, while values from the other pane have  doubled  Ctrl-X  key  as
 | 
						|
       their  prefix  (doubled Ctrl-X is presumably easier to type than upper-
 | 
						|
       case letters; it's still easy to remap the keys to correspond to	 names
 | 
						|
       of similar macros).
 | 
						|
 | 
						|
       Ctrl-X c
 | 
						|
	      name of the current file of the active pane.
 | 
						|
 | 
						|
       Ctrl-X d
 | 
						|
	      path to the current directory of the active pane.
 | 
						|
 | 
						|
       Ctrl-X e
 | 
						|
	      extension of the current file of the active pane.
 | 
						|
 | 
						|
       Ctrl-X r
 | 
						|
	      name root of current file of the active pane.
 | 
						|
 | 
						|
       Ctrl-X t
 | 
						|
	      the  last	 component of path to the current directory of the ac-
 | 
						|
	      tive pane.
 | 
						|
 | 
						|
       Ctrl-X Ctrl-X c
 | 
						|
	      name of the current file of the inactive pane.
 | 
						|
 | 
						|
       Ctrl-X Ctrl-X d
 | 
						|
	      path to the current directory of the inactive pane.
 | 
						|
 | 
						|
       Ctrl-X Ctrl-X e
 | 
						|
	      extension of the current file of the inactive pane.
 | 
						|
 | 
						|
       Ctrl-X Ctrl-X r
 | 
						|
	      name root of current file of the inactive pane.
 | 
						|
 | 
						|
       Ctrl-X Ctrl-X t
 | 
						|
	      the last component of path to the current directory of the inac-
 | 
						|
	      tive pane.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-X a
 | 
						|
	      value of implicit permanent filter (old name "automatic") of the
 | 
						|
	      active pane.
 | 
						|
 | 
						|
       Ctrl-X m
 | 
						|
	      value of explicit permanent filter (old name  "manual")  of  the
 | 
						|
	      active pane.
 | 
						|
 | 
						|
       Ctrl-X =
 | 
						|
	      value of local filter of the active pane.
 | 
						|
 | 
						|
 | 
						|
       Ctrl-X /
 | 
						|
	      last pattern from search history.
 | 
						|
 | 
						|
Command line editing
 | 
						|
       vifm provides a facility to edit several kinds of data, that is usually
 | 
						|
       edited in command-line mode, in external editor (using  command	speci-
 | 
						|
       fied  by 'vicmd' or 'vixcmd' option).  This has at least two advantages
 | 
						|
       over built-in command-line mode:
 | 
						|
	 - one can use full power of Vim to edit text;
 | 
						|
	 - finding and reusing history entries becomes possible.
 | 
						|
 | 
						|
       The facility is supported by four input submodes of the command-line:
 | 
						|
	 - command;
 | 
						|
	 - forward search;
 | 
						|
	 - backward search;
 | 
						|
	 - file rename (see description of cw and cW normal mode keys).
 | 
						|
 | 
						|
       Editing command-line using external editor is activated by  the	Ctrl-G
 | 
						|
       shortcut.   It's	 also  possible	 to do almost the same from Normal and
 | 
						|
       Visual modes using q:, q/ and q? commands.
 | 
						|
 | 
						|
       Temporary file created for the purpose of editing the line has the fol-
 | 
						|
       lowing structure:
 | 
						|
 | 
						|
	 1. First line, which is either empty or contains text already entered
 | 
						|
	    in command-line.
 | 
						|
 | 
						|
	 2. 2nd and all other lines with history items starting with the  most
 | 
						|
	    recent  one.   Altering this lines in any way won't change history
 | 
						|
	    items stored by vifm.
 | 
						|
 | 
						|
       After editing application is finished the first line  of	 the  file  is
 | 
						|
       taken  as  the  result  of operation, when the application returns zero
 | 
						|
       exit code.  If the application returns an error (see :cquit command  in
 | 
						|
       Vim), all the edits made to the file are ignored, but the initial value
 | 
						|
       of the first line is saved in appropriate history.
 | 
						|
 | 
						|
More Mode
 | 
						|
       This is the mode that appears when status bar content is so big that it
 | 
						|
       doesn't	fit  on the screen.  One can identify the mode by "-- More --"
 | 
						|
       message at the bottom.
 | 
						|
 | 
						|
       The following keys are handled in this mode:
 | 
						|
 | 
						|
 | 
						|
       Enter, Ctrl-J, j or Down
 | 
						|
	      scroll one line down.
 | 
						|
 | 
						|
       Backspace, k or Up
 | 
						|
	      scroll one line up.
 | 
						|
 | 
						|
 | 
						|
       d      scroll one page (half of a screen) down.
 | 
						|
 | 
						|
       u      scroll one page (half of a screen) up.
 | 
						|
 | 
						|
 | 
						|
       Space, f or PageDown
 | 
						|
	      scroll down a screen.
 | 
						|
 | 
						|
       b or PageUp
 | 
						|
	      scroll up a screen.
 | 
						|
 | 
						|
 | 
						|
       G      scroll to the bottom.
 | 
						|
 | 
						|
       g      scroll to the top.
 | 
						|
 | 
						|
 | 
						|
       q, Escape or Ctrl-C
 | 
						|
	      quit the mode.
 | 
						|
 | 
						|
       :      switch to command-line mode.
 | 
						|
 | 
						|
Commands
 | 
						|
       Commands are executed with :command_name<Enter>
 | 
						|
 | 
						|
       Commented out lines should start with  the  double  quote  symbol  ("),
 | 
						|
       which  may be preceded by whitespace characters intermixed with colons.
 | 
						|
       Inline comments can be added at the end of the line after double	 quote
 | 
						|
       symbol,	only  last  line of a multi-line command can contain such com-
 | 
						|
       ment.  Not all commands support inline comments as  their  syntax  con-
 | 
						|
       flicts  with  names of registers and fields where double quotes are al-
 | 
						|
       lowed.
 | 
						|
 | 
						|
       Most of the commands have two forms: complete and the short one.	 Exam-
 | 
						|
       ple:
 | 
						|
 | 
						|
	 :noh[lsearch]
 | 
						|
 | 
						|
       This  means  the	 complete  command is nohlsearch, and the short one is
 | 
						|
       noh.
 | 
						|
 | 
						|
       Most of command-line commands completely reset selection in the current
 | 
						|
       view.  However, there are several exceptions:
 | 
						|
 | 
						|
	 - `:invert s` most likely leaves some files selected;
 | 
						|
 | 
						|
	 - :normal command (when it doesn't leave command-line mode);
 | 
						|
 | 
						|
	 - :if	and :else commands don't affect selection on successful execu-
 | 
						|
	   tion.
 | 
						|
 | 
						|
       '|' can be used to separate commands, so you can give multiple commands
 | 
						|
       in  one	line.	If you want to use '|' in an argument, precede it with
 | 
						|
       '\'.
 | 
						|
 | 
						|
       These commands see '|' as part of their arguments even  when  it's  es-
 | 
						|
       caped:
 | 
						|
 | 
						|
	   :[range]!
 | 
						|
	   :autocmd
 | 
						|
	   :cabbrev
 | 
						|
	   :cmap
 | 
						|
	   :cnoreabbrev
 | 
						|
	   :cnoremap
 | 
						|
	   :command
 | 
						|
	   :dmap
 | 
						|
	   :dnoremap
 | 
						|
	   :filetype
 | 
						|
	   :fileviewer
 | 
						|
	   :filextype
 | 
						|
	   :map
 | 
						|
	   :mmap
 | 
						|
	   :mnoremap
 | 
						|
	   :nmap
 | 
						|
	   :nnoremap
 | 
						|
	   :noremap
 | 
						|
	   :normal
 | 
						|
	   :qmap
 | 
						|
	   :qnoremap
 | 
						|
	   :vmap
 | 
						|
	   :vnoremap
 | 
						|
	   :wincmd
 | 
						|
	   :windo
 | 
						|
	   :winrun
 | 
						|
 | 
						|
       To  be able to use another command after one of these, wrap it with the
 | 
						|
       :execute command.  An example:
 | 
						|
 | 
						|
	 if filetype('.') == 'reg' | execute '!!echo regular file' | endif
 | 
						|
 | 
						|
       :[count]
 | 
						|
 | 
						|
       :number
 | 
						|
	      move to the file number.
 | 
						|
	      :12 would move to the 12th file in the list.
 | 
						|
	      :0 move to the top of the list.
 | 
						|
	      :$ move to the bottom of the list.
 | 
						|
 | 
						|
       :[count]command
 | 
						|
	      The  only	 builtin  :[count]command  are	:[count]d[elete]   and
 | 
						|
	      :[count]y[ank].
 | 
						|
 | 
						|
       :d3    would  delete  three files starting at the current file position
 | 
						|
	      moving down.
 | 
						|
 | 
						|
       :3d    would delete one file at the third line in the list.
 | 
						|
 | 
						|
       :command [args]
 | 
						|
 | 
						|
       :[range]!program
 | 
						|
	      execute command via shell.  Accepts macros.
 | 
						|
 | 
						|
       :[range]!command &
 | 
						|
 | 
						|
       same as above, but the command is run in the  background	 using	vifm's
 | 
						|
       means.
 | 
						|
 | 
						|
       Programs that write to stdout like "ls" create an error message showing
 | 
						|
       partial output of the command.
 | 
						|
 | 
						|
       Note the space before ampersand symbol, if you omit it, command will be
 | 
						|
       run in the background using job control of your shell.
 | 
						|
 | 
						|
       Accepts macros.
 | 
						|
 | 
						|
						:!!
 | 
						|
 | 
						|
       :[range]!!command
 | 
						|
	      same as :!, but pauses before returning.
 | 
						|
 | 
						|
       :!!    repeat the last command.
 | 
						|
 | 
						|
						:alink
 | 
						|
 | 
						|
       :[range]alink[!?]
 | 
						|
	      create absolute symbolic links to files in directory of inactive
 | 
						|
	      view.  With "?"  prompts for destination file names in  an  edi-
 | 
						|
	      tor.  "!" forces overwrite.
 | 
						|
 | 
						|
       :[range]alink[!] path
 | 
						|
	      create  absolute	symbolic links to files in directory specified
 | 
						|
	      by the path (absolute  or	 relative  to  directory  of  inactive
 | 
						|
	      view).
 | 
						|
 | 
						|
       :[range]alink[!] name1 name2...
 | 
						|
	      create  absolute	symbolic  links of files in directory of other
 | 
						|
	      view giving each next link a corresponding name from  the	 argu-
 | 
						|
	      ment list.
 | 
						|
 | 
						|
						:apropos
 | 
						|
 | 
						|
       :apropos keyword...
 | 
						|
	      create a menu of items returned by the apropos command.  Select-
 | 
						|
	      ing an item in the menu opens corresponding man  page.   By  de-
 | 
						|
	      fault  the  command  relies  on  the external "apropos" utility,
 | 
						|
	      which can be customized by altering value	 of  the  'aproposprg'
 | 
						|
	      option.
 | 
						|
 | 
						|
						:autocmd
 | 
						|
 | 
						|
       :au[tocmd] {event} {pat} {cmd}
 | 
						|
	      register autocommand for the {event}, which can be:
 | 
						|
		- DirEnter - triggered after directory is changed
 | 
						|
	      Event name is case insensitive.
 | 
						|
 | 
						|
	      {pat}  is	 a  comma-separated  list  of modified globs patterns,
 | 
						|
	      which can contain tilde or environment variables.	 All paths use
 | 
						|
	      slash  ('/') as directory separator.  The pattern can start with
 | 
						|
	      a '!', which negates it.	Patterns that do not  contain  slashes
 | 
						|
	      are  matched  against the last item of the path only (e.g. "dir"
 | 
						|
	      in "/path/dir").	Literal comma can be entered by	 doubling  it.
 | 
						|
	      Two modifications to globs matching are as follows:
 | 
						|
		-  *  - never matches a slash (i.e., can signify single direc-
 | 
						|
	      tory level)
 | 
						|
		- ** - matches any character (i.e., can match  path  of	 arbi-
 | 
						|
	      trary depth)
 | 
						|
 | 
						|
	      {cmd} is a :command or several of them separated with '|'.
 | 
						|
 | 
						|
	      Examples of patterns:
 | 
						|
		- conf.d      - matches conf.d directory anywhere
 | 
						|
		- *.d	      - matches directories ending with ".d" anywhere
 | 
						|
		- **.git      - matches something.git, but not .git anywhere
 | 
						|
		- **/.git/**  - matches /path/.git/objects, but not /path/.git
 | 
						|
		-  **/.git/**/ - matches /path/.git/ only (because of trailing
 | 
						|
	      slash)
 | 
						|
		-  /etc/*	-  matches  /etc/conf.d/,  /etc/X11,  but  not
 | 
						|
	      /etc/X11/fs
 | 
						|
		- /etc/**/*.d - matches /etc/conf.d, /etc/X11/conf.d, etc.
 | 
						|
		- /etc/**/*   - matches /etc/ itself and any file below it
 | 
						|
		- /etc/**/**  - matches /etc/ itself and any file below it
 | 
						|
 | 
						|
       :au[tocmd] [{event}] [{pat}]
 | 
						|
	      list  those autocommands that match given event-pattern combina-
 | 
						|
	      tion.
 | 
						|
	      {event} and {pat} can be omitted to list all  autocommands.   To
 | 
						|
	      list  any autocommands for specific pattern one can use * place-
 | 
						|
	      holder in place of {event}.
 | 
						|
 | 
						|
       :au[tocmd]! [{event}] [{pat}]
 | 
						|
	      remove autocommands that match given event-pattern  combination.
 | 
						|
	      Syntax is the same as for listing above.
 | 
						|
 | 
						|
       :apropos
 | 
						|
	      repeat last :apropos command.
 | 
						|
 | 
						|
						:bmark
 | 
						|
 | 
						|
       :bmark tag1 [tag2 [tag3...]]
 | 
						|
	      bookmark current directory with specified tags.
 | 
						|
 | 
						|
       :bmark! path tag1 [tag2 [tag3...]]
 | 
						|
	      same  as :bmark, but allows bookmarking specific path instead of
 | 
						|
	      current directory.  This is for use in vifmrc and for  bookmark-
 | 
						|
	      ing files.
 | 
						|
 | 
						|
	      Path  can contain macros that expand to single path (%c, %C, %d,
 | 
						|
	      %D) or those that can expand to multiple paths, but contain only
 | 
						|
	      one  (%f, %F, %rx).  The latter is done for convenience on using
 | 
						|
	      the command interactively.  Complex macros that  include	spaces
 | 
						|
	      (e.g. "%c:gs/ /_") should be escaped.
 | 
						|
 | 
						|
						:bmarks
 | 
						|
 | 
						|
       :bmarks
 | 
						|
	      display all bookmarks in a menu.
 | 
						|
 | 
						|
       :bmarks [tag1 [tag2...]]
 | 
						|
	      display  menu  of	 bookmarks  that  include all of the specified
 | 
						|
	      tags.
 | 
						|
 | 
						|
						:bmgo
 | 
						|
 | 
						|
       :bmgo [tag1 [tag2...]]
 | 
						|
	      when there are more than one match acts  exactly	like  :bmarks,
 | 
						|
	      otherwise	 navigates  to	single match immediately (and fails if
 | 
						|
	      there is no match).
 | 
						|
 | 
						|
						:cabbrev
 | 
						|
 | 
						|
       :ca[bbrev]
 | 
						|
	      display menu of command-line mode abbreviations.
 | 
						|
 | 
						|
       :ca[bbrev] lhs-prefix
 | 
						|
	      display command-line mode	 abbreviations	which  left-hand  side
 | 
						|
	      starts with specified prefix.
 | 
						|
 | 
						|
       :ca[bbrev] lhs rhs
 | 
						|
	      register	new  or	 overwrites existing abbreviation for command-
 | 
						|
	      line mode.  rhs can contain spaces and any special sequences ac-
 | 
						|
	      cepted  in  rhs of mappings (see "Mappings" section below).  Ab-
 | 
						|
	      breviations are expanded non-recursively.
 | 
						|
 | 
						|
						:cnoreabbrev
 | 
						|
 | 
						|
       :cnorea[bbrev]
 | 
						|
	      display menu of command-line mode abbreviations.
 | 
						|
 | 
						|
       :cnorea[bbrev] lhs-prefix
 | 
						|
	      display command-line mode	 abbreviations	which  left-hand  side
 | 
						|
	      starts with specified prefix.
 | 
						|
 | 
						|
       :cnorea[bbrev] lhs rhs
 | 
						|
	      same  as :cabbrev, but mappings in rhs are ignored during expan-
 | 
						|
	      sion.
 | 
						|
 | 
						|
						:cd
 | 
						|
 | 
						|
       :cd or :cd ~ or :cd $HOME
 | 
						|
	      change to home directory.
 | 
						|
 | 
						|
       :cd -  go to the last visited directory.
 | 
						|
 | 
						|
       :cd ~/dir
 | 
						|
	      change directory to ~/dir.
 | 
						|
 | 
						|
       :cd /curr/dir /other/dir
 | 
						|
	      change directory of the current pane to /curr/dir and  directory
 | 
						|
	      of  the other pane to /other/dir.	 Relative paths are assumed to
 | 
						|
	      be relative to directory of current view.	 Command won't fail if
 | 
						|
	      one  of directories is invalid.  All forms of the command accept
 | 
						|
	      macros.
 | 
						|
 | 
						|
       :cd! /dir
 | 
						|
	      same as :cd /dir /dir.
 | 
						|
 | 
						|
						:cds
 | 
						|
 | 
						|
       :cds[!] pattern string
 | 
						|
	      navigate to path obtained by substituting first match in current
 | 
						|
	      path.   Arguments	 can include slashes, but starting first argu-
 | 
						|
	      ment with a separator will activate below form of	 the  command.
 | 
						|
	      Specifying "!"  changes directory of both panes.
 | 
						|
 | 
						|
       Available flags:
 | 
						|
 | 
						|
	 - i  -	 ignore case (the 'ignorecase' and 'smartcase' options are not
 | 
						|
	   used)
 | 
						|
 | 
						|
	 - I - don't ignore case (the 'ignorecase' and 'smartcase' options are
 | 
						|
	   not used)
 | 
						|
 | 
						|
       :cds[!]/pattern/string/[flags]
 | 
						|
	      same as above, but with :substitute-like syntax.	Other punctua-
 | 
						|
	      tion characters can be used as separators.
 | 
						|
 | 
						|
						:change
 | 
						|
 | 
						|
       :c[hange]
 | 
						|
	      create a menu window to alter a files properties.
 | 
						|
 | 
						|
						:chmod
 | 
						|
 | 
						|
       :[range]chmod
 | 
						|
	      display file attributes (permission on *nix  and	properties  on
 | 
						|
	      Windows) change dialog.
 | 
						|
 | 
						|
       :[range]chmod[!] arg...
 | 
						|
	      only for *nix
 | 
						|
	      change permissions for files.  See `man 1 chmod` for arg format.
 | 
						|
	      "!" means set permissions recursively.
 | 
						|
 | 
						|
						:chown
 | 
						|
 | 
						|
       :[range]chown
 | 
						|
	      only for *nix
 | 
						|
	      same as co key in normal mode.
 | 
						|
 | 
						|
       :[range]chown [user][:][group]
 | 
						|
	      only for *nix
 | 
						|
	      change owner and/or group of files.  Operates on directories re-
 | 
						|
	      cursively.
 | 
						|
 | 
						|
						:clone
 | 
						|
 | 
						|
       :[range]clone[!?]
 | 
						|
	      clones  files  in current directory.  With "?" vifm will open vi
 | 
						|
	      to edit file names.  "!" forces overwrite.  Macros are expanded.
 | 
						|
 | 
						|
       :[range]clone[!] path
 | 
						|
	      clones files to directory specified with the path	 (absolute  or
 | 
						|
	      relative	to  current directory).	 "!" forces overwrite.	Macros
 | 
						|
	      are expanded.
 | 
						|
 | 
						|
       :[range]clone[!] name1 name2...
 | 
						|
	      clones files in current directory giving each next clone a  cor-
 | 
						|
	      responding  name	from the argument list.	 "!" forces overwrite.
 | 
						|
	      Macros are expanded.
 | 
						|
 | 
						|
						:colorscheme
 | 
						|
 | 
						|
       :colo[rscheme]?
 | 
						|
	      print current color scheme name on the status bar.
 | 
						|
 | 
						|
       :colo[rscheme]
 | 
						|
	      display a menu with a list of available color schemes.  You  can
 | 
						|
	      choose primary color scheme here.	 It is used for view if no di-
 | 
						|
	      rectory specific colorscheme fits current path.  It's also  used
 | 
						|
	      to set border color (except view titles) and colors in menus and
 | 
						|
	      dialogs.
 | 
						|
 | 
						|
       :colo[rscheme] color_scheme_name
 | 
						|
	      change primary color scheme to color_scheme_name.	  In  case  of
 | 
						|
	      errors  (e.g.  some colors are not supported by terminal) either
 | 
						|
	      nothing is changed or color scheme is reset to builtin colors to
 | 
						|
	      ensure that TUI is left in a usable state.
 | 
						|
 | 
						|
       :colo[rscheme] color_scheme_name directory
 | 
						|
	      associate	 directory with the color scheme.  The directory argu-
 | 
						|
	      ment can be either absolute or relative path  when  :colorscheme
 | 
						|
	      command  is  executed from command line, but mandatory should be
 | 
						|
	      an absolute path when the command is executed in scripts	loaded
 | 
						|
	      at startup (until vifm is completely loaded).
 | 
						|
 | 
						|
       :colo[rscheme] color_scheme_name color_scheme_name...
 | 
						|
	      loads  the first color scheme in the order given that exists and
 | 
						|
	      is supported by the terminal.  If none matches, current one  re-
 | 
						|
	      mains unchanged.	For example:
 | 
						|
 | 
						|
		" use a separate color scheme for panes which are inside FUSE mounts
 | 
						|
		execute 'colorscheme in-fuse' &fusehome
 | 
						|
 | 
						|
						:comclear
 | 
						|
 | 
						|
       :comc[lear]
 | 
						|
	      remove all user defined commands.
 | 
						|
 | 
						|
						:command
 | 
						|
 | 
						|
       :com[mand]
 | 
						|
	      display a menu of user commands.
 | 
						|
 | 
						|
       :com[mand] beginning
 | 
						|
	      display user defined commands that start with the beginning.
 | 
						|
 | 
						|
       :com[mand] name action
 | 
						|
	      set a new user command.
 | 
						|
	      Trying  to  use  a reserved command name will result in an error
 | 
						|
	      message.
 | 
						|
	      Use :com[mand]! to overwrite a previously set command.
 | 
						|
	      Unlike vim user commands do not have to  start  with  a  capital
 | 
						|
	      letter.	User commands are run in a shell by default.  To run a
 | 
						|
	      command in the background you must set it as a  background  com-
 | 
						|
	      mand with & at the end of the commands action (:com rm rm %f &).
 | 
						|
	      Command name cannot contain numbers or special  symbols  (except
 | 
						|
	      '?' and '!').
 | 
						|
 | 
						|
       :com[mand] name /pattern
 | 
						|
	      set search pattern.
 | 
						|
 | 
						|
       :com[mand] name =pattern
 | 
						|
	      set local filter value.
 | 
						|
 | 
						|
       :com[mand] name filter{:filter args}
 | 
						|
	      set file name filter (see :filter command description).  For ex-
 | 
						|
	      ample:
 | 
						|
 | 
						|
		" display only audio files
 | 
						|
		:command onlyaudio filter/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i
 | 
						|
		" display everything except audio files
 | 
						|
		:command noaudio filter!/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i
 | 
						|
 | 
						|
       :com[mand] cmd :commands
 | 
						|
	      set kind of an alias for internal command	 (like	in  a  shell).
 | 
						|
	      Passes  range  given  to alias to an aliased command, so running
 | 
						|
	      :%cp after
 | 
						|
		:command cp :copy %a
 | 
						|
	      equals
 | 
						|
		:%copy
 | 
						|
 | 
						|
						:compare
 | 
						|
 | 
						|
       :compare [byname |  bysize  |  bycontents  |  listall  |	 listunique  |
 | 
						|
       listdups | ofboth | ofone | groupids | grouppaths | skipempty]...
 | 
						|
	      compare  files in one or two views according the arguments.  The
 | 
						|
	      default is "bycontents listall ofboth grouppaths".  See "Compare
 | 
						|
	      views"  section below for details.  Tree structure is incompati-
 | 
						|
	      ble with alternative representations, so values of 'lsview'  and
 | 
						|
	      'millerview' options are ignored.
 | 
						|
 | 
						|
						:copen
 | 
						|
 | 
						|
       :cope[n]
 | 
						|
	      opens menu with contents of the last displayed menu with naviga-
 | 
						|
	      tion to files by default, if any.
 | 
						|
 | 
						|
						:copy
 | 
						|
 | 
						|
       :[range]co[py][!?][ &]
 | 
						|
	      copy files to directory of other view.   With  "?"  prompts  for
 | 
						|
	      destination file names in an editor.  "!" forces overwrite.
 | 
						|
 | 
						|
       :[range]co[py][!] path[ &]
 | 
						|
	      copy  files  to  directory  specified with the path (absolute or
 | 
						|
	      relative to directory of other view).  "!" forces overwrite.
 | 
						|
 | 
						|
       :[range]co[py][!] name1 name2...[ &]
 | 
						|
	      copy files to directory of other view giving each	 next  file  a
 | 
						|
	      corresponding  name  from	 the  argument list.  "!" forces over-
 | 
						|
	      write.
 | 
						|
 | 
						|
						:cquit
 | 
						|
 | 
						|
       :cq[uit][!]
 | 
						|
	      same  as	:quit,	but  also  aborts   directory	choosing   via
 | 
						|
	      --choose-dir  (empties  output  file)  and returns non-zero exit
 | 
						|
	      code.
 | 
						|
 | 
						|
						:cunabbrev
 | 
						|
 | 
						|
       :cuna[bbrev] lhs
 | 
						|
	      unregister command-line mode abbreviation by its lhs.
 | 
						|
 | 
						|
       :cuna[bbrev] rhs
 | 
						|
	      unregister command-line mode abbreviation by its	rhs,  so  that
 | 
						|
	      abbreviation could be removed even after expansion.
 | 
						|
 | 
						|
						:delbmarks
 | 
						|
 | 
						|
       :delbmarks
 | 
						|
	      remove bookmarks from current directory.
 | 
						|
 | 
						|
       :delbmarks tag1 [tag2 [tag3...]]
 | 
						|
	      remove set of bookmarks that include all of the specified tags.
 | 
						|
 | 
						|
       :delbmarks!
 | 
						|
	      remove all bookmarks.
 | 
						|
 | 
						|
       :delbmarks! path1 [path2 [path3...]]
 | 
						|
	      remove bookmarks of listed paths.
 | 
						|
 | 
						|
						:delcommand
 | 
						|
 | 
						|
       :delc[ommand] user_command
 | 
						|
	      remove user defined command named user_command.
 | 
						|
 | 
						|
						:delete
 | 
						|
 | 
						|
       :[range]d[elete][!][ &]
 | 
						|
	      delete  selected	file  or  files.   "!"	means complete removal
 | 
						|
	      (omitting trash).
 | 
						|
 | 
						|
       :[range]d[elete][!] [reg] [count][ &]
 | 
						|
	      delete selected or [count] files to the reg register.  "!" means
 | 
						|
	      complete removal (omitting trash).
 | 
						|
 | 
						|
						:delmarks
 | 
						|
 | 
						|
       :delm[arks]!
 | 
						|
	      delete all marks.
 | 
						|
 | 
						|
       :delm[arks] marks ...
 | 
						|
	      delete  specified	 marks,	 each  argument is treated as a set of
 | 
						|
	      marks.
 | 
						|
 | 
						|
						:display
 | 
						|
 | 
						|
       :di[splay]
 | 
						|
	      display menu with registers content.
 | 
						|
 | 
						|
       :di[splay] list ...
 | 
						|
	      display the contents of the numbered and	named  registers  that
 | 
						|
	      are  mentioned in list (for example "az to display "", "a and "z
 | 
						|
	      content).
 | 
						|
 | 
						|
						:dirs
 | 
						|
 | 
						|
       :dirs  display directory stack.
 | 
						|
 | 
						|
						:echo
 | 
						|
 | 
						|
       :ec[ho] [<expr>...]
 | 
						|
	      evaluate each argument as an expression and  output  them	 sepa-
 | 
						|
	      rated  with  a space.  See help on :let command for a definition
 | 
						|
	      of <expr>.
 | 
						|
 | 
						|
						:edit
 | 
						|
 | 
						|
       :[range]e[dit] [file...]
 | 
						|
	      open selected or passed file(s) in editor.  Macros and  environ-
 | 
						|
	      ment variables are expanded.
 | 
						|
 | 
						|
						:else
 | 
						|
 | 
						|
       :el[se]
 | 
						|
	      execute  commands until next matching :endif if all other condi-
 | 
						|
	      tions didn't match.  See also help on :if and :endif commands.
 | 
						|
 | 
						|
						:elseif
 | 
						|
 | 
						|
       :elsei[f] {expr1}
 | 
						|
	      execute commands until next matching :elseif, :else or :endif if
 | 
						|
	      conditions  of  previous :if and :elseif branches were evaluated
 | 
						|
	      to zero.	See also help on :if and :endif commands.
 | 
						|
 | 
						|
						:empty
 | 
						|
 | 
						|
       :empty permanently remove files from all existing non-empty  trash  di-
 | 
						|
	      rectories (see "Trash directory" section below).	Trash directo-
 | 
						|
	      ries which are specified via %r and/or %u also get deleted  com-
 | 
						|
	      pletely.	 Also remove all operations from undolist that have no
 | 
						|
	      sense after :empty and remove all records	 about	files  located
 | 
						|
	      inside  directories from all registers.  Removal is performed as
 | 
						|
	      background task with undetermined amount	of  work  and  can  be
 | 
						|
	      checked via :jobs menu.
 | 
						|
 | 
						|
						:endif
 | 
						|
 | 
						|
       :en[dif]
 | 
						|
	      end conditional block.  See also help on :if and :else commands.
 | 
						|
 | 
						|
						:execute
 | 
						|
 | 
						|
       :exe[cute] [<expr>...]
 | 
						|
	      evaluate	each  argument as an expression and join results sepa-
 | 
						|
	      rated by a space to get a single string which is	then  executed
 | 
						|
	      as a command-line command.  See help on :let command for a defi-
 | 
						|
	      nition of <expr>.
 | 
						|
 | 
						|
						:exit
 | 
						|
 | 
						|
       :exi[t][!]
 | 
						|
	      same as :quit.
 | 
						|
 | 
						|
						:file
 | 
						|
 | 
						|
       :f[ile][ &]
 | 
						|
	      display menu of programs set for the file type  of  the  current
 | 
						|
	      file.  " &" forces running associated program in background.
 | 
						|
 | 
						|
       :f[ile] arg[ &]
 | 
						|
	      run associated command that begins with the arg skipping opening
 | 
						|
	      menu.  " &" forces running associated program in background.
 | 
						|
 | 
						|
						:filetype
 | 
						|
 | 
						|
       :filet[ype] pattern-list [{descr}]def_prog[ &],[{descr}]prog2[ &],...
 | 
						|
	      associate given program list to each of the  patterns.   Associ-
 | 
						|
	      ated  program  (command) is used by handlers of l and Enter keys
 | 
						|
	      (and also in the :file menu).  If you need to insert comma  into
 | 
						|
	      command  just  double it (",,").	Space followed by an ampersand
 | 
						|
	      as two last characters of a command means running of the command
 | 
						|
	      in  the  background.   Optional description can be given to each
 | 
						|
	      command to ease understanding of what command  will  do  in  the
 | 
						|
	      :file menu.  Vifm will try the rest of the programs for an asso-
 | 
						|
	      ciation when  the	 default  isn't	 found.	  When	program	 entry
 | 
						|
	      doesn't  contain any of vifm macros, name of current file is ap-
 | 
						|
	      pended as if program entry ended with %c macro on *nix  and  %"c
 | 
						|
	      on  Windows.   On	 Windows path to executables containing spaces
 | 
						|
	      can (and should be for correct work with such paths)  be	double
 | 
						|
	      quoted.	See  "Patterns"	 section below for pattern definition.
 | 
						|
	      See also "Automatic FUSE mounts" section below.  Example for zip
 | 
						|
	      archives and several actions:
 | 
						|
 | 
						|
		filetype *.zip,*.jar,*.war,*.ear
 | 
						|
		       \ {Mount with fuse-zip}
 | 
						|
		       \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR,
 | 
						|
		       \ {View contents}
 | 
						|
		       \ zip -sf %c | less,
 | 
						|
		       \ {Extract here}
 | 
						|
		       \ tar -xf %c,
 | 
						|
 | 
						|
	      Note  that  on  OS X when `open` is used to call an app, vifm is
 | 
						|
	      unable to check whether that app is actually available.	So  if
 | 
						|
	      automatic	 skipping  of programs that aren't there is desirable,
 | 
						|
	      `open` should be replaced with an actual command.
 | 
						|
 | 
						|
       :filet[ype] filename
 | 
						|
	      list (in menu mode) currently  registered	 patterns  that	 match
 | 
						|
	      specified file name.  Same as ":filextype filename".
 | 
						|
 | 
						|
						:filextype
 | 
						|
 | 
						|
       :filex[type] pattern-list [{ description }] def_program,program2,...
 | 
						|
	      same as :filetype, but this command is ignored if not running in
 | 
						|
	      X.  In X :filextype is equal to :filetype.  See "Patterns"  sec-
 | 
						|
	      tion  below  for	pattern	 definition.  See also "Automatic FUSE
 | 
						|
	      mounts" section below.
 | 
						|
 | 
						|
	      For example, consider the following settings  (the  order	 might
 | 
						|
	      seem strange, but it's for the demonstration purpose):
 | 
						|
 | 
						|
		filetype *.html,*.htm
 | 
						|
			\ {View in lynx}
 | 
						|
			\ lynx
 | 
						|
		filextype *.html,*.htm
 | 
						|
			\ {Open with dwb}
 | 
						|
			\ dwb %f %i &,
 | 
						|
		filetype *.html,*.htm
 | 
						|
			\ {View in links}
 | 
						|
			\ links
 | 
						|
		filextype *.html,*.htm
 | 
						|
			\ {Open with firefox}
 | 
						|
			\ firefox %f &,
 | 
						|
			\ {Open with uzbl}
 | 
						|
			\ uzbl-browser %f %i &,
 | 
						|
 | 
						|
	      If  you're using vifm inside a terminal emulator that is running
 | 
						|
	      in graphical environment (when X is used on *nix; always on Win-
 | 
						|
	      dows), vifm attempts to run application in this order:
 | 
						|
 | 
						|
	      1. lynx
 | 
						|
	      2. dwb
 | 
						|
	      3. links
 | 
						|
	      4. firefox
 | 
						|
	      5. uzbl
 | 
						|
 | 
						|
	      If  there is no graphical environment (checked presence of $DIS-
 | 
						|
	      PLAY environment variable on *nix; never	happens	 on  Windows),
 | 
						|
	      the list will look like:
 | 
						|
 | 
						|
	      1. lynx
 | 
						|
	      2. links
 | 
						|
 | 
						|
	      Just as if all :filextype commands were not there.
 | 
						|
 | 
						|
	      The  purpose of such differentiation is to allow comfortable use
 | 
						|
	      of vifm with same settings in desktop environment/through remote
 | 
						|
	      connection (SSH)/in native console.
 | 
						|
 | 
						|
	      Note  that  on OS X $DISPLAY isn't defined unless you define it,
 | 
						|
	      so :filextype should be used only if you set  $DISPLAY  in  some
 | 
						|
	      way.
 | 
						|
 | 
						|
       :filext[ype] filename
 | 
						|
	      list  (in	 menu  mode)  currently registered patterns that match
 | 
						|
	      specified file name.  Same as ":filetype filename".
 | 
						|
 | 
						|
						:fileviewer
 | 
						|
 | 
						|
       :filev[iewer] pattern-list command1,command2,...
 | 
						|
	      register specified list of commands as viewers for each  of  the
 | 
						|
	      patterns.	 Viewer is a command which output is captured and dis-
 | 
						|
	      played in one of the panes of vifm after pressing "e" or running
 | 
						|
	      :view  command.	When  the  command doesn't contain any of vifm
 | 
						|
	      macros, name of current file is appended	as  if	command	 ended
 | 
						|
	      with  %c	macro.	Comma escaping and missing commands processing
 | 
						|
	      rules as for :filetype apply to this  command.   See  "Patterns"
 | 
						|
	      section below for pattern definition.
 | 
						|
 | 
						|
	      Example for zip archives:
 | 
						|
 | 
						|
		fileviewer *.zip,*.jar,*.war,*.ear zip -sf %c, echo "No zip to preview:"
 | 
						|
 | 
						|
       :filev[iewer] filename
 | 
						|
	      list  (in	 menu  mode)  currently registered patterns that match
 | 
						|
	      specified filename.
 | 
						|
 | 
						|
						:filter
 | 
						|
 | 
						|
       :filter[!] {pattern}
 | 
						|
	      filter files matching the pattern	 out  of  directory  listings.
 | 
						|
	      '!'  controls  state  of	filter inversion after updating filter
 | 
						|
	      value (see also 'cpoptions'  description).   Filter  is  matched
 | 
						|
	      case sensitively on *nix and case insensitively on Windows.  See
 | 
						|
	      "File Filters" and "Patterns" sections.
 | 
						|
 | 
						|
	      Example:
 | 
						|
 | 
						|
		" filter all files ending in .o from the filelist.
 | 
						|
		:filter /.o$/
 | 
						|
 | 
						|
 | 
						|
       :filter[!] {empty-pattern}
 | 
						|
	      same as above, but use last search pattern as pattern value.
 | 
						|
 | 
						|
	      Example:
 | 
						|
 | 
						|
		:filter //I
 | 
						|
 | 
						|
 | 
						|
       :filter
 | 
						|
	      reset filter (set it to an empty string) and show all files.
 | 
						|
 | 
						|
       :filter!
 | 
						|
	      same as :invert.
 | 
						|
 | 
						|
       :filter?
 | 
						|
	      show information on local, name and auto filters.
 | 
						|
 | 
						|
						:find
 | 
						|
 | 
						|
       :[range]fin[d] pattern
 | 
						|
	      display results of find command in the menu.  Searches among se-
 | 
						|
	      lected  files  if	 any.  Accepts macros.	By default the command
 | 
						|
	      relies on the external "find" utility, which can	be  customized
 | 
						|
	      by altering value of the 'findprg' option.
 | 
						|
 | 
						|
       :[range]fin[d] -opt...
 | 
						|
	      same  as	:find  above,  but  user  defines  all find arguments.
 | 
						|
	      Searches among selected files if any.
 | 
						|
 | 
						|
       :[range]fin[d] path -opt...
 | 
						|
	      same as :find above, but user defines all find  arguments.   Ig-
 | 
						|
	      nores selection and range.
 | 
						|
 | 
						|
       :[range]fin[d]
 | 
						|
	      repeat last :find command.
 | 
						|
 | 
						|
						:finish
 | 
						|
 | 
						|
       :fini[sh]
 | 
						|
	      stop  sourcing a script. Can only be used in a vifm script file.
 | 
						|
	      This is a quick way to skip the rest of the file.
 | 
						|
 | 
						|
						:goto
 | 
						|
 | 
						|
       :go[to]
 | 
						|
	      change directory if necessary and put specified path  under  the
 | 
						|
	      cursor.	The path should be existing non-root path.  Macros and
 | 
						|
	      environment variables are expanded.
 | 
						|
 | 
						|
						:grep
 | 
						|
 | 
						|
       :[range]gr[ep][!] pattern
 | 
						|
	      will show results of grep command in the menu.  Add "!"  to  re-
 | 
						|
	      quest inversion of search (look for lines that do not match pat-
 | 
						|
	      tern).  Searches among selected files if any and no range given.
 | 
						|
	      Ignores  binary files by default.	 By default the command relies
 | 
						|
	      on the external "grep" utility, which can be customized  by  al-
 | 
						|
	      tering value of the 'grepprg' option.
 | 
						|
 | 
						|
       :[range]gr[ep][!] -opt...
 | 
						|
	      same  as :grep above, but user defines all grep arguments, which
 | 
						|
	      are not escaped.	Searches among selected files if any.
 | 
						|
 | 
						|
       :[range]gr[ep][!]
 | 
						|
	      repeat last :grep command.  "!" of this command inverts  "!"  in
 | 
						|
	      repeated command.
 | 
						|
 | 
						|
						:help
 | 
						|
 | 
						|
       :h[elp]
 | 
						|
	      show the help file.
 | 
						|
 | 
						|
       :h[elp] argument
 | 
						|
	      is the same as using ':h argument' in vim.  Use vifm-<something>
 | 
						|
	      to get help on vifm (tab completion works).  This	 form  of  the
 | 
						|
	      command doesn't work when 'vimhelp' option is off.
 | 
						|
 | 
						|
						:hideui
 | 
						|
 | 
						|
       :hideui
 | 
						|
	      hide interface to show previous commands' output.
 | 
						|
 | 
						|
						:highlight
 | 
						|
 | 
						|
       :hi[ghlight]
 | 
						|
	      display information about all highlight groups active at the mo-
 | 
						|
	      ment.
 | 
						|
 | 
						|
       :hi[ghlight] clear
 | 
						|
	      reset all highlighting to builtin defaults and removed all file-
 | 
						|
	      name-specific rules.
 | 
						|
 | 
						|
       :hi[ghlight] clear ( {pat1,pat2,...} | /regexp/ )
 | 
						|
	      remove specified rule.
 | 
						|
 | 
						|
       :hi[ghlight] ( group-name | {pat1,pat2,...} | /regexp/ )
 | 
						|
	      display  information  on given highlight group or file name pat-
 | 
						|
	      tern of color scheme used in the active view.
 | 
						|
 | 
						|
       :hi[ghlight]  (	group-name  |	{pat1,pat2,...}	  |   /regexp/[iI]   )
 | 
						|
       cterm=style | ctermfg=color | ctermbg=color
 | 
						|
	      set   style  (cterm),  foreground	 (ctermfg)  or/and  background
 | 
						|
	      (ctermbg) parameters of highlight group or file name pattern for
 | 
						|
	      color scheme used in the active view.
 | 
						|
 | 
						|
       All style values as well as color names are case insensitive.
 | 
						|
 | 
						|
       Available style values (some of them can be combined):
 | 
						|
	- bold
 | 
						|
	- underline
 | 
						|
	- reverse or inverse
 | 
						|
	- standout
 | 
						|
	- italic (on unsupported systems becomes reverse)
 | 
						|
	- none
 | 
						|
 | 
						|
       Available group-name values:
 | 
						|
	- Win - color of all windows (views, dialogs, menus) and default color
 | 
						|
       for their content (e.g. regular files in views)
 | 
						|
	- AuxWin - color of auxiliary areas of windows
 | 
						|
	- OtherWin - color of inactive pane
 | 
						|
	- Border - color of vertical parts of the border
 | 
						|
	- TabLine - tab line color (for 'tabscope' set to "global")
 | 
						|
	- TabLineSel - color of the tip of selected tab (regardless  of	 'tab-
 | 
						|
       scope')
 | 
						|
	- TopLineSel - top line color of the current pane
 | 
						|
	- TopLine - top line color of the other pane
 | 
						|
	- CmdLine - the command line/status bar color
 | 
						|
	- ErrorMsg - color of error messages in the status bar
 | 
						|
	- StatusLine - color of the line above the status bar
 | 
						|
	- JobLine - color of job line that appears above the status line
 | 
						|
	- WildMenu - color of the wild menu items
 | 
						|
	- SuggestBox - color of key suggestion box
 | 
						|
	- CurrLine - line at cursor position in active view
 | 
						|
	- OtherLine - line at cursor position in inactive view
 | 
						|
	- Selected - color of selected files
 | 
						|
	- Directory - color of directories
 | 
						|
	- Link - color of symbolic links in the views
 | 
						|
	- BrokenLink - color of broken symbolic links
 | 
						|
	- Socket - color of sockets
 | 
						|
	- Device - color of block and character devices
 | 
						|
	- Executable - color of executable files
 | 
						|
	- Fifo - color of fifo pipes
 | 
						|
	-  CmpMismatch	- color of mismatched files in side-by-side comparison
 | 
						|
       by path
 | 
						|
	- User1..User9 - 9 colors which can be used via %* 'statusline' macro
 | 
						|
 | 
						|
       Available colors:
 | 
						|
	- -1 or default or none - default or transparent
 | 
						|
	- black	  and lightblack
 | 
						|
	- red	  and lightred
 | 
						|
	- green	  and lightgreen
 | 
						|
	- yellow  and lightyellow
 | 
						|
	- blue	  and lightblue
 | 
						|
	- magenta and lightmagenta
 | 
						|
	- cyan	  and lightcyan
 | 
						|
	- white	  and lightwhite
 | 
						|
	- 0-255 - corresponding colors from 256-color palette
 | 
						|
 | 
						|
       Light versions of colors are regular colors with	 bold  attribute  set.
 | 
						|
       So  order of arguments of :highlight command is important and it's bet-
 | 
						|
       ter to put "cterm" in front of others to prevent	 it  from  overwriting
 | 
						|
       attributes set by "ctermfg" or "ctermbg" arguments.
 | 
						|
 | 
						|
       For  convenience of color scheme authors xterm-like names for 256 color
 | 
						|
       palette	 is   also   supported.	   The	 mapping   is	 taken	  from
 | 
						|
       http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim	Dupli-
 | 
						|
       cated entries were altered by adding an underscore followed by  numeri-
 | 
						|
       cal suffix.
 | 
						|
 | 
						|
	 0 Black		  86 Aquamarine1	   172 Orange3
 | 
						|
	 1 Red			  87 DarkSlateGray2	   173 LightSalmon3_2
 | 
						|
	 2 Green		  88 DarkRed_2		   174 LightPink3
 | 
						|
	 3 Yellow		  89 DeepPink4_2	   175 Pink3
 | 
						|
	 4 Blue			  90 DarkMagenta	   176 Plum3
 | 
						|
	 5 Magenta		  91 DarkMagenta_2	   177 Violet
 | 
						|
	 6 Cyan			  92 DarkViolet		   178 Gold3_2
 | 
						|
	 7 White		  93 Purple		   179 LightGoldenrod3
 | 
						|
	 8 LightBlack		  94 Orange4_2		   180 Tan
 | 
						|
	 9 LightRed		  95 LightPink4		   181 MistyRose3
 | 
						|
	10 LightGreen		  96 Plum4		   182 Thistle3
 | 
						|
	11 LightYellow		  97 MediumPurple3	   183 Plum2
 | 
						|
	12 LightBlue		  98 MediumPurple3_2	   184 Yellow3_2
 | 
						|
	13 LightMagenta		  99 SlateBlue1		   185 Khaki3
 | 
						|
	14 LightCyan		 100 Yellow4		   186 LightGoldenrod2
 | 
						|
	15 LightWhite		 101 Wheat4		   187 LightYellow3
 | 
						|
	16 Grey0		 102 Grey53		   188 Grey84
 | 
						|
	17 NavyBlue		 103 LightSlateGrey	   189 LightSteelBlue1
 | 
						|
	18 DarkBlue		 104 MediumPurple	   190 Yellow2
 | 
						|
	19 Blue3		 105 LightSlateBlue	   191 DarkOliveGreen1
 | 
						|
	20  Blue3_2		   106	Yellow4_2	       192 DarkOliveG-
 | 
						|
       reen1_2
 | 
						|
	21 Blue1		 107 DarkOliveGreen3	   193 DarkSeaGreen1_2
 | 
						|
	22 DarkGreen		 108 DarkSeaGreen	   194 Honeydew2
 | 
						|
	23 DeepSkyBlue4		 109 LightSkyBlue3	   195 LightCyan1
 | 
						|
	24 DeepSkyBlue4_2	 110 LightSkyBlue3_2	   196 Red1
 | 
						|
	25 DeepSkyBlue4_3	 111 SkyBlue2		   197 DeepPink2
 | 
						|
	26 DodgerBlue3		 112 Chartreuse2_2	   198 DeepPink1
 | 
						|
	27 DodgerBlue2		 113 DarkOliveGreen3_2	   199 DeepPink1_2
 | 
						|
	28 Green4		 114 PaleGreen3_2	   200 Magenta2_2
 | 
						|
	29 SpringGreen4		 115 DarkSeaGreen3	   201 Magenta1
 | 
						|
	30 Turquoise4		 116 DarkSlateGray3	   202 OrangeRed1
 | 
						|
	31 DeepSkyBlue3		 117 SkyBlue1		   203 IndianRed1
 | 
						|
	32 DeepSkyBlue3_2	 118 Chartreuse1	   204 IndianRed1_2
 | 
						|
	33 DodgerBlue1		 119 LightGreen_2	   205 HotPink
 | 
						|
	34 Green3		 120 LightGreen_3	   206 HotPink_2
 | 
						|
	35 SpringGreen3		 121 PaleGreen1		   207 MediumOrchid1_2
 | 
						|
	36 DarkCyan		 122 Aquamarine1_2	   208 DarkOrange
 | 
						|
	37 LightSeaGreen	 123 DarkSlateGray1	   209 Salmon1
 | 
						|
	38 DeepSkyBlue2		 124 Red3		   210 LightCoral
 | 
						|
	39 DeepSkyBlue1		 125 DeepPink4_3	   211 PaleVioletRed1
 | 
						|
	40 Green3_2		 126 MediumVioletRed	   212 Orchid2
 | 
						|
	41 SpringGreen3_2	 127 Magenta3		   213 Orchid1
 | 
						|
	42 SpringGreen2		 128 DarkViolet_2	   214 Orange1
 | 
						|
	43 Cyan3		 129 Purple_2		   215 SandyBrown
 | 
						|
	44 DarkTurquoise	 130 DarkOrange3	   216 LightSalmon1
 | 
						|
	45 Turquoise2		 131 IndianRed		   217 LightPink1
 | 
						|
	46 Green1		 132 HotPink3		   218 Pink1
 | 
						|
	47 SpringGreen2_2	 133 MediumOrchid3	   219 Plum1
 | 
						|
	48 SpringGreen1		 134 MediumOrchid	   220 Gold1
 | 
						|
	49 MediumSpringGreen	 135  MediumPurple2	     221  LightGolden-
 | 
						|
       rod2_2
 | 
						|
	50  Cyan2		   136	DarkGoldenrod	      222 LightGolden-
 | 
						|
       rod2_3
 | 
						|
	51 Cyan1		 137 LightSalmon3	   223 NavajoWhite1
 | 
						|
	52 DarkRed		 138 RosyBrown		   224 MistyRose1
 | 
						|
	53 DeepPink4		 139 Grey63		   225 Thistle1
 | 
						|
	54 Purple4		 140 MediumPurple2_2	   226 Yellow1
 | 
						|
	55 Purple4_2		 141 MediumPurple1	   227 LightGoldenrod1
 | 
						|
	56 Purple3		 142 Gold3		   228 Khaki1
 | 
						|
	57 BlueViolet		 143 DarkKhaki		   229 Wheat1
 | 
						|
	58 Orange4		 144 NavajoWhite3	   230 Cornsilk1
 | 
						|
	59 Grey37		 145 Grey69		   231 Grey100
 | 
						|
	60 MediumPurple4	 146 LightSteelBlue3	   232 Grey3
 | 
						|
	61 SlateBlue3		 147 LightSteelBlue	   233 Grey7
 | 
						|
	62 SlateBlue3_2		 148 Yellow3		   234 Grey11
 | 
						|
	63 RoyalBlue1		 149 DarkOliveGreen3_3	   235 Grey15
 | 
						|
	64 Chartreuse4		 150 DarkSeaGreen3_2	   236 Grey19
 | 
						|
	65 DarkSeaGreen4	 151 DarkSeaGreen2	   237 Grey23
 | 
						|
	66 PaleTurquoise4	 152 LightCyan3		   238 Grey27
 | 
						|
	67 SteelBlue		 153 LightSkyBlue1	   239 Grey30
 | 
						|
	68 SteelBlue3		 154 GreenYellow	   240 Grey35
 | 
						|
	69 CornflowerBlue	 155 DarkOliveGreen2	   241 Grey39
 | 
						|
	70 Chartreuse3		 156 PaleGreen1_2	   242 Grey42
 | 
						|
	71 DarkSeaGreen4_2	 157 DarkSeaGreen2_2	   243 Grey46
 | 
						|
	72 CadetBlue		 158 DarkSeaGreen1	   244 Grey50
 | 
						|
	73 CadetBlue_2		 159 PaleTurquoise1	   245 Grey54
 | 
						|
	74 SkyBlue3		 160 Red3_2		   246 Grey58
 | 
						|
	75 SteelBlue1		 161 DeepPink3		   247 Grey62
 | 
						|
	76 Chartreuse3_2	 162 DeepPink3_2	   248 Grey66
 | 
						|
	77 PaleGreen3		 163 Magenta3_2		   249 Grey70
 | 
						|
	78 SeaGreen3		 164 Magenta3_3		   250 Grey74
 | 
						|
	79 Aquamarine3		 165 Magenta2		   251 Grey78
 | 
						|
	80 MediumTurquoise	 166 DarkOrange3_2	   252 Grey82
 | 
						|
	81 SteelBlue1_2		 167 IndianRed_2	   253 Grey85
 | 
						|
	82 Chartreuse2		 168 HotPink3_2		   254 Grey89
 | 
						|
	83 SeaGreen2		 169 HotPink2		   255 Grey93
 | 
						|
	84 SeaGreen1		 170 Orchid
 | 
						|
	85 SeaGreen1_2		 171 MediumOrchid1
 | 
						|
 | 
						|
       There are two colors (foreground and background) and only one bold  at-
 | 
						|
       tribute.	 Thus single bold attribute affects both colors when "reverse"
 | 
						|
       attribute is used in vifm run inside terminal emulator.	 At  the  same
 | 
						|
       time  linux  native console can handle boldness of foreground and back-
 | 
						|
       ground colors independently, but for consistency with  terminal	emula-
 | 
						|
       tors  this is available only implicitly by using light versions of col-
 | 
						|
       ors.  This behaviour might be changed in the future.
 | 
						|
 | 
						|
       Although vifm supports 256 colors in a sense they are supported	by  UI
 | 
						|
       drawing library, whether you will be able to use all of them highly de-
 | 
						|
       pends on your terminal.	To set up terminal properly,  make  sure  that
 | 
						|
       $TERM  in the environment you run vifm is set to name of 256-color ter-
 | 
						|
       minal  (on  *nixes  it  can  also  be  set  via	X   resources),	  e.g.
 | 
						|
       xterm-256color.	One can find list of available terminal names by list-
 | 
						|
       ing /usr/lib/terminfo/.	Number of colors supported  by	terminal  with
 | 
						|
       current settings can be checked via "tput colors" command.
 | 
						|
 | 
						|
       Here  is	 the hierarchy of highlight groups, which you need to know for
 | 
						|
       using transparency:
 | 
						|
	 JobLine
 | 
						|
	 SuggestBox
 | 
						|
	 StatusLine
 | 
						|
	   WildMenu
 | 
						|
	   User1..User9
 | 
						|
	 Border
 | 
						|
	 CmdLine
 | 
						|
	   ErrorMsg
 | 
						|
	 Win
 | 
						|
	   OtherWin
 | 
						|
	     AuxWin
 | 
						|
	       File name specific highlights
 | 
						|
		 Directory
 | 
						|
		 Link
 | 
						|
		 BrokenLink
 | 
						|
		 Socket
 | 
						|
		 Device
 | 
						|
		 Fifo
 | 
						|
		 Executable
 | 
						|
		   Selected
 | 
						|
		     CurrLine
 | 
						|
		     OtherLine
 | 
						|
	 TopLine
 | 
						|
	   TopLineSel
 | 
						|
	     TabLineSel (for pane tabs)
 | 
						|
	 TabLine
 | 
						|
	   TabLineSel
 | 
						|
 | 
						|
       "none" means default terminal color for highlight groups at  the	 first
 | 
						|
       level of the hierarchy and transparency for all others.
 | 
						|
 | 
						|
       Here file name specific highlights mean those configured via globs ({})
 | 
						|
       or regular expressions (//).  At most one of them is applied  per  file
 | 
						|
       entry,  namely  the first that matches file name, hence order of :high-
 | 
						|
       light commands might be important in certain cases.
 | 
						|
 | 
						|
						:history
 | 
						|
 | 
						|
       :his[tory]
 | 
						|
	      creates a pop-up menu of directories visited.
 | 
						|
 | 
						|
       :his[tory] x
 | 
						|
	      x can be:
 | 
						|
	      d[ir]	or . show directory history.
 | 
						|
	      c[md]	or : show command line history.
 | 
						|
	      s[earch]	or / show search history and search forward on l key.
 | 
						|
	      f[search] or / show search history and search forward on l key.
 | 
						|
	      b[search] or ? show search history and search backward on l key.
 | 
						|
	      i[nput]	or @ show prompt history (e.g. on one file renaming).
 | 
						|
	      fi[lter]	or = show filter history (see description of  the  "="
 | 
						|
	      normal mode command).
 | 
						|
 | 
						|
						:histnext
 | 
						|
 | 
						|
       :histnext
 | 
						|
	      same  as	<c-i>.	 The main use case for this command is to work
 | 
						|
	      around the common pain point of <tab> and <c-i> being  the  same
 | 
						|
	      ASCII  character: one could alter the terminal emulator settings
 | 
						|
	      to emit, for example, the `F1` keycode when Ctrl-I  is  pressed,
 | 
						|
	      then  `:noremap <f1> :histnext<cr>` in vifm, add "t" flag to the
 | 
						|
	      'cpoptions', and thus have both <c-i> and <tab> working  as  ex-
 | 
						|
	      pected.
 | 
						|
 | 
						|
						:histprev
 | 
						|
 | 
						|
       :histprev
 | 
						|
	      same as <c-o>.
 | 
						|
 | 
						|
						:if
 | 
						|
 | 
						|
       :if {expr1}
 | 
						|
	      starts  conditional  block.   Commands  are  executed until next
 | 
						|
	      matching :elseif, :else or :endif command if  {expr1}  evaluates
 | 
						|
	      to non-zero, otherwise they are ignored.	See also help on :else
 | 
						|
	      and :endif commands.
 | 
						|
 | 
						|
	      Example:
 | 
						|
 | 
						|
		if $TERM == 'screen.linux'
 | 
						|
		    highlight CurrLine ctermfg=lightwhite ctermbg=lightblack
 | 
						|
		elseif $TERM == 'tmux'
 | 
						|
		    highlight CurrLine cterm=reverse ctermfg=black ctermbg=white
 | 
						|
		else
 | 
						|
		    highlight CurrLine cterm=bold,reverse ctermfg=black ctermbg=white
 | 
						|
		endif
 | 
						|
 | 
						|
						:invert
 | 
						|
 | 
						|
       :invert [f]
 | 
						|
	      invert file name filter.
 | 
						|
 | 
						|
       :invert? [f]
 | 
						|
	      show current filter state.
 | 
						|
 | 
						|
       :invert s
 | 
						|
	      invert selection.
 | 
						|
 | 
						|
       :invert o
 | 
						|
	      invert sorting order of the primary sorting key.
 | 
						|
 | 
						|
       :invert? o
 | 
						|
	      show sorting order of the primary sorting key.
 | 
						|
 | 
						|
						:jobs
 | 
						|
 | 
						|
       :jobs  shows menu of current backgrounded processes.
 | 
						|
 | 
						|
						:let
 | 
						|
 | 
						|
       :let $ENV_VAR = <expr>
 | 
						|
	      sets environment variable.  Warning: setting  environment	 vari-
 | 
						|
	      able to an empty string on Windows removes it.
 | 
						|
 | 
						|
       :let $ENV_VAR .= <expr>
 | 
						|
	      append value to environment variable.
 | 
						|
 | 
						|
       :let &[l:|g:]opt = <expr>
 | 
						|
	      sets option value.
 | 
						|
 | 
						|
       :let &[l:|g:]opt .= <expr>
 | 
						|
	      append value to string option.
 | 
						|
 | 
						|
       :let &[l:|g:]opt += <expr>
 | 
						|
	      increasing option value, adding sub-values.
 | 
						|
 | 
						|
       :let &[l:|g:]opt -= <expr>
 | 
						|
	      decreasing option value, removing sub-values.
 | 
						|
 | 
						|
       Where  <expr> could be a single-quoted string, double-quoted string, an
 | 
						|
       environment variable, function call or a concatanation of any  of  them
 | 
						|
       in any order using the '.' operator.  Any whitespace is ignored.
 | 
						|
 | 
						|
						:locate
 | 
						|
 | 
						|
       :locate filename
 | 
						|
	      use "locate" command to create a menu of filenames.  Selecting a
 | 
						|
	      file from the menu will reload the current file list in vifm  to
 | 
						|
	      show  the	 selected  file.  By default the command relies on the
 | 
						|
	      external "locate" utility (it's assumed that its database is al-
 | 
						|
	      ready  built),  which can be customized by altering value of the
 | 
						|
	      'locateprg' option.
 | 
						|
 | 
						|
       :locate
 | 
						|
	      repeats last :locate command.
 | 
						|
 | 
						|
						:ls
 | 
						|
 | 
						|
       :ls    lists windows of active terminal multiplexer (only when terminal
 | 
						|
	      multiplexer  is  used).  This is achieved by issuing proper com-
 | 
						|
	      mand for active terminal multiplexer, thus the list is not  han-
 | 
						|
	      dled by vifm.
 | 
						|
 | 
						|
						:lstrash
 | 
						|
 | 
						|
       :lstrash
 | 
						|
	      displays	a  menu	 with list of files in trash.  Each element of
 | 
						|
	      the list is original path of a deleted file, thus the  list  can
 | 
						|
	      contain duplicates.
 | 
						|
 | 
						|
						:mark
 | 
						|
 | 
						|
       :[range]ma[rk][?] x [/full/path] [filename]
 | 
						|
	      Set  mark	 x (a-zA-Z0-9) at /full/path and filename.  By default
 | 
						|
	      current directory is being used.	If no filename was  given  and
 | 
						|
	      /full/path  is  current  directory  then last file in [range] is
 | 
						|
	      used.  Using of macros is allowed.  Question mark will stop com-
 | 
						|
	      mand from overwriting existing marks.
 | 
						|
 | 
						|
						:marks
 | 
						|
 | 
						|
       :marks create a pop-up menu of marks.
 | 
						|
 | 
						|
       :marks list ...
 | 
						|
	      display the contents of the marks that are mentioned in list.
 | 
						|
 | 
						|
						:media
 | 
						|
 | 
						|
       :media only for *nix
 | 
						|
	      display media management menu.  See also 'mediaprg' option.
 | 
						|
 | 
						|
						:messages
 | 
						|
 | 
						|
       :mes[sages]
 | 
						|
	      shows previously given messages (up to 50).
 | 
						|
 | 
						|
						:mkdir
 | 
						|
 | 
						|
       :[line]mkdir[!] dir ...
 | 
						|
	      create  directories  at specified paths.	The [line] can be used
 | 
						|
	      to pick node in a tree-view.  "!" means make parent  directories
 | 
						|
	      as needed.  Macros are expanded.
 | 
						|
 | 
						|
						:move
 | 
						|
 | 
						|
       :[range]m[ove][!?][ &]
 | 
						|
	      move  files  to  directory  of other view.  With "?" prompts for
 | 
						|
	      destination file names in an editor.  "!" forces overwrite.
 | 
						|
 | 
						|
       :[range]m[ove][!] path[ &]
 | 
						|
	      move files to directory specified with  the  path	 (absolute  or
 | 
						|
	      relative to directory of other view).  "!" forces overwrite.
 | 
						|
 | 
						|
       :[range]m[ove][!] name1 name2...[ &]
 | 
						|
	      move  files  to  directory of other view giving each next file a
 | 
						|
	      corresponding name from the argument  list.   "!"	 forces	 over-
 | 
						|
	      write.
 | 
						|
 | 
						|
						:nohlsearch
 | 
						|
 | 
						|
       :noh[lsearch]
 | 
						|
	      clear selection in current pane.
 | 
						|
 | 
						|
						:normal
 | 
						|
 | 
						|
       :norm[al][!] commands
 | 
						|
	      execute normal mode commands.  If "!" is used, user defined map-
 | 
						|
	      pings are ignored.  Unfinished last command  is  aborted	as  if
 | 
						|
	      <esc>  or	 <c-c>	was typed.  A ":" should be completed as well.
 | 
						|
	      Commands can't start with a space, so put a count of 1 (one) be-
 | 
						|
	      fore it.
 | 
						|
 | 
						|
						:only
 | 
						|
 | 
						|
       :on[ly]
 | 
						|
	      switch to a one window view.
 | 
						|
 | 
						|
						:popd
 | 
						|
 | 
						|
       :popd  remove pane directories from stack.
 | 
						|
 | 
						|
						:pushd
 | 
						|
 | 
						|
       :pushd[!] /curr/dir [/other/dir]
 | 
						|
	      add  pane	 directories  to  stack and process arguments like :cd
 | 
						|
	      command.
 | 
						|
 | 
						|
       :pushd exchange the top two items of the directory stack.
 | 
						|
 | 
						|
						:put
 | 
						|
 | 
						|
       :[line]pu[t][!] [reg] [ &]
 | 
						|
	      puts files from specified register (" by default)	 into  current
 | 
						|
	      directory.   The [line] can be used to pick node in a tree-view.
 | 
						|
	      "!" moves files "!" moves files from their original location in-
 | 
						|
	      stead  of	 copying  them.	 During this operation no confirmation
 | 
						|
	      dialogs will be shown, all checks are performed beforehand.
 | 
						|
 | 
						|
						:pwd
 | 
						|
 | 
						|
       :pw[d] show the present working directory.
 | 
						|
 | 
						|
						:qall
 | 
						|
 | 
						|
       :qa[ll][!]
 | 
						|
	      exit vifm (add ! to skip saving changes and checking for	active
 | 
						|
	      backgrounded commands).
 | 
						|
 | 
						|
						:quit
 | 
						|
 | 
						|
       :q[uit][!]
 | 
						|
	      if  there is more than one tab, close the current one, otherwise
 | 
						|
	      exit vifm (add ! to skip saving changes and checking for	active
 | 
						|
	      backgrounded commands).
 | 
						|
 | 
						|
						:redraw
 | 
						|
 | 
						|
       :redr[aw]
 | 
						|
	      redraw the screen immediately.
 | 
						|
 | 
						|
						:registers
 | 
						|
 | 
						|
       :reg[isters]
 | 
						|
	      display menu with registers content.
 | 
						|
 | 
						|
       :reg[isters] list ...
 | 
						|
	      display  the  contents  of the numbered and named registers that
 | 
						|
	      are mentioned in list (for example "az to display "", "a and  "z
 | 
						|
	      content).
 | 
						|
 | 
						|
						:regular
 | 
						|
 | 
						|
       :regular
 | 
						|
 | 
						|
       switch to regular view leaving custom view.
 | 
						|
						       :rename
 | 
						|
 | 
						|
       :[range]rename[!]
 | 
						|
	      rename  files  using  vi	to  edit names. ! means go recursively
 | 
						|
	      through directories.
 | 
						|
 | 
						|
       :[range]rename name1 name2...
 | 
						|
	      rename each of selected files to a corresponding name.
 | 
						|
 | 
						|
						:restart
 | 
						|
 | 
						|
       :restart
 | 
						|
	      free  a  lot  of	things	(histories,  commands,	etc.),	reread
 | 
						|
	      vifminfo and vifmrc files and run startup commands passed in the
 | 
						|
	      argument list, thus losing all unsaved changes (e.g. recent his-
 | 
						|
	      tory or keys mapped in current session).
 | 
						|
 | 
						|
	      While many things get reset, some basic UI state and current lo-
 | 
						|
	      cations are preserved, including tabs.
 | 
						|
 | 
						|
						:restore
 | 
						|
 | 
						|
       :[range]restore
 | 
						|
	      restore file from trash directory, doesn't work outside  one  of
 | 
						|
	      trash directories.  See "Trash directory" section below.
 | 
						|
 | 
						|
						:rlink
 | 
						|
 | 
						|
       :[range]rlink[!?]
 | 
						|
	      create  relative	symbolic  links to files in directory of other
 | 
						|
	      view.  With "?" prompts for destination file names in an editor.
 | 
						|
	      "!" forces overwrite.
 | 
						|
 | 
						|
       :[range]rlink[!] path
 | 
						|
	      create  relative	symbolic links of files in directory specified
 | 
						|
	      with the path (absolute or relative to directory of other view).
 | 
						|
	      "!" forces overwrite.
 | 
						|
 | 
						|
       :[range]rlink[!] name1 name2...
 | 
						|
	      create  relative	symbolic  links of files in directory of other
 | 
						|
	      view giving each next link a corresponding name from  the	 argu-
 | 
						|
	      ment list.  "!" forces overwrite.
 | 
						|
 | 
						|
						:screen
 | 
						|
 | 
						|
       :screen
 | 
						|
	      toggle whether to use the terminal multiplexer or not.
 | 
						|
	      A	 terminal  multiplexer uses pseudo terminals to allow multiple
 | 
						|
	      windows to be used in the console or in a single xterm.	Start-
 | 
						|
	      ing  vifm	 from  terminal	 multiplexer  with appropriate support
 | 
						|
	      turned on will cause vifm to open	 a  new	 terminal  multiplexer
 | 
						|
	      window for each new file edited or program launched from vifm.
 | 
						|
	      This  requires  screen  version 3.9.9 or newer for the screen -X
 | 
						|
	      argument or tmux (1.8 version or newer is recommended).
 | 
						|
 | 
						|
       :screen!
 | 
						|
	      enable integration with terminal multiplexers.
 | 
						|
 | 
						|
       :screen?
 | 
						|
	      display whether integration with terminal	 multiplexers  is  en-
 | 
						|
	      abled.
 | 
						|
 | 
						|
       Note:  the  command  is called screen for historical reasons (when tmux
 | 
						|
       wasn't yet supported) and might be changed in future releases,  or  get
 | 
						|
       an alias.
 | 
						|
 | 
						|
						:select
 | 
						|
 | 
						|
       :[range]select
 | 
						|
	      select  files  in	 the  given range (current file if no range is
 | 
						|
	      given).
 | 
						|
 | 
						|
       :select {pattern}
 | 
						|
	      select files that match specified pattern.   Possible  {pattern}
 | 
						|
	      forms are described in "Patterns" section below.	Trailing slash
 | 
						|
	      for directories is taken into account, so `:select! */ |	invert
 | 
						|
	      s` selects only files.
 | 
						|
 | 
						|
       :select //[iI]
 | 
						|
	      same as item above, but reuses last search pattern.
 | 
						|
 | 
						|
       :select !{external command}
 | 
						|
	      select  files from the list supplied by external command.	 Files
 | 
						|
	      are matched by full paths, relative paths are converted to abso-
 | 
						|
	      lute ones beforehand.
 | 
						|
 | 
						|
       :[range]select! [{pattern}]
 | 
						|
	      same  as above, but resets previously selected items before pro-
 | 
						|
	      ceeding.
 | 
						|
 | 
						|
						:set
 | 
						|
 | 
						|
       :se[t] display all options that differ from their default value.
 | 
						|
 | 
						|
       :se[t] all
 | 
						|
	      display all options.
 | 
						|
 | 
						|
       :se[t] opt1=val1 opt2='val2' opt3="val3" ...
 | 
						|
	      sets given options.  For local options both values are set.
 | 
						|
	      You can use following syntax:
 | 
						|
	       - for all options - option, option? and option&
 | 
						|
	       - for boolean options - nooption, invoption and option!
 | 
						|
	       - for integer options - option=x, option+=x and option-=x
 | 
						|
	       - for string options - option=x and option+=x
 | 
						|
	       - for string list options - option=x, option+=x, option-=x  and
 | 
						|
	      option^=x
 | 
						|
	       - for enumeration options - option=x, option+=x and option-=x
 | 
						|
	       -  for  set  options  -	option=x, option+=x, option-=x and op-
 | 
						|
	      tion^=x
 | 
						|
	       - for charset options - option=x, option+=x, option-=x and  op-
 | 
						|
	      tion^=x
 | 
						|
 | 
						|
	      the meaning:
 | 
						|
	       - option - turn option on (for boolean) or print its value (for
 | 
						|
	      all others)
 | 
						|
	       - nooption - turn option off
 | 
						|
	       - invoption - invert option state
 | 
						|
	       - option! - invert option state
 | 
						|
	       - option? - print option value
 | 
						|
	       - option& - reset option to its default value
 | 
						|
	       - option=x or option:x - set option to x
 | 
						|
	       - option+=x - add/append x to option
 | 
						|
	       - option-=x - remove (or subtract) x from option
 | 
						|
	       - option^=x - toggle x presence among values of the option
 | 
						|
 | 
						|
	      Option name can be prepended  and	 appended  by  any  number  of
 | 
						|
	      whitespace characters.
 | 
						|
 | 
						|
						:setglobal
 | 
						|
 | 
						|
       :setg[lobal]
 | 
						|
	      display all global options that differ from their default value.
 | 
						|
 | 
						|
       :setg[lobal] all
 | 
						|
	      display all global options.
 | 
						|
 | 
						|
       :setg[lobal] opt1=val1 opt2='val2' opt3="val3" ...
 | 
						|
	      same  as	:set, but changes/prints only global options or global
 | 
						|
	      values of local options.	Changes to the	latter	might  be  not
 | 
						|
	      visible until directory is changed.
 | 
						|
 | 
						|
						:setlocal
 | 
						|
 | 
						|
       :setl[ocal]
 | 
						|
	      display all local options that differ from their default value.
 | 
						|
 | 
						|
       :setl[ocal] all
 | 
						|
	      display all local options.
 | 
						|
 | 
						|
       :setl[ocal] opt1=val1 opt2='val2' opt3="val3" ...
 | 
						|
	      same  as :set, but changes/prints only local values of local op-
 | 
						|
	      tions.
 | 
						|
 | 
						|
						:shell
 | 
						|
 | 
						|
       :sh[ell][!]
 | 
						|
	      start a shell in current	directory.   "!"  suppresses  spawning
 | 
						|
	      dedicated	 window	 of terminal multiplexer for a shell.  To make
 | 
						|
	      vifm adaptive to environment it uses  $SHELL  if	it's  defined,
 | 
						|
	      otherwise 'shell' value is used.
 | 
						|
 | 
						|
 | 
						|
						:siblnext
 | 
						|
 | 
						|
       :[count]siblnext[!]
 | 
						|
 | 
						|
	      change  directory to [count]th next sibling directory after cur-
 | 
						|
	      rent path using value of global sort  option  of	current	 pane.
 | 
						|
	      "!" enables wrapping.
 | 
						|
 | 
						|
	      For  example,  say, you're at /boot and root listing starts like
 | 
						|
	      this:
 | 
						|
 | 
						|
		  bin/
 | 
						|
		  boot/
 | 
						|
		  dev/
 | 
						|
		  ...
 | 
						|
 | 
						|
	      Issuing :siblnext will navigate to /dev.
 | 
						|
 | 
						|
 | 
						|
						:siblprev
 | 
						|
 | 
						|
       :[count]siblprev[!]
 | 
						|
	      same as :siblnext, but in the opposite direction.
 | 
						|
 | 
						|
						:sort
 | 
						|
 | 
						|
       :sor[t]
 | 
						|
	      display dialog with different sorting methods, when one can  se-
 | 
						|
	      lect  primary  sorting key.  When 'viewcolumns' options is empty
 | 
						|
	      and 'lsview' is off, changing primary sorting key will also  af-
 | 
						|
	      fect view look (in particular the second column of the view will
 | 
						|
	      be changed).
 | 
						|
 | 
						|
						:source
 | 
						|
 | 
						|
       :so[urce] file
 | 
						|
	      read command-line commands from the file.
 | 
						|
 | 
						|
						:split
 | 
						|
 | 
						|
       :sp[lit]
 | 
						|
	      switch to a two window horizontal view.
 | 
						|
 | 
						|
       :sp[lit]!
 | 
						|
	      toggle horizontal window splitting.
 | 
						|
 | 
						|
       :sp[lit] path
 | 
						|
	      splits the window horizontally to show  both  file  directories.
 | 
						|
	      Also changes other pane to path (absolute or relative to current
 | 
						|
	      directory of active pane).
 | 
						|
 | 
						|
						:substitute
 | 
						|
 | 
						|
       :[range]s[ubstitute]/pattern/string/[flags]
 | 
						|
	      for each file in range replace a match of pattern with string.
 | 
						|
 | 
						|
       String can contain \0...\9 to link to capture groups (\0 -  all	match,
 | 
						|
       \1 - first group, etc.).
 | 
						|
 | 
						|
       Pattern is stored in search history.
 | 
						|
 | 
						|
       Available flags:
 | 
						|
 | 
						|
	 - i  -	 ignore case (the 'ignorecase' and 'smartcase' options are not
 | 
						|
	   used)
 | 
						|
 | 
						|
	 - I - don't ignore case (the 'ignorecase' and 'smartcase' options are
 | 
						|
	   not used)
 | 
						|
 | 
						|
	 - g - substitute all matches in each file name (each g toggles this)
 | 
						|
 | 
						|
       :[range]s[ubstitute]/pattern
 | 
						|
	      substitute pattern with an empty string.
 | 
						|
 | 
						|
       :[range]s[ubstitute]//string/[flags]
 | 
						|
	      use last pattern from search history.
 | 
						|
 | 
						|
       :[range]s[ubstitute]
 | 
						|
	      repeat previous substitution command.
 | 
						|
 | 
						|
						:sync
 | 
						|
 | 
						|
       :sync [relative path]
 | 
						|
	      change  the  other pane to the current pane directory or to some
 | 
						|
	      path relative to the current directory.	Using  macros  is  al-
 | 
						|
	      lowed.
 | 
						|
 | 
						|
       :sync! change the other pane to the current pane directory and synchro-
 | 
						|
	      nize cursor position.  If current pane displays custom  list  of
 | 
						|
	      files,  position	before	entering it is used (current one might
 | 
						|
	      not make any sense).
 | 
						|
 | 
						|
 | 
						|
       :sync! [location | cursorpos | localopts | filters | filelist | tree  |
 | 
						|
       all]...
 | 
						|
	      change  enumerated  properties of the other pane to match corre-
 | 
						|
	      sponding properties of the current  pane.	  Arguments  have  the
 | 
						|
	      following meanings:
 | 
						|
 | 
						|
		- location - current directory of the pane;
 | 
						|
 | 
						|
		- cursorpos - cursor position (doesn't make sense without "lo-
 | 
						|
		  cation");
 | 
						|
 | 
						|
		- localopts - all local options;
 | 
						|
 | 
						|
		- filters - all filters;
 | 
						|
 | 
						|
		- filelist - list of files for	custom	view  (implies	"loca-
 | 
						|
		  tion");
 | 
						|
 | 
						|
		- tree - tree structure for tree view (implies "location");
 | 
						|
 | 
						|
		- all - all of the above.
 | 
						|
 | 
						|
						:tabclose
 | 
						|
 | 
						|
       :tabc[lose]
 | 
						|
	      close  current  tab,  unless  it's  the only one open at current
 | 
						|
	      scope.
 | 
						|
 | 
						|
						:tabmove
 | 
						|
 | 
						|
       :tabm[ove] [N]
 | 
						|
	      without the argument or with `$` as the  argument,  current  tab
 | 
						|
	      becomes  the  last tab.  With the argument, current tab is moved
 | 
						|
	      after the tab with the specified number.	Argument of `0`	 moves
 | 
						|
	      current tab to the first position.
 | 
						|
 | 
						|
						:tabname
 | 
						|
 | 
						|
       :tabname [name]
 | 
						|
	      set,  update or reset (when no argument is provided) name of the
 | 
						|
	      current tab.
 | 
						|
 | 
						|
						:tabnew
 | 
						|
 | 
						|
       :tabnew [path]
 | 
						|
	      create new tab.  Accepts optional path for the new tab.	Macros
 | 
						|
	      and environment variables are expanded.
 | 
						|
 | 
						|
						:tabnext
 | 
						|
 | 
						|
       :tabn[ext]
 | 
						|
	      switch to the next tab (wrapping around).
 | 
						|
 | 
						|
       :tabn[ext] {n}
 | 
						|
	      go to the tab number {n}.	 Tab numeration starts with 1.
 | 
						|
 | 
						|
						:tabprevious
 | 
						|
 | 
						|
       :tabp[revious]
 | 
						|
	      switch to the previous tab (wrapping around).
 | 
						|
 | 
						|
       :tabp[revious] {n}
 | 
						|
	      go  to  the {n}-th previous tab.	Note that :tabnext handles its
 | 
						|
	      argument differently.
 | 
						|
 | 
						|
						:touch
 | 
						|
 | 
						|
       :[line]touch file...
 | 
						|
	      create files at specified paths.	Aborts on errors.  Doesn't up-
 | 
						|
	      date  time  of  existing	files.	The [line] can be used to pick
 | 
						|
	      node in a tree-view.  Macros are expanded.
 | 
						|
 | 
						|
						:tr
 | 
						|
 | 
						|
       :[range]tr/pattern/string/
 | 
						|
	      for each file in range transliterate the characters which appear
 | 
						|
	      in  pattern  to  the  corresponding  character  in string.  When
 | 
						|
	      string is shorter than pattern, it's padded with its last	 char-
 | 
						|
	      acter.
 | 
						|
 | 
						|
						:trashes
 | 
						|
 | 
						|
       :trashes
 | 
						|
	      lists all valid trash directories in a menu.  Only non-empty and
 | 
						|
	      writable trash directories are shown.  This is exactly the  list
 | 
						|
	      of directories that are cleared when :empty command is executed.
 | 
						|
 | 
						|
       :trashes?
 | 
						|
	      same  as	:trashes,  but also displays size of each trash direc-
 | 
						|
	      tory.
 | 
						|
 | 
						|
						:tree
 | 
						|
 | 
						|
       :tree  turn pane into tree view with current  directory	as  its	 root.
 | 
						|
	      The tree view is implemented on top of a custom view, but is au-
 | 
						|
	      tomatically kept in sync with file system	 state	and  considers
 | 
						|
	      all  the	filters.   Thus	 the structure corresponds to what one
 | 
						|
	      would see on visiting the directories manually.	As  a  special
 | 
						|
	      case  for	 trees	built  out of custom view file-system tracking
 | 
						|
	      isn't performed.
 | 
						|
 | 
						|
	      To leave tree view go up from its root or use gh at any level of
 | 
						|
	      the  tree.   Any command that changes directory will also do, in
 | 
						|
	      particular, `:cd ..`.
 | 
						|
 | 
						|
	      Tree structure is incompatible with alternative representations,
 | 
						|
	      so values of 'lsview' and 'millerview' options are ignored.
 | 
						|
 | 
						|
       :tree! toggle current view in and out of tree mode.
 | 
						|
 | 
						|
						:undolist
 | 
						|
 | 
						|
       :undol[ist]
 | 
						|
	      display list of latest changes.  Use "!" to see actual commands.
 | 
						|
 | 
						|
						:unlet
 | 
						|
 | 
						|
       :unl[et][!] $ENV_VAR1 $ENV_VAR2 ...
 | 
						|
	      remove  environment variables. Add ! to omit displaying of warn-
 | 
						|
	      ings about nonexistent variables.
 | 
						|
 | 
						|
						:unselect
 | 
						|
 | 
						|
       :[range]unselect
 | 
						|
	      unselect files in the given range (current file if no  range  is
 | 
						|
	      given).
 | 
						|
 | 
						|
       :unselect {pattern}
 | 
						|
	      unselect files that match specified pattern.  Possible {pattern}
 | 
						|
	      forms are described in "Patterns" section below.	Trailing slash
 | 
						|
	      for  directories	is taken into account, so `:unselect */` unse-
 | 
						|
	      lects directories.
 | 
						|
 | 
						|
       :unselect !{external command}
 | 
						|
	      unselect files from  the	list  supplied	by  external  command.
 | 
						|
	      Files are matched by full paths, relative paths are converted to
 | 
						|
	      absolute ones beforehand.
 | 
						|
 | 
						|
       :unselect //[iI]
 | 
						|
	      same as item above, but reuses last search pattern.
 | 
						|
 | 
						|
						:version
 | 
						|
 | 
						|
       :ve[rsion]
 | 
						|
	      show menu with version information.
 | 
						|
 | 
						|
						:vifm
 | 
						|
 | 
						|
       :vifm  same as :version.
 | 
						|
 | 
						|
						:view
 | 
						|
 | 
						|
       :vie[w]
 | 
						|
	      toggle on and off the quick file view.  See also 'quickview' op-
 | 
						|
	      tion.
 | 
						|
 | 
						|
       :vie[w]!
 | 
						|
	      turn on quick file view if it's off.
 | 
						|
 | 
						|
						:volumes
 | 
						|
 | 
						|
       :volumes
 | 
						|
	      only for MS-Windows
 | 
						|
	      display  menu  with volume list.	Hitting l (or Enter) key opens
 | 
						|
	      appropriate volume in the current pane.
 | 
						|
 | 
						|
						:vsplit
 | 
						|
 | 
						|
       :vs[plit]
 | 
						|
	      switch to a two window vertical view.
 | 
						|
 | 
						|
       :vs[plit]!
 | 
						|
	      toggle window vertical splitting.
 | 
						|
 | 
						|
       :vs[plit] path
 | 
						|
	      split the window vertically to show both file directories.   And
 | 
						|
	      changes  other pane to path (absolute or relative to current di-
 | 
						|
	      rectory of active pane).
 | 
						|
 | 
						|
						:wincmd
 | 
						|
 | 
						|
       :[count]winc[md] {arg}
 | 
						|
	      same as running Ctrl-W [count] {arg}.
 | 
						|
 | 
						|
						:windo
 | 
						|
 | 
						|
       :windo [command...]
 | 
						|
	      execute command for each pane (same as :winrun % command).
 | 
						|
 | 
						|
						:winrun
 | 
						|
 | 
						|
       :winrun type [command...]
 | 
						|
	      execute command for pane(s), which is determined by  type	 argu-
 | 
						|
	      ment:
 | 
						|
		- ^ - top-left pane
 | 
						|
		- $ - bottom-right pane
 | 
						|
		- % - all panes
 | 
						|
		- . - current pane
 | 
						|
		- , - other pane
 | 
						|
 | 
						|
						:write
 | 
						|
 | 
						|
       :w[rite]
 | 
						|
	      write vifminfo file.
 | 
						|
 | 
						|
						:wq
 | 
						|
 | 
						|
       :wq[!] same  as	:quit,	but ! only disables check of backgrounded com-
 | 
						|
	      mands.					       :wqall
 | 
						|
 | 
						|
       :wqa[ll][!]
 | 
						|
	      same as :qall, but ! only disables check	of  backgrounded  com-
 | 
						|
	      mands.
 | 
						|
 | 
						|
						:xall
 | 
						|
 | 
						|
       :xa[ll][!]
 | 
						|
	      same as :qall.
 | 
						|
 | 
						|
						:xit
 | 
						|
 | 
						|
       :x[it][!]
 | 
						|
	      same as :quit.
 | 
						|
 | 
						|
						:yank
 | 
						|
 | 
						|
       :[range]y[ank] [reg] [count]
 | 
						|
	      will yank files to the reg register.
 | 
						|
 | 
						|
						:map lhs rhs
 | 
						|
 | 
						|
       :map lhs rhs
 | 
						|
	      map lhs key sequence to rhs in normal and visual modes.
 | 
						|
 | 
						|
       :map! lhs rhs
 | 
						|
	      map lhs key sequence to rhs in command line mode.
 | 
						|
 | 
						|
 | 
						|
					       :cmap  :dmap  :mmap :nmap :qmap
 | 
						|
       :vmap
 | 
						|
 | 
						|
       :cm[ap] lhs rhs
 | 
						|
	      map lhs to rhs in command line mode.
 | 
						|
 | 
						|
       :dm[ap] lhs rhs
 | 
						|
	      map lhs to rhs in dialog modes.
 | 
						|
 | 
						|
       :mm[ap] lhs rhs
 | 
						|
	      map lhs to rhs in menu mode.
 | 
						|
 | 
						|
       :nm[ap] lhs rhs
 | 
						|
	      map lhs to rhs in normal mode.
 | 
						|
 | 
						|
       :qm[ap] lhs rhs
 | 
						|
	      map lhs to rhs in view mode.
 | 
						|
 | 
						|
       :vm[ap] lhs rhs
 | 
						|
	      map lhs to rhs in visual mode.
 | 
						|
 | 
						|
 | 
						|
						:*map
 | 
						|
 | 
						|
       :cm[ap]
 | 
						|
	      list all maps in command line mode.
 | 
						|
 | 
						|
       :dm[ap]
 | 
						|
	      list all maps in dialog modes.
 | 
						|
 | 
						|
       :mm[ap]
 | 
						|
	      list all maps in menu mode.
 | 
						|
 | 
						|
       :nm[ap]
 | 
						|
	      list all maps in normal mode.
 | 
						|
 | 
						|
       :qm[ap]
 | 
						|
	      list all maps in view mode.
 | 
						|
 | 
						|
       :vm[ap]
 | 
						|
	      list all maps in visual mode.
 | 
						|
 | 
						|
						:*map beginning
 | 
						|
 | 
						|
       :cm[ap] beginning
 | 
						|
	      list all maps in command line mode that start  with  the	begin-
 | 
						|
	      ning.
 | 
						|
 | 
						|
       :dm[ap] beginning
 | 
						|
	      list all maps in dialog modes that start with the beginning.
 | 
						|
 | 
						|
       :mm[ap] beginning
 | 
						|
	      list all maps in menu mode that start with the beginning.
 | 
						|
 | 
						|
       :nm[ap] beginning
 | 
						|
	      list all maps in normal mode that start with the beginning.
 | 
						|
 | 
						|
       :qm[ap] beginning
 | 
						|
	      list all maps in view mode that start with the beginning.
 | 
						|
 | 
						|
       :vm[ap] beginning
 | 
						|
	      list all maps in visual mode that start with the beginning.
 | 
						|
 | 
						|
						:noremap
 | 
						|
 | 
						|
       :no[remap] lhs rhs
 | 
						|
	      map the key sequence lhs to rhs for normal and visual modes, but
 | 
						|
	      disallow mapping of rhs.
 | 
						|
 | 
						|
       :no[remap]! lhs rhs
 | 
						|
	      map the key sequence lhs to rhs for command line mode, but  dis-
 | 
						|
	      allow mapping of rhs.
 | 
						|
 | 
						|
			:cnoremap   :dnoremap  :mnoremap  :nnoremap  :qnoremap
 | 
						|
       :vnoremap
 | 
						|
 | 
						|
       :cno[remap] lhs rhs
 | 
						|
	      map the key sequence lhs to rhs for command line mode, but  dis-
 | 
						|
	      allow mapping of rhs.
 | 
						|
 | 
						|
       :dn[oremap] lhs rhs
 | 
						|
	      map  the	key sequence lhs to rhs for dialog modes, but disallow
 | 
						|
	      mapping of rhs.
 | 
						|
 | 
						|
       :mn[oremap] lhs rhs
 | 
						|
	      map the key sequence lhs to rhs for menu mode, but disallow map-
 | 
						|
	      ping of rhs.
 | 
						|
 | 
						|
       :nn[oremap] lhs rhs
 | 
						|
	      map  the	key  sequence lhs to rhs for normal mode, but disallow
 | 
						|
	      mapping of rhs.
 | 
						|
 | 
						|
       :qn[oremap] lhs rhs
 | 
						|
	      map the key sequence lhs to rhs for view mode, but disallow map-
 | 
						|
	      ping of rhs.
 | 
						|
 | 
						|
       :vn[oremap] lhs rhs
 | 
						|
	      map  the	key  sequence lhs to rhs for visual mode, but disallow
 | 
						|
	      mapping of rhs.
 | 
						|
 | 
						|
						:unmap
 | 
						|
 | 
						|
       :unm[ap] lhs
 | 
						|
	      remove user mapping of lhs from normal and visual modes.
 | 
						|
 | 
						|
       :unm[ap]! lhs
 | 
						|
	      remove user mapping of lhs from command line mode.
 | 
						|
 | 
						|
				   :cunmap  :dunmap  :munmap  :nunmap  :qunmap
 | 
						|
       :vunmap
 | 
						|
 | 
						|
       :cu[nmap] lhs
 | 
						|
	      remove user mapping of lhs from command line mode.
 | 
						|
 | 
						|
       :du[nmap] lhs
 | 
						|
	      remove user mapping of lhs from dialog modes.
 | 
						|
 | 
						|
       :mu[nmap] lhs
 | 
						|
	      remove user mapping of lhs from menu mode.
 | 
						|
 | 
						|
       :nun[map] lhs
 | 
						|
	      remove user mapping of lhs from normal mode.
 | 
						|
 | 
						|
       :qun[map] lhs
 | 
						|
	      remove user mapping of lhs from view mode.
 | 
						|
 | 
						|
       :vu[nmap] lhs
 | 
						|
	      remove user mapping of lhs from visual mode.
 | 
						|
 | 
						|
Ranges
 | 
						|
       The ranges implemented include:
 | 
						|
	 2,3 - from second to third file in the list (including it)
 | 
						|
	 % - the entire directory.
 | 
						|
	 . - the current position in the filelist.
 | 
						|
	 $ - the end of the filelist.
 | 
						|
	 't - the mark position t.
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 :%delete
 | 
						|
 | 
						|
       would delete all files in the directory.
 | 
						|
 | 
						|
	 :2,4delete
 | 
						|
 | 
						|
       would delete the files in the list positions 2 through 4.
 | 
						|
 | 
						|
	 :.,$delete
 | 
						|
 | 
						|
       would  delete  the  files  from	the current position to the end of the
 | 
						|
       filelist.
 | 
						|
 | 
						|
	 :3delete4
 | 
						|
 | 
						|
       would delete the files in the list positions 3, 4, 5, 6.
 | 
						|
 | 
						|
       If a backward range is given :4,2delete - an query message is given and
 | 
						|
       user can chose what to do next.
 | 
						|
 | 
						|
       The builtin commands that accept a range are :d[elete] and :y[ank].
 | 
						|
 | 
						|
Command macros
 | 
						|
       The command macros may be used in user commands.
 | 
						|
 | 
						|
       %a     User  arguments.	 When  user arguments contain macros, they are
 | 
						|
	      expanded before preforming substitution of %a.
 | 
						|
 | 
						|
       %c %"c The current file under the cursor.
 | 
						|
 | 
						|
       %C %"C The current file under the cursor in the other directory.
 | 
						|
 | 
						|
       %f %"f All of the selected files.
 | 
						|
 | 
						|
       %F %"F All of the selected files in the other directory list.
 | 
						|
 | 
						|
       %b %"b Same as %f %F.
 | 
						|
 | 
						|
       %d %"d Full path to current directory.
 | 
						|
 | 
						|
       %D %"D Full path to other file list directory.
 | 
						|
 | 
						|
       %rx %"rx
 | 
						|
	      Full paths to files in the register {x}.	 In  case  of  invalid
 | 
						|
	      symbol in place of {x}, it's processed with the rest of the line
 | 
						|
	      and default register is used.
 | 
						|
 | 
						|
       %m     Show command output in a menu.
 | 
						|
 | 
						|
       %M     Same as %m, but l (or Enter) key is handled like for :locate and
 | 
						|
	      :find commands.
 | 
						|
 | 
						|
       %u     Process  command output as list of paths and compose custom view
 | 
						|
	      out of it.
 | 
						|
 | 
						|
       %U     Same as %u, but implies less list updates inside vifm, which  is
 | 
						|
	      absence of sorting at the moment.
 | 
						|
 | 
						|
       %Iu    same  as	%u, but gives up terminal before running external com-
 | 
						|
	      mand.
 | 
						|
 | 
						|
       %IU    same as %U, but gives up terminal before running	external  com-
 | 
						|
	      mand.
 | 
						|
 | 
						|
       %S     Show command output in the status bar.
 | 
						|
 | 
						|
       %q     redirect	command	 output	 to  quick view, which is activated if
 | 
						|
	      disabled.
 | 
						|
 | 
						|
       %s     Execute command in split window of active	 terminal  multiplexer
 | 
						|
	      (ignored if not running inside one).
 | 
						|
 | 
						|
       %n     Forbid using of terminal multiplexer to run the command.
 | 
						|
 | 
						|
       %i     Completely ignore command output.
 | 
						|
 | 
						|
 | 
						|
       %pc    Marks the end of the main command and the beginning of the clear
 | 
						|
	      command for graphical preview, which is invoked on closing  pre-
 | 
						|
	      view of a file.
 | 
						|
 | 
						|
       %pd    Marks  a	preview command as one that directly communicates with
 | 
						|
	      the terminal.  Beware that this is for things like  sixel	 which
 | 
						|
	      are  self-contained sequences that depend only on current cursor
 | 
						|
	      position, using this with anything else is likely to mangle ter-
 | 
						|
	      minal state.
 | 
						|
 | 
						|
       The following dimensions and coordinates are in characters:
 | 
						|
 | 
						|
       %px    x coordinate of top-left corner of preview area.
 | 
						|
 | 
						|
       %py    y coordinate of top-left corner of preview area.
 | 
						|
 | 
						|
       %pw    width of preview area.
 | 
						|
 | 
						|
       %ph    height of preview area.
 | 
						|
 | 
						|
 | 
						|
       Use %% if you need to put a percent sign in your command.
 | 
						|
 | 
						|
       Note  that %m, %M, %s, %S, %i, %u and %U macros are mutually exclusive.
 | 
						|
       Only the last one of them on the command will take effect.
 | 
						|
 | 
						|
       You can use file name modifiers after %c, %C, %f, %F,  %b,  %d  and  %D
 | 
						|
       macros.	Supported modifiers are:
 | 
						|
 | 
						|
	 - :p		- full path
 | 
						|
 | 
						|
	 - :u		  -   UNC   name   of	path   (e.g.   "\\server"   in
 | 
						|
	   "\\server\share"), Windows only.  Expands to current computer  name
 | 
						|
	   for not UNC paths.
 | 
						|
 | 
						|
	 - :~		- relative to the home directory
 | 
						|
 | 
						|
	 - :.		- relative to current directory
 | 
						|
 | 
						|
	 - :h		- head of the file name
 | 
						|
 | 
						|
	 - :t		- tail of the file name
 | 
						|
 | 
						|
	 - :r		- root of the file name (without last extension)
 | 
						|
 | 
						|
	 - :e		- extension of the file name (last one)
 | 
						|
 | 
						|
	 - :s?pat?sub?	 -  substitute	the  first occurrence of pat with sub.
 | 
						|
	   You can use any character for '?', but it must not occur in pat  or
 | 
						|
	   sub.
 | 
						|
 | 
						|
	 - :gs?pat?sub? - like :s, but substitutes all occurrences of pat with
 | 
						|
	   sub.
 | 
						|
 | 
						|
       See ':h filename-modifiers' in Vim's documentation for the detailed de-
 | 
						|
       scription.
 | 
						|
 | 
						|
       Using  %x means expand corresponding macro escaping all characters that
 | 
						|
       have special meaning.  And %"x means using of double quotes and	escape
 | 
						|
       only  backslash	and  double  quote characters, which is more useful on
 | 
						|
       Windows systems.
 | 
						|
 | 
						|
       Position and quantity (if there is any) of %m, %M, %S or %s  macros  in
 | 
						|
       the command is unimportant.  All their occurrences are removed from the
 | 
						|
       resulting command.
 | 
						|
 | 
						|
       %c and %f macros are expanded to file names only, when %C  and  %F  are
 | 
						|
       expanded to full paths.	%f and %F follow this in %b too.
 | 
						|
 | 
						|
       :com move mv %f %D
 | 
						|
	      set  the	:move command to move all of the files selected in the
 | 
						|
	      current directory to the other directory.
 | 
						|
 | 
						|
       The %a macro is replaced with any arguments given to an alias  command.
 | 
						|
       All arguments are considered optional.
 | 
						|
	      :com  lsl !!ls -l %a - set the lsl command to execute ls -l with
 | 
						|
	      or without an argument.
 | 
						|
 | 
						|
       :lsl<Enter>
 | 
						|
	      will list the directory contents of the current directory.
 | 
						|
 | 
						|
       :lsl filename<Enter>
 | 
						|
	      will list only the given filename.
 | 
						|
 | 
						|
       The macros can also be used in directly executing commands.   ":!mv  %f
 | 
						|
       %D" would move the current directory selected files to the other direc-
 | 
						|
       tory.
 | 
						|
 | 
						|
       Appending & to the end of a command causes it to	 be  executed  in  the
 | 
						|
       background.   Typically	you want to run two kinds of external commands
 | 
						|
       in the background:
 | 
						|
 | 
						|
	 - GUI applications that doesn't fork thus block vifm (:!sxiv %f &);
 | 
						|
 | 
						|
	 - console tools that do not work with terminal (:!mv %f %D &).
 | 
						|
 | 
						|
       You don't want to run terminal commands, which require  terminal	 input
 | 
						|
       or output something in background because they will mess up vifm's TUI.
 | 
						|
       Anyway, if you did run such a command, you can use Ctrl-L key to update
 | 
						|
       vifm's TUI.
 | 
						|
 | 
						|
       Rewriting  the example command with macros given above with background-
 | 
						|
       ing:
 | 
						|
 | 
						|
       %m, %M, %s, %S, %u and %U macros cannot	be  combined  with  background
 | 
						|
       mark (" &") as it doesn't make much sense.
 | 
						|
 | 
						|
Command backgrounding
 | 
						|
       Copy  and move operation can take a lot of time to proceed.  That's why
 | 
						|
       vifm supports backgrounding of this  two	 operations.   To  run	:copy,
 | 
						|
       :move  or :delete command in the background just add " &" at the end of
 | 
						|
       a command.
 | 
						|
 | 
						|
       For each background operation a new thread is created.	Job  cancella-
 | 
						|
       tion can be requested in the :jobs menu via dd shortcut.
 | 
						|
 | 
						|
       You  can	 see  if  command  is  still running in the :jobs menu.	 Back-
 | 
						|
       grounded commands have progress instead of process id at the  line  be-
 | 
						|
       ginning.
 | 
						|
 | 
						|
       Background operations cannot be undone.
 | 
						|
 | 
						|
Cancellation
 | 
						|
       Note that cancellation works somewhat different on Windows platform due
 | 
						|
       to different mechanism of break signal  propagation.   One  also	 might
 | 
						|
       need to use Ctrl-Break shortcut instead of Ctrl-C.
 | 
						|
 | 
						|
       There are two types of operations that can be cancelled:
 | 
						|
 | 
						|
	 - file system operations;
 | 
						|
 | 
						|
	 - mounting  with  FUSE	 (but  not  unmounting as it can cause loss of
 | 
						|
	   data);
 | 
						|
 | 
						|
	 - calls of external applications.
 | 
						|
 | 
						|
       Note that vifm never terminates applications, it	 sends	SIGINT	signal
 | 
						|
       and lets the application quit normally.
 | 
						|
 | 
						|
       When one of set of operations is cancelled (e.g. copying of 5th file of
 | 
						|
       10 files), further operations are cancelled too.	  In  this  case  undo
 | 
						|
       history will contain only actually performed operations.
 | 
						|
 | 
						|
       Cancelled  operations are indicated by "(cancelled)" suffix appended to
 | 
						|
       information message on statusbar.
 | 
						|
 | 
						|
       File system operations
 | 
						|
 | 
						|
       Currently the following commands	 can  be  cancelled:  :alink,  :chmod,
 | 
						|
       :chown,	:clone,	 :copy,	 :delete,  :mkdir,  :move,  :restore,  :rlink,
 | 
						|
       :touch.	File putting (on p/P key) can be cancelled as well.  It's  not
 | 
						|
       hard to see that these are mainly long-running operations.
 | 
						|
 | 
						|
       Cancelling  commands when they are repeated for undo/redo operations is
 | 
						|
       allowed for convenience, but is not recommended	as  further  undo/redo
 | 
						|
       operations  might  get  blocked	by side-effects of partially cancelled
 | 
						|
       group of operations.
 | 
						|
 | 
						|
       These commands can't be cancelled: :empty, :rename, :substitute, :tr.
 | 
						|
 | 
						|
       Mounting with FUSE
 | 
						|
 | 
						|
       It's not considered to be an error, so only notification on the	status
 | 
						|
       bar is shown.
 | 
						|
 | 
						|
       External application calls
 | 
						|
 | 
						|
       Each  of this operations can be cancelled: :apropos, :find, :grep, :lo-
 | 
						|
       cate.
 | 
						|
 | 
						|
Patterns
 | 
						|
       :highlight, :filetype, :filextype, :fileviewer commands and  'classify'
 | 
						|
       option  support globs, regular expressions and mime types to match file
 | 
						|
       names or their paths.
 | 
						|
 | 
						|
       There are six possible ways to write a single pattern:
 | 
						|
 | 
						|
	 1. [!]{comma-separated-name-globs}
 | 
						|
 | 
						|
	 2. [!]{{comma-separated-path-globs}}
 | 
						|
 | 
						|
	 3. [!]/name-regular-expression/[iI]
 | 
						|
 | 
						|
	 4. [!]//path-regular-expression//[iI]
 | 
						|
 | 
						|
	 5. [!]<comma-separated-mime-type-globs>
 | 
						|
 | 
						|
	 6. undecorated-pattern
 | 
						|
 | 
						|
       First five forms can include leading exclamation mark that negates pat-
 | 
						|
       tern matching.
 | 
						|
 | 
						|
       The  last  form is implicitly refers to one of others.  :highlight does
 | 
						|
       not accept undecorated form, while :filetype, :filextype,  :fileviewer,
 | 
						|
       :select, :unselect and 'classify' treat it as list of name globs.
 | 
						|
 | 
						|
       Path  patterns receive absolute path of the file that includes its name
 | 
						|
       component as well.
 | 
						|
 | 
						|
       To combine several patterns (AND them), make sure you're using  one  of
 | 
						|
       the first five forms and write patterns one after another, like this:
 | 
						|
	 <text/plain>{*.vifm}
 | 
						|
       Mind that if you make a mistake the whole string will be treated as the
 | 
						|
       sixth form.
 | 
						|
 | 
						|
       :filetype, :filextype and :fileviewer commands  accept  comma-separated
 | 
						|
       list of patterns instead of a single pattern, thus effectively handling
 | 
						|
       OR operation on them:
 | 
						|
	 <text/plain>{*.vifm},<application/pdf>{*.pdf}
 | 
						|
       Forms that accept comma-separated lists of patterns also	 process  them
 | 
						|
       as lists of alternatives.
 | 
						|
 | 
						|
       Patterns with regular expressions
 | 
						|
 | 
						|
       Regular	expression  patterns  are case insensitive by default, see de-
 | 
						|
       scription of commands, which might override default behaviour.
 | 
						|
 | 
						|
       Flags of regular expressions mean the following:
 | 
						|
	 - "i" makes filter case insensitive;
 | 
						|
	 - "I" makes filter case sensitive.  They  can	be  repeated  multiple
 | 
						|
       times,  but  the later one takes precedence (e.g.  "iiiI" is equivalent
 | 
						|
       to "I" and "IiIi" is the same as "i").
 | 
						|
 | 
						|
       There are no implicit `^` or `$`, so make sure to specify them  explic-
 | 
						|
       itly if the pattern should match the whole name or path.
 | 
						|
 | 
						|
       Patterns with globs
 | 
						|
 | 
						|
       "Globs"	section below provides short overview of globs and some impor-
 | 
						|
       tant points that one needs to know about them.
 | 
						|
 | 
						|
       Patterns with mime-types
 | 
						|
 | 
						|
       Mime type matching is essentially globs matching applied to  mime  type
 | 
						|
       of  a  file instead of its name/path.  Note: mime types aren't detected
 | 
						|
       on Windows.
 | 
						|
 | 
						|
       Examples
 | 
						|
 | 
						|
       Associate `evince` to PDF-files only inside `/home/user/downloads/` di-
 | 
						|
       rectory (excluding its subdirectories):
 | 
						|
 | 
						|
	 :filextype //^/home/user/downloads/[^/]*.pdf$// evince %f
 | 
						|
 | 
						|
 | 
						|
Globs
 | 
						|
       Globs are always case insensitive as it makes sense in general case.
 | 
						|
 | 
						|
       `*`,  `?`,  `[`	and `]` are treated as special symbols in the pattern.
 | 
						|
       E.g.
 | 
						|
 | 
						|
	 :filetype * less %c
 | 
						|
 | 
						|
       matches all files.  One can use character classes for escaping, so
 | 
						|
 | 
						|
	 :filetype [*] less %c
 | 
						|
 | 
						|
       matches only one file name, the one which contains only	asterisk  sym-
 | 
						|
       bol.
 | 
						|
 | 
						|
       `*`  means  any number of any characters (possibly an empty substring),
 | 
						|
       with one exception: asterisk at the pattern beginning doesn't match dot
 | 
						|
       in the first position.  E.g.
 | 
						|
 | 
						|
	 :fileviewer *.zip,*.jar zip -sf %c
 | 
						|
 | 
						|
       associates  using  of  `zip` program to preview all files with `zip` or
 | 
						|
       `jar` extensions as listing of their content, but `.file.zip` won't  be
 | 
						|
       matched.
 | 
						|
 | 
						|
       `?` means any character at this position.  E.g.
 | 
						|
 | 
						|
	 :fileviewer ?.out file %c
 | 
						|
 | 
						|
       calls `file` tool for all files which have exactly one character before
 | 
						|
       their extension (e.g. a.out, b.out).
 | 
						|
 | 
						|
       Square brackets designate character class, which means that whole char-
 | 
						|
       acter  class matches against any of characters listed in it.  For exam-
 | 
						|
       ple
 | 
						|
 | 
						|
	 :fileviewer *.[ch] highlight -O xterm256 -s dante --syntax c %c
 | 
						|
 | 
						|
       makes vifm call `highlight` program to colorize source and header files
 | 
						|
       in C language for a 256-color terminal.	Equal command would be
 | 
						|
 | 
						|
	 :fileviewer *.c,*.h highlight -O xterm256 -s dante --syntax c %c
 | 
						|
 | 
						|
 | 
						|
       Inside square brackets `^` or `!` can be used for symbol class negotia-
 | 
						|
       tion and the `-` symbol to set a range.	 `^`  and  `!`	should	appear
 | 
						|
       right after the opening square bracket.	For example
 | 
						|
 | 
						|
	 :filetype *.[!d]/ inspect_dir
 | 
						|
 | 
						|
       associates `inspect_dir` as additional handler for all directories that
 | 
						|
       have one character extension unless it's "d" letter.  And
 | 
						|
 | 
						|
	 :filetype [0-9].jpg sxiv
 | 
						|
 | 
						|
       associates `sxiv` picture viewer only for JPEG-files that contain  sin-
 | 
						|
       gle digit in their name.
 | 
						|
 | 
						|
:set options
 | 
						|
       Local options
 | 
						|
	      These are kind of options that are local to a specific view.  So
 | 
						|
	      you can set ascending sorting order for left pane and descending
 | 
						|
	      order for right pane.
 | 
						|
 | 
						|
	      In  addition  to being local to views, each such option also has
 | 
						|
	      two values:
 | 
						|
 | 
						|
		- local to current directory (value  associated	 with  current
 | 
						|
		  location);
 | 
						|
 | 
						|
		- global  to  current  directory  (value  associated  with the
 | 
						|
		  pane).
 | 
						|
 | 
						|
	      The idea is that current directory can be made a	temporary  ex-
 | 
						|
	      ception  to  regular  configuration of the view, until directory
 | 
						|
	      change.  Use :setlocal for that.	:setglobal changes view	 value
 | 
						|
	      not  affecting  settings	until  directory change.  :set applies
 | 
						|
	      changes immediately to all values.
 | 
						|
 | 
						|
 | 
						|
       'aproposprg'
 | 
						|
	      type: string
 | 
						|
	      default: "apropos %a"
 | 
						|
	      Specifies format for an external command to be  invoked  by  the
 | 
						|
	      :apropos command.	 The format supports expanding of macros, spe-
 | 
						|
	      cific for a particular *prg option, and %% sequence for  insert-
 | 
						|
	      ing  percent  sign literally.  This option should include the %a
 | 
						|
	      macro to specify placement of arguments passed to	 the  :apropos
 | 
						|
	      command.	 If the macro is not used, it will be implicitly added
 | 
						|
	      after a space to the value of this option.
 | 
						|
 | 
						|
       'autochpos'
 | 
						|
	      type: boolean
 | 
						|
	      default: true
 | 
						|
	      When disabled vifm will set cursor to the first line in the view
 | 
						|
	      after  :cd and :pushd commands instead of saved cursor position.
 | 
						|
	      Disabling this will also make vifm clear information about  cur-
 | 
						|
	      sor position in the view history on :cd and :pushd commands (and
 | 
						|
	      on startup if 'autochpos' is disabled in the vifmrc).  l key  in
 | 
						|
	      the  ":history ." and ":trashes" menus are treated like :cd com-
 | 
						|
	      mand.  This option also affects marks so that  navigating	 to  a
 | 
						|
	      mark doesn't restore cursor position.
 | 
						|
 | 
						|
	      When this option is enabled, more fine grained control over cur-
 | 
						|
	      sor position is available via 'histcursor' option.
 | 
						|
 | 
						|
       'columns' 'co'
 | 
						|
	      type: integer
 | 
						|
	      default: terminal width on startup
 | 
						|
	      Terminal width in characters.
 | 
						|
 | 
						|
       'caseoptions'
 | 
						|
	      type: charset
 | 
						|
	      default: ""
 | 
						|
	      This option gives additional control over	 case  sensitivity  by
 | 
						|
	      allowing	overriding  default behaviour to either always be case
 | 
						|
	      sensitive or always be case insensitive.	Possible  values  form
 | 
						|
	      pairs  of	 lower	and upper case letters that configure specific
 | 
						|
	      aspect of behaviour:
 | 
						|
		p - always ignore case of paths during completion.
 | 
						|
		P - always match case of paths during completion.
 | 
						|
		g - always ignore case of characters for f/F/;/,.
 | 
						|
		G - always match case of characters for f/F/;/,.
 | 
						|
 | 
						|
	      At most one item of each pair takes affect, if both or more  are
 | 
						|
	      present,	only  the  last one matters.  When none of pair's ele-
 | 
						|
	      ments are present, the behaviour is default (depends on  operat-
 | 
						|
	      ing system for path completion and on values of 'ignorecase' and
 | 
						|
	      'smartcase' options for file navigation).
 | 
						|
 | 
						|
       'cdpath' 'cd'
 | 
						|
	      type: string list
 | 
						|
	      default: value of $CDPATH with commas instead of colons
 | 
						|
	      Specifies locations to check on changing directory with relative
 | 
						|
	      path  that  doesn't  start  with "./" or "../".  When non-empty,
 | 
						|
	      current directory is examined after directories  listed  in  the
 | 
						|
	      option.
 | 
						|
 | 
						|
	      This option doesn't affect completion of :cd command.
 | 
						|
 | 
						|
	      Example:
 | 
						|
 | 
						|
		set cdpath=~
 | 
						|
 | 
						|
	      This  way	 ":cd  bin"  will  switch to "~/bin" even if directory
 | 
						|
	      named "bin" exists in current directory, while ":cd ./bin"  com-
 | 
						|
	      mand will ignore value of 'cdpath'.
 | 
						|
 | 
						|
       'chaselinks'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      When  enabled path of view is always resolved to real path (with
 | 
						|
	      all symbolic links expanded).
 | 
						|
 | 
						|
       'classify'
 | 
						|
	      type: string list
 | 
						|
	      default: ":dir:/"
 | 
						|
	      Specifies file name prefixes and suffixes depending on file type
 | 
						|
	      or name.	The format is either of:
 | 
						|
		- [{prefix}]:{filetype}:[{suffix}]
 | 
						|
		- [{prefix}]::{pattern}::[{suffix}]
 | 
						|
	      Possible	{pattern}  forms  are  described in "Patterns" section
 | 
						|
	      above.
 | 
						|
 | 
						|
	      Priority rules:
 | 
						|
		- file name patterns have priority over type patterns
 | 
						|
		- file name patterns are matched  in  left-to-right  order  of
 | 
						|
	      their appearance in this option
 | 
						|
 | 
						|
	      Either {prefix} or {suffix} or both can be omitted (which is the
 | 
						|
	      default for all unspecified file types), this means empty	 {pre-
 | 
						|
	      fix}  and/or  {suffix}.  {prefix} and {suffix} should consist of
 | 
						|
	      at most eight characters.	 Elements  are	separated  by  commas.
 | 
						|
	      Neither  prefixes	 nor  suffixes are part of file names, so they
 | 
						|
	      don't affect commands which operate on file names	 in  any  way.
 | 
						|
	      Comma  (',')  character can be inserted by doubling it.  List of
 | 
						|
	      file type names can be found in the  description	of  filetype()
 | 
						|
	      function.
 | 
						|
 | 
						|
       'confirm' 'cf'
 | 
						|
	      type: set
 | 
						|
	      default: delete,permdelete
 | 
						|
	      Defines which operations require confirmation:
 | 
						|
	       - delete	    - moving files to trash (on d or :delete);
 | 
						|
	       -  permdelete  -	 permanent deletion of files (on D or :delete!
 | 
						|
	      command or on undo/redo operation).
 | 
						|
 | 
						|
       'cpoptions' 'cpo'
 | 
						|
	      type: charset
 | 
						|
	      default: "fst"
 | 
						|
	      Contains a sequence of single-character flags.   Each  flag  en-
 | 
						|
	      ables behaviour of older versions of vifm.  Flags:
 | 
						|
	       - f - when included, running :filter command results in not in-
 | 
						|
	      verted (matching files are filtered out)	and  :filter!  in  in-
 | 
						|
	      verted  (matching	 files are left) filter, when omitted, meaning
 | 
						|
	      of the exclamation mark changes to the opposite;
 | 
						|
	       - s - when included, yy, dd and DD normal mode commands act  on
 | 
						|
	      selection, otherwise they operate on current file only;
 | 
						|
	       -  t  - when included, <tab> (thus <c-i>) behave as <space> and
 | 
						|
	      switches active pane, otherwise <tab> and <c-i>  go  forward  in
 | 
						|
	      the view history.	 It's possible to make both <tab> and <c-i> to
 | 
						|
	      work as expected by setting up the terminal to emit a custom se-
 | 
						|
	      quence when <c-i> is pressed; see :histnext for details.
 | 
						|
 | 
						|
       'cvoptions'
 | 
						|
	      type: set
 | 
						|
	      default:
 | 
						|
	      Specifies	 whether entering/leaving custom views triggers events
 | 
						|
	      that normally happen on entering/leaving directories:
 | 
						|
	       - autocmds    - trigger autocommands on entering/leaving custom
 | 
						|
	      views;
 | 
						|
	       -  localopts   - reset local options on entering/leaving custom
 | 
						|
	      views;
 | 
						|
	       - localfilter - reset local filter on  entering/leaving	custom
 | 
						|
	      views.
 | 
						|
 | 
						|
       'deleteprg'
 | 
						|
	      type: string
 | 
						|
	      default: ""
 | 
						|
	      Specifies	 program to run on files that are permanently removed.
 | 
						|
	      When empty, files are removed as usual, otherwise	 this  command
 | 
						|
	      is  invoked  on each file by appending its name.	If the command
 | 
						|
	      doesn't remove files, they will remain on the file system.
 | 
						|
 | 
						|
       'dirsize'
 | 
						|
	      type: enumeration
 | 
						|
	      default: size
 | 
						|
	      Controls how size of directories is  displayed  in  file	views.
 | 
						|
	      The following values are possible:
 | 
						|
	       -  size	 - size of directory (i.e., size used to store list of
 | 
						|
	      files)
 | 
						|
	       - nitems - number of entries in the directory (excluding .  and
 | 
						|
	      ..)
 | 
						|
 | 
						|
	      Size  obtained via ga/gA overwrites this setting so seeing count
 | 
						|
	      of files and occasionally size of directories is possible.
 | 
						|
 | 
						|
       'dotdirs'
 | 
						|
	      type: set
 | 
						|
	      default: nonrootparent
 | 
						|
	      Controls displaying of dot directories.	The  following	values
 | 
						|
	      are possible:
 | 
						|
	       - rootparent    - show "../" in root directory of file system
 | 
						|
	       -  nonrootparent	 -  show "../" in non-root directories of file
 | 
						|
	      system
 | 
						|
 | 
						|
	      Note that empty directories always contain "../"	entry  regard-
 | 
						|
	      less of value of this option.  "../" disappears at the moment at
 | 
						|
	      least one file is created.
 | 
						|
 | 
						|
       'dotfiles'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      Whether dot files are shown in the view.	Can be controlled with
 | 
						|
	      z* bindings.
 | 
						|
 | 
						|
       'fastrun'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      With  this  option  turned on you can run partially entered com-
 | 
						|
	      mands with unambiguous beginning using :! (e.g. :!Te instead  of
 | 
						|
	      :!Terminal or :!Te<tab>).
 | 
						|
 | 
						|
       'fillchars' 'fcs'
 | 
						|
	      type: string list
 | 
						|
	      default: ""
 | 
						|
	      Sets characters used to fill borders.
 | 
						|
 | 
						|
		item	     default	used for
 | 
						|
		vborder:c     '	 '	  left, middle and right vertical bor-
 | 
						|
	      ders
 | 
						|
 | 
						|
	      If value is omitted, its default value is used.  Example:
 | 
						|
 | 
						|
		set fillchars=vborder:.
 | 
						|
 | 
						|
       'findprg'
 | 
						|
	      type: string
 | 
						|
	      default: "find %s %a -print , -type d \( ! -readable -o !	 -exe-
 | 
						|
	      cutable \) -prune"
 | 
						|
	      Specifies	 format	 for  an external command to be invoked by the
 | 
						|
	      :find command.  The format supports expansion of macros specific
 | 
						|
	      for this particular option and %% sequence for inserting percent
 | 
						|
	      sign literally.  The macros are:
 | 
						|
 | 
						|
		macro	value/meaning
 | 
						|
		 %s	literal arguments of :find or
 | 
						|
			list of paths to search in
 | 
						|
 | 
						|
		 %A	empty or
 | 
						|
			literal arguments of :find
 | 
						|
		 %a	empty or
 | 
						|
			literal arguments of :find or
 | 
						|
			predicate followed by escaped arguments of :find
 | 
						|
		 %p	empty or
 | 
						|
			literal arguments of :find or
 | 
						|
			escaped arguments (parameters) of :find
 | 
						|
 | 
						|
		 %u	redirect output to custom view instead	of  showing  a
 | 
						|
	      menu
 | 
						|
		 %U	 redirect  output  to  unsorted custom view instead of
 | 
						|
	      showing a menu
 | 
						|
 | 
						|
	      Predicate in %a is "-name" on *nix and "-iname" on Windows.
 | 
						|
 | 
						|
	      If both %u and %U are specified, %U is chosen.
 | 
						|
 | 
						|
	      Some macros can be added implicitly:
 | 
						|
	       - if %s isn't present, it's appended
 | 
						|
	       - if neither of %a, %A and %p is present, %a is appended
 | 
						|
	       - if neither of %s, %a, %A and %p is present, %s and %a are ap-
 | 
						|
	      pended in this order
 | 
						|
 | 
						|
	      The  macros slightly change their meaning depending on format of
 | 
						|
	      :find's arguments:
 | 
						|
	       - if the first argument points to an existing directory, %s  is
 | 
						|
	      assigned all arguments while %a, %A and %p are left empty
 | 
						|
	       - otherwise:
 | 
						|
		  -  %s	 is  assigned a dot (".") meaning current directory or
 | 
						|
	      list of selected file names, if any
 | 
						|
		  - %a, %A and %p are assigned literal	arguments  when	 first
 | 
						|
	      argument	starts with a dash ("-"), otherwise %a gets an escaped
 | 
						|
	      version of the arguments with a predicate and  %p	 contains  es-
 | 
						|
	      caped version of the arguments
 | 
						|
 | 
						|
	      Starting	with  Windows  Server 2003 a `where` command is avail-
 | 
						|
	      able.  One can configure vifm to use it in the following way:
 | 
						|
 | 
						|
		  set findprg="where /R %s %A"
 | 
						|
 | 
						|
	      As the syntax of this command is rather limited, one  can't  use
 | 
						|
	      :find  command  with selection of more than one item because the
 | 
						|
	      command ignores all directory paths except for the last one.
 | 
						|
 | 
						|
	      When using find port on Windows,	another	 option	 is  to	 setup
 | 
						|
	      'findprg' like this:
 | 
						|
 | 
						|
		  set findprg="find %s %a"
 | 
						|
 | 
						|
 | 
						|
       'followlinks'
 | 
						|
	      type: boolean
 | 
						|
	      default: true
 | 
						|
	      Follow  links  on	 l  or Enter.  That is navigate to destination
 | 
						|
	      file instead of treating the link as if  it  were	 target	 file.
 | 
						|
	      Doesn't  affects	links to directories, which are always entered
 | 
						|
	      (use gf key for directories).
 | 
						|
 | 
						|
       'fusehome'
 | 
						|
	      type: string
 | 
						|
	      default: "($XDG_DATA_HOME/.local/share | $VIFM)/fuse/"
 | 
						|
	      Directory to be used as a root dir for FUSE  mounts.   Value  of
 | 
						|
	      the  option  can	contain	 environment  variables (in form "$en-
 | 
						|
	      vname"), which will be expanded (prepend it with a slash to pre-
 | 
						|
	      vent expansion).	The value should expand to an absolute path.
 | 
						|
 | 
						|
	      If  you change this option, vifm won't remount anything.	It af-
 | 
						|
	      fects future mounts only.	 See "Automatic FUSE  mounts"  section
 | 
						|
	      below for more information.
 | 
						|
 | 
						|
       'gdefault' 'gd'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      When on, 'g' flag is on for :substitute by default.
 | 
						|
 | 
						|
       'grepprg'
 | 
						|
	      type: string
 | 
						|
	      default: "grep -n -H -I -r %i %a %s"
 | 
						|
	      Specifies	 format	 for  an external command to be invoked by the
 | 
						|
	      :grep command.  The format supports expanding  of	 macros,  spe-
 | 
						|
	      cific  for a particular *prg option, and %% sequence for insert-
 | 
						|
	      ing percent sign literally.  This option should include  the  %i
 | 
						|
	      macro  to specify placement of "-v" string when inversion of re-
 | 
						|
	      sults is requested, %a or %A macro to specify placement of argu-
 | 
						|
	      ments  passed  to	 the :grep command and the %s macro to specify
 | 
						|
	      placement of list of files to search in.	If some of the	macros
 | 
						|
	      are not used, they will be implicitly added after a space to the
 | 
						|
	      value of the 'grepprg' option in the following  order:  %i,  %a,
 | 
						|
	      %s.   Note  that	when  neither %a nor %A are specified, it's %a
 | 
						|
	      which is added implicitly.
 | 
						|
 | 
						|
	      Optional %u or %U macro could be used (if both specified	%U  is
 | 
						|
	      chosen)  to  force redirection to custom or unsorted custom view
 | 
						|
	      respectively.
 | 
						|
 | 
						|
	      See 'findprg' option for description of  difference  between  %a
 | 
						|
	      and %A.
 | 
						|
 | 
						|
	      Example  of setup to use ack (http://beyondgrep.com/) instead of
 | 
						|
	      grep:
 | 
						|
 | 
						|
		set grepprg='ack -H -r %i %a %s'
 | 
						|
 | 
						|
	      or  The  Silver	Searcher   (https://github.com/ggreer/the_sil-
 | 
						|
	      ver_searcher):
 | 
						|
 | 
						|
		set grepprg='ag --line-numbers %i %a %s'
 | 
						|
 | 
						|
 | 
						|
 | 
						|
       'histcursor'
 | 
						|
	      type: set
 | 
						|
	      default: startup,dirmark,direnter
 | 
						|
	      Defines  situations when cursor should be moved according to di-
 | 
						|
	      rectory history:
 | 
						|
	       - startup  - on loading file lists during startup
 | 
						|
	       - dirmark  - after navigating to a mark	that  doesn't  specify
 | 
						|
	      file
 | 
						|
	       - direnter - on opening directory from a file list
 | 
						|
 | 
						|
	      This option has no effect when 'autochpos' is disabled.
 | 
						|
 | 
						|
	      Note  that the list is not exhaustive and there are other situa-
 | 
						|
	      tions when cursor is positioned automatically.
 | 
						|
 | 
						|
       'history' 'hi'
 | 
						|
	      type: integer
 | 
						|
	      default: 15
 | 
						|
	      Maximum number of stored items in all histories.
 | 
						|
 | 
						|
       'hlsearch' 'hls'
 | 
						|
	      type: boolean
 | 
						|
	      default: true
 | 
						|
	      Highlight all matches of search pattern.
 | 
						|
 | 
						|
       'iec'  type: boolean
 | 
						|
	      default: false
 | 
						|
	      Use KiB, MiB, ... suffixes instead of K, M,  ...	when  printing
 | 
						|
	      size in human-friendly format.
 | 
						|
 | 
						|
       'ignorecase' 'ic'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      Ignore  case  in search patterns (:substitute, / and ? commands)
 | 
						|
	      and characters after f and F commands.  It doesn't  affect  file
 | 
						|
	      filtering.
 | 
						|
 | 
						|
       'incsearch' 'is'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      When this option is set, search and view update for local filter
 | 
						|
	      is be performed starting from initial cursor position each  time
 | 
						|
	      search pattern is changed.
 | 
						|
 | 
						|
       'iooptions'
 | 
						|
	      type: set
 | 
						|
	      default:
 | 
						|
	      Controls	details	 of file operations.  The following values are
 | 
						|
	      available:
 | 
						|
	       - fastfilecloning - perform fast file cloning  (copy-on-write),
 | 
						|
	      when available
 | 
						|
				   (available on Linux and btrfs file system).
 | 
						|
 | 
						|
       'laststatus' 'ls'
 | 
						|
	      type: boolean
 | 
						|
	      default: true
 | 
						|
	      Controls if status bar is visible.
 | 
						|
 | 
						|
       'lines'
 | 
						|
	      type: integer
 | 
						|
	      default: terminal height on startup
 | 
						|
	      Terminal height in lines.
 | 
						|
 | 
						|
       'locateprg'
 | 
						|
	      type: string
 | 
						|
	      default: "locate %a"
 | 
						|
	      Specifies	 format	 for  an external command to be invoked by the
 | 
						|
	      :locate command.	The format supports expanding of macros,  spe-
 | 
						|
	      cific  for a particular *prg option, and %% sequence for insert-
 | 
						|
	      ing percent sign literally.  This option should include  the  %a
 | 
						|
	      macro  to	 specify  placement of arguments passed to the :locate
 | 
						|
	      command.	If the macro is not used, it will be implicitly	 added
 | 
						|
	      after a space to the value of this option.
 | 
						|
 | 
						|
	      Optional	%u  or %U macro could be used (if both specified %U is
 | 
						|
	      chosen) to force redirection to custom or unsorted  custom  view
 | 
						|
	      respectively.
 | 
						|
 | 
						|
       'mediaprg'
 | 
						|
	      type: string
 | 
						|
	      default: path to bundled script that supports udevil, udisks and
 | 
						|
	      udisks2
 | 
						|
		       (using udisks2 requires python  with  dbus  module  in-
 | 
						|
	      stalled)
 | 
						|
		       OS X: path points to a python script that uses diskutil
 | 
						|
	      {only for *nix}
 | 
						|
	      Specifies	 command  to be used to manage media devices.  Used by
 | 
						|
	      :media command.
 | 
						|
 | 
						|
	      The command can be passed the following parameters:
 | 
						|
	       - list		-- list media
 | 
						|
	       - mount {device} -- mount a device
 | 
						|
	       - unmount {path} -- unmount given mount point
 | 
						|
 | 
						|
	      The output of `list` subcommand is parsed	 in  search  of	 lines
 | 
						|
	      that start with one of the following prefixes:
 | 
						|
	       - device=      - specifies device path (e.g., "/dev/sde")
 | 
						|
	       - label=	      - specifies optional device label (e.g., "Memory
 | 
						|
	      card")
 | 
						|
	       - info=	      - specifies arbitrary text to  display  next  to
 | 
						|
	      device (by
 | 
						|
				default	 "[label]"  is	used, if label is pro-
 | 
						|
	      vided)
 | 
						|
	       - mount-point= - specifies a mount point (can be absent or  ap-
 | 
						|
	      pear more than once)
 | 
						|
 | 
						|
	      All  other  lines are ignored.  Each `device=` starts a new sec-
 | 
						|
	      tion describing a device which should include two other possible
 | 
						|
	      prefixes.
 | 
						|
 | 
						|
	      `list`  subcommand is assumed to always succeed, while exit code
 | 
						|
	      of `mount` and `unmount` is  taken  into	account	 to  determine
 | 
						|
	      whether operation was performed successfully.
 | 
						|
 | 
						|
       'lsoptions'
 | 
						|
	      type: string list
 | 
						|
	      default: ""
 | 
						|
	      scope: local
 | 
						|
 | 
						|
	      Configures ls-like view.
 | 
						|
 | 
						|
		item	      used for
 | 
						|
		transposed     filling	view  grid  by	columns rather than by
 | 
						|
	      lines
 | 
						|
 | 
						|
 | 
						|
       'lsview'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      scope: local
 | 
						|
	      When this option is set, directory view  will  be	 displayed  in
 | 
						|
	      multiple	columns	 with  file names similar to output of `ls -x`
 | 
						|
	      command.	See "ls-like view" section below for  format  descrip-
 | 
						|
	      tion.  This option has no effect if 'millerview' is on.
 | 
						|
 | 
						|
       'milleroptions'
 | 
						|
	      type: string list
 | 
						|
	      default: "lsize:1,csize:1,rsize:1,rpreview:dirs"
 | 
						|
	      scope: local
 | 
						|
 | 
						|
	      Configures miller view.
 | 
						|
 | 
						|
		item	      default  used for
 | 
						|
		lsize:num     0	       left column
 | 
						|
		csize:num     1	       center column (can't be disabled)
 | 
						|
		rsize:num     0	       right column
 | 
						|
		rpreview:str  dirs     right column
 | 
						|
 | 
						|
	      *size  specifies	ratios of columns.  Each ratio is in the range
 | 
						|
	      from 0 to 100 and values are adjusted to fit the	limits.	  Zero
 | 
						|
	      disables a column, but central (main) column can't be disabled.
 | 
						|
 | 
						|
	      rpreview	specifies what file-system objects should be previewed
 | 
						|
	      in the right column and can take two values: dirs (only directo-
 | 
						|
	      ries)  or	 all.	Both  options  don't  include parent directory
 | 
						|
	      ("..").
 | 
						|
 | 
						|
	      Example of two-column mode which is useful in  combination  with
 | 
						|
	      :view command:
 | 
						|
 | 
						|
		set milleroptions=lsize:1,csize:2
 | 
						|
 | 
						|
 | 
						|
       'millerview'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      scope: local
 | 
						|
	      When  this  option  is  set, directory view will be displayed in
 | 
						|
	      multiple cascading columns.  Ignores 'lsview'.
 | 
						|
 | 
						|
       'mintimeoutlen'
 | 
						|
	      type: integer
 | 
						|
	      default: 150
 | 
						|
	      The fracture of 'timeoutlen' in milliseconds that is waited  be-
 | 
						|
	      tween subsequent input polls, which affects various asynchronous
 | 
						|
	      operations (detecting changes  made  by  external	 applications,
 | 
						|
	      monitoring  background jobs, redrawing UI).  There are no strict
 | 
						|
	      guarantees, however the higher this value is, the	 less  is  CPU
 | 
						|
	      load in idle mode.
 | 
						|
 | 
						|
       'number' 'nu'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      scope: local
 | 
						|
	      Print  line  number in front of each file name when 'lsview' op-
 | 
						|
	      tion is turned off.  Use 'numberwidth' to control width of  line
 | 
						|
	      number.  Also see 'relativenumber'.
 | 
						|
 | 
						|
       'numberwidth' 'nuw'
 | 
						|
	      type: integer
 | 
						|
	      default: 4
 | 
						|
	      scope: local
 | 
						|
	      Minimal number of characters for line number field.
 | 
						|
 | 
						|
       'previewprg'
 | 
						|
	      type: string
 | 
						|
	      default: ""
 | 
						|
	      scope: local
 | 
						|
 | 
						|
	      External	command to be used instead of preview programs config-
 | 
						|
	      ured via :fileviewer command.
 | 
						|
 | 
						|
	      Example:
 | 
						|
 | 
						|
		" always show git log in preview of files inside some repository
 | 
						|
		au DirEnter '~/git-repo/**/*' setl previewprg='git log --color -- %c 2>&1'
 | 
						|
 | 
						|
       'quickview'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      Whether quick view (:view) is currently active or not.
 | 
						|
 | 
						|
       'relativenumber' 'rnu'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      scope: local
 | 
						|
	      Print relative line number in  front  of	each  file  name  when
 | 
						|
	      'lsview'	option	is  turned  off.  Use 'numberwidth' to control
 | 
						|
	      width of line number.   Various  combinations  of	 'number'  and
 | 
						|
	      'relativenumber' lead to such results:
 | 
						|
 | 
						|
				      nonumber		     number
 | 
						|
 | 
						|
		  norelativenumber   | first		    |	1 first
 | 
						|
				     | second		    |	2 second
 | 
						|
				     | third		    |	3 third
 | 
						|
 | 
						|
		    relativenumber   |	 1 first	    |	1 first
 | 
						|
				     |	 0 second	    |2	  second
 | 
						|
				     |	 1 third	    |	1 third
 | 
						|
 | 
						|
 | 
						|
       'rulerformat' 'ruf'
 | 
						|
	      type: string
 | 
						|
	      default: "%l/%S "
 | 
						|
	      Determines  the  content	of the ruler.  Its minimal width is 13
 | 
						|
	      characters and it's right aligned.  Following  macros  are  sup-
 | 
						|
	      ported:
 | 
						|
	       %=  - separation point between left and right aligned halves of
 | 
						|
	      the line
 | 
						|
	       %l  - file number
 | 
						|
	       %L  - total number of files in  view  (including	 filtered  out
 | 
						|
	      ones)
 | 
						|
	       %x  - number of files excluded by filters
 | 
						|
	       %0- - old name for %x macro
 | 
						|
	       %S  - number of displayed files
 | 
						|
	       %=  - separation point between left and right align items
 | 
						|
	       %%  - percent sign
 | 
						|
	       %[  - designates beginning of an optional block
 | 
						|
	       %]  - designates end of an optional block
 | 
						|
 | 
						|
	      Percent  sign  can  be followed by optional minimum field width.
 | 
						|
	      Add '-' before minimum field width if you want field to be right
 | 
						|
	      aligned.
 | 
						|
 | 
						|
	      Example:
 | 
						|
 | 
						|
		set rulerformat='%2l-%S%[ +%x%]'
 | 
						|
 | 
						|
       'runexec'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      Run executable file on Enter or l.
 | 
						|
 | 
						|
       'scrollbind' 'scb'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      When  this  option  is  set, vifm will try to keep difference of
 | 
						|
	      scrolling positions of two windows constant.
 | 
						|
 | 
						|
       'scrolloff' 'so'
 | 
						|
	      type: integer
 | 
						|
	      default: 0
 | 
						|
	      Minimal number of screen lines to keep above and below the  cur-
 | 
						|
	      sor.   If you want cursor line to always be in the middle of the
 | 
						|
	      view (except at the beginning or end of the file list), set this
 | 
						|
	      option to some large value (e.g. 999).
 | 
						|
 | 
						|
       'shell' 'sh'
 | 
						|
	      type: string
 | 
						|
	      default: $SHELL or "/bin/sh" or "cmd" (on MS-Windows)
 | 
						|
	      Full path to the shell to use to run external commands.  On *nix
 | 
						|
	      a shell argument can be supplied.
 | 
						|
 | 
						|
       'shellcmdflag' 'shcf'
 | 
						|
	      type: string
 | 
						|
	      default: "-c" or "/C" (for cmd.exe on MS-Windows)
 | 
						|
	      Command-line option used to pass a  command  to  'shell'.	  It's
 | 
						|
	      used in contexts where command comes from the user.
 | 
						|
 | 
						|
       'shortmess' 'shm'
 | 
						|
	      type: charset
 | 
						|
	      default: "p"
 | 
						|
	      Contains	a  sequence  of single-character flags.	 Each flag en-
 | 
						|
	      ables shortening of some message displayed by vifm in  the  TUI.
 | 
						|
	      Flags:
 | 
						|
	       -  L  - display only last directory in tab line instead of full
 | 
						|
	      path.
 | 
						|
	       - M - shorten titles in windows of terminal  multiplexers  cre-
 | 
						|
	      ated by vifm down to file name instead of using full path.
 | 
						|
	       -  T  -	truncate status-bar messages in the middle if they are
 | 
						|
	      too long to fit on the command line.  "..." will appear  in  the
 | 
						|
	      middle.
 | 
						|
	       - p - use tilde shortening in view titles.
 | 
						|
 | 
						|
 | 
						|
       'showtabline' 'stal'
 | 
						|
	      type: enumeration
 | 
						|
	      default: multiple
 | 
						|
	      Specifies when tab line should be displayed.  Possible values:
 | 
						|
	       - never	  - never display tab line
 | 
						|
	       -  multiple  -  show  tab line only when there are at least two
 | 
						|
	      tabs
 | 
						|
	       - always	  - display tab line always
 | 
						|
 | 
						|
	      Alternatively 0, 1 and 2 Vim-like values	are also accepted  and
 | 
						|
	      correspond to "never", "multiple" and "always" respectively.
 | 
						|
 | 
						|
 | 
						|
       'sizefmt'
 | 
						|
	      type: string list
 | 
						|
	      default: "units:iec"
 | 
						|
	      Configures the way size is formatted in human-friendly way.
 | 
						|
 | 
						|
		  item		value	      meaning
 | 
						|
		  units:	 iec		Use 1024 byte units (K or KiB,
 | 
						|
	      etc.).
 | 
						|
					      See 'iec' option.
 | 
						|
				si	      Use 1000 byte units (KB, etc.).
 | 
						|
		  precision:	i > 0	      How many fraction digits to con-
 | 
						|
	      sider.
 | 
						|
				{not  set}     Precision of 1 for integer part
 | 
						|
	      < 10,
 | 
						|
					      0 otherwise (provides old behav-
 | 
						|
	      iour).
 | 
						|
		  space		 {present}	Insert	space before unit sym-
 | 
						|
	      bols.
 | 
						|
					      This is the default.
 | 
						|
		  nospace	{present}     Do not insert space before  unit
 | 
						|
	      symbols.
 | 
						|
 | 
						|
	      Numbers are rounded from zero.  Trailing zeros are dropped.
 | 
						|
 | 
						|
	      Example:
 | 
						|
 | 
						|
		set sizefmt=units:iec,precision:2,nospace
 | 
						|
 | 
						|
 | 
						|
       'slowfs'
 | 
						|
	      type: string list
 | 
						|
	      default: ""
 | 
						|
	      only for *nix
 | 
						|
	      A	 list of mounter fs name beginnings (first column in /etc/mtab
 | 
						|
	      or /proc/mounts) or paths prefixes for fs/directories that  work
 | 
						|
	      too  slow	 for  you.   This option can be used to stop vifm from
 | 
						|
	      making some requests to particular kinds of  file	 systems  that
 | 
						|
	      can  slow	 down file browsing.  Currently this means don't check
 | 
						|
	      if directory has changed, skip check if target of symbolic links
 | 
						|
	      exists,  assume  that link target located on slow fs to be a di-
 | 
						|
	      rectory (allows entering directories and navigating to files via
 | 
						|
	      gf).  If you set the option to "*", it means all the systems are
 | 
						|
	      considered slow (useful for cygwin, where all the	 checks	 might
 | 
						|
	      render vifm very slow if there are network mounts).
 | 
						|
 | 
						|
	      Example for autofs root /mnt/autofs:
 | 
						|
 | 
						|
		set slowfs+=/mnt/autofs
 | 
						|
 | 
						|
       'smartcase' 'scs'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      Overrides	 the  ignorecase option if the search pattern contains
 | 
						|
	      at least one upper case character.  Only	used  when  ignorecase
 | 
						|
	      option is enabled.  It doesn't affect file filtering.
 | 
						|
 | 
						|
       'sort' type: string list
 | 
						|
	      default: +name on *nix and +iname on Windows
 | 
						|
	      scope: local
 | 
						|
	      Sets  list of sorting keys (first item is primary key, second is
 | 
						|
	      secondary key, etc.):
 | 
						|
		 [+-]ext     - extension of files and directories
 | 
						|
		 [+-]fileext - extension of files only
 | 
						|
		 [+-]name    - name (including extension)
 | 
						|
		 [+-]iname   - name (including extension, ignores case)
 | 
						|
		 [+-]type		 -		file		  type
 | 
						|
	      (dir/reg/exe/link/char/block/sock/fifo)
 | 
						|
		 [+-]dir     - directory grouping (directory < file)
 | 
						|
		 [+-]gid     - group id (*nix only)
 | 
						|
		 [+-]gname   - group name (*nix only)
 | 
						|
		 [+-]mode    - file type derived from its mode (*nix only)
 | 
						|
		 [+-]perms   - permissions string (*nix only)
 | 
						|
		 [+-]uid     - owner id (*nix only)
 | 
						|
		 [+-]uname   - owner name (*nix only)
 | 
						|
		 [+-]nlinks  - number of hard links (*nix only)
 | 
						|
		 [+-]inode   - inode number (*nix only)
 | 
						|
		 [+-]size    - size
 | 
						|
		 [+-]nitems  - number of items in a directory (zero for files)
 | 
						|
		 [+-]groups  - groups extracted via regexps from 'sortgroups'
 | 
						|
		 [+-]target   -	 symbolic  link	 target	 (empty for other file
 | 
						|
	      types)
 | 
						|
		 [+-]atime   - time accessed (e.g. read, executed)
 | 
						|
		 [+-]ctime   - time changed (changes in metadata, e.g. mode)
 | 
						|
		 [+-]mtime   - time modified (when file contents is changed)
 | 
						|
 | 
						|
	      Note: look for st_atime, st_ctime and st_mtime in "man  2	 stat"
 | 
						|
	      for more information on time keys.
 | 
						|
 | 
						|
	      '+'  means ascending sort for this key, and '-' means descending
 | 
						|
	      sort.
 | 
						|
 | 
						|
	      "dir" key is somewhat similar in this regard but it's added  im-
 | 
						|
	      plicitly:	 when "dir" is not specified, sorting behaves as if it
 | 
						|
	      was the first key in the list.  That's why if one wants  sorting
 | 
						|
	      algorithm to mix directories and files, "dir" should be appended
 | 
						|
	      to sorting option, for example like this:
 | 
						|
 | 
						|
		set sort+=dir
 | 
						|
 | 
						|
	      or
 | 
						|
 | 
						|
		set sort=-size,dir
 | 
						|
 | 
						|
	      Value of the option is checked to include dir  key  and  default
 | 
						|
	      sorting key (name on *nix, iname on Windows).  Here is what hap-
 | 
						|
	      pens if one of them is missing:
 | 
						|
 | 
						|
		- type key is added at the beginning;
 | 
						|
 | 
						|
		- default key is added at the end;
 | 
						|
 | 
						|
	      all other keys are left untouched (at most they are moved).
 | 
						|
 | 
						|
	      This option also changes view columns according to primary sort-
 | 
						|
	      ing key set, unless 'viewcolumns' option is not empty.
 | 
						|
 | 
						|
       'sortnumbers'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      scope: local
 | 
						|
	      Natural sort of (version) numbers within text.
 | 
						|
 | 
						|
       'sortgroups'
 | 
						|
	      type: string
 | 
						|
	      default: ""
 | 
						|
	      scope: local
 | 
						|
	      Sets  comma-separated  list  of  regular	expressions to use for
 | 
						|
	      group sorting, double comma is literal comma.   Each  expression
 | 
						|
	      should  contain  at least one group or its value will be consid-
 | 
						|
	      ered to be always empty.	Only first match of each  regular  ex-
 | 
						|
	      pression	is  considered.	  Groups  are considered from right to
 | 
						|
	      first similar to 'sort', first group divides list of files  into
 | 
						|
	      sub-groups,  each	 of which is sorted by the second group and so
 | 
						|
	      on.
 | 
						|
 | 
						|
	      Example:
 | 
						|
		set sortgroups=-(done|todo).*
 | 
						|
	      this would put files with "-done" in their names above all files
 | 
						|
	      with "-todo".
 | 
						|
 | 
						|
       'sortorder'
 | 
						|
	      type: enumeration
 | 
						|
	      default: ascending
 | 
						|
	      Sets sort order for primary key: ascending, descending.
 | 
						|
 | 
						|
       'statusline' 'stl'
 | 
						|
	      type: string
 | 
						|
	      default: ""
 | 
						|
	      Determines  the content of the status line (the line right above
 | 
						|
	      command-line).  Empty string means use same format like in  pre-
 | 
						|
	      vious versions.  Following macros are supported:
 | 
						|
 | 
						|
	      - %t - file name (considering value of the 'classify' option)
 | 
						|
 | 
						|
	      - %T - symbolic link target (empty for other filetypes)
 | 
						|
 | 
						|
	      - %f - file name relative to current directory (considers 'clas-
 | 
						|
		sify')
 | 
						|
 | 
						|
	      - %A - file attributes (permissions on  *nix  or	properties  on
 | 
						|
		Windows) %u - user name or uid (if it cannot be resolved)
 | 
						|
 | 
						|
	      - %g - group name or gid (if it cannot be resolved)
 | 
						|
 | 
						|
	      - %s - file size in human readable format
 | 
						|
 | 
						|
	      - %E  - size of selected files in human readable format, same as
 | 
						|
		%s when no files are selected, except that it will never  show
 | 
						|
		size of ../ in visual mode, since it cannot be selected
 | 
						|
 | 
						|
	      - %d - file modification date (uses 'timefmt' option)
 | 
						|
 | 
						|
	      - %D - path of the other pane for single-pane layout
 | 
						|
 | 
						|
	      - %a - amount of free space available at current partition
 | 
						|
 | 
						|
	      - %z  -  short  tips/tricks/hints that chosen randomly after one
 | 
						|
		minute period
 | 
						|
 | 
						|
	      - %{<expr>} - evaluate arbitrary vifm expression '<expr>',  e.g.
 | 
						|
		'&sort'
 | 
						|
 | 
						|
	      - %*  -  resets or applies one of User1..User9 highlight groups;
 | 
						|
		reset happens when width field is 0 or not specified,  one  of
 | 
						|
		groups	gets picked when width field is in the range from 1 to
 | 
						|
		9
 | 
						|
 | 
						|
	      - all 'rulerformat' macros
 | 
						|
 | 
						|
	      Percent sign can be followed by optional	minimum	 field	width.
 | 
						|
	      Add '-' before minimum field width if you want field to be right
 | 
						|
	      aligned.
 | 
						|
 | 
						|
	      On Windows file properties include the  following	 flags	(upper
 | 
						|
	      case means flag is on):
 | 
						|
	       A - archive
 | 
						|
	       H - hidden
 | 
						|
	       I - content isn't indexed
 | 
						|
	       R - readonly
 | 
						|
	       S - system
 | 
						|
	       C - compressed
 | 
						|
	       D - directory
 | 
						|
	       E - encrypted
 | 
						|
	       P - reparse point (e.g. symbolic link)
 | 
						|
	       Z - sparse file
 | 
						|
 | 
						|
	      Example without colors:
 | 
						|
 | 
						|
		set statusline="  %t%= %A %10u:%-7g %15s %20d %{&sort} "
 | 
						|
 | 
						|
	      Example with colors:
 | 
						|
 | 
						|
	       highlight User1 ctermbg=yellow
 | 
						|
	       highlight User2 ctermbg=blue ctermfg=white cterm=bold
 | 
						|
	       set statusline="%1* %-26t %2* %= %1* %A %2* %7u:%-7g %1* %-5s %2* %d "
 | 
						|
 | 
						|
 | 
						|
       'suggestoptions'
 | 
						|
	      type: string list
 | 
						|
	      default:
 | 
						|
	      Controls	when, for what and how suggestions are displayed.  The
 | 
						|
	      following values are available:
 | 
						|
	       - normal		 - in normal mode;
 | 
						|
	       - visual		 - in visual mode;
 | 
						|
	       - view		 - in view mode;
 | 
						|
	       - otherpane	 - use other pane to display suggestions, when
 | 
						|
	      available;
 | 
						|
	       - delay[:num]	 - display suggestions after a small delay (to
 | 
						|
	      do not annoy if you just want to type a fast shortcut consisting
 | 
						|
	      of  multiple  keys),  num	 specifies the delay in ms (500 by de-
 | 
						|
	      fault), 'timeoutlen' at most;
 | 
						|
	       - keys		 - include shortcuts (commands and selectors);
 | 
						|
	       - foldsubkeys	 - fold multiple keys with common prefix;
 | 
						|
	       - marks		 - include marks;
 | 
						|
	       - registers[:num] - include registers, at most num files (5  by
 | 
						|
	      default).
 | 
						|
 | 
						|
       'syncregs'
 | 
						|
	      type: string
 | 
						|
	      default:
 | 
						|
	      Specifies	 identifier of group of instances that share registers
 | 
						|
	      between each other.  When several instances of  vifm  have  this
 | 
						|
	      option  set  to  identical value, they automatically synchronize
 | 
						|
	      contents of their registers on operations which use them.
 | 
						|
 | 
						|
       'syscalls'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      When disabled, vifm will rely on external applications  to  per-
 | 
						|
	      form file-system operations, otherwise system calls are used in-
 | 
						|
	      stead (much faster and supports progress tracking).  The	option
 | 
						|
	      should  eventually be removed.  Mostly *nix-like systems are af-
 | 
						|
	      fected.
 | 
						|
 | 
						|
       'tabscope'
 | 
						|
	      type: enumeration
 | 
						|
	      default: global
 | 
						|
	      Picks style of tabs, which defines what a single	tab  contains.
 | 
						|
	      Possible values:
 | 
						|
	       -  global - tab describes complete UI of two views and how they
 | 
						|
	      are arranged
 | 
						|
	       - pane	- tab is located "inside" a pane and  manages  it  and
 | 
						|
	      quick view
 | 
						|
 | 
						|
       'tabstop' 'ts'
 | 
						|
	      type: integer
 | 
						|
	      default: value from curses library
 | 
						|
	      Number of spaces that a Tab in the file counts for.
 | 
						|
 | 
						|
       'timefmt'
 | 
						|
	      type: string
 | 
						|
	      default: "%m/%d %H:%M"
 | 
						|
	      Format  of  time in file list.  See "man 1 date" or "man 3 strf-
 | 
						|
	      time" for details.
 | 
						|
 | 
						|
       'timeoutlen' 'tm'
 | 
						|
	      type: integer
 | 
						|
	      default: 1000
 | 
						|
	      The time in milliseconds that is waited for a mapped key in case
 | 
						|
	      of already typed key sequence is ambiguous.
 | 
						|
 | 
						|
       'title'
 | 
						|
	      type: boolean
 | 
						|
	      default: true when title can be restored, false otherwise
 | 
						|
	      When  enabled,  title  of the terminal or terminal multiplexer's
 | 
						|
	      window is updated according to current  location.	  Because  not
 | 
						|
	      all  terminals support setting title, this works only if `$TERM`
 | 
						|
	      value matches one of the following conditions:
 | 
						|
	       - equals "xterm" or starts with "xterm-"
 | 
						|
	       - equals "rxvt" or starts with "rxvt-"
 | 
						|
	       - equals "screen" or starts with "screen-"
 | 
						|
	       - equals "aterm"
 | 
						|
	       - equals "Eterm"
 | 
						|
 | 
						|
       'trash'
 | 
						|
	      type: boolean
 | 
						|
	      default: true
 | 
						|
	      Use trash directory.  See "Trash directory" section below.
 | 
						|
 | 
						|
       'trashdir'
 | 
						|
	      type: string
 | 
						|
	      default: on *nix:
 | 
						|
		 "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash"
 | 
						|
		 or if $VIFM/Trash doesn't exist
 | 
						|
		 "%r/.vifm-Trash-%u,$XDG_DATA_HOME/vifm/Trash,%r/.vifm-Trash"
 | 
						|
		       on Windows:
 | 
						|
		 "%r/.vifm-Trash,$XDG_DATA_HOME/vifm/Trash"
 | 
						|
	      List of trash directory path specifications, separated with com-
 | 
						|
	      mas.   Each  list	 item either defines an absolute path to trash
 | 
						|
	      directory or a path relative to a mount point root when list el-
 | 
						|
	      ement  starts with "%r/".	 Value of the option can contain envi-
 | 
						|
	      ronment variables (of form "$envname"), which will  be  expanded
 | 
						|
	      (prepend	$  with	 a  slash  to prevent expansion).  Environment
 | 
						|
	      variables are expanded when the option is set.
 | 
						|
 | 
						|
	      On *nix, if element ends with "%u", the mark  is	replaced  with
 | 
						|
	      real  user  ID  and  permissions	are set so that only that only
 | 
						|
	      owner is able to use it.
 | 
						|
	      Note that even this setup is not completely secure when combined
 | 
						|
	      with  "%r/"  and it's overall safer to keep files in home direc-
 | 
						|
	      tory, but that implies cost of copying files between partitions.
 | 
						|
 | 
						|
	      When new file gets cut (deleted) vifm traverses each element  of
 | 
						|
	      the option in the order of their appearance and uses first trash
 | 
						|
	      directory that  it  was  able  to	 create	 or  that  is  already
 | 
						|
	      writable.
 | 
						|
 | 
						|
	      Default  value  tries to use trash directory per mount point and
 | 
						|
	      falls back to ~/.vifm/Trash on failure.
 | 
						|
 | 
						|
	      Will attempt to create the directory if it does not exist.   See
 | 
						|
	      "Trash directory" section below.
 | 
						|
 | 
						|
       'tuioptions' 'to'
 | 
						|
	      type: charset
 | 
						|
	      default: "ps"
 | 
						|
	      Each  flag  configures some aspect of TUI appearance.  The flags
 | 
						|
	      are:
 | 
						|
	      p - when included:
 | 
						|
		* file list inside a pane  gets	 additional  single  character
 | 
						|
	      padding on left and right sides;
 | 
						|
		* quick view and view mode get single character padding.
 | 
						|
	      s	 -  when included, left and right borders (side borders, hence
 | 
						|
	      "s" character) are visible.
 | 
						|
	      u - use Unicode characters in the TUI (Unicode ellipsis  instead
 | 
						|
	      of "...").
 | 
						|
 | 
						|
       'undolevels' 'ul'
 | 
						|
	      type: integer
 | 
						|
	      default: 100
 | 
						|
	      Maximum  number  of  changes that can be undone.	Note that here
 | 
						|
	      single file operation is used as a  unit,	 not  operation,  i.e.
 | 
						|
	      deletion of 101 files will exceed default limit.
 | 
						|
 | 
						|
       'vicmd'
 | 
						|
	      type: string
 | 
						|
	      default: "vim"
 | 
						|
	      Command  used to edit files in various contexts.	Ampersand sign
 | 
						|
	      at the end (regardless whether it's preceded by  space  or  not)
 | 
						|
	      means backgrounding of command.
 | 
						|
 | 
						|
	      Background  flag	is ignored in certain context where vifm waits
 | 
						|
	      for the editor to finish.	 Such  contexts	 include  any  command
 | 
						|
	      that  spawns  editor  to change list of file names or a command,
 | 
						|
	      with :rename being one example.  `-f` is also appended  to  pre-
 | 
						|
	      vent  forking  in such cases, so the command needs to handle the
 | 
						|
	      flag.
 | 
						|
 | 
						|
	      Additionally `+{num}` and `+'call cursor()'` arguments are  used
 | 
						|
	      to position cursor when location is known.
 | 
						|
 | 
						|
       'viewcolumns'
 | 
						|
	      type: string
 | 
						|
	      default: ""
 | 
						|
	      scope: local
 | 
						|
	      Format string containing list of columns in the view.  When this
 | 
						|
	      option is empty, view columns to show are	 chosen	 automatically
 | 
						|
	      using sorting keys (see 'sort') as a base.  Value of this option
 | 
						|
	      is ignored if 'lsview' is set.  See "Column view" section	 below
 | 
						|
	      for format description.
 | 
						|
 | 
						|
	      An  example  of  setting the options for both panes (note :windo
 | 
						|
	      command):
 | 
						|
 | 
						|
		windo set viewcolumns=-{name}..,6{size},11{perms}
 | 
						|
 | 
						|
       'vixcmd'
 | 
						|
	      type: string
 | 
						|
	      default: value of 'vicmd'
 | 
						|
	      Same as 'vicmd', but takes precedence over it when  running  in-
 | 
						|
	      side a graphical environment.
 | 
						|
 | 
						|
       'vifminfo'
 | 
						|
	      type: set
 | 
						|
	      default: bookmarks,bmarks
 | 
						|
	      Controls what will be saved in the $VIFM/vifminfo file.
 | 
						|
 | 
						|
		 bmarks	   - named bookmarks
 | 
						|
		 bookmarks - marks, except special ones like '< and '>
 | 
						|
		 tui	    -  state of the user interface (sorting, number of
 | 
						|
	      windows, quick
 | 
						|
			     view state, active view)
 | 
						|
		 dhistory  - directory history
 | 
						|
		 state	   - file name and dot filters and terminal multiplex-
 | 
						|
	      ers integration
 | 
						|
			     state
 | 
						|
		 cs	   - primary color scheme
 | 
						|
		 savedirs  - save last visited directory (requires dhistory)
 | 
						|
		 chistory  - command line history
 | 
						|
		 shistory  - search history (/ and ? commands)
 | 
						|
		 phistory  - prompt history
 | 
						|
		 fhistory   -  history of local filter (see description of the
 | 
						|
	      "=" normal mode
 | 
						|
			     command)
 | 
						|
		 dirstack  - directory stack overwrites previous stack, unless
 | 
						|
	      stack of
 | 
						|
			     current session is empty
 | 
						|
		 registers - registers content
 | 
						|
		 options   - all options that can be set with the :set command
 | 
						|
	      (obsolete)
 | 
						|
		 filetypes - associated programs and viewers (obsolete)
 | 
						|
		 commands  - user defined commands (see :command  description)
 | 
						|
	      (obsolete)
 | 
						|
 | 
						|
       'vimhelp'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      Use vim help format.
 | 
						|
 | 
						|
       'wildmenu' 'wmnu'
 | 
						|
	      type: boolean
 | 
						|
	      default: false
 | 
						|
	      Controls	whether	 possible  matches of completion will be shown
 | 
						|
	      above the command line.
 | 
						|
 | 
						|
       'wildstyle'
 | 
						|
	      type: enumeration
 | 
						|
	      default: bar
 | 
						|
	      Picks presentation style of wild menu.  Possible values:
 | 
						|
	       - bar   - one-line with left-to-right cursor
 | 
						|
	       - popup - multi-line with top-to-bottom cursor
 | 
						|
 | 
						|
       'wordchars'
 | 
						|
	      type: string list
 | 
						|
	      default: "1-8,14-31,33-255" (that is all non-whitespace  charac-
 | 
						|
	      ters)
 | 
						|
	      Specifies	 which	characters in command-line mode should be con-
 | 
						|
	      sidered as part of a word.  Value of the option  is  comma-sepa-
 | 
						|
	      rated  list of ranges.  If both endpoints of a range match, sin-
 | 
						|
	      gle endpoint is enough (e.g. "a" = "a-a").  Both	endpoints  are
 | 
						|
	      inclusive.  There are two accepted forms: character representing
 | 
						|
	      itself or number encoding character according  to	 ASCII	table.
 | 
						|
	      In case of ambiguous characters (dash, comma, digit) use numeric
 | 
						|
	      form.  Accepted characters are in the range from 0 to 255.   Any
 | 
						|
	      Unicode character with code greater than 255 is considered to be
 | 
						|
	      part of a word.
 | 
						|
 | 
						|
	      The option affects Alt-D, Alt-B and Alt-F, but not Ctrl-W.  This
 | 
						|
	      is intentionally to allow two use cases:
 | 
						|
 | 
						|
	       - Moving by WORDS and deletion by words.
 | 
						|
	       - Moving by words and deletion by WORDS.
 | 
						|
 | 
						|
	      To get the latter use the following mapping:
 | 
						|
 | 
						|
		cnoremap <c-w> <a-b><a-d>
 | 
						|
 | 
						|
	      Also used for abbreviations.
 | 
						|
 | 
						|
       'wrap' type: boolean
 | 
						|
	      default: true
 | 
						|
	      Controls whether to wrap text in quick view.
 | 
						|
 | 
						|
       'wrapscan' 'ws'
 | 
						|
	      type: boolean
 | 
						|
	      default: true
 | 
						|
	      Searches wrap around end of the list.
 | 
						|
 | 
						|
Mappings
 | 
						|
       Map arguments
 | 
						|
 | 
						|
       LHS  of	mappings  can  be preceded by arguments which take the form of
 | 
						|
       special sequences:
 | 
						|
 | 
						|
       <silent>
 | 
						|
	      Postpone UI updates until RHS is completely processed.
 | 
						|
 | 
						|
       <wait> In case of builtin mapping causing conflict for  a  user-defined
 | 
						|
	      mapping  (e.g.,  `t`  builtin to a partially typed `ta` user-de-
 | 
						|
	      fined mapping), ignore the builtin mapping and  wait  for	 input
 | 
						|
	      indefinitely  as	opposed to default behaviour of triggering the
 | 
						|
	      builtin mapping after a delay defined by 'timeoutlen'.  Example:
 | 
						|
 | 
						|
		nnoremap <wait> tw :set wrap!<cr>
 | 
						|
		nnoremap <wait> tn :set number!<cr>
 | 
						|
		nnoremap <wait> tr :set relativenumber!<cr>
 | 
						|
 | 
						|
       Special sequences
 | 
						|
 | 
						|
       Since it's not easy to enter special characters there are several  spe-
 | 
						|
       cial sequences that can be used in place of them.  They are:
 | 
						|
 | 
						|
       <cr>   Enter key.
 | 
						|
 | 
						|
       <esc>  Escape key.
 | 
						|
 | 
						|
       <space>
 | 
						|
	      Space key.
 | 
						|
 | 
						|
       <lt>   Less-than character (<).
 | 
						|
 | 
						|
       <nop>  provides a way to disable a mapping (by mapping it to <nop>).
 | 
						|
 | 
						|
       <bs>   Backspace key (see key conflict description below).
 | 
						|
 | 
						|
       <tab> <s-tab>
 | 
						|
	      Tabulation and Shift+Tabulation keys.
 | 
						|
 | 
						|
       <home> <end>
 | 
						|
	      Home/End.
 | 
						|
 | 
						|
       <left> <right> <up> <down>
 | 
						|
	      Arrow keys.
 | 
						|
 | 
						|
       <pageup> <pagedown>
 | 
						|
	      PageUp/PageDown.
 | 
						|
 | 
						|
       <del> <delete>
 | 
						|
	      Delete  key.   <del>  and	 <delete>  mean	 different  codes, but
 | 
						|
	      <delete> is more common.
 | 
						|
 | 
						|
       <insert>
 | 
						|
	      Insert key.
 | 
						|
 | 
						|
       <c-a>,<c-b>,...,<c-z>,<c-[>,<c->,<c-]>,<c-^>,<c-_>
 | 
						|
	      Control + some key (see key conflict description below).
 | 
						|
 | 
						|
       <c-@>  only for *nix
 | 
						|
	      Control + Space.
 | 
						|
 | 
						|
       <a-a>,<a-b>,...,<a-z>
 | 
						|
	      <m-a>,<m-b>,...,<m-z> Alt + some key.
 | 
						|
 | 
						|
       <a-c-a>,<a-c-b>,...,<a-c-z>
 | 
						|
	      <m-c-a>,<m-c-b>,...,<m-c-z> only for *nix
 | 
						|
	      Alt + Ctrl + some key.
 | 
						|
 | 
						|
       <f0> - <f63>
 | 
						|
	      Functional keys.
 | 
						|
 | 
						|
       <c-f1> - <c-f12>
 | 
						|
	      only for MS-Windows
 | 
						|
	      functional keys with Control key pressed.
 | 
						|
 | 
						|
       <a-f1> - <a-f12>
 | 
						|
	      only for MS-Windows
 | 
						|
	      functional keys with Alt key pressed.
 | 
						|
 | 
						|
       <s-f1> - <s-f12>
 | 
						|
	      only for MS-Windows
 | 
						|
	      functional keys with Shift key pressed.
 | 
						|
 | 
						|
       Note that due to the way terminals process their	 input,	 several  key-
 | 
						|
       board keys might be mapped to single key code, for example:
 | 
						|
 | 
						|
	 - <cr> and <c-m>;
 | 
						|
 | 
						|
	 - <tab> and <c-i>;
 | 
						|
 | 
						|
	 - <c-h> and <bs>;
 | 
						|
 | 
						|
	 - etc.
 | 
						|
 | 
						|
       Most  of	 the  time  they are defined consistently and don't cause sur-
 | 
						|
       prises, but <c-h> and <bs> are treated differently in  different	 envi-
 | 
						|
       ronments (although they match each other all the time), that's why they
 | 
						|
       correspond to different keys in vifm.  As a consequence, if you map <c-
 | 
						|
       h>  or <bs> be sure to repeat the mapping with the other one so that it
 | 
						|
       works in all environments.  Alternatively, provide your mapping in  one
 | 
						|
       form and add one of the following:
 | 
						|
 | 
						|
	 " if mappings with <c-h> in the LHS work
 | 
						|
	 map <c-h> <bs>
 | 
						|
	 " if mappings with <bs> in the LHS work
 | 
						|
	 map <bs> <c-h>
 | 
						|
 | 
						|
       Whitespace
 | 
						|
 | 
						|
       vifm  removes  whitespace  characters  at the beginning and end of com-
 | 
						|
       mands.  That's why you may want to use <space> at the  end  of  rhs  in
 | 
						|
       mappings.  For example:
 | 
						|
 | 
						|
	 cmap <f1> man<space>
 | 
						|
 | 
						|
       will  put  "man " in line when you hit the <f1> key in the command line
 | 
						|
       mode.
 | 
						|
 | 
						|
Expression syntax
 | 
						|
       Supported expressions is a subset of what VimL provides.
 | 
						|
 | 
						|
       Expression syntax summary, from least to most significant:
 | 
						|
 | 
						|
       expr1	  expr2
 | 
						|
		  expr2 || expr2 ..	  logical OR
 | 
						|
 | 
						|
       expr2	  expr3
 | 
						|
		  expr3 && expr3 ..	  logical AND
 | 
						|
 | 
						|
       expr3	  expr4
 | 
						|
		  expr4 == expr4	  equal
 | 
						|
		  expr4 != expr4	  not equal
 | 
						|
		  expr4 >  expr4	  greater than
 | 
						|
		  expr4 >= expr4	  greater than or equal
 | 
						|
		  expr4 <  expr4	  smaller than
 | 
						|
		  expr4 <= expr4	  smaller than or equal
 | 
						|
 | 
						|
       expr4	  expr5
 | 
						|
		  expr5 + expr5 ..	  number addition
 | 
						|
		  expr5 - expr5 ..	  number subtraction
 | 
						|
 | 
						|
       expr5	  expr6
 | 
						|
		  expr6 . expr6 ..	  string concatenation
 | 
						|
 | 
						|
       expr6	  expr7
 | 
						|
		  - expr6		  unary minus
 | 
						|
		  + expr6		  unary plus
 | 
						|
		  ! expr6		  logical NOT
 | 
						|
 | 
						|
       expr7	  number		  number constant
 | 
						|
		  "string"		  string constant, \ is special
 | 
						|
		  'string'		  string constant, ' is doubled
 | 
						|
		  &option		  option value
 | 
						|
		  $VAR			  environment variable
 | 
						|
		  v:var			  builtin variable
 | 
						|
		  function(expr1, ...)	  function call
 | 
						|
		  (expr1)		  nested expression
 | 
						|
 | 
						|
       ".." indicates that the operations in this level can be concatenated.
 | 
						|
 | 
						|
       expr1
 | 
						|
       -----
 | 
						|
       expr2 || expr2
 | 
						|
 | 
						|
       Arguments are converted to numbers before evaluation.
 | 
						|
 | 
						|
       Result is non-zero if at least one of arguments is non-zero.
 | 
						|
 | 
						|
       It's right associative and with	short-circuiting,  so  sub-expressions
 | 
						|
       are  evaluated  from  left to right until result of whole expression is
 | 
						|
       determined (i.e., until first non-zero) or end of the expression.
 | 
						|
 | 
						|
       expr2
 | 
						|
       -----
 | 
						|
       expr3 && expr3
 | 
						|
 | 
						|
       Arguments are converted to numbers before evaluation.
 | 
						|
 | 
						|
       Result is non-zero only if both arguments are non-zero.
 | 
						|
 | 
						|
       It's right associative and with	short-circuiting,  so  sub-expressions
 | 
						|
       are  evaluated  from  left to right until result of whole expression is
 | 
						|
       determined (i.e., until first zero) or end of the expression.
 | 
						|
 | 
						|
       expr3
 | 
						|
       -----
 | 
						|
       expr4 {cmp} expr4
 | 
						|
 | 
						|
       Compare two expr4 expressions, resulting in a  0	 if  it	 evaluates  to
 | 
						|
       false or 1 if it evaluates to true.
 | 
						|
 | 
						|
       equal		       ==
 | 
						|
       not equal	       !=
 | 
						|
       greater than	       >
 | 
						|
       greater than or equal   >=
 | 
						|
       smaller than	       <
 | 
						|
       smaller than or equal   <=
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 'a' ==	 'a'	     == 1
 | 
						|
	 'a' >	 'b'	     == 1
 | 
						|
	 'a' ==	 'b'	     == 0
 | 
						|
	 '2' >	 'b'	     == 0
 | 
						|
	  2  >	 'b'	     == 1
 | 
						|
	  2  >	 '1b'	     == 1
 | 
						|
	  2  >	 '9b'	     == 0
 | 
						|
	 -1  == -'1'	     == 1
 | 
						|
	  0  ==	 '--1'	     == 1
 | 
						|
 | 
						|
       expr4
 | 
						|
       -----
 | 
						|
       expr5  +	 expr5 ..     number addition expr5 - expr5 ..	   number sub-
 | 
						|
       traction
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 1 + 3 - 3	    == 1
 | 
						|
	 1 + '2'	    == 3
 | 
						|
 | 
						|
       expr5
 | 
						|
       -----
 | 
						|
       expr6 . expr6 ..	    string concatenation
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 'a' . 'b'	     == 'ab'
 | 
						|
	 'aaa' . '' . 'c'    == 'aaac'
 | 
						|
 | 
						|
       expr6
 | 
						|
       -----
 | 
						|
 | 
						|
       - expr6		    unary minus
 | 
						|
       + expr6		    unary plus
 | 
						|
       ! expr6		    logical NOT
 | 
						|
 | 
						|
       For '-' the sign of the number is changed.
 | 
						|
       For '+' the number is unchanged.
 | 
						|
       For '!' non-zero becomes zero, zero becomes one.
 | 
						|
 | 
						|
       A String will be converted to a Number first.
 | 
						|
 | 
						|
       These operations can be repeated and mixed.  Examples:
 | 
						|
 | 
						|
	  --9		     == 9
 | 
						|
	 ---9		     == -9
 | 
						|
	  -+9		     == 9
 | 
						|
	  !-9		     == 0
 | 
						|
	  !''		     == 1
 | 
						|
	 !'x'		     == 0
 | 
						|
	  !!9		     == 1
 | 
						|
 | 
						|
       expr7
 | 
						|
       -----
 | 
						|
 | 
						|
       number		    number constant
 | 
						|
       -----
 | 
						|
 | 
						|
       Decimal number.	Examples:
 | 
						|
 | 
						|
	 0		     == 0
 | 
						|
	 0000		     == 0
 | 
						|
	 01		     == 1
 | 
						|
	 123		     == 123
 | 
						|
	 10000		     == 10000
 | 
						|
 | 
						|
       string
 | 
						|
       ------
 | 
						|
       "string"		    string constant
 | 
						|
 | 
						|
       Note that double quotes are used.
 | 
						|
 | 
						|
       A string constant accepts these special characters:
 | 
						|
	 \b	 backspace <bs>
 | 
						|
	 \e	 escape <esc>
 | 
						|
	 \n	 newline
 | 
						|
	 \r	 return <cr>
 | 
						|
	 \t	 tab <tab>
 | 
						|
	 \\	 backslash
 | 
						|
	 \"	 double quote
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 "\"Hello,\tWorld!\""
 | 
						|
	 "Hi,\nthere!"
 | 
						|
 | 
						|
       literal-string
 | 
						|
       --------------
 | 
						|
       'string'		    string constant
 | 
						|
 | 
						|
       Note that single quotes are used.
 | 
						|
 | 
						|
       This string is taken as it is.  No backslashes are removed  or  have  a
 | 
						|
       special	meaning.   The only exception is that two quotes stand for one
 | 
						|
       quote.
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 'All\slashes\are\saved.'
 | 
						|
	 'This string contains doubled single quotes ''here'''
 | 
						|
 | 
						|
       option
 | 
						|
       ------
 | 
						|
       &option		     option value (local one is preferred, if  exists)
 | 
						|
       &g:option	      global  option value &l:option		 local
 | 
						|
       option value
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 echo 'Terminal size: '.&columns.'x'.&lines
 | 
						|
	 if &columns > 100
 | 
						|
 | 
						|
       Any valid option name can be used here (note that "all" in  ":set  all"
 | 
						|
       is a pseudo option).  See ":set options" section above.
 | 
						|
 | 
						|
       environment variable
 | 
						|
       --------------------
 | 
						|
       $VAR		     environment variable
 | 
						|
 | 
						|
       The  String value of any environment variable.  When it is not defined,
 | 
						|
       the result is an empty string.
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 'This is my $PATH env: ' . $PATH
 | 
						|
	 'vifmrc at ' . $MYVIFMRC . ' is used.'
 | 
						|
 | 
						|
       builtin variable
 | 
						|
       --------------------
 | 
						|
       v:var		     builtin variable
 | 
						|
 | 
						|
       Information exposed by vifm for use in scripting.
 | 
						|
 | 
						|
       v:count
 | 
						|
	 count passed to : command, 0 by default.  Can be used in mappings  to
 | 
						|
       pass
 | 
						|
	 count to a different command.
 | 
						|
       v:count1
 | 
						|
	 same as v:count, but 1 by default.
 | 
						|
       v:servername
 | 
						|
	 See below.
 | 
						|
 | 
						|
       function call
 | 
						|
       -------------
 | 
						|
       function(expr1, ...)  function call
 | 
						|
 | 
						|
       See "Functions" section below.
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 "'" . filetype('.') . "'"
 | 
						|
	 filetype('.') == 'reg'
 | 
						|
 | 
						|
       expression nesting
 | 
						|
       ------------------
 | 
						|
       (expr1)		     nested expression
 | 
						|
 | 
						|
       Groups  any other expression of arbitrary complexity enforcing order in
 | 
						|
       which operators are applied.
 | 
						|
 | 
						|
 | 
						|
Functions
 | 
						|
       USAGE		     RESULT	 DESCRIPTION
 | 
						|
 | 
						|
       chooseopt({opt})	     String	 Queries choose parameters  passed  on
 | 
						|
       startup.
 | 
						|
       executable({expr})     Integer	  Checks whether {expr} command avail-
 | 
						|
       able.
 | 
						|
       expand({expr})	     String	 Expands special keywords in {expr}.
 | 
						|
       extcached({cache}, {path}, {extcmd})
 | 
						|
			     String	 Caches output of {extcmd} per {cache}
 | 
						|
       and
 | 
						|
					 {path} combination.
 | 
						|
       filetype({fnum} [, {resolve}])
 | 
						|
			     String	 Returns file type from position.
 | 
						|
       fnameescape({expr})   String	 Escapes {expr} for use in a :command.
 | 
						|
       getpanetype()	     String	 Returns type of current pane.
 | 
						|
       has({property})	      Integer	   Checks  whether instance has {prop-
 | 
						|
       erty}.
 | 
						|
       layoutis({type})	     Integer	 Checks	 whether  layout  is  of  type
 | 
						|
       {type}.
 | 
						|
       paneisat({loc})	      Integer	   Checks  whether  current pane is at
 | 
						|
       {loc}.
 | 
						|
       system({command})     String	 Executes shell	 command  and  returns
 | 
						|
       its output.
 | 
						|
       tabpagenr([{arg}])     Integer	   Returns  number  of current or last
 | 
						|
       tab.
 | 
						|
       term({command})	     String	 Like system(),	 but  for  interactive
 | 
						|
       commands.
 | 
						|
 | 
						|
       chooseopt({opt})
 | 
						|
 | 
						|
       Retrieves values of options related to file choosing.  {opt} can be one
 | 
						|
       of:
 | 
						|
	   files      returns argument of --choose-files or empty string
 | 
						|
	   dir	      returns argument of --choose-dir or empty string
 | 
						|
	   cmd	      returns argument of --on-choose or empty string
 | 
						|
	   delimiter  returns argument of --delimiter or the default one (\n)
 | 
						|
 | 
						|
       executable({expr})
 | 
						|
 | 
						|
       If {expr} is absolute or relative path, checks whether path destination
 | 
						|
       exists  and  refers  to an executable, otherwise checks whether command
 | 
						|
       named {expr} is present in directories listed  in  $PATH.   Checks  for
 | 
						|
       various	executable  extensions	on Windows.  Returns boolean value de-
 | 
						|
       scribing result of the check.
 | 
						|
 | 
						|
       Example:
 | 
						|
 | 
						|
	 " use custom default viewer script if it's available and installed
 | 
						|
	 " in predefined system directory, otherwise try to find it elsewhere
 | 
						|
	 if executable('/usr/local/bin/defviewer')
 | 
						|
	     fileview * /usr/local/bin/defviewer %c
 | 
						|
	 else
 | 
						|
	     if executable('defviewer')
 | 
						|
		 fileview * defviewer %c
 | 
						|
	     endif
 | 
						|
	 endif
 | 
						|
 | 
						|
       expand({expr})
 | 
						|
 | 
						|
       Expands environment variables and macros in {expr} just like it's  done
 | 
						|
       for  command-line  commands.   Returns  a string.  See "Command macros"
 | 
						|
       section above.
 | 
						|
 | 
						|
       Examples:
 | 
						|
 | 
						|
	 " percent sign
 | 
						|
	 :echo expand('%%')
 | 
						|
	 " the last part of directory name of the other pane
 | 
						|
	 :echo expand('%D:t')
 | 
						|
	 " $PATH environment variable (same as `:echo $PATH`)
 | 
						|
	 :echo expand('$PATH')
 | 
						|
 | 
						|
       extcached({cache}, {path}, {extcmd})
 | 
						|
 | 
						|
       Caches value of {extcmd} external command automatically updating it  as
 | 
						|
       necessary  based	 on  monitoring change date of a {path}.  The cache is
 | 
						|
       invalidated when file or its meta-data is updated.  A single  path  can
 | 
						|
       have multiple caches associated with it.
 | 
						|
 | 
						|
       {path} value is normalized, but symbolic links in it aren't resolved.
 | 
						|
 | 
						|
       Example:
 | 
						|
 | 
						|
	 " display number and size of blocks actually used by a file or directory
 | 
						|
	 set statusline+=" Uses: %{ extcached('uses',
 | 
						|
					     expand('%c'),
 | 
						|
					     expand('stat --format=%%bx%%B %c')) }"
 | 
						|
 | 
						|
       filetype({fnum} [, {resolve}])
 | 
						|
 | 
						|
       The  result  is	a string, which represents file type and is one of the
 | 
						|
       list:
 | 
						|
	   exe	   executables
 | 
						|
	   reg	   regular files
 | 
						|
	   link	   symbolic links
 | 
						|
	   broken  broken symbolic links (appears only when resolving)
 | 
						|
	   dir	   directories
 | 
						|
	   char	   character devices
 | 
						|
	   block   block devices
 | 
						|
	   fifo	   pipes
 | 
						|
	   sock	   *nix domain sockets
 | 
						|
	   ?	   unknown file type (should not normally appear)
 | 
						|
 | 
						|
       The result can also be an empty string in case of invalid argument.
 | 
						|
 | 
						|
       Parameter {fnum} can have following values:
 | 
						|
	   - '.' to get type of file under the cursor in the active pane
 | 
						|
	   - numerical value base 1 to get type of file on specified line num-
 | 
						|
       ber
 | 
						|
 | 
						|
       Optional	 parameter  {resolve}  is  treated  as a boolean and specifies
 | 
						|
       whether symbolic links should be resolved.
 | 
						|
 | 
						|
       fnameescape({expr})
 | 
						|
 | 
						|
       Escapes parameter to make it suitable for use as an argument of a :com-
 | 
						|
       mand.  List of escaped characters includes %, which is doubled.
 | 
						|
 | 
						|
       Usage example:
 | 
						|
 | 
						|
	 " navigate to most recently modified file in current directory
 | 
						|
	 execute 'goto' fnameescape(system('ls -t | head -1'))
 | 
						|
 | 
						|
       getpanetype()
 | 
						|
 | 
						|
       Retrieves string describing type of current pane.  Possible return val-
 | 
						|
       ues:
 | 
						|
	   regular	regular file listing of some directory
 | 
						|
	   custom	custom file list (%u)
 | 
						|
	   very-custom	very custom file list (%U)
 | 
						|
	   tree		tree view
 | 
						|
 | 
						|
       has({property})
 | 
						|
 | 
						|
       Allows examining internal parameters from scripts to  e.g.  figure  out
 | 
						|
       environment  in which application is running.  Returns 1 if property is
 | 
						|
       true/present, otherwise 0 is returned.  Currently the following proper-
 | 
						|
       ties are supported (anything else will yield 0):
 | 
						|
	   unix	 runs in *nix-like environment (including Cygwin)
 | 
						|
	   win	 runs on Windows
 | 
						|
 | 
						|
       Usage example:
 | 
						|
 | 
						|
	 " skip user/group on Windows
 | 
						|
	 if !has('win')
 | 
						|
	     let $RIGHTS = '%10u:%-7g '
 | 
						|
	 endif
 | 
						|
 | 
						|
	 execute 'set' 'statusline="  %t%= %A '.$RIGHTS.'%15E %20d  "'
 | 
						|
 | 
						|
       layoutis({type})
 | 
						|
 | 
						|
       Checks  whether current interface layout is {type} or not, where {type}
 | 
						|
       can be:
 | 
						|
	   only	   single-pane mode
 | 
						|
	   split   double-pane mode (either vertical or horizon split)
 | 
						|
	   vsplit  vertical split (left and right panes)
 | 
						|
	   hsplit  horizontal split (top and bottom panes)
 | 
						|
 | 
						|
       Usage example:
 | 
						|
 | 
						|
	 " automatically split vertically before enabling preview
 | 
						|
	 :nnoremap w :if layoutis('only') | vsplit | endif | view!<cr>
 | 
						|
 | 
						|
       paneisat({loc})
 | 
						|
 | 
						|
       Checks whether position of active pane in current layout matches one of
 | 
						|
       the following locations:
 | 
						|
	   top	   pane reaches top border
 | 
						|
	   bottom  pane reaches bottom border
 | 
						|
	   left	   pane reaches left border
 | 
						|
	   right   pane reaches right border
 | 
						|
 | 
						|
       system({command})
 | 
						|
 | 
						|
       Runs  the command in shell and returns its output (joined standard out-
 | 
						|
       put and standard error streams).	 All trailing newline  characters  are
 | 
						|
       stripped	 to allow easy appending to command output.  Ctrl-C should in-
 | 
						|
       terrupt the command.
 | 
						|
 | 
						|
       Use this function to consume output of external commands that don't re-
 | 
						|
       quire  user  interaction	 and term() for interactive commands that make
 | 
						|
       use of terminal and are capable of handling stream redirection.
 | 
						|
 | 
						|
       Usage example:
 | 
						|
 | 
						|
	 " command to enter .git/ directory of git-repository (when ran inside one)
 | 
						|
	 command! cdgit :execute 'cd' system('git rev-parse --git-dir')
 | 
						|
 | 
						|
       tabpagenr([{arg}])
 | 
						|
 | 
						|
       When called without arguments returns number of current tab  page  base
 | 
						|
       one.
 | 
						|
 | 
						|
       When called with "$" as an argument returns number of the last tab page
 | 
						|
       base one, which is the same as number of tabs.
 | 
						|
 | 
						|
       term({command})
 | 
						|
 | 
						|
       Same as system() function, but user interface is	 shutdown  during  the
 | 
						|
       execution  of  the  command, which makes sure that external interactive
 | 
						|
       applications won't affect the way terminal is used by vifm.
 | 
						|
 | 
						|
       Usage example:
 | 
						|
 | 
						|
	 " command to change directory by picking it via fzf
 | 
						|
	 command! fzfcd :execute 'cd' "'".term('find -type d | fzf 2> /dev/tty')."'"
 | 
						|
 | 
						|
Menus and dialogs
 | 
						|
       When navigating to some path from a menu there is a difference  in  end
 | 
						|
       location	 depending  on	whether path has trailing slash or not.	 Files
 | 
						|
       normally don't have trailing slashes so "file/" won't work and one  can
 | 
						|
       only  navigate  to  a  file anyway.  On the other hand with directories
 | 
						|
       there are two options: navigate to a directory or inside of it.	To al-
 | 
						|
       low  both  use cases, the first one is used on paths like "dir" and the
 | 
						|
       second one for "dir/".
 | 
						|
 | 
						|
       Commands
 | 
						|
 | 
						|
       :range navigate to a menu line.
 | 
						|
 | 
						|
       :exi[t][!] :q[uit][!] :x[it][!]
 | 
						|
	      leave menu mode.
 | 
						|
 | 
						|
       :noh[lsearch]
 | 
						|
	      reset search match highlighting.
 | 
						|
 | 
						|
       :w[rite] {dest}
 | 
						|
	      write all menu lines into file specified by {dest}.
 | 
						|
 | 
						|
       General
 | 
						|
 | 
						|
       j, Ctrl-N - move down.
 | 
						|
       k, Ctrl-P - move up.
 | 
						|
       Enter, l - select and exit the menu.
 | 
						|
       Ctrl-L - redraw the menu.
 | 
						|
 | 
						|
       Escape, Ctrl-C, ZZ, ZQ, q - quit.
 | 
						|
 | 
						|
       In all menus
 | 
						|
 | 
						|
       The following set of keys has the same meaning as in normal mode.
 | 
						|
 | 
						|
       Ctrl-B, Ctrl-F
 | 
						|
       Ctrl-D, Ctrl-U
 | 
						|
       Ctrl-E, Ctrl-Y
 | 
						|
       /, ?
 | 
						|
       n, N
 | 
						|
       [count]G, [count]gg
 | 
						|
       H, M, L
 | 
						|
       zb, zt, zz
 | 
						|
 | 
						|
       zh - scroll menu items [count] characters to the right.
 | 
						|
       zl - scroll menu items [count] characters to the left.
 | 
						|
       zH - scroll menu items half of screen width characters to the right.
 | 
						|
       zL - scroll menu items half of screen width characters to the left.
 | 
						|
 | 
						|
       : - enter command line mode for menus (currently only :exi[t], :q[uit],
 | 
						|
       :x[it] and :{range} are supported).
 | 
						|
 | 
						|
       b - interpret content of the menu as list of paths and use it to create
 | 
						|
       custom view in place of previously active  pane.	  See  "Custom	views"
 | 
						|
       section below.
 | 
						|
       B - same as above, but creates unsorted view.
 | 
						|
 | 
						|
       v  - load menu content into quickfix list of the editor (Vim compatible
 | 
						|
       by assumption) or if list doesn't  have	separators  after  file	 names
 | 
						|
       (colons) open each line as a file name.
 | 
						|
 | 
						|
 | 
						|
       Below  is  description of additional commands and reaction on selection
 | 
						|
       in some menus and dialogs.
 | 
						|
 | 
						|
       Apropos menu
 | 
						|
 | 
						|
       Selecting menu item runs man on a given topic.  Menu  won't  be	closed
 | 
						|
       automatically to allow view several pages one by one.
 | 
						|
 | 
						|
       Command-line mode abbreviations menu
 | 
						|
 | 
						|
       Type dd on an abbreviation to remove it.
 | 
						|
 | 
						|
       c  leaves menu preserving file selection and inserts right-hand side of
 | 
						|
       selected command into command-line.
 | 
						|
 | 
						|
       Color scheme menu
 | 
						|
 | 
						|
       Selecting name of a color scheme applies it the same way as  if	":col-
 | 
						|
       orscheme <name>" was executed on the command-line.
 | 
						|
 | 
						|
       Commands menu
 | 
						|
 | 
						|
       Selecting command executes it with empty arguments (%a).
 | 
						|
 | 
						|
       dd on a command to remove.
 | 
						|
 | 
						|
       Marks menu
 | 
						|
 | 
						|
       Selecting mark navigates to it.
 | 
						|
 | 
						|
       dd on a mark to remove it.
 | 
						|
 | 
						|
       Bookmarks menu
 | 
						|
 | 
						|
       Selecting a bookmark navigates to it.
 | 
						|
 | 
						|
       Type dd on a bookmark to remove it.
 | 
						|
 | 
						|
       gf and e also work to make it more convenient to bookmark files.
 | 
						|
 | 
						|
       Trash (:lstrash) menu
 | 
						|
 | 
						|
       r on a file name to restore it from trash.
 | 
						|
 | 
						|
       dd deletes file under the cursor.
 | 
						|
 | 
						|
       Trashes menu
 | 
						|
 | 
						|
       dd empties selected trash in background.
 | 
						|
 | 
						|
       Directory history and Trashes menus
 | 
						|
 | 
						|
       Selecting  directory  name will change directory of the current view as
 | 
						|
       if :cd command was used.
 | 
						|
 | 
						|
       Directory stack menu
 | 
						|
 | 
						|
       Selecting directory name will rotate stack to  put  selected  directory
 | 
						|
       pair at the top of the stack.
 | 
						|
 | 
						|
       Filetype menu
 | 
						|
 | 
						|
       Commands from vifmrc or typed in command-line are displayed above empty
 | 
						|
       line.  All commands below empty line are from .desktop files.
 | 
						|
 | 
						|
       c leaves menu preserving file selection and inserts command after :! in
 | 
						|
       command-line mode.
 | 
						|
 | 
						|
       Grep, find, locate, bookmarks and user menu with navigation (%M macro)
 | 
						|
 | 
						|
       gf  -  navigate	previously  active  view  to  currently selected item.
 | 
						|
       Leaves menu mode except for grep menu.  Pressing Enter key has the same
 | 
						|
       effect.
 | 
						|
 | 
						|
       e - open selected path in the editor, stays in menu mode.
 | 
						|
 | 
						|
       c  - leave menu preserving file selection and insert file name after :!
 | 
						|
       in command-line mode.
 | 
						|
 | 
						|
       User menu without navigation (%m macro)
 | 
						|
 | 
						|
       c leaves menu preserving file selection and inserts whole line after :!
 | 
						|
       in command-line mode.
 | 
						|
 | 
						|
       Grep menu
 | 
						|
 | 
						|
       Selecting  file	(via Enter or l key) opens it in editor set by 'vicmd'
 | 
						|
       at given line number.  Menu won't  be  closed  automatically  to	 allow
 | 
						|
       viewing more than one result.
 | 
						|
 | 
						|
       See above for "gf" and "e" keys description.
 | 
						|
 | 
						|
       Command-line history menu
 | 
						|
 | 
						|
       Selecting  an item executes it as command-line command, search query or
 | 
						|
       local filter.
 | 
						|
 | 
						|
       c leaves menu preserving file selection and inserts line into  command-
 | 
						|
       line of appropriate kind.
 | 
						|
 | 
						|
       Volumes menu
 | 
						|
 | 
						|
       Selecting  a drive navigates previously active pane to the root of that
 | 
						|
       drive.
 | 
						|
 | 
						|
       Fileinfo dialog
 | 
						|
 | 
						|
       Enter, q - close dialog
 | 
						|
 | 
						|
       Sort dialog
 | 
						|
 | 
						|
       h, Space - switch ascending/descending.
 | 
						|
       q - close dialog
 | 
						|
 | 
						|
       One shortcut per sorting key (see the dialog).
 | 
						|
 | 
						|
       Attributes (permissions or properties) dialog
 | 
						|
 | 
						|
       h, Space - check/uncheck.
 | 
						|
       q - close dialog
 | 
						|
 | 
						|
       Item states:
 | 
						|
 | 
						|
       - * - checked flag.
 | 
						|
 | 
						|
       - X - means that it has different value for files in selection.
 | 
						|
 | 
						|
       - d (*nix only) - (only for execute flags) means u-x+X, g-x+X or	 o-x+X
 | 
						|
	 argument  for	the  chmod program.  If you're not on OS X and want to
 | 
						|
	 remove execute permission bit from all files, but preserve it for di-
 | 
						|
	 rectories,  set  all execute flags to 'd' and check 'Set Recursively'
 | 
						|
	 flag.
 | 
						|
 | 
						|
       Jobs menu
 | 
						|
 | 
						|
       dd requests cancellation of job under cursor.  The job won't be removed
 | 
						|
       from  the list, but marked as being cancelled (if cancellation was suc-
 | 
						|
       cessfully requested).  A message will pop up if	the  job  has  already
 | 
						|
       stopped.	  Note	that on Windows cancelling external programs like this
 | 
						|
       might not work, because their parent shell doesn't have any windows.
 | 
						|
 | 
						|
       e key displays errors of selected job if any were collected.  They  are
 | 
						|
       displayed  in a new menu, but you can get back to jobs menu by pressing
 | 
						|
       h.
 | 
						|
 | 
						|
 | 
						|
       Undolist menu
 | 
						|
 | 
						|
       r - reset undo position to group under the cursor.
 | 
						|
 | 
						|
 | 
						|
       Media menu
 | 
						|
 | 
						|
       Selecting a device either mounts (if it wasn't mounted  yet)  or	 navi-
 | 
						|
       gates to its first mount point.
 | 
						|
 | 
						|
       Selecting a mount point navigates to it.
 | 
						|
 | 
						|
       Selecting "not mounted" line causes mounting.
 | 
						|
 | 
						|
       Selecting any other line does nothing.
 | 
						|
 | 
						|
       r - reload the list.
 | 
						|
 | 
						|
       m  -  mount/unmount  device (cursor should be positioned on lines under
 | 
						|
       device information).
 | 
						|
 | 
						|
       [ - put cursor on the previous device.
 | 
						|
 | 
						|
       ] - put cursor on the next device.
 | 
						|
 | 
						|
 | 
						|
Custom views
 | 
						|
       Definition
 | 
						|
 | 
						|
       Normally file views contain list of files from a single directory,  but
 | 
						|
       sometimes  it's	useful to populate them with list of files that do not
 | 
						|
       belong to the same directory, which is what custom views are for.
 | 
						|
 | 
						|
       Presentation
 | 
						|
 | 
						|
       Custom views are still related to directory they were in before	custom
 | 
						|
       list  was  loaded.   Path to that directory (original directory) can be
 | 
						|
       seen in the title of a custom view.
 | 
						|
 | 
						|
       Files in same directory have to be named differently, this doesn't hold
 | 
						|
       for custom views thus seeing just file names might be rather confusing.
 | 
						|
       In order to give an idea where files come from and when possible, rela-
 | 
						|
       tive  paths  to	original directory of the view is displayed, otherwise
 | 
						|
       full path is used instead.
 | 
						|
 | 
						|
       Custom views normally don't contain any inexistent files.
 | 
						|
 | 
						|
       Navigation
 | 
						|
 | 
						|
       Custom views have some differences related  to  navigation  in  regular
 | 
						|
       views.
 | 
						|
 | 
						|
       gf  - acts similar to gf on symbolic links and navigates to the file at
 | 
						|
       its real
 | 
						|
	    location.
 | 
						|
 | 
						|
       h - go to closes parent node in tree  view,  otherwise  return  to  the
 | 
						|
       original directory.
 | 
						|
 | 
						|
       gh - return to the original directory.
 | 
						|
 | 
						|
       Opening ".." entry also causes return to the original directory.
 | 
						|
 | 
						|
       History
 | 
						|
 | 
						|
       Custom  list exists only while it's visible, once left one can't return
 | 
						|
       to it, so there is no appearances of it in any history.
 | 
						|
 | 
						|
       Filters
 | 
						|
 | 
						|
       Only local filter affects content of the view.	This  is  intentional,
 | 
						|
       presumably  if  one loads list, precisely that list should be displayed
 | 
						|
       (except for inexistent paths, which are ignored).
 | 
						|
 | 
						|
       Search
 | 
						|
 | 
						|
       Although directory names are visible in listing, they are  not  search-
 | 
						|
       able.   Only file names are taken into account (might be changed in fu-
 | 
						|
       ture, searching whole lines seems quite reasonable).
 | 
						|
 | 
						|
       Sorting
 | 
						|
 | 
						|
       Contrary to search sorting by name works on whole visible part of  file
 | 
						|
       path.
 | 
						|
 | 
						|
       Highlight
 | 
						|
 | 
						|
       Whole  file name is highlighted as one entity, even if there are direc-
 | 
						|
       tory elements.
 | 
						|
 | 
						|
       Updates
 | 
						|
 | 
						|
       Reloads can occur, though they are not automatic	 due  to  files	 being
 | 
						|
       scattered  among	 different  places.  On a reload, inexistent files are
 | 
						|
       removed and meta-data of all other files is updated.
 | 
						|
 | 
						|
       Once custom view forgets about the file, it won't add it back  even  if
 | 
						|
       it's created again.  So not seeing file previously affected by an oper-
 | 
						|
       ation, which was undone is normal.
 | 
						|
 | 
						|
       Operations
 | 
						|
 | 
						|
       All operations that add files are forbidden for custom views.  For  ex-
 | 
						|
       ample,  moving/copying/putting  files  into a custom view doesn't work,
 | 
						|
       because it doesn't make much sense.
 | 
						|
 | 
						|
       On the other hand, operations that use files of	a  custom  view	 as  a
 | 
						|
       source  (e.g. yanking, copying, moving file from custom view, deletion)
 | 
						|
       and operations that modify names are all allowed.
 | 
						|
 | 
						|
Compare views
 | 
						|
       Kinds
 | 
						|
 | 
						|
       :compare can produce four different results depending on arguments:
 | 
						|
	- single compare view (ofone and either listall or listdups);
 | 
						|
	- single custom view (ofone and listunique);
 | 
						|
	- two compare views (ofboth and either listall or listdups);
 | 
						|
	- two custom views (ofboth and listunique).
 | 
						|
 | 
						|
       The first two display files of one file system tree.   Here  duplicates
 | 
						|
       are  files that have at least one copy in the same tree.	 The other two
 | 
						|
       kinds of operation compare two trees, in	 which	duplicates  are	 files
 | 
						|
       that are found in both trees.
 | 
						|
 | 
						|
       Lists of unique files are presented in custom views because there is no
 | 
						|
       file grouping to preserve as all file ids are  guaranteed  to  be  dis-
 | 
						|
       tinct.
 | 
						|
 | 
						|
       Creation
 | 
						|
 | 
						|
       Arguments  passed  to  :compare	form four categories each with its own
 | 
						|
       prefix and is responsible for particular property of operation.
 | 
						|
 | 
						|
       Which files to compare:
 | 
						|
	- ofboth - compares files of two panes against each other;
 | 
						|
	- ofone	 - compares files of the same directory.
 | 
						|
 | 
						|
       How files are compared:
 | 
						|
	- byname     - by their name only;
 | 
						|
	- bysize     - only by their size;
 | 
						|
	- bycontents - by combination of size and hash of file contents.
 | 
						|
 | 
						|
       Which files to display:
 | 
						|
	- listall    - all files;
 | 
						|
	- listunique - unique files only;
 | 
						|
	- listdups   - only duplicated files.
 | 
						|
 | 
						|
       How results are grouped (has no effect if "ofone" specified):
 | 
						|
	- groupids   - files considered identical are always adjacent in  out-
 | 
						|
       put;
 | 
						|
	-  grouppaths  -  file system ordering is preferred (this also enables
 | 
						|
       displaying identically named files as mismatches).
 | 
						|
 | 
						|
       Which files to omit:
 | 
						|
	- skipempty - ignore empty files.
 | 
						|
 | 
						|
       Each argument can appear multiple times, the rightmost one of the group
 | 
						|
       is considered.  Arguments alter default behaviour instead of substitut-
 | 
						|
       ing it.
 | 
						|
 | 
						|
       Examples
 | 
						|
 | 
						|
       The defaults corresponds to probably the most common use case  of  com-
 | 
						|
       paring  files in two trees with grouping by paths, so the following are
 | 
						|
       equivalent:
 | 
						|
 | 
						|
	 :compare
 | 
						|
	 :compare bycontents grouppaths
 | 
						|
	 :compare bycontents listall ofboth grouppaths
 | 
						|
 | 
						|
       Another use case is to find duplicates in the current sub-tree:
 | 
						|
 | 
						|
	 :compare listdups ofone
 | 
						|
 | 
						|
       The following command lists files that are unique to each pane:
 | 
						|
 | 
						|
	 :compare listunique
 | 
						|
 | 
						|
       Look
 | 
						|
 | 
						|
       The view can't switch to ls-like view as it's unable to	display	 diff-
 | 
						|
       like data.
 | 
						|
 | 
						|
       Comparison  views  have	second column displaying id of the file, files
 | 
						|
       with same id are considered to be equal.	 The view  columns  configura-
 | 
						|
       tion is predefined.
 | 
						|
 | 
						|
       Behaviour
 | 
						|
 | 
						|
       When  two  views	 are  being  compared against each other the following
 | 
						|
       changes to the regular behaviour apply:
 | 
						|
	- views are scrolled synchronously (as if 'scrollbind' was set);
 | 
						|
	- views' cursors are synchronized;
 | 
						|
	- local filtering is disabled (its results wouldn't be meaningful);
 | 
						|
	- zd excludes groups of adjacent identical files, 1zd gives usual  be-
 | 
						|
       haviour;
 | 
						|
	- sorting is permanently disabled (ordering is fixed);
 | 
						|
	- removed files hide their counter pairs;
 | 
						|
	- exiting one of the views terminates the other immediately;
 | 
						|
	- renaming files isn't blocked, but isn't taken into account and might
 | 
						|
       require regeneration of comparison;
 | 
						|
	- entries which indicate absence of equivalent file have  empty	 names
 | 
						|
       and can be matched as such;
 | 
						|
	-  when	 unique	 files	of  both  views are listed custom views can be
 | 
						|
       empty, this absence of unique files is stated clearly.
 | 
						|
 | 
						|
       One compare view has similar properties (those that are applicable  for
 | 
						|
       single pane).
 | 
						|
 | 
						|
       Files are gathered in this way:
 | 
						|
	- recursively starting at current location of the view;
 | 
						|
	-  dot files are excluded if view hides them at the moment of compari-
 | 
						|
       son;
 | 
						|
	- directories are not taken into account;
 | 
						|
	- symbolic links to directories are ignored.
 | 
						|
 | 
						|
Startup
 | 
						|
       On startup vifm determines several variables that are used  during  the
 | 
						|
       session.	 They are determined in the order they appear below.
 | 
						|
 | 
						|
       On  *nix	 systems $HOME is normally present and used as is.  On Windows
 | 
						|
       systems vifm tries to find correct home directory in the following  or-
 | 
						|
       der:
 | 
						|
	- $HOME variable;
 | 
						|
	- $USERPROFILE variable (on Windows only);
 | 
						|
	-  a  combination  of  $HOMEDRIVE  and $HOMEPATH variables (on Windows
 | 
						|
       only).
 | 
						|
 | 
						|
       vifm tries to find correct configuration directory by checking the fol-
 | 
						|
       lowing places:
 | 
						|
	- $VIFM variable;
 | 
						|
	- parent directory of the executable file (on Windows only);
 | 
						|
	- $HOME/.vifm directory;
 | 
						|
	- $APPDATA/Vifm directory (on Windows only);
 | 
						|
	- $XDG_CONFIG_HOME/vifm directory;
 | 
						|
	- $HOME/.config/vifm directory.
 | 
						|
 | 
						|
       vifm tries to find correct configuration file by checking the following
 | 
						|
       places:
 | 
						|
	- $MYVIFMRC variable;
 | 
						|
	- vifmrc in parent directory of the executable file (on Windows only);
 | 
						|
	- $VIFM/vifmrc file.
 | 
						|
 | 
						|
Configure
 | 
						|
       See "Startup" section above for the explanations	 on  $VIFM  and	 $MYV-
 | 
						|
       IFMRC.
 | 
						|
 | 
						|
       The  vifmrc  file  contains  commands  that  will  be  executed on vifm
 | 
						|
       startup.	 There are two such files: global and local.  Global one is at
 | 
						|
       {prefix}/etc/vifm/vifmrc,  see  $MYVIFMRC  variable description for the
 | 
						|
       search algorithm used to find local vifmrc.  Global  vifmrc  is	loaded
 | 
						|
       before  the local one, so that the later one can redefine anything con-
 | 
						|
       figured globally.
 | 
						|
 | 
						|
       Use vifmrc to set settings, mappings, filetypes etc.  To use multi line
 | 
						|
       commands	 precede  each next line with a slash (whitespace before slash
 | 
						|
       is ignored, but all spaces at the end of the lines are saved).  For ex-
 | 
						|
       ample:
 | 
						|
 | 
						|
	 set
 | 
						|
	     \smartcase
 | 
						|
 | 
						|
       equals "setsmartcase".  When
 | 
						|
 | 
						|
	 set<space here>
 | 
						|
	     \ smartcase
 | 
						|
 | 
						|
       equals "set  smartcase".
 | 
						|
 | 
						|
       The  $VIFM/vifminfo file contains session settings.  You may edit it by
 | 
						|
       hand to change the settings, but it's not recommended to do that,  edit
 | 
						|
       vifmrc  instead.	  You  can  control  what  settings  will  be saved in
 | 
						|
       vifminfo by setting 'vifminfo' option.  Vifm always writes this file on
 | 
						|
       exit  unless  'vifminfo'	 option is empty.  Marks, bookmarks, commands,
 | 
						|
       histories, filetypes, fileviewers and registers in the file are	merged
 | 
						|
       with vifm configuration (which has bigger priority).
 | 
						|
 | 
						|
       Generally,  runtime  configuration  has bigger priority during merging,
 | 
						|
       but there are some exceptions:
 | 
						|
 | 
						|
	 - directory stack stored in the file is not overwritten unless	 some-
 | 
						|
	   thing is changed in vifm session that performs merge;
 | 
						|
 | 
						|
	 - each	 mark  or  bookmark  is marked with a timestamp, so that newer
 | 
						|
	   value is not overwritten by older one, thus no matter from where it
 | 
						|
	   comes, the newer one wins.
 | 
						|
 | 
						|
       The  $VIFM/scripts  directory can contain shell scripts.	 vifm modifies
 | 
						|
       its PATH environment variable to let user  run  those  scripts  without
 | 
						|
       specifying  full path.  All subdirectories of the $VIFM/scripts will be
 | 
						|
       added to PATH too.  Script in a subdirectory overlaps script  with  the
 | 
						|
       same name in all its parent directories.
 | 
						|
 | 
						|
       The  $VIFM/colors/  and	{prefix}/etc/vifm/colors/  directories contain
 | 
						|
       color schemes.  Available color schemes are searched in that order,  so
 | 
						|
       on name conflict the one in $VIFM/colors/ wins.
 | 
						|
 | 
						|
       Each  color scheme should have ".vifm" extension.  This wasn't the case
 | 
						|
       before and for this reason the following rules apply during lookup:
 | 
						|
 | 
						|
	 - if there is no file with .vifm extension,  all  regular  files  are
 | 
						|
	   listed;
 | 
						|
 | 
						|
	 - otherwise  only files with .vifm extension are listed (with the ex-
 | 
						|
	   tension being truncated).
 | 
						|
 | 
						|
Automatic FUSE mounts
 | 
						|
       vifm has a builtin support of automated FUSE file system mounts.	 It is
 | 
						|
       implemented  using  file	 associations  mechanism.  To enable automated
 | 
						|
       mounts, one needs to use a specially formatted program line in filetype
 | 
						|
       or  filextype  commands.	  These	 use special macros, which differ from
 | 
						|
       macros in commands unrelated to FUSE.  Currently three formats are sup-
 | 
						|
       ported:
 | 
						|
 | 
						|
       1)  FUSE_MOUNT  This format should be used in case when all information
 | 
						|
       needed for mounting all files of a particular type is the  same.	  E.g.
 | 
						|
       mounting of tar files don't require any file specific options.
 | 
						|
 | 
						|
       Format line:
 | 
						|
	 FUSE_MOUNT|mounter %SOURCE_FILE %DESTINATION_DIR [%FOREGROUND]
 | 
						|
 | 
						|
       Example filetype command:
 | 
						|
 | 
						|
	 :filetype FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR
 | 
						|
 | 
						|
       2)  FUSE_MOUNT2 This format allows one to use specially formatted files
 | 
						|
       to perform mounting and is useful for mounting remotes, for example re-
 | 
						|
       mote file systems over ftp or ssh.
 | 
						|
 | 
						|
       Format line:
 | 
						|
	 FUSE_MOUNT2|mounter %PARAM %DESTINATION_DIR [%FOREGROUND]
 | 
						|
 | 
						|
       Example filetype command:
 | 
						|
 | 
						|
	 :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR
 | 
						|
 | 
						|
       Example file content:
 | 
						|
 | 
						|
	 root@127.0.0.1:/
 | 
						|
 | 
						|
       3) FUSE_MOUNT3
 | 
						|
 | 
						|
       This  format  is equivalent to FUSE_MOUNT, but omits unmounting.	 It is
 | 
						|
       useful for cases, when unmounting isn't needed, like when using AVFS.
 | 
						|
 | 
						|
       Example :filetype command:
 | 
						|
 | 
						|
	 :filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz,*.deb
 | 
						|
	      \ {Mount with avfs}
 | 
						|
	      \ FUSE_MOUNT3|mount-avfs %DESTINATION_DIR %SOURCE_FILE
 | 
						|
 | 
						|
       Example `mount-avfs` helper script:
 | 
						|
 | 
						|
	 #!/bin/sh
 | 
						|
 | 
						|
	 dest=$1
 | 
						|
	 file=$2
 | 
						|
 | 
						|
	 rmdir "$dest"
 | 
						|
	 ln -s "$HOME/.avfs$file#/" "$dest"
 | 
						|
 | 
						|
       All % macros are expanded by vifm at runtime  and  have	the  following
 | 
						|
       meaning:
 | 
						|
	 - %SOURCE_FILE is replaced by full path to selected file;
 | 
						|
	 - %DESTINATION_DIR is replaced by full path to mount directory, which
 | 
						|
       is created by vifm basing on the value of 'fusehome' option;
 | 
						|
	 - %PARAM value is filled from the first line of  file	(whole	line),
 | 
						|
       though in the future it can be changed to whole file content;
 | 
						|
	 -  %FOREGROUND	 means that you want to run mount command as a regular
 | 
						|
       command (required to be able to provide input  for  communication  with
 | 
						|
       mounter in interactive way).
 | 
						|
 | 
						|
       %FOREGROUND  is an optional macro.  Other macros are not mandatory, but
 | 
						|
       mount commands likely won't work without them.
 | 
						|
 | 
						|
       %CLEAR is obsolete name of %FOREGROUND, which is still  supported,  but
 | 
						|
       might be removed in future.  Its use is discouraged.
 | 
						|
 | 
						|
       Unlike  macros  elsewhere,  these are recognized only if they appear at
 | 
						|
       the end of a command or are followed by a space.	 There is  no  way  to
 | 
						|
       escape  % either.  These are historical limitations, which might be ad-
 | 
						|
       dressed in the future.
 | 
						|
 | 
						|
       The mounted FUSE file systems will be automatically  unmounted  in  two
 | 
						|
       cases:
 | 
						|
 | 
						|
	 - when vifm quits (with ZZ, :q, etc. or when killed by signal);
 | 
						|
 | 
						|
	 - when you explicitly leave mount point going up to its parent direc-
 | 
						|
	   tory (with h, Enter on "../" or ":cd ..") and other pane is not  in
 | 
						|
	   the same directory or its child directories.
 | 
						|
 | 
						|
View look
 | 
						|
       vifm supports displaying of file list view in two different ways:
 | 
						|
 | 
						|
	 - in  a  table	 mode,	when  multiple columns can be set using 'view-
 | 
						|
	   columns' option (see "Column view" section below for details);
 | 
						|
 | 
						|
	 - in a multicolumn list manner which looks almost like `ls  -x`  com-
 | 
						|
	   mand output (see "ls-like view" section below for details).
 | 
						|
 | 
						|
       The  look is local for each view and can be chosen by changing value of
 | 
						|
       the 'lsview' boolean option.
 | 
						|
 | 
						|
       Depending on view look some of keys change their meaning to allow  more
 | 
						|
       natural cursor moving.  This concerns mainly h, j, k, l and other simi-
 | 
						|
       lar navigation keys.
 | 
						|
 | 
						|
       Also some of options can be ignored if they don't affect view  display-
 | 
						|
       ing in selected look.  For example value of 'viewcolumns' when 'lsview'
 | 
						|
       is set.
 | 
						|
 | 
						|
ls-like view
 | 
						|
       When this view look is enabled by setting 'lsview' option on, vifm will
 | 
						|
       display	files  in  multiple columns.  Number of columns depends on the
 | 
						|
       length of the longest file name present in  current  directory  of  the
 | 
						|
       view.   Whole  file list is automatically reflowed on directory change,
 | 
						|
       terminal or view resize.
 | 
						|
 | 
						|
       View looks close to output of `ls -x` command, so files are listed left
 | 
						|
       to right in rows.
 | 
						|
 | 
						|
       In  this	 mode file manipulation commands (e.g. d) don't work line-wise
 | 
						|
       like they do in Vim, since such operations would be uncommon  for  file
 | 
						|
       manipulation  tasks.   Thus,  for  example, dd will remove only current
 | 
						|
       file.
 | 
						|
 | 
						|
       By default the view is filled by lines, 'lsoptions' can be used to  get
 | 
						|
       filling by columns.
 | 
						|
 | 
						|
       Note that tree-view and compare view inhibit ls-like view.
 | 
						|
 | 
						|
Column view
 | 
						|
       View columns are described by a comma-separated list of column descrip-
 | 
						|
       tions, each of which has the following format
 | 
						|
	   [ '-' ] [ fw ( [ '.' tw ] | '%' ) ] '{' type '}' '.'{0,3}
 | 
						|
       where fw stands for full width and tw stands for text width.
 | 
						|
 | 
						|
       So it basically consists of four parts:
 | 
						|
	1. Optional alignment specifier
 | 
						|
	2. Optional width specifier
 | 
						|
	3. Mandatory column name
 | 
						|
	4. Optional cropping specifier
 | 
						|
 | 
						|
       Alignment specifier
 | 
						|
 | 
						|
       It's an optional minus or asterisk sign as  the	first  symbol  of  the
 | 
						|
       string.
 | 
						|
 | 
						|
       Specifies type of text alignment within a column.  Three types are sup-
 | 
						|
       ported:
 | 
						|
 | 
						|
       - left align
 | 
						|
 | 
						|
	   set viewcolumns=-{name}
 | 
						|
 | 
						|
       - right align (default)
 | 
						|
 | 
						|
	   set viewcolumns={name}
 | 
						|
 | 
						|
       - dynamic align
 | 
						|
 | 
						|
	 It's like left alignment, but when the text is bigger than  the  col-
 | 
						|
	 umn,  the alignment is made at the right (so the part of the field is
 | 
						|
	 always visible).
 | 
						|
 | 
						|
	   set viewcolumns=*{name}
 | 
						|
 | 
						|
       Width specifier
 | 
						|
 | 
						|
       It's a number followed by a  percent  sign,  two	 numbers  (second  one
 | 
						|
       should  be less than or equal to the first one) separated with a dot or
 | 
						|
       a single number.
 | 
						|
 | 
						|
       Specifies column width and its units. There are three size types:
 | 
						|
 | 
						|
       - absolute size - column width is specified in characters
 | 
						|
 | 
						|
	   set viewcolumns=-100{name},20.15{ext}
 | 
						|
 | 
						|
	 results in two columns with lengths of 100  and  20  and  a  reserved
 | 
						|
	 space of five characters on the left of second column.
 | 
						|
 | 
						|
       - relative  (percent)  size  - column width is specified in percents of
 | 
						|
	 view width
 | 
						|
 | 
						|
	   set viewcolumns=-80%{name},15%{ext},5%{mtime}
 | 
						|
 | 
						|
	 results in three columns with lengths of 80/100, 15/100 and 5/100  of
 | 
						|
	 view width.
 | 
						|
 | 
						|
       - auto size (default) - column width is automatically determined
 | 
						|
 | 
						|
	   set viewcolumns=-{name},{ext},{mtime}
 | 
						|
 | 
						|
	 results  in  three  columns  with  length of one third of view width.
 | 
						|
	 There is no size adjustment to content, since it will slow down  ren-
 | 
						|
	 dering.
 | 
						|
 | 
						|
       Columns	of  different  sizing  types  can be freely mixed in one view.
 | 
						|
       Though sometimes some of columns can be seen partly  or	be  completely
 | 
						|
       invisible if there is not enough space to display them.
 | 
						|
 | 
						|
       Column name
 | 
						|
 | 
						|
       This is just a sort key surrounded with curly braces or {root}, e.g.
 | 
						|
 | 
						|
	 {name},{ext},{mtime}
 | 
						|
 | 
						|
       {name}  and  {iname} keys are the same and present both for consistency
 | 
						|
       with 'sort' option.
 | 
						|
 | 
						|
       Following keys don't have corresponding sorting keys:
 | 
						|
 | 
						|
	 - {root}     - display name without extension (as  a  complement  for
 | 
						|
	   {ext})
 | 
						|
 | 
						|
	 - {fileroot} - display name without extension for anything except for
 | 
						|
	   directories and symbolic links to directories (as a complement  for
 | 
						|
	   {fileext})
 | 
						|
 | 
						|
       Empty  curly braces ({}) are replaced with the default secondary column
 | 
						|
       for primary sort key. So after the next command view will be  displayed
 | 
						|
       almost  as if 'viewcolumns' is empty, but adding ellipsis for long file
 | 
						|
       names:
 | 
						|
 | 
						|
	 set viewcolumns=-{name}..,6{}.
 | 
						|
 | 
						|
       Cropping specifier
 | 
						|
 | 
						|
       It's from one to three dots after closing curly brace in column format.
 | 
						|
 | 
						|
       Specifies type of text truncation if it	doesn't	 fit  in  the  column.
 | 
						|
       Currently three types are supported:
 | 
						|
 | 
						|
	 - truncation - text is truncated
 | 
						|
 | 
						|
	     set viewcolumns=-{name}.
 | 
						|
 | 
						|
	   results  in	truncation  of	names that are too long too fit in the
 | 
						|
	   view.
 | 
						|
 | 
						|
	 - adding of ellipsis - ellipsis on the left or right are  added  when
 | 
						|
	   needed
 | 
						|
 | 
						|
	     set viewcolumns=-{name}..
 | 
						|
 | 
						|
	   results  in	that  ellipsis	are  added at the end of too long file
 | 
						|
	   names.
 | 
						|
 | 
						|
	 - none (default) - text can pass column boundaries
 | 
						|
 | 
						|
	     set viewcolumns=-{name}...,{ext}
 | 
						|
 | 
						|
	   results in that long file names can partially be written on the ext
 | 
						|
	   column.
 | 
						|
 | 
						|
Color schemes
 | 
						|
       The color schemes in vifm can be applied in two different ways:
 | 
						|
 | 
						|
	 - as the primary color scheme;
 | 
						|
 | 
						|
	 - as local to a pane color scheme.
 | 
						|
 | 
						|
       Both types are set using :colorscheme command, but of different forms:
 | 
						|
 | 
						|
	 - :colorscheme color_scheme_name - for the primary color scheme;
 | 
						|
 | 
						|
	 - :colorscheme color_scheme_name directory - for local color schemes.
 | 
						|
 | 
						|
       Look  of different parts of the TUI (Text User Interface) is determined
 | 
						|
       in this way:
 | 
						|
 | 
						|
	 - Border, TabLine,  TabLineSel,  TopLineSel,  TopLine,	 CmdLine,  Er-
 | 
						|
	   rorMsg, StatusLine, JobLine, SuggestBox and WildMenu are always de-
 | 
						|
	   termined by the primary color scheme;
 | 
						|
 | 
						|
	 - CurrLine, Selected, Directory, Link,	 BrokenLink,  Socket,  Device,
 | 
						|
	   Executable,	Fifo, CmpMismatch, Win, AuxWin and OtherWin are deter-
 | 
						|
	   mined by primary color scheme and a set  of	local  color  schemes,
 | 
						|
	   which can be empty.
 | 
						|
 | 
						|
       There might be a set of local color schemes because they are structured
 | 
						|
       hierarchically according to file system structure. For example,	having
 | 
						|
       the following piece of file system:
 | 
						|
 | 
						|
	 ~
 | 
						|
	 `-- bin
 | 
						|
	    |
 | 
						|
	    `-- my
 | 
						|
 | 
						|
       Two color schemes:
 | 
						|
 | 
						|
	 # ~/.vifm/colors/for_bin
 | 
						|
	 highlight Win cterm=none ctermfg=white ctermbg=red
 | 
						|
	 highlight CurrLine cterm=none ctermfg=red ctermbg=black
 | 
						|
 | 
						|
	 # ~/.vifm/colors/for_bin_my
 | 
						|
	 highlight CurrLine cterm=none ctermfg=green ctermbg=black
 | 
						|
 | 
						|
       And these three commands in the vifmrc file:
 | 
						|
 | 
						|
	 colorscheme Default
 | 
						|
	 colorscheme for_bin ~/bin
 | 
						|
	 colorscheme for_bin_my ~/bin/my
 | 
						|
 | 
						|
       File list will look in the following way for each level:
 | 
						|
 | 
						|
       - ~/ - Default color scheme
 | 
						|
	 black background
 | 
						|
	 cursor with blue background
 | 
						|
 | 
						|
       - ~/bin/ - mix of Default and for_bin color schemes
 | 
						|
	 red background
 | 
						|
	 cursor with black background and red foreground
 | 
						|
 | 
						|
       - ~/bin/my/ - mix of Default, for_bin and for_bin_my color schemes
 | 
						|
	 red background
 | 
						|
	 cursor with black background and green foreground
 | 
						|
 | 
						|
Trash directory
 | 
						|
       vifm has support of trash directory, which is used as temporary storage
 | 
						|
       for deleted files or files that were cut.  Using trash is controlled by
 | 
						|
       the  'trash'  option,  and  exact  path	to  the	 trash can be set with
 | 
						|
       'trashdir' option.  Trash directory in vifm differs  from  the  system-
 | 
						|
       wide  one  by default, because of possible incompatibilities of storing
 | 
						|
       deleted	files  among  different	 file  managers.   But	one  can   set
 | 
						|
       'trashdir'  to  "~/.local/share/Trash" to use a "standard" trash direc-
 | 
						|
       tory.
 | 
						|
 | 
						|
       There are two scenarios of using trash in vifm:
 | 
						|
 | 
						|
	 1. As a place for storing files that were cut by "d" and may  be  in-
 | 
						|
	    serted to some other place in file system.
 | 
						|
 | 
						|
	 2. As a storage of files, that are deleted but not purged yet.
 | 
						|
 | 
						|
       The first scenario uses deletion ("d") operations to put files to trash
 | 
						|
       and put ("p") operations to restore files from trash  directory.	  Note
 | 
						|
       that  such operations move files to and from trash directory, which can
 | 
						|
       be long term operations in  case	 of  different	partitions  or	remote
 | 
						|
       drives mounted locally.
 | 
						|
 | 
						|
       The  second scenario uses deletion ("d") operations for moving files to
 | 
						|
       trash directory and :empty command-line command to purge all previously
 | 
						|
       deleted files.
 | 
						|
 | 
						|
       Deletion	 and  put  operations  depend on registers, which can point to
 | 
						|
       files in trash directory.  Normally, there are no nonexistent files  in
 | 
						|
       registers, but vifm doesn't keep track of modifications under trash di-
 | 
						|
       rectory, so one shouldn't expect value of registers  to	be  absolutely
 | 
						|
       correct if trash directory was modified not by operation that are meant
 | 
						|
       for it.	But this won't lead to any issues with operations, since  they
 | 
						|
       ignore nonexistent files.
 | 
						|
 | 
						|
Client-Server
 | 
						|
       vifm  supports  remote  execution of command-line mode commands, remote
 | 
						|
       changing of directories and expression evaluation.   This  is  possible
 | 
						|
       using --remote and --remote-expr command-line arguments.
 | 
						|
 | 
						|
       To  execute  a command remotely combine --remote argument with -c <com-
 | 
						|
       mand> or +<command>.  For example:
 | 
						|
 | 
						|
	 vifm --remote -c 'cd /'
 | 
						|
	 vifm --remote '+cd /'
 | 
						|
 | 
						|
       To change directory not using command-line mode commands one can	 spec-
 | 
						|
       ify paths right after --remote argument, like this:
 | 
						|
 | 
						|
	 vifm --remote /
 | 
						|
	 vifm --remote ~
 | 
						|
	 vifm --remote /usr/bin /tmp
 | 
						|
 | 
						|
       Evaluating  expression  remotely	 might	be useful to query information
 | 
						|
       about an instance, for example its location:
 | 
						|
 | 
						|
	 vifm --remote-expr 'expand("%d")'
 | 
						|
 | 
						|
       If there are several running instances, the  target  can	 be  specified
 | 
						|
       with  --server-name  option (otherwise, the first one lexicographically
 | 
						|
       is used):
 | 
						|
 | 
						|
	 vifm --server-name work --remote ~/work/project
 | 
						|
 | 
						|
       List of names of running instances can be  obtained  via	 --server-list
 | 
						|
       option.	Name of the current one is available via v:servername.
 | 
						|
 | 
						|
 | 
						|
       v:servername
 | 
						|
	      server  name  of	the  running  vifm instance.  Empty if client-
 | 
						|
	      server feature is disabled.
 | 
						|
 | 
						|
Plugin
 | 
						|
       Plugin for using vifm in vim as a file selector.
 | 
						|
 | 
						|
       Commands:
 | 
						|
 | 
						|
	 :EditVifm   select a file or files to open in the current buffer.
 | 
						|
	 :Vifm	     alias for :EditVifm.
 | 
						|
	 :SplitVifm  split buffer and select a file or files to open.
 | 
						|
	 :VsplitVifm vertically split buffer and select a  file	 or  files  to
 | 
						|
       open.
 | 
						|
	 :DiffVifm    select  a	 file  or files to compare to the current file
 | 
						|
       with
 | 
						|
		     :vert diffsplit.
 | 
						|
	 :TabVifm    select a file or files to open in tabs.
 | 
						|
 | 
						|
       Each command accepts up to two arguments: left pane directory and right
 | 
						|
       pane  directory.	  After arguments are checked, vifm process is spawned
 | 
						|
       in a special "file-picker" mode.	 To pick files just open  them	either
 | 
						|
       by  pressing  l,	 i  or Enter keys, or by running :edit command.	 If no
 | 
						|
       files are selected, file under the cursor is  opened,  otherwise	 whole
 | 
						|
       selection is passed to the plugin and opened in vim.
 | 
						|
 | 
						|
       The  plugin  have  only	two  settings.	 It's  a string variable named
 | 
						|
       g:vifm_term to let user specify command to run GUI  terminal.   By  de-
 | 
						|
       fault  it's  equal  to  'xterm  -e'.  And another string variable named
 | 
						|
       g:vifm_exec, which equals "vifm"	 by  default  and  specifies  path  to
 | 
						|
       vifm's  executable.   To	 pass  arguments to vifm use g:vifm_exec_args,
 | 
						|
       which is empty by default.
 | 
						|
 | 
						|
       To use the plugin copy the vifm.vim file	 to  either  the  system  wide
 | 
						|
       vim/plugin directory or into ~/.vim/plugin.
 | 
						|
 | 
						|
       If  you would prefer not to use the plugin and it is in the system wide
 | 
						|
       plugin directory add
 | 
						|
 | 
						|
       let loaded_vifm=1
 | 
						|
 | 
						|
       to your ~/.vimrc file.
 | 
						|
 | 
						|
Reserved
 | 
						|
       The following command names are reserved and shouldn't be used for user
 | 
						|
       commands.
 | 
						|
 | 
						|
	 g[lobal]
 | 
						|
	 v[global]
 | 
						|
 | 
						|
ENVIRONMENT
 | 
						|
       VIFM   Points to main configuration directory (usually ~/.vifm/).
 | 
						|
 | 
						|
       MYVIFMRC
 | 
						|
	      Points to main configuration file (usually ~/.vifm/vifmrc).
 | 
						|
 | 
						|
       These  environment variables are valid inside vifm and also can be used
 | 
						|
       to configure it by setting some of them before running vifm.
 | 
						|
 | 
						|
       When $MYVIFMRC isn't set, it's made as $VIFM/vifmrc (exception for Win-
 | 
						|
       dows: vifmrc in the same directory as vifm.exe has higher priority than
 | 
						|
       $VIFM/vifmrc).
 | 
						|
 | 
						|
       See "Startup" section above for more details.
 | 
						|
 | 
						|
       VIFM_FUSE_FILE
 | 
						|
	      On execution of external commands this variable is  set  to  the
 | 
						|
	      full  path  of  file  used  to initiate FUSE mount of the closes
 | 
						|
	      mount point from current pane directory up.  It's not  set  when
 | 
						|
	      outside  FUSE  mount  point.   When vifm is used inside terminal
 | 
						|
	      multiplexer, it tries to set this variable as well  (it  doesn't
 | 
						|
	      work this way on its own).
 | 
						|
 | 
						|
SEE ALSO
 | 
						|
       vifm-convert-dircolors(1), vifm-pause(1)
 | 
						|
 | 
						|
       Website: https://vifm.info/
 | 
						|
       Wiki: https://wiki.vifm.info/
 | 
						|
 | 
						|
       Esperanto translation of the documentation by Sebastian Cyprych:
 | 
						|
       http://cyprych.neostrada.pl/tekstoj/komputiloj/vifm-help.eo.html
 | 
						|
 | 
						|
AUTHOR
 | 
						|
       Vifm was written by ksteen <ksteen@users.sourceforge.net>
 | 
						|
       And currently is developed by xaizek <xaizek@posteo.net>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
vifm 0.10.1			 July 29, 2019			       VIFM(1)
 |