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.

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

       --logging
              Log some errors to ~/.vifm/log.

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

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

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

       j      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 L
              switch to the right pane.

       Ctrl-W O
              shortcut for :only

       Ctrl-W S
              shortcut for :split

       Ctrl-W V
              shortcut for :split

       Ctrl-W W
              switch to other pane.

       Ctrl-W X
              exchange panes.

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.

       n      find the next match of / or ?.

       N      find the previous match of / or ?.

       f[character]
              search forward for file with [character] as first  character  in
              name.  Search wraps around the end of the list.

       F[character]
              search  backward for file with [character] as first character in
              name.  Search wraps around the end of the list.

       ;      find the next match of f or F.

       ,      find the previous match of f or F.

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
       :      enter command line mode.

       Ctrl-O go backward through history.

       Ctrl-I go forward through history.

       Ctrl-G creates  a window showing detailed information about the current
              file.

       ga     calculate directory size.

       gA     like ga, but force update.

       gv     go to visual mode restoring last selection.

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

       cw     rename a file.

       cW     change only name of file (without extension).

       co     change file owner.

       cg     change file group.

       cp     change file permissions.

       C      clone file.

       [count]dd or d[count]selector if compatibility mode is off

       [count]dd if compatibility mode is on
              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 if compatibility mode is off

       [count]yy if compatibility mode is on
              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.

       t      tag the current file.

       u      undo last change.

       Ctrl-R redo last change.

       v      enter visual mode.

       V      enter visual mode.

       ZQ     same as :quit

       ZZ     same as :wq

       .      repeat last command line command (not normal mode command).

Using Count with y, d and D
       You can use count with commands like yy.

       [count]yy
              yank  (count  +  1)  files starting from current cursor position
              downward.

       Or you can use count with motions passed to y, d or D.

       d[count]j
              delete (count + 1) files starting from current  cursor  position
              upward.

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.

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

       :[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 (not implemented yet).

       :3d    would delete one file at the third line in the list.

       :command [args]

       :!     program will execute the program in a shell
              :!command & will run the process in  the  background.   Programs
              that  write to stdout like ls will create an error message show‐
              ing partial output of the command.

       :!! <program>
              is the same as :! but will pause the screen before returning  to
              Vifm.

       :!!    will execute the last command.

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

       :cd    change to your home directory.

       :cd ~/dir
              change directory to ~/dir.

       :change
              create a menu window to alter a files properties.

       :cmdhistory
              show command line history menu.  Note: will be removed.

       :colo[rscheme]
              gives  a  menu  with a list of available color schemes.  You can
              choose default color scheme here.  It will be used if no  DIREC‐
              TORY in colorscheme file fits current path.

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

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

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

       :com[mand] backup /pattern
              will set search pattern.

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

       :[range]d[elete]
              delete selected file or files.

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

       :di[splay]
              popup menu with registers content.

       :dirs  display directory stack.

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

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

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

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

       :h[elp]
              show the help file.

       :h[elp] argument
              is the same as using ':h argument' in vim.

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

       :invert
              invert file name filter.

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

       :marks create a popup menu of bookmarks.

       :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 directory
              add pane directories to stack.  And change to directory.

       :pwd   show the present working directory.

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

       :rename
              rename files using vi to edit names.

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

       :se[t] opt1=val1 opt2=val2 ...
              will set options to given values.
              You can  use  following  syntax:  option,  nooption,  invoption,
              option!, option?, option=x, option+=x, option-=x.  :sh[ell] will
              start a shell.

       :reg[isters]
              popup menu with registers content.

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

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

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

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

       :view  toggle on and off the quick file view.

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

       :wq    exit vifm after writing config.

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

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     The current file under the cursor.

       %C     The current file under the cursor in the other directory.

       %f     All of the selected files.

       %F     All of the selected files in the other directory list.

       %b     Same as %f %F.

       %d     Full path to current directory.

       %D     Full path to other file list directory.

       %m     Show command output in a menu.

       %s     Execute command in screen split.

       Position and quantity (if there is any) of %m and %s macros in the com‐
       mand 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 &

:set options
       confirm
              type: boolean
              default: true

       Ask about permanent deletion of files (on D  command  or  on  undo/redo
       operation).
              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.

       history
              type: integer
              default: 15
              Maximum number of directories in the view history.

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

       runexec
              type: boolean
              default: false
              Run executable file on Enter or l.

       savelocation
              type: boolean
              default: false
              Start vifm in the last visited directory.

       sort   type: enumeration
              default: name
              Sets one of these sort types:
                 ext   - sort by extension
                 name  - sort by name
                 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

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

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

       trash  type: boolean
              default: true
              Use trash directory.

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

       vicmd  type: string
              default: "vim"
              The actual command used to start vi.

       vimhelp
              type: boolean
              default: false
              Use vim help format.

       wrap   type: boolean
              default: true
              Controls whether to wrap text in quick view.

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

       <space>
              Space key

       <f0> - <f63>
              Functional keys

       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.
           - dd deletes selected (or current if none) files.
           - yy yanks selected (or current if none) files.

       Vim like mode:
           - <c-i> (<tab>) to go forward on history.
           -  dd  deletes file under the cursor and ds works as dd in compati‐
       bility mode.
           - yy yanks file under the cursor and ys works as dd in  compatibil‐
       ity mode.

Menus and dialogs
       General

       j,  k - move.  <Escape>, Ctrl-c - clear.  <Return>, l - select and exit
       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

       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 :q[uit],  :x  and
       :num are supported).

       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.

       Filetype menu

       Commands from vifmrc are displayed above empty line. When all  commands
       below  empty  line  were found in .desktop files.  Note: you can't save
       programs for files without extension.

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

       Sort dialog

       h - switch ascending/descending.  Space - switch ascending/descending.

       Permissions dialog

       h - check/uncheck.  Space - check/uncheck.


Configure
       The  ~/.vifm/vifmrc file contains all the configurable settings.  It is
       commented and you may edit it by hand to change the settings.

       The ~/.vifm/vifminfo file contains session settings.  It  is  commented
       and you may edit it by hand to change the settings.

       The  ~/.vifm/startup  file  contains  commands that will be executed on
       vifm startup. You can set your mappings there.

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

       Commands:

         :EditVifm  select a file to open in the current buffer.
         :SplitVifm split buffer and select a file to open.
         :VsplitVifm vertically split buffer and select a file to open.
         :DiffVifm select a file to compare to the  current  file  with  :vert
       diffsplit.

       The plugin does not have any settings.

       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.

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>



                                 Jule 20, 2011                         vifm(1)
