aboutsummaryrefslogtreecommitdiffstats
path: root/.vifm/vifm-help.txt
diff options
context:
space:
mode:
Diffstat (limited to '.vifm/vifm-help.txt')
-rw-r--r--.vifm/vifm-help.txt3099
1 files changed, 0 insertions, 3099 deletions
diff --git a/.vifm/vifm-help.txt b/.vifm/vifm-help.txt
deleted file mode 100644
index 61b50aa..0000000
--- a/.vifm/vifm-help.txt
+++ /dev/null
@@ -1,3099 +0,0 @@
-vifm(1) Vifm vifm(1)
-
-
-
-NAME
- vifm - vi file manager
-
-SYNOPSIS
- vifm [OPTION]...
- vifm [OPTION]... LWIN_DIR
- vifm [OPTION]... LWIN_DIR RWIN_DIR
-
-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.
-
- 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. If you want to select file, prepend its path with
- --select.
-
- -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. Also /var/log/vifm-startup-log
- (on *nix) and startup-log in the directory of executable (on
- Windows) is used to log startup process (when configuration
- directory isn't determined).
-
- --remote
- Sends the rest of command line to the active vifm server (one of
- already running instances if any). 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 command in already running instance of vifm.
- 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).
-
- --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 Startup section below for the explanations on $VIFM.
-
-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, gk, or Ctrl-P
- moves cursor up one line.
-
- j, gj or Ctrl-N
- moves cursor down one line.
-
- h when 'lsview' is off moves up one directory, otherwise moves
- left one file.
-
- l when 'lsview' is off moves into a directory or launches a file,
- otherwise moves left one file.
-
- gg move to the top of the file list.
-
- gh moves up one directory.
-
- gl or Enter
- moves into a directory or launches a file.
-
- 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%).
-
- 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 Bar
- 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
- 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 b
- switch to bottom-right window.
-
- 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 p
- switch to previous window.
-
- Ctrl-W s
- shortcut for :split
-
- Ctrl-W t
- switch to top-left window.
-
- Ctrl-W v
- shortcut for :vsplit
-
- Ctrl-W w
- switch to other pane.
-
- Ctrl-W x
- exchange panes.
-
- [count1]Ctrl-W[count2]+
- increase size of the view by count1*count2.
-
- [count1]Ctrl-W[count2]-
- decrease size of the view by count1*count2..
-
- [count1]Ctrl-W[count2]<
- increase size of the view by count1*count2..
-
- [count1]Ctrl-W[count2]>
- decrease size of the view by count1*count2..
-
- 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 ?.
-
- 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.
-
- [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 (excluding "." and ".." special directories, which
- appearance is controlled by the 'dotdirs' option)
-
- - manual filter for file names
-
- - automatic filter for file names
-
- - local filter for file names (see description of the "=" normal mode
- command)
-
- Performing operations on manual filter for file names automatically
- does the same on automatic one. The file name filter is separated
- mainly for convenience purpose and to get more deterministic behaviour.
-
- The basic vim folding key bindings are used for filtering files.
-
- 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. For this a slash is
- appended to a directory name before testing whether it matches the fil‐
- ter. 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\/?$/
-
- 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 files filtered out by filename filter.
-
- zM Filter the files matching the filename filter.
-
- zR Remove all filters.
-
- =regular expression pattern[Return]
- filter out files that don't match regular expression. This kind
- of filter is automatically reset when directory is changed.
-
-Other Normal Mode Keys
- [count]:
- enter command line mode. Count will add 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 will mod‐
- ify range.
-
- Ctrl-O go backward through history.
-
- 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 the current view.
-
- 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).
-
- gr 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.
-
- [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 opens file with associated program even if it's an executable.
-
- cw rename a file or files.
-
- 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 change file attributes (permission on *nix and properties on
- Windows).
-
- [count]C
- clone file [count] times.
-
- [count]dd or d[count]selector
- moves the selected files to trash directory (if 'trash' option
- is set, otherwise delete). See "Trash directory" section below.
-
- [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 trash directory. See
- "Trash directory" section below.
-
- 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 select or unselect (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) 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.
-
- ( 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 (see "Trash directory" section below).
-
- 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, 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
- 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 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
- 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
- repaint screen.
-
- R reload view preserving scroll position.
-
- [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 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 left pane.
-
- Ctrl-W j
- switch to pane below.
-
- Ctrl-W k
- switch to pane above.
-
- Ctrl-W l
- switch to 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 +
- 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.
-
-
- In general, all "Ctrl-W x" keys above work the same was as in Normal
- mode. Active mode is automatically changed on navigating among win‐
- dows. 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 showed
- 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
- 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. 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-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-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.
-
-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 c_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.
-
-Commands
- Commands are executed with :command_name<Return>
-
- Commented out lines should start with the double quote symbol, which
- may be preceded by whitespace characters.
-
- ´|' 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
- escaped:
-
- :[range]!
- :cmap
- :cnoremap
- :command
- :filetype
- :fileviewer
- :filextype
- :map
- :mmap
- :mnoremap
- :nmap
- :nnoremap
- :noremap
- :normal
- :qmap
- :qnoremap
- :vmap
- :vnoremap
- :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
- 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. By default the command relies on the external "apropos"
- utility, which can be customized by altering value of the 'apro‐
- posprg' option.
-
- :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
- shows file attributes (permission on *nix and properties on Win‐
- dows) 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. 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.
-
- :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. The directory argu‐
- ment can be both 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).
-
- :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] name /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).
- Will pass range given to alias to an aliased command, so running
- :%cp after
- :command cp :copy %a
- equals
- :%copy
-
- :[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.
-
- :ec[ho] [<expr>...]
- evaluates each argument as an expression and outputs them sepa‐
- rated by a space. See help on :let command for a definition of
- <expr>.
-
- :[range]e[dit] [file...]
- will load the selected or passed file or files into vi. Accepts
- macros.
-
- :el[se]
- executes commands until next matching :endif if they previously
- were not being executed. See also help on :if and :endif com‐
- mands.
-
- :empty will permanently remove 'rm -fr' files from trash directory. It
- will also remove all operations from undolist that have no sense
- after :empty and remove all records about files in trash direc‐
- tory from all registers. See "Trash directory" section below.
-
- :en[dif]
- ends conditional block. See also help on :if and :else com‐
- mands.
-
- :exe[cute] [<expr>...]
- evaluates each argument as an expression and joins 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>.
-
- :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,... [{descr}]def_prog[ &],[{descr}]prog2[ &],...
- will associate given program list to each of the patterns.
- Associated 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 amper‐
- sand 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
- association when the default isn't found. When program entry
- doesn't contain any of vifm macros, name of current file is
- appended as if program entry ended with %c macro. On Windows
- path to executables containing spaces can (and should be for
- correct work with such paths) be double quoted. See "Globs"
- 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,
-
- :filex[type] pat1,pat2,... [{ description }] 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. See "Globs" section below for pattern
- definition. See also "Automatic FUSE mounts" section below.
-
- :filev[iewer] pat1,pat2,... command
- will associate given command as a viewer to each of the patterns. Viewer is a
- command which output is captured and showed in the second pane of vifm after
- 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. See
- "Globs" section below for pattern definition. Example for zip archives:
-
- fileviewer *.zip,*.jar,*.war,*.ear zip -sf %c
-
- :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 the bar ('|') symbol without
- escaping. Empty regular expression (specified by //, "" or '') means using of
- the last search pattern. Use '!' to control state of filter inversion after
- updating filter value (also see 'cpoptions' description). Filter is matched
- case sensitively on *nix and case insensitively on Windows.
- :filter /.o$ would filter all files ending in .o from the filelist.
- Note: vifm uses extended regular expressions.
-
- :filter
- reset filter (set it to empty string) and show all files.
-
- :filter!
- same as :invert.
-
- :filter?
- show current value of name and auto filters.
-
- :[range]fin[d] pattern
- will show results of find command in the menu. Searches among selected 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. Ignores selection and
- range.
-
- :[range]fin[d]
- repeats last :find command.
-
- :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.
-
- :[range]gr[ep][!] pattern
- will show results of grep command in the menu. Add "!" to request inversion of
- search (look for lines that do not match pattern). 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
- altering value of the 'grepprg' option.
-
- :[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). This form of the command doesn't work when
- ´vimhelp' option is off.
-
- :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 groups 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
-
- Light versions of colors are regular colors with bold attribute set. So order
- of arguments of :highlight command is important and it's better to put "cterm"
- in front of others to prevent it from overwriting attributes set by "ctermfg" or
- "ctermbg" arguments.
-
- Since there are two colors and only one bold attribute it affects both colors
- when "reverse" attribute is used when running vifm in terminal emulator. While
- linux native console can handle boldness of foreground and background colors
- independently, which is for consistency with terminal emulators accessible from
- vifm only implicitly by using light versions of colors.
-
- Here is the hierarchy of highlight groups, 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.
- 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).
-
- :if {expr1}
- starts conditional block. Commands are executed until next matching :else of
- :endif command if {expr1} evaluates to non-zero, otherwise they are ignored.
- See also help on :else and :endif commands.
-
- :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 shows menu of current backgrounded processes.
-
- :let $ENV_VAR = <expr>
- sets environment variable. Warning: setting environment variable to an empty
- string on Windows removes it.
-
- :let $ENV_VAR .= <expr>
- append value to environment variable.
-
- 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 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. By default the command relies on the external
- "locate" utility (it's assumed that its database is already built), which can be
- customized by altering value of the 'locateprg' option.
-
- :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 of 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. Macros are expanded.
-
- :[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 overwrite.
-
- :noh[lsearch]
- clear selection in current pane.
-
- :norm[al][!] commands
- executes normal mode commands. If "!" is used, mappings will not be used. If
- the last command is unfinished it will be 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) before it.
-
- :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 lists windows of active terminal multiplexer (only when terminal multiplexer is
- used). This is achieved by issuing proper command for active terminal
- multiplexer, thus the list is not handled by vifm.
-
- :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. ! means go recursively through directories.
-
- :[range]rename name1 name2...
- rename each of selected files to a corresponding name.
-
- :restart
- will 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 history or keys mapped in current session).
-
- :[range]restore
- will restore file from trash directory, doesn't work in any other directory.
- See "Trash directory" section below.
-
- :[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 argument list. "!" forces overwrite.
-
- :screen
- toggles 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. Starting 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
- (version or newer 1.8 is recommented).
-
- :screen?
- shows whether integration with terminal multiplexers is enabled.
-
- 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.
-
- :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
- - for charset options - option=x, option+=x and option-=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 x to option
- - option-=x - remove (or subtract) x from option
-
- Option name can be prepended and appended by any number of whitespace
- characters.
-
- :sh[ell]
- will start a shell.
-
- :sor[t]
- creates a popup menu of different sorting methods, when one can select primary
- sorting key. When 'viewcolumns' options is empty and 'lsview' is off, changing
- primary sorting key will also affect view look (in particular the second column
- of the view will be changed).
-
- :so[urce] file
- reads command-line commands from the file.
-
- :sp[lit]
- switch to a two window horizontal view.
-
- :sp[lit]!
- toggles window horizontal splitting.
-
- :sp[lit] path
- splits the window horizontally to show both file directories. And changes other
- pane to path (absolute or relative to current directory of active pane).
-
- :[range]s[ubstitite]/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.).
-
- 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 [relative path]
- change the other panel to the current panel directory or to some path relative
- to the current directory. Using macros is allowed.
-
- :sync!
- change the other panel to the current panel directory and synchronize cursor
- position.
-
- :touch file...
- will create files. Aborts on errors and won't update time of existing files.
- Macros are expanded.
-
- :[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.
-
- :unl[et][!] $ENV_VAR1 $ENV_VAR2 ...
- remove environment variables. Add ! to omit displaying of warnings about
- nonexistent variables.
-
- :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.
-
- :vs[plit]
- switch to a two window vertical view.
-
- :vs[plit]!
- toggles window vertical splitting.
-
- :vs[plit] path
- splits the window vertically to show both file directories. And changes other
- pane to path (absolute or relative to current directory of active pane).
-
- :windo [command...]
- Execute command for each pane (same as :winrun % command).
-
- :winrun type [command...]
- Execute command for pane(s), which is determined by type argument:
- - ^ - top-left pane
- - $ - bottom-right pane
- - % - all panes
- - . - current pane
- - , - other 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 commands.
-
- :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.
-
- :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.
-
-
- :cm[ap]
- lists all maps in command line mode.
-
- :mm[ap]
- lists all maps in menu mode.
-
- :nm[ap]
- lists all maps in normal mode.
-
- :qm[ap]
- lists all maps in view mode.
-
- :vm[ap]
- lists all maps in visual mode.
-
-
- :cm[ap] beginning
- lists all maps in command line mode that start with the beginning.
-
- :mm[ap] beginning
- lists all maps in menu mode that start with the beginning.
-
- :nm[ap] beginning
- lists all maps in normal mode that start with the beginning.
-
- :qm[ap] beginning
- lists all maps in view mode that start with the beginning.
-
- :vm[ap] beginning
- lists all maps in visual mode that start with the beginning.
-
-
- :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.
-
- :mn[oremap] lhs rhs
- map the key sequence lhs to {rhs} for menu 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.
-
- :qn[oremap] lhs rhs
- map the key sequence lhs to {rhs} for view 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.
-
- :mu[nmap] lhs
- remove the mapping of lhs from menu mode.
-
- :nun[map] lhs
- remove the mapping of lhs from normal mode.
-
- :qun[map] lhs
- remove the mapping of lhs from view mode.
-
- :vu[nmap] lhs
- remove the 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.
-
- %S Show command output in the status bar.
-
- %s Execute command in split window of active terminal multiplexer
- (ignored if not running inside one).
-
- %i Completely ignore command output.
-
- Use %% if you need to put a percent sign in your command.
-
- Note that %m, %M, %s, %S and %i macros are mutually exclusive. Only the
- last one of them in the command will take effect.
-
- You can use filename 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 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.Typically you want to run two kinds of external commands in
- thebackground:
- - 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
- oroutput something because they will mess up vifm's TUI. Anyway, if you
- did runsuch a command, you can use Ctrl-L key to update vifm's TUI.
-
- Rewriting the example command with macros given above with background‐
- ing:
-
- :!mv %f %D &
-
- Note that %m, %M, %s, %S and %i macros have bigger priority than &. So
- command containing at least one of them can't be backgrounded and " &"
- at the end will be just silently ignored.
-
-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.
-
-Globs
- :filetype, :filextype and :fileviewer commands support globs to match
- file names. Here is a short overview of globs and some important
- points that one needs to know about them.
-
- Only names of files are matched by the globs, not full paths. E.g.
- :filetype Makefile make %c
- will match files with name "Makefile" regardless whether it's in root
- or home directory.
-
- *, ?, [ 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.
-
- ? means any character at this position. E.g.
- :fileviewer ?.out file %c
- calls file tool for all files which has 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 negotiation
- 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 single
- 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.
-
- 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 . menu is treated like :cd command. This option
- affects bookmarks, file position will not preserved.
-
- columns co
- type: int
- default: terminal width on startup
- Terminal width in characters.
-
- classify
- type: string list
- default: ":dir:/"
- Specifies file name prefixes and suffixes depending on file
- types. The format is: [{prefix}]:{filetype}:[{suffix}]. Either
- {prefix} or {suffix} or both of them can be omitted (which is
- the default for all unspecified file types), this means empty
- {prefix} and/or {suffix}. {prefix} and {suffix} should consist
- exactly of one character. 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 should not be used. List of file type
- names can be found in the description of filetype() function.
-
- 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: charset
- default: "fst"
- Contains a sequence of single-character flags. Each flag
- enables behaviour of older versions of vifm. Flags:
- f - when included, running :filter command results in not
- inverted (matching files are filtered out) and :filter! in
- inverted (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
- switch active pane, otherwise <tab> and <c-i> go forward in the
- view history.
-
- 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 will always contain "../" entry
- regardless of value of this option. "../" will disappear at the
- moment at least one file is created inside the directory.
-
- 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>).
-
- 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 expanding of macros, spe‐
- cific for a particular *prg option, and %% sequence for insert‐
- ing percent sign literally. This option should include the %s
- macro to specify placement of list of paths to search in and the
- %a macro to specify placement of arguments passed to the :find
- command. If some of the macros are not used, they will be
- implicitly added after a space to the value of the option in the
- following order: %s, %a.
-
- %s and %a macro can slightly change their meaning depending on
- :find command arguments. When the first argument points to an
- existing directory, %s is assigned all arguments and %a is left
- empty. Otherwise, %s is assigned a dot (".") meaning current
- directory or list of selected filenames if any. %a is assigned
- arguments when first argument starts with a dash ("-"), other‐
- wise an escaped version of arguments, prepended by "-name" (on
- *nix) or "-iname" (on Windows) predicate.
-
- followlinks
- type: boolean
- default: true
- Follow links on l or Enter.
-
- fusehome
- type: string
- default: "($TMPDIR | $TEMP | $TEMPDIR | $TMP)/vifm_FUSE/"
- Directory to be used as a root dir for FUSE mounts. Value of
- the option can contain environment variables (in form
- "$envname"), which will be expanded (prepend it with a slash to
- prevent expansion). The value should expand to an absolute
- path.
-
- If you change this option, vifm won't remount anything. It
- affects 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
- results is requested, the %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.
-
- 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
-
-
- 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 (: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 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.
-
- lines type: int
- 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.
-
- lsview type: boolean
- default: false
- type: local
- When this option is set, directory view will be displayed in
- multiple columns with filenames similar to output of `ls -x`
- command. See ls-like view section below for format description.
-
- rulerformat ruf
- type: string
- default: "%=%l-%S "
- Determines the content of the ruler. Its width is 13 characters
- and it's right aligned. Following macros are supported:
- %l - file number
- %L - total number of files in view (including filtered)
- %- - number of filtered files
- %S - number of showed files
- %= - separation point between left and right align items
- %% - percent sign
-
- 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 [%L] "
-
- 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.
-
- shortmess shm
- type: charset
- default: ""
- Contains a sequence of single-character flags. Each flag
- enables shortening of some message displayed by vifm in the TUI.
- Flags:
- T - truncate status-bar messages in the middle if they are too
- long to fit on the command line. "..." will appear in the mid‐
- dle.
-
- 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 on *nix and +iname on Windows
- type: local
- 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 (*nix only)
- [+-]gname - sort by group name (*nix only)
- [+-]mode - sort by mode (*nix only)
- [+-]perms - sort by permissions string (*nix only)
- [+-]uid - sort by owner id (*nix only)
- [+-]uname - sort by owner name (*nix only)
- [+-]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.
-
- This option also changes view columns according to primary sorting key
- set, unless 'viewcolumns' option is not empty.
-
- sortnumbers
- type: boolean
- default: false
- type: local
- Natural sort of (version) numbers within text.
-
- 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)
-
- - %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)
-
- - 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. Example:
-
- set statusline=" %t%= %A %10u:%-7g %15s %20d "
-
- On Windows file properties include next 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
-
- 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 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.
-
- trash type: boolean
- default: true
- Use trash directory. See "Trash directory" section
- below.
-
- trashdir
- type: string
- default: "$HOME/.vifm/Trash"
- Sets path to trash directory. Value of the option can
- contain environment variables (in form "$envname"), which
- will be expanded (prepend it with a slash to prevent
- expansion). The value should expand to an absolute path.
-
- Will attempt to create the directory if it does not
- exist. See "Trash directory" section below.
-
- 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 backgrounding of command.
-
- viewcolumns
- type: string
- default: ""
- type: 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
- vifm-windo command):
- windo set viewcolumns=-{name}..,6{size},11{perms}
-
- 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 $VIFM/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 - file name and dot filters and terminal multiplex‐
- ers integration
- state
- cs - default color scheme
- savedirs - save last visited directory (needs dhistory)
- chistory - command line history
- shistory - search history (/ and ? commands)
- phistory - prompt history
- fhistory - filter history (see description of the "=" normal
- mode command)
- dirstack - directory stack overwrites previous stack, unless
- stack of
- current session is empty
- registers - registers content
-
- 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
-
- <esc> <space> <home> <end> <left> <right> <up> <down> <pageup> <page‐
- down>
- 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.
-
-Expression syntax
- Supported expressions is a subset of what VimL provides.
-
- Expression syntax summary, from least to most significant:
-
- vifm-expr1 expr2 == expr2 equal
- expr2 != expr2 not equal
-
- vifm-expr2 expr3 . expr3 .. string concatenation
-
- vifm-expr3 "string" string constant, \ is special
- 'string' string constant, ' is doubled
- $VAR environment variable
- function(expr1, ...) function call
-
- ".." indicates that the operations in this level can be concatenated.
-
- expr1
- -----
- expr2 {cmp} expr2
-
- Compare two expr2 expressions, resulting in a 0 if it evaluates to
- false or 1 if it evaluates to true.
-
- equal ==
- notequal !=
-
- Examples:
- 'a' == 'a' evaluates to 1
- 'a' == 'b' evaluates to 0
-
- expr2
- -----
- expr3 . expr3 .. string concatenation
-
- Examples:
- 'a' . 'b' = 'ab'
- 'aaa' . '' . 'c' = 'aaac'
-
- expr3
- -----
-
- 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'''
-
- 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.'
-
- function call
- -------------
- function(expr1, ...) function call
-
- See Functions section below.
-
- Examples:
- "'" . filetype('.') . "'"
- filetype('.') == 'reg'
-
-Functions
- USAGE RESULT DESCRIPTION
-
- expand({expr}) String Expand macros in {expr}.
- filetype({fnum}) String Returns file type from position.
-
- expand({expr})
- Expands 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')
-
- filetype({fnum})
- The result is a string, which represents file type and is one of the
- list:
- exe executables
- reg regular files
- link symbolic links
- dir directories
- char character devices
- block block devices
- fifo pipes
- sock *nix domain sockets
- ? unknown file type (should never appear)
- Parameter {fnum} can have following values:
- - '.' to get type of file under the cursor in the active pane
-
-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.
-
- Escape, Ctrl-C, ZZ, ZQ, q - quit.
-
- 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 won't 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 or typed in command-line are displayed above empty
- line. All commands below empty line are from .desktop files.
-
- Fileinfo dialog
-
- Enter - close dialog
- q - close dialog
-
- Sort dialog
-
- h - switch ascending/descending.
- Space - switch ascending/descending.
- q - close dialog
-
- Attributes (permissions or properties) 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 (*nix only) - (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.
-
-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
- order:
- - $HOME variable;
- - $USERPROFILE variable;
- - a combination of $HOMEDRIVE and $HOMEPATH variables.
-
- 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).
-
- 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 $MYVIFMRC.
-
- The vifmrc file contains commands that will be executed on vifm
- startup. See $MYVIFMRC variable description for search algorithm used
- to find vifmrc. Use it 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 example:
- 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. Bookmarks, commands, directory
- history, filetypes, fileviewers and registers in the file are merged
- with vifm configuration (which has bigger priority).
-
- The $VIFM/scripts directory can contain shell scripts. vifm modifies
- it's 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 directory contains color schemes.
-
-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 formated program line in filetype
- or filextype commands. Currently two formats are supported:
-
- 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 [%CLEAR]
-
- 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
- remote file systems over ftp or ssh.
-
- Format line:
- FUSE_MOUNT2|mounter %PARAM %DESTINATION_DIR [%CLEAR]
-
- Example filetype command:
- :filetype FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR
-
- Example file content:
- root@127.0.0.1:/
-
- 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
- - %CLEAR means that you want to clear screen before running mount
- command.
-
- %CLEAR is an optional macro. Other macros are not mandatory, but mount
- commands likely won't work without them.
-
- 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 'viewcolumns'
- option (see Column view section below for details);
-
- - in a multicolumn list manner which looks almost like `ls -x` command
- 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
- manipulating tasks. Thus, for example, dd will remove only current
- file.
-
-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 sign as the first symbol of the string.
-
- Specifies type of text alignment within a column. Two types are sup‐
- ported:
-
- - left align
- set viewcolumns=-{name}
-
- - right align (default)
- 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 tree 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, e.g.
- {name},{ext},{mtime}
- {name} and {iname} keys are the same and present both for consistency
- with ´sort' option.
-
- 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 fix in the column. Cur‐
- rently tree 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 default (or main) color scheme
-
- - as local to a panel color scheme
-
- Both types are set using |vifm-:colorscheme| command, but of different
- forms:
-
- - :colorscheme color_scheme_name - for the default 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, TopLineSel, TopLine, CmdLine, ErrorMsg, StatusLine and Wild‐
- Menu are always determined by the default color scheme
-
- - CurrLine, Selected, Directory, Link, BrokenLink, Socket, Device, Exe‐
- cutable, Fifo and Win are determined by default color scheme and a
- set of local colorschemes, 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
- inserted 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
- directory, 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 as well as
- remote changing of directories. This is possible using --remote com‐
- mand-line argument.
-
- 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
-
- At the moment there is no way of specifying, which instance of vifm
- should arguments be sent. The main purpose of --remote argument is to
- provide support of using vifm as a single-instance application.
-
-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. 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
- default 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]
-
-SEE ALSO
- Website: http://vifm.sourceforge.net/
-
- 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@openmailbox.org>
-
-
-
- Oct 19, 2013 vifm(1)