vifm(1)                              Vifm                              vifm(1)



NAME
       vifm [OPTION]

DESCRIPTION
       Vifm  is  a 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
       The  vifm executable will start vifm in the current directory unless it
       is given a different directory on the command line.

       <lwinpath>
              Starts Vifm in the specified path.

       <lwinpath> <rwinpath>
              Starts Vifm in the specified paths.

       Paths to files are also allowed in case you want  vifm  to  start  with
       some archive opened.

       -f     only  used  from  the  vifm.vim  script.  The selected files are
              written to CONFDIR/vimfiles and vifm exits.

       --logging
              Log some errors to CONFDIR/log.

       -c <command> or +<command>
              Run <command> on startup.

       --help, -h
              Show an overview of the commandline options.

       --version, -v
              Show version information and quit.

       --no-configs
              Don't read vifmrc and vifminfo.


       See Configure section below for the explanations on CONFDIR.

General keys
       Ctrl-C or Escape
              cancel most operations.

       Ctrl-C or Escape
              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  popup
       windows.

       k or Ctrl-P
              moves up.

       j or Ctrl-N
              moves down.

       h      moves up one directory.

       l or Enter
              moves into a directory or launches a file.

       gg     move to the top of the file list.

       G      move to the bottom of the file list.

       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%).

       Space Bar or Tab Key
              toggles between the two file lists.

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.

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
              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 O
              shortcut for :only

       Ctrl-W S
              shortcut for :split

       Ctrl-W V
              shortcut for :vsplit

       Ctrl-W W
              switch to other pane.

       Ctrl-W X
              exchange panes.

       Ctrl-W +
              increase size of the view.

       Ctrl-W -
              decrease size of the view.

       Ctrl-W <
              increase size of the view.

       Ctrl-W >
              decrease size of the view.

       Ctrl-W |
              maximize current view.

       Ctrl-W _
              maximize current view.

       Ctrl-W =
              make size of two views equal.

Marks
       Marks are set the same way as they are in vi.
              You can use this characters for marks [a-z][A-Z][0-9].

       m[a-z][A-Z][0-9]
              to set a mark for the current file.

       '[a-z][A-Z][0-9]
              moves to the file set for the mark.

Searching
       /regular expression pattern[Return]
              will highlight all files matching the pattern and go to the next
              match.

       ?regular expression pattern[Return]
              will highlight all files matching the pattern and go to the pre‐
              vious match.

       [count]n
              find the next match of / or ?.

       [count]N
              find the previous match of / or ?.

       [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
       The basic vim folding key bindings are used for filtering files.

       All directorys will show the ../ file no matter what the filter setting
       is with the exception of the / directory.

       Each file list has its own filter.

       Filtered files are not checked in / search or :commands.

       zo     Show all of the dot files.

       zf     Filter all of the selected files.

       za     Toggle the showing and hiding of dot files.

       zm     Filter all of the dot files.

       zO     Show the filtered files.

       zM     Filter the files matching the filename filter.

       zR     Remove all filters.

Other Normal Mode Keys
       [count]:
              enter command line mode.  Count will add range.

       [count]!! and [count]!<selector>
              enter command line mode with entered ! command.  Count will mod‐
              ify range.

       Ctrl-O go backward through history.

       Ctrl-I go forward through history.

       Ctrl-G creates 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.

       gA     like ga, but force update.

       gf     find link destination (like l with 'followlinks' off,  but  also
              finds directories).

       gl     only for MS-Windows
              same  as  l  key,  but  tries to run program with administrative
              privileges.

       gv     go to visual mode restoring last selection.

       gs     restore last t selection, like gv for visual mode selection.

       gu<selector>
              make names of selected files lowercase.

       guu    gugu make name of current file lowercase.

       gU<selector>
              make names of selected files uppercase.

       gUU    gUgU make name of current file uppercase.

       e      explore file in the current pane.

       i      opens file with associated program even if it's an executable.

       cw     rename a file.

       cW     change only name of file (without extension).

       cl     change link target.

       co     only for *nix
              change file owner.

       cg     only for *nix
              change file group.

       cp     only for *nix
              change file permissions.

       [count]C
              clone file [count] times.

       [count]dd or d[count]selector
              moves the selected files  to  the  trash  directory  (if  option
              'trash' is set otherwise delete)

       [count]DD or D[count]selector
              removes the selected files.

       Y, [count]yy or y[count]selector
              yanks the selected files.

       Y      same as yy.

       p      will  copy the 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 the Trash directory.

       P      moves  the  last yanked files.  The advantage of using P instead
              of d followed by p is that P moves files only once.  This  isn't
              important  in  case  you're moving files in the same file system
              where your home directory is, but using P to move files on  some
              other  file  system  (or  file systems, in case you want to move
              files from fs1 to fs2 and your home is on  fs3)  can  save  your
              time.

       al     puts symbolic links with absolute paths.

       rl     puts symbolic links with relative paths.

       t      tag the current file.

       u      undo last change.

       Ctrl-R redo last change.

       v      enter visual mode.

       V      enter visual mode.

       [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).

       (      goto 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, ...

       )      goto next group.  See ( key description above.

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 with hitting double quite 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.

       Registers do not contain one file more than once.

       Example:
         "a2yy
       will  put  names  of two files to register a (and to the unnamed regis‐
       ter).
         "Ad
       will remove one file and append its name to  register  a  (and  to  the
       unnamed register).
         p or "ap or "Ap
       will insert previously yanked and deleted files into current directory.

Selectors
       y and d commands accept selectors.  You can combine them with every 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 and '.  But there are some additional ones.

       a      all files in current view.

       s      selected files.

       S      all files except selected.

Visual Mode
       In visual mode work almost all normal mode keys, but they do not accept
       selectors.

       Enter  save selection and go back to normal mode.

       gv     restore previous visual selection.

       v      leave visual mode.

       V      leave visual mode.

       :      enter  command  line  mode.  When you leave it selection will be
              cleared.

       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 monkey less program.  Currentry next keys  are  sup‐
       ported:

       Shift-Tab, Tab, q, Q, ZZ
              go back to normal mode.

       [count]e, [count]Ctrl-E, [count]j, [count]Ctrl-N, [count]Enter
              forward one line (or [count] lines).

       [count]y, [count]Ctrl-Y, [count]k, [count]Ctrl-K, [count]Ctrl-P
              backward one line (or [count] lines).

       [count]f, [count]Ctrl-F, [count]Ctrl-V, [count]Space Bar
              forward one window (or [count] lines).

       [count]b, [count]Ctrl-B, [count]Alt-V
              backward one window (or [count] lines).

       [count]z
              forward one window (and set window to [count]).

       [count]w
              backward one window (and set window to [count]).

       [count]Alt-Space
              forward one window, but don't stop at end-of-file.

       [count]d, [count]Ctrl-D
              forward one half-window (and set half-window to [count]).

       [count]u, [count]Ctrl-U
              backward one half-window (and set half-window to [count]).

       r, Ctrl-R, Ctrl-L, R
              repaint screen.

       [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.

       [count]g, [count]<, [count]Alt-<
              go to first line in file (or line [count]).

       [count]G, [count]>, [count]Alt->
              go to last line in file (or line [count]).

       [count]p, [count]%
              go to beginning of file (or N percent into file).

       v      edit the current file with vim.

       Ctrl-W S
              split window horizontally.

       Ctrl-W V
              split window vertically.

       Ctrl-W +
              increase size of the view.

       Ctrl-W -
              decrease size of the view.

       Ctrl-W <
              increase size of the view.

       Ctrl-W >
              decrease size of the view.

       Ctrl-W |
              maximize current view.

       Ctrl-W _
              maximize current view.

       Ctrl-W =
              make size of two views equal.

Command line Mode
       This  keys  apply  to  all  submodes of the command line mode: command,
       prompt and search.

       Down, Up, Left, Right, Home, End and Delete are extended keys and  they
       are  not  available  if  vifm  is compiled with --disable-extended-keys
       option

       Esc, Ctrl-C
              leave command line mode, cancels input.

       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-K remove characters from cursor position till the end of line.

       Ctrl-U remove characters from cursor position  till  the  beginning  of
              line.

       Ctrl-H, Backspace
              remove character before the cursor.

       Ctrl-D, Delete
              remove character under the cursor.

       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-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-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.

Commands
       Commands are executed with :command_name<Return>

       ´|' 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
       '\'.

       Commented  out  lines  should start with the double quote symbol, which
       may be preceded by whitespace characters.

       :[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
              will execute the program in a shell

       :[range]!command &

       will run the process in the background using vifm's means.

       Programs that write to stdout like ls  will  create  an  error  message
       showing partial output of the command.

       Take note of 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]!! <program>
              is the same as :! but will pause the screen before returning  to
              Vifm.

       :!!    will execute the last command.

       :[range]alink[!?]
              creates  absolute  symbolic links of files in directory of other
              view.  With "?"  vifm will  open  vi  to  edit  filenames.   "!"
              forces overwrite.

       :[range]alink[!] path
              creates  absolute symbolic links of files in directory specified
              with the path (absolute or relative to directory of other view).
              "!" forces overwrite.

       :[range]alink[!] name1 name2...
              creates  absolute  symbolic links of files in directory of other
              view giving each next link a corresponding name from  the  argu‐
              ment list.  "!" forces overwrite.

       :apropos manpage
              will  create  a  menu  of items returned by the apropos command.
              Selecting an item in the menu will open the  corresponding  man‐
              page.

       :apropos
              repeats last :apropos command.

       :cd or :cd ~ or :cd $HOME
              change to your home directory.

       :cd -  go to previous 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.  When using relative paths vifm
              assumes  that  both of them are relative to current directory of
              current view.  Command will not fail if one  of  directories  is
              invalid.  Accepts macros.

       :cd! /dir
              same as :cd /dir /dir.

       :c[hange]
              create a menu window to alter a files properties.

       :[range]chmod
              only for *nix
              shows permission change dialog.

       :[range]chmod[!] arg...
              only for *nix
              changes  permissions for files.  See 'man chmod' for arg format.
              "!" means set permissions recursively.

       :[range]chown
              only for *nix
              same as co key in normal mode.

       :[range]chown [user][:][group]
              only for *nix
              changes owner and/or group of files.   Operates  on  directories
              recursively.

       :[range]clone[!?]
              clones  files  in current directory.  With "?" vifm will open vi
              to edit filenames.  "!" forces overwrite.

       :[range]clone[!] path
              clones files to directory specified with the path  (absolute  or
              relative to current directory).  "!" forces overwrite.

       :[range]clone[!] name1 name2...
              clones  files in current directory giving each next clone a cor‐
              responding name from the argument list.  "!" forces overwrite.

       :colo[rscheme]?
              prints current color scheme name in the status bar.

       :colo[rscheme]
              gives a menu with a list of available color  schemes.   You  can
              choose  default  color scheme here.  It will be used for view if
              no DIRECTORY in colorscheme file fits current path.   It's  also
              used  to set border color (except view titles) and colors in the
              menus and dialogs.

       :colo[rscheme] color_scheme_name
              changes default color scheme to color_scheme_name.

       :colo[rscheme] color_scheme_name directory
              associates directory with the color scheme.

       :comc[lear]
              removes all user defined commands.

       :com[mand]
              gives a menu of user commands.

       :com[mand] beginning
              shows user defined commands that start with the beginning.

       :com[mand] name action
              sets 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] backup /pattern
              will set search pattern.

       :com[mand] name filter pattern
              will set file name filter.

       :com[mand] cmd :commands
              will set kind of alias for internal command (like in a shell).

       :[range]co[py][!?][ &]
              copies files to directory of other view.   With  "?"  vifm  will
              open vi to edit filenames.  "!" forces overwrite.

       :[range]co[py][!] path[ &]
              copies  files  to directory specified with the path (absolute or
              relative to directory of other view).  "!" forces overwrite.

       :[range]co[py][!] name1 name2...[ &]
              copies files to directory of other view giving each next file  a
              corresponding  name  from  the  argument list.  "!" forces over‐
              write.

       :[range]d[elete][!][ &]
              delete selected file or  files.   "!"  means  completely  remove
              file.

       :[range]d[elete][!] [reg] [count][ &]
              will  delete  files  to  the reg register.  "!" means completely
              remove file.

       :delc[ommand] command_name
              will remove the command_name user command.

       :delm[arks]!
              will delete all marks.

       :delm[arks] marks ...
              will delete specified marks, each argument is treated as  a  set
              of marks.

       :di[splay]
              popup 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  display directory stack.

       :[range]e[dit] [file...]
              will load the selected or passed file or files into vi.  Accepts
              macros.

       :empty will permanently remove 'rm -fr' files from the Trash directory.
              It  will  also  remove all operations from undolist that have no
              sense after :empty and remove all records  about  files  in  the
              Trash directory from all registers.

       :exe[cute][arg...]
              will  join  all  passed  arguments  by  inserting a single space
              between them and execute resulting string as a command-line com‐
              mand.

       :exi[t][!]
              same as :quit.

       :f[ile]
              popup  menu  of  programs  set  for the file type of the current
              file. Add ' &' at the end of command to  run  program  in  back‐
              ground.

       :f[ile] arg
              run  associated command that begins with the arg without opening
              menu.

       :filet[ype] pat1,pat2,... def_program,program2,...
              will associate given program  list  to  each  of  the  patterns.
              Accosiated  program (command) is used by handlers of l and Enter
              keys (and also in the :file menu).  Currently only * and  ?  are
              treated  as  special  symbols  in  the  pattern.  If you need to
              insert comma into command just double it (",,").

       :filex[type] pat1,pat2,... def_program,program2,...
              same as :filetype, but vifm will ignore this command if it's not
              running in X.  In X :filextype is equal to :filetype.

       :filev[iewer] pat1,pat2,... command
              will  associate  given  command  as a viewer to each of the pat‐
              terns.  Viewer is a command which output is captured and  showed
              in  the  second  pane of vifm after running :view command.  Cur‐
              rently only * and ? are treated as special symbols in  the  pat‐
              tern.

       :filter regular_expression_pattern
              :filter  /regular_expression_pattern/  will filter all the files
              out of the directory listing that match the regular  expression.
              Using second variant you can use | symbol without escaping.  Add
              :filter  /.o$  would  filter  all  files  ending  in .o from the
              filelist.
              Note: vifm uses extended regular expressions.

       :filter
              would filter no files from the filelist.

       :filter!
              same as :invert.

       :filter?
              show current filter value.

       :[range]fin[d] pattern
              will show results of find command in the menu.   Searches  among
              selected files if any.  Accepts macros.

       :[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.
              Ignores selection and range.

       :[range]fin[d]
              repeats last :find command.

       :[range]gr[ep][!] pattern
              will  show  results  of  grep  command  in the menu.  Add "!" to
              search lines that do not match pattern.  Searches among selected
              files if any and no range given.  Ignores binary files.

       :[range]gr[ep][!] -opt...
              same  as :grep above, but user defines all find arguments, which
              are not escaped.  Searches among selected files if any.

       :[range]gr[ep][!]
              repeats last :grep command.  "!" of this command inverts "!"  in
              repeated command.

       :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).

       :hi[ghlight]
              will show information about all highlight groups in the  current
              directory.

       :hi[ghlight] group-name
              will  show  information  on given highlight group of the default
              color scheme.

       :hi[ghlight] group-name cterm=style | ctermfg=color | ctermbg=color
              sets  style  (cterm),  foreground  (ctermfg)  or/and  background
              (ctermbg)  parameters  of highlight group of the current default
              color scheme.

       Available style values (some of them can be combined):
        - bold
        - underline
        - reverse or inverse
        - standout
        - none

       Available group-name values:
        - Win - color of all windows (views, dialogs, menus)
        - Border - color of vertical parts of the border
        - 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
        - WildMenu - color of the wild menu items
        - CurrLine - line at cursor position in the 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

       Available colors:
        - -1 or default or none - default or transparent
        - black
        - red
        - green
        - yellow
        - blue
        - magenta
        - cyan
        - white

       Here is the hierarchy of the highlight group, which you  need  to  know
       for using transparency:
         StatusLine
           WildMenu
         Border
         CmdLine
           ErrorMsg
         Win
           Directory
           Link
           BrokenLink
           Socket
           Device
           Fifo
           Executable
             Selected
               CurrLine
         TopLine
           TopLineSel

       "none"  means  default terminal color for highlight groups at the first
       level of the hierarchy and transparency for all others.

       :his[tory]
              creates a popup menu of directories visited.

       :his[tory] x
              x can be:
              d[ir]     or .  show directory history.
              i[nput]   or @  show prompt history (e.g. on one file renaming).
              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.
              c[md]     or :  show command line history.

       :invert
              invert file name filter.

       :invert?
              show current filter state.

       :jobs  shows menu of current backgrounded processes.

       :locate filename
              uses  the 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.

       :locate
              repeats last :locate command.

       :[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 macros is allowed.  Question mark will stop command
              from overwriting existing marks.

       :marks create a popup menu of bookmarks.

       :marks list ...
              display the contents of the marks that are mentioned in list.

       :mes[sages]
              shows previously given messages (up to 50).

       :mkdir[!] dir ...
              creates  directories  with  given  names.  "!" means make parent
              directories as needed.

       :[range]m[ove][!?][ &]
              moves files to directory of other view.  With "?" vifm will open
              vi to edit filenames.  "!" forces overwrite.

       :[range]m[ove][!] path[ &]
              moves  files  to  directory specified with the path (absolute or
              relative to directory of other view).  "!" forces overwrite.

       :[range]m[ove][!] name1 name2...[ &]
              moves files to directory of other view giving each next  file  a
              corresponding  name  from  the  argument list.  "!" forces over‐
              write.

       :noh[lsearch]
              clear selection in current pane.

       :on[ly]
              changes the window to show only the current file directory.

       :popd  remove pane directories from stack.

       :pushd[!] /curr/dir [/other/dir]
              add pane directories to stack and  process  arguments  like  :cd
              command.

       :pushd exchanges the top two items of the directory stack.

       :pw[d] show the present working directory.

       :q[uit][!]
              will exit vifm (add ! if you don't want to save changes or check
              if there are any of backgrounded commands still running).

       :[range]y[ank] [reg] [count]
              will yank files to the reg register.

       :ls    shows list of screen program windows (only when screen is used).

       :reg[isters]
              popup 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).

       :[range]rename
              rename files using vi to edit names.

       :[range]rename name1 name2...
              rename each of selected files to a corresponding name.

       :restart
              will free a lot of things (histories, commands, etc.) and reread
              vifminfo and vifmrc files.

       :[range]restore
              will restore file from Trash.  Works in trash directory only.

       :[range]rlink[!?]
              creates  relative  symbolic links of files in directory of other
              view.  With "?"  vifm will  open  vi  to  edit  filenames.   "!"
              forces overwrite.

       :[range]rlink[!] path
              creates  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...
              creates  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
              toggles whether or not to use the screen program.
              The default configuration has the screen option turned off.  The
              screen program uses pseudo terminals to allow  multiple  windows
              to  be  used in the console or in a single xterm.  Starting vifm
              from screen with the screen option turned on will cause vifm  to
              open  a  new  screen  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.

       :screen?
              shows whether screen program is used.

       :se[t] shows all options that differ from their default value.

       :se[t] all
              shows all options.

       :se[t] opt1=val1 opt2='val2' opt3="val3" ...
              will set options to given values.
              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
               - for string list options - option=x, option+=x and option-=x
               - for enumeration options - option=x, option+=x and option-=x
               - for enumeration options - option=x
               - for set options - option=x, option+=x and option-=x the mean‐
              ing:
               - 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 x to option
               -  option-=x - remove (or subtract) x from option :sh[ell] will
              start a shell.

       :sor[t]
              creates a popup menu of different sorting methods.

       :so[urce] file
              reads command-line commands from the file.

       :sp[lit]
              splits the window to show both file directories.

       :sp[lit]!
              toggles windows splitting.

       :sp[lit] path
              splits the window to show both file  directories.   And  changes
              other pane to path.

       :[range]s[ubstitite]/pattern/string/[flags]
              for each file in range replace a match of pattern with string.

       String  can contain  ...9 to link to capture groups (0 - all match, 1 -
       first group, etc.).

       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]//string/[flags]
         will use previous pattern.

       :[range]s[ubstitute]
         will repeat previous substitution command.

       :sync
         change the other panel to the current panel directory.

       :touch file...
         will create files.  Aborts on errors and won't update time of  exist‐
         ing files.

       :[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 character.

       String  can contain  ...9 to link to capture groups (0 - all match, 1 -
       first group, etc.).

       :undol[ist]
              show list of latest changes.  Add ! to see commands.

       :ve[rsion]
              show menu with version information.

       :vifm  same as :version.

       :vie[w]
              toggle on and off the quick file view.

       :vie[w]!
              turns on quick file view if it's off.

       :volumes
              only for MS-Windows
              will popup menu with volume list.  Hitting l (or Enter) key will
              open appropriate volume in the current pane.

       :w[rite]
              write  vifminfo  file  (add  !  to  force write even if settings
              weren't changed).

       :wq[!] same as :quit, but ! only disables check  of  backgrounded  com‐
              mands.

       :x[it][!]
              will exit Vifm (add ! if you don't want to save changes).


       :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.


       :cm[ap] lhs rhs
              map lhs to rhs in command line mode.

       :nm[ap] lhs rhs
              map lhs to rhs in normal mode.

       :vm[ap] lhs rhs
              map lhs to rhs in visual mode.


       :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
              disallow mapping of rhs.


       :cno[remap] lhs rhs
              map  the  key  sequence  lhs to {rhs} for command line mode, but
              disallow mapping of rhs.

       :nn[oremap] lhs rhs
              map the key sequence lhs to {rhs} for normal mode, but  disallow
              mapping of rhs.

       :vn[oremap] lhs rhs
              map  the key sequence lhs to {rhs} for visual mode, but disallow
              mapping of rhs.


       :unm[ap] lhs
              remove the mapping of lhs from normal and visual modes.

       :unm[ap]! lhs
              remove the mapping of lhs from command line mode.


       :cu[nmap] lhs
              remove the mapping of lhs from command line mode.

       :nun[map] lhs
              remove the mapping of lhs from normal mode.

       :vu[nmap] lhs
              remove the mapping of lhs from visual mode.

Ranges
       The ranges implemented include:
         Numbers :2,3
         % - the entire directory.
         . - the current position in the filelist.
         $ - the end of the filelist.
         't - the mark position t.

         :%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.

       %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.

       %m     Show command output in a menu.

       %M     Same as %m, but l (or Enter) key is handled like for :locate and
              :find commands.

       %S     Show command output in the status bar.

       %s     Execute command in screen split.

       Use %% if you need to put a percent sign in your command.

       You  can  use  filename  modifiers  after %c, %C, %f, %F, %b, %d and %D
       macros.  Supported modifiers are:

       - :p           - full path

       - :~           - relative to the home directory

       - :.           - relative to current directory

       - :h           - head of the filename

       - :t           - tail of the filename

       - :r           - root of the filename (without last extension)

       - :e           - extension of the filename (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
         description.

         Using  %x  means  expand  corresponding macro escaping all characters
         that have special meaning.  And %"x means using of double quotes  and
         escape only backslash and double quote characters, which is more use‐
         ful 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 will be 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
         would  set the :move command to move all of the files selected in the
         current directory to the other directory.

       The %a macro will substitute any arguments given in a command into  the
       command.  All arguments are considered optional.  ":com lsl !!ls -l %a"
       will set the lsl command to execute ls -l with or without an argument.

       :lsl<Return>
         will list the directory contents of the current directory.

       :lsl filename<Return>
         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 will cause it to be executed in the
       background.
         :!mv %f %D &

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 will be created.   Currently
       job cannot be stopped or paused.

       You  can  see  if  command  is  still running in the :jobs menu.  Back‐
       grounded commands have progress instead  of  process  id  at  the  line
       beginning.

       Background operations cannot be undone.

:set options
       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 . menu is treated like :cd  command.   This  option
              affects bookmarks, file position will not preserved.

       confirm cf
              type: boolean
              default: true
              Ask  about permanent deletion of files (on D or :delete! command
              or on undo/redo operation).

       cpoptions cpo
              type: string
              default: "s"
              Contains  a  sequence  of  single-character  flags.   Each  flag
              enables  behaviour  of  older versions of vifm.  Flags: s - when
              included, yy and dd act on the selection, otherwise they operate
              on
                  current file only.

       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>).

       followlinks
              type: boolean
              default: true
              Follow links on l or Enter.

       fusehome
              type: string
              default: "/tmp/vifm_FUSE/"
              Directory  to  be  used  as  a root dir for FUSE mounts.  If you
              change this option, vifm won't  remount  anything.   It  affects
              future mounts only.

       gdefault gd
              type: boolean
              default: false
              When on, 'g' flag is on for :substitute by default.

       history hi
              type: integer
              default: 15
              Maximum  number  of directories in the view history and lines in
              the prompt, command line and search histories.

       hlsearch hls
              type: bool
              default: true
              Highlight all matches of search pattern.

       iec    type: boolean
              default: false
              Use KiB, MiB, ... instead of KB, MB, ...

       ignorecase ic
              type: boolean
              default: false
              Ignore case in search patterns (:substiute, /  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 will be performed starting  from
              initial cursor position each time search pattern is changed.

       laststatus ls
              type: boolean
              default: true
              Controls if status bar is visible.

       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: int
              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 "sh" or "cmd" (on MS-Windows)
              Full path to the shell to use to run external commands.

       slowfs type: string list
              default: ""
              only for *nix
              A  list of mounter fs name beginnings (first column in /etc/mtab
              or /proc/mounts) 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 and do not check
              if target of symbolic links exists.

       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
              Sets list of sorting keys (first item is primary key, second  is
              secondary key, etc.):
                 [+-]ext   - sort by extension
                 [+-]name  - sort by name (including extension)
                 [+-]iname - sort by name (including extension, ignores case)
                 [+-]gid   - sort by group id
                 [+-]gname - sort by group name
                 [+-]mode  - sort by mode
                 [+-]uid   - sort by owner id
                 [+-]uname - sort by owner name
                 [+-]size  - sort by size
                 [+-]atime - sort by time accessed
                 [+-]ctime - sort by time changed
                 [+-]mtime - sort by time modified

       ´+' means ascending sort for this key, and '-' means descending sort.

       In case name (iname on Windoes) is skipped, it will be added at the end
       automatically.

       sortnumbers
              type: boolean
              default: false
              Natural sort of (version) numbers within text.

       sortorder
              type: enumeration
              default: ascending
              Sets sort order for primary key: ascending, descending.

       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 date or man  strftime  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.

       trash  type: boolean
              default: true
              Use trash directory.

       undolevels ul
              type: integer
              default: 100
              Maximum number of changes that can be undone.

       vicmd  type: string
              default: "vim"
              The actual command used to start vi.  Ampersand sign at the  end
              (regardless  whether  it's preceded by space or not) means back‐
              grounding of command.

       vixcmd type: string
              default: value of vicmd
              The command used to start vi when in X.  Ampersand sign  at  the
              end  (regardless  whether  it's  preceded by space or not) means
              backgrounding of command.

       vifminfo
              type: set
              default: bookmarks

       Controls what will be saved in the CONFDIR/vifminfo file.
          options   - all options that can be set with the :set command
          filetypes - associated programs and viewers
          commands  - user defined commands (see :command description)
          bookmarks - bookmarks, except special ones like '< and '>
          tui       - state of the user interface (sorting, number of windows,
       quick
                      view state, active view)
          dhistory  - directory history
          state     - filters and screen program using state
          cs        - default color scheme
          savedirs  - save last visited directory (needs dhistory)
          chistory  - command line history
          shistory  - search history (/ and ? commands)
          dirstack  - directory stack
          registers - registers content
          phistory  - prompt history

       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.

       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
       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

       <bs>   Backspace key

       <tab> <s-tab>
              Tabulation and Shift+Tabulation keys

       <space> <home> <end> <left> <right> <up> <down> <pageup> <pagedown>
              Keys with obvious names.

       <del> <delete>
              Delete  key.   <del>  and  <delete>  mean  different  codes, but
              <delete> is more common.

       <c-a>,<c-b>,...,<c-z>,<c-[>,<c->,<c-]>,<c-^>,<c-_>
              Control + some key.

       <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.

       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.

Compatibility mode
       Compatibility mode:
           - <tab> to switch between panes.

       Vim like mode:
           - <c-i> (<tab>) to go forward on history.

Menus and dialogs
       General

       j,  k  -  move.  <Escape>, Ctrl-C, ZZ, ZQ - quit.  <Return>, l - select
       and exit the menu.  Ctrl-L - redraw the menu.

       In all menus

       Ctrl-B/Ctrl-F Ctrl-D/Ctrl-U Ctrl-E/Ctrl-Y / and ?,  n/N  [num]G/[num]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.

       All these keys have the same meaning as in normal mode (but  not  L  in
       filetype menu).

       : - enter command line mode for menus (currently only :exi[t], :q[uit],
       :x[it] and :range are supported).

       Apropos menu

       l key wont close the menu allowing user to pick another man  page,  use
       :q to close the menu.

       Commands menu

       dd on a command to remove.

       Bookmarks menu

       Escape or Ctrl-C to abort j and k to move through.  dd on a bookmark to
       remove.

       Directory stack menu

       Pressing l or Enter on  directory  name  will  rotate  stack  to  place
       selected directory pair at the top of the stack.

       Filetype menu

       Commands  from vifmrc are displayed above empty line. When all commands
       below empty line were found in .desktop files.

       J and K - to move menu items L - save all commands above empty line  as
       program list

       Fileinfo dialog

       Enter - close dialog q - close dialog

       Sort dialog

       h  - switch ascending/descending.  Space - switch ascending/descending.
       q - close dialog

       Permissions dialog

       h - check/uncheck.  Space - check/uncheck.  q - close dialog

       Item states:

       - * - checked flag.

       - X - means that it has different value for files in selection.

       - d - (only for execute flags) means u-x+X, g-x+X or o-x+X argument for
         the  chmod  program.   If  you  want to remove execute right from all
         files, but preserve it for directories, set all execute flags to  'd'
         and check ´Set Recursively' flag.

Configure
       The  default  place of all vifm's configuration is at ~/.vifm.  On Win‐
       dows vifm firstly checks directory where vifm.exe for vifmrc file, then
       ~/.vifm  (using  HOME environment variable) and if previous checks fail
       uses %APPDATA%/Vifm directory.  Vifm configuration  directory  is  men‐
       tioned as CONFDIR.

       The CONFDIR/vifmrc file contains commands that will be executed on vifm
       startup.  Use it to set settings, mappings or filetypes.  To use  multi
       line  commands  precede  each next line with a slash (whitespace before
       slash is ignored, but all spaces at the end of the  lines  are  saved).
       For example: set
           \smartcase equals "setsmartcase".  When set<space here>
            smartcase<space here> equals "set  smartcase ".

       The  CONFDIR/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.  Bookmarks, commands, directory
       history, filetypes, fileviewers and registers in the  file  are  merged
       with vifm configuration (which has bigger priority).

       The CONFDIR/scripts directory can contain shell scripts.  vifm modifies
       it's PATH environment variable to let user run  those  scripts  without
       specifying full path.

       The CONFDIR/colors directory contains color schemes.

Plugin
       Plugin for using vifm in vim as a file selector.

       Commands:

         :EditVifm   select a file or files to open in the current buffer.
         :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.

       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
       default it's equal to ´xterm -e'.  And  anoter  string  variable  named
       g:vifm_exec,  which  equals  'vifm'  by  default  and specifies path to
       vifm's executable.

       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]

SEE ALSO
       Website: http://vifm.sourceforge.net/

AUTHOR
       Vifm was written by ksteen <ksteen@users.sourceforge.net>
       And currently being developed by xaizek <xaizek@gmail.com>



                               November 15, 2011                       vifm(1)
