aboutsummaryrefslogtreecommitdiffstats
path: root/.vifm
diff options
context:
space:
mode:
Diffstat (limited to '.vifm')
-rw-r--r--.vifm/colors/Default52
-rw-r--r--.vifm/colors/alycolors60
-rw-r--r--.vifm/colors/dmilith-root21
-rw-r--r--.vifm/colors/dmilith-user21
-rw-r--r--.vifm/colors/istib-solarized-dark25
-rw-r--r--.vifm/colors/juef-zenburn21
-rw-r--r--.vifm/colors/reicheltd-light26
-rw-r--r--.vifm/vifm-help.txt3099
-rw-r--r--.vifm/vifmrc314
9 files changed, 3639 insertions, 0 deletions
diff --git a/.vifm/colors/Default b/.vifm/colors/Default
new file mode 100644
index 0000000..c3c72dd
--- /dev/null
+++ b/.vifm/colors/Default
@@ -0,0 +1,52 @@
+" You can edit this file by hand.
+" The " character at the beginning of a line comments out the line.
+" Blank lines are ignored.
+
+" The Default color scheme is used for any directory that does not have
+" a specified scheme and for parts of user interface like menus. A
+" color scheme set for a base directory will also
+" be used for the sub directories.
+
+" The standard ncurses colors are:
+" Default = -1 = None, can be used for transparency or default color
+" Black = 0
+" Red = 1
+" Green = 2
+" Yellow = 3
+" Blue = 4
+" Magenta = 5
+" Cyan = 6
+" White = 7
+
+" Available style values (some of them can be combined):
+" bold
+" underline
+" reverse or inverse
+" standout
+" none
+
+" Vifm supports 256 colors you can use color numbers 0-255
+" (requires properly set up terminal: set your TERM environment variable
+" (directly or using resources) to some color terminal name (e.g.
+" xterm-256color) from /usr/lib/terminfo/; you can check current number
+" of colors in your terminal with tput colors command)
+
+" highlight group cterm=style ctermfg=foreground_color ctermbg=background_color
+
+highlight Win cterm=none ctermfg=white ctermbg=black
+highlight Directory cterm=bold ctermfg=cyan ctermbg=default
+highlight Link cterm=bold ctermfg=yellow ctermbg=default
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
+highlight Socket cterm=bold ctermfg=magenta ctermbg=default
+highlight Device cterm=bold ctermfg=red ctermbg=default
+highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
+highlight Executable cterm=bold ctermfg=green ctermbg=default
+highlight Selected cterm=bold ctermfg=magenta ctermbg=default
+highlight CurrLine cterm=bold ctermfg=default ctermbg=blue
+highlight TopLine cterm=none ctermfg=black ctermbg=white
+highlight TopLineSel cterm=bold ctermfg=black ctermbg=default
+highlight StatusLine cterm=bold ctermfg=black ctermbg=white
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight CmdLine cterm=none ctermfg=white ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
+highlight Border cterm=none ctermfg=black ctermbg=white
diff --git a/.vifm/colors/alycolors b/.vifm/colors/alycolors
new file mode 100644
index 0000000..ddaacd6
--- /dev/null
+++ b/.vifm/colors/alycolors
@@ -0,0 +1,60 @@
+""
+"" vifm colorscheme
+"" based on 'Default' & 'istib-solarized-dark' & 'juef-zenburn'
+""
+"" Weitian LI <liweitianux@gmail.com>
+"" 2014/05/12
+""
+
+
+"" The standard ncurses colors are:
+" Default = -1 = None (can be used for transparency or default color)
+" Black = 0
+" Red = 1
+" Green = 2
+" Yellow = 3
+" Blue = 4
+" Magenta = 5
+" Cyan = 6
+" White = 7
+
+"" Available style values (some of them can be combined):
+" bold
+" underline
+" reverse/inverse
+" standout
+" none
+
+"" Vifm supports 256 colors you can use color numbers 0-255
+" (requires properly set up terminal: set your TERM environment variable
+" (directly or using resources) to some color terminal name (e.g.
+" xterm-256color) from /usr/lib/terminfo/; you can check current number
+" of colors in your terminal with tput colors command)
+
+"" Syntax:
+" highlight group cterm=style ctermfg=fg_color ctermbg=bg_color
+
+
+highlight Win cterm=none ctermfg=default ctermbg=none
+
+highlight TopLine cterm=none ctermfg=yellow ctermbg=none
+highlight TopLineSel cterm=bold ctermfg=magenta ctermbg=none
+highlight StatusLine cterm=bold ctermfg=yellow ctermbg=none
+highlight Border cterm=none ctermfg=default ctermbg=none
+
+highlight Selected cterm=bold ctermfg=magenta ctermbg=black
+highlight CurrLine cterm=bold ctermfg=yellow ctermbg=blue
+
+highlight WildMenu cterm=bold,reverse ctermfg=yellow ctermbg=black
+highlight CmdLine cterm=none ctermfg=white ctermbg=black
+highlight ErrorMsg cterm=bold ctermfg=magenta ctermbg=black
+
+highlight Directory cterm=bold ctermfg=blue ctermbg=default
+highlight Executable cterm=bold ctermfg=green ctermbg=default
+highlight Link cterm=bold ctermfg=cyan ctermbg=default
+highlight BrokenLink cterm=bold ctermfg=yellow ctermbg=red
+highlight Device cterm=bold ctermfg=yellow ctermbg=default
+highlight Socket cterm=bold ctermfg=magenta ctermbg=default
+highlight Fifo cterm=none ctermfg=red ctermbg=default
+
+" vim: set ts=8 sw=4 tw=78 fenc=utf-8 ft=vifm: "
diff --git a/.vifm/colors/dmilith-root b/.vifm/colors/dmilith-root
new file mode 100644
index 0000000..393d02a
--- /dev/null
+++ b/.vifm/colors/dmilith-root
@@ -0,0 +1,21 @@
+" vim: filetype=vifm :
+
+" Author: Daniel Dettlaff (a.k.a. dmilith)
+
+highlight Win cterm=none ctermfg=white ctermbg=black
+highlight Directory cterm=bold ctermfg=cyan ctermbg=black
+highlight Link cterm=bold ctermfg=yellow ctermbg=black
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=none
+highlight Socket cterm=bold ctermfg=magenta ctermbg=black
+highlight Device cterm=bold ctermfg=red ctermbg=black
+highlight Fifo cterm=bold ctermfg=cyan ctermbg=none
+highlight Executable cterm=bold ctermfg=green ctermbg=black
+highlight Selected cterm=bold ctermfg=magenta ctermbg=black
+highlight CurrLine cterm=bold ctermfg=white ctermbg=30
+highlight TopLine cterm=bold ctermfg=white ctermbg=red
+highlight TopLineSel cterm=bold ctermfg=yellow ctermbg=red
+highlight StatusLine cterm=bold ctermfg=white ctermbg=red
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight CmdLine cterm=none ctermfg=white ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
+highlight Border cterm=none ctermfg=black ctermbg=red
diff --git a/.vifm/colors/dmilith-user b/.vifm/colors/dmilith-user
new file mode 100644
index 0000000..06473fc
--- /dev/null
+++ b/.vifm/colors/dmilith-user
@@ -0,0 +1,21 @@
+" vim: filetype=vifm :
+
+" Author: Daniel Dettlaff (a.k.a. dmilith)
+
+highlight Win cterm=none ctermfg=white ctermbg=black
+highlight Directory cterm=bold ctermfg=cyan ctermbg=black
+highlight Link cterm=bold ctermfg=yellow ctermbg=black
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=none
+highlight Socket cterm=bold ctermfg=magenta ctermbg=black
+highlight Device cterm=bold ctermfg=red ctermbg=black
+highlight Fifo cterm=bold ctermfg=cyan ctermbg=none
+highlight Executable cterm=bold ctermfg=green ctermbg=black
+highlight Selected cterm=bold ctermfg=magenta ctermbg=black
+highlight CurrLine cterm=bold ctermfg=white ctermbg=30
+highlight TopLine cterm=bold ctermfg=white ctermbg=blue
+highlight TopLineSel cterm=bold ctermfg=yellow ctermbg=blue
+highlight StatusLine cterm=bold ctermfg=white ctermbg=blue
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight CmdLine cterm=none ctermfg=white ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
+highlight Border cterm=none ctermfg=black ctermbg=blue
diff --git a/.vifm/colors/istib-solarized-dark b/.vifm/colors/istib-solarized-dark
new file mode 100644
index 0000000..b81415f
--- /dev/null
+++ b/.vifm/colors/istib-solarized-dark
@@ -0,0 +1,25 @@
+" vim: filetype=vifm :
+
+" Author: Stéphane (a.k.a. istib)
+
+highlight Win cterm=none ctermfg=default ctermbg=none
+
+highlight TopLine cterm=none ctermfg=blue ctermbg=none
+highlight TopLineSel cterm=none ctermfg=blue ctermbg=none
+highlight StatusLine cterm=none ctermfg=blue ctermbg=none
+highlight Border cterm=none ctermfg=blue ctermbg=none
+
+highlight Selected cterm=bold ctermfg=magenta ctermbg=default
+highlight CurrLine cterm=bold ctermfg=default ctermbg=blue
+
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight CmdLine cterm=none ctermfg=white ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
+
+highlight Directory cterm=none ctermfg=cyan ctermbg=default
+highlight Link cterm=none ctermfg=yellow ctermbg=default
+highlight BrokenLink cterm=none ctermfg=red ctermbg=default
+highlight Socket cterm=none ctermfg=magenta ctermbg=default
+highlight Device cterm=none ctermfg=red ctermbg=default
+highlight Fifo cterm=none ctermfg=cyan ctermbg=default
+highlight Executable cterm=none ctermfg=green ctermbg=default
diff --git a/.vifm/colors/juef-zenburn b/.vifm/colors/juef-zenburn
new file mode 100644
index 0000000..d777c10
--- /dev/null
+++ b/.vifm/colors/juef-zenburn
@@ -0,0 +1,21 @@
+" vim: filetype=vifm :
+
+" Author: Svyatoslav Mishyn (a.k.a. juef)
+
+highlight Win cterm=none ctermfg=188 ctermbg=237
+highlight Directory cterm=none ctermfg=108 ctermbg=default
+highlight CmdLine cterm=none ctermfg=188 ctermbg=237
+highlight ErrorMsg cterm=bold ctermfg=115 ctermbg=default
+highlight TopLine cterm=none ctermfg=174 ctermbg=235
+highlight TopLineSel cterm=bold ctermfg=174 ctermbg=235
+highlight StatusLine cterm=bold ctermfg=144 ctermbg=235
+highlight Executable cterm=none ctermfg=172 ctermbg=default
+highlight Selected cterm=none ctermfg=116 ctermbg=238
+highlight Border cterm=none ctermfg=default ctermbg=235
+highlight CurrLine cterm=none ctermfg=223 ctermbg=235
+highlight WildMenu cterm=bold,reverse ctermfg=144 ctermbg=235
+highlight Link cterm=none ctermfg=142 ctermbg=default
+highlight BrokenLink cterm=none ctermfg=181 ctermbg=default
+highlight Device cterm=none ctermfg=174 ctermbg=default
+highlight Fifo cterm=none ctermfg=109 ctermbg=default
+highlight Socket cterm=none ctermfg=magenta ctermbg=default
diff --git a/.vifm/colors/reicheltd-light b/.vifm/colors/reicheltd-light
new file mode 100644
index 0000000..6d633ff
--- /dev/null
+++ b/.vifm/colors/reicheltd-light
@@ -0,0 +1,26 @@
+" vim: filetype=vifm :
+
+" Author: Daniel R. (a.k.a. reicheltd)
+
+highlight Win cterm=none ctermfg=236 ctermbg=255
+highlight Directory cterm=bold ctermfg=21 ctermbg=255
+highlight Link cterm=bold ctermfg=39 ctermbg=default
+
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
+highlight Socket cterm=bold ctermfg=magenta ctermbg=default
+highlight Device cterm=bold ctermfg=blue ctermbg=default
+
+highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
+highlight Executable cterm=bold ctermfg=red ctermbg=default
+highlight Selected cterm=bold ctermfg=200 ctermbg=default
+
+highlight CurrLine cterm=bold ctermfg=255 ctermbg=27
+highlight TopLine cterm=none ctermfg=236 ctermbg=255
+highlight TopLineSel cterm=bold ctermfg=236 ctermbg=255
+
+highlight StatusLine cterm=bold ctermfg=236 ctermbg=255
+highlight WildMenu cterm=underline,reverse ctermfg=236 ctermbg=255
+highlight CmdLine cterm=none ctermfg=236 ctermbg=255
+
+highlight ErrorMsg cterm=none ctermfg=red ctermbg=236
+highlight Border cterm=none ctermfg=236 ctermbg=255
diff --git a/.vifm/vifm-help.txt b/.vifm/vifm-help.txt
new file mode 100644
index 0000000..61b50aa
--- /dev/null
+++ b/.vifm/vifm-help.txt
@@ -0,0 +1,3099 @@
+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)
diff --git a/.vifm/vifmrc b/.vifm/vifmrc
new file mode 100644
index 0000000..3b4a1be
--- /dev/null
+++ b/.vifm/vifmrc
@@ -0,0 +1,314 @@
+""
+"" ~/.vifm/vifmrc
+""
+"" Weitian LI <liweitianux@gmail.com>
+"" 2014/05/12
+""
+
+""" general settings {{{
+" This is the actual command used to start vi. The default is vim.
+" If you would like to use another vi clone such Elvis or Vile
+" you will need to change this setting.
+set vicmd=vim
+" set vicmd=elvis\ -G\ termcap
+" set vicmd=vile
+
+" Trash Directory
+" The default is to move files that are deleted with dd or :d to
+" the trash directory. If you change this you will not be able to move
+" files by deleting them and then using p to put the file in the new location.
+" I recommend not changing this until you are familiar with vifm.
+" This probably shouldn't be an option.
+set trash
+
+" This is how many directories to store in the directory history.
+set history=100
+
+" Follow links on l or Enter.
+set followlinks
+
+" With this option turned on you can run partially entered commands with
+" unambiguous beginning using :! (e.g. :!Te instead of :!Terminal or :!Te<tab>).
+set fastrun
+
+" Natural sort of (version) numbers within text.
+set sortnumbers
+
+" Maximum number of changes that can be undone.
+set undolevels=100
+
+" If you installed the vifm.txt help file set vimhelp.
+" If would rather use a plain text help file set novimhelp.
+set novimhelp
+
+" If you would like to run an executable file when you
+" press return on the file name set this.
+set norunexec
+
+" Use KiB, MiB, ... instead of KB, MB, ...
+set iec
+
+" Selected color scheme
+"colorscheme Default
+colorscheme alycolors
+
+" The FUSE_HOME directory will be used as a root dir for all FUSE mounts.
+" Unless it exists with write/exec permissions set, vifm will attempt to
+" create it.
+set fusehome=/tmp/vifm_FUSE
+
+" Format for displaying time in file list. For example:
+" TIME_STAMP_FORMAT=%m/%d-%H:%M
+" See man date or man strftime for details.
+set timefmt=%m/%d\ %H:%M
+
+" Show list of matches on tab complition in command-line mode
+set wildmenu
+
+" Ignore case search unless it contains at least one uppercase letter
+set ignorecase
+set smartcase
+
+" Use increment searching (search while typing)
+set incsearch
+
+" Don't highlight search results automatically
+"set nohlsearch
+
+" Try to leave some space from cursor to upper/lower border in lists
+set scrolloff=4
+
+" Don't do to much requests to slow file systems
+set slowfs=curlftpfs
+
+" Set custom status line look
+set statusline=" %t%= %A %10u:%-7g %15s %20d "
+
+" What should be saved automatically between vifm runs
+" Like in previous versions of vifm
+" set vifminfo=options,filetypes,commands,bookmarks,dhistory,state,cs
+" Like in vi
+set vifminfo=dhistory,savedirs,chistory,state,tui,shistory,
+ \phistory,fhistory,dirstack,registers,bookmarks
+""" settings }}}
+
+""" marks {{{
+" :mark mark /full/directory/path [filename]
+mark h ~/
+mark b ~/bin/
+mark d ~/documents/
+mark m ~/music/
+mark o ~/office/
+mark p ~/pictures/
+mark u ~/unix/
+mark x ~/private/
+""" marks }}}
+
+""" mappings {{{
+" to speed up
+nmap ; :
+
+nmap s :shell<cr>
+nmap S :sort<cr>
+nmap w :view<cr>
+nmap o :!gvim --remote-tab-silent %f<cr>
+nmap O :!gvim %f<cr>
+" open file in the background using its default program
+nmap gb :file &<cr>l
+
+" Yank current directory path into the clipboard
+nmap yd :!echo %d | xclip %i<cr>
+
+" Yank current file path into the clipboard
+nmap yf :!echo %c:p | xclip %i<cr>
+
+" Mappings for faster renaming
+nmap I cw<c-a>
+nmap cc cw<c-u>
+nmap A cw<c-w>
+
+" Opening console in current directory
+nmap ,t :!xterm &<cr>
+
+" Opening vim to edit .vifmrc
+nmap ,c :execute ':!vim $MYVIFMRC' | restart<cr>
+" Opening gvim to edit .vifmrc
+nmap ,C :!gvim --remote-tab-silent $MYVIFMRC &<cr>
+
+" Toggle wrap setting on ,w key
+nmap ,w :set wrap!<cr>
+
+nmap <f3> :!less %f<cr>
+nmap <f4> :edit<cr>
+nmap <f5> :copy<cr>
+nmap <f6> :move<cr>
+nmap <f7> :mkdir<space>
+nmap <f8> :delete<cr>
+""" mappings }}}
+
+""" command {{{
+" :com[mand] command_name action
+" The following macros can be used in a command
+" %a is replaced with the user arguments.
+" %c the current file under the cursor.
+" %C the current file under the cursor in the other directory.
+" %f the current selected file, or files.
+" %F the current selected file, or files in the other directory.
+" %b same as %f %F.
+" %d the current directory name.
+" %D the other window directory name.
+" %m run the command in a menu window
+command df df -h %m 2> /dev/null
+command diff vim -d %f %F
+command zip zip -r %f.zip %f
+command run !! ./%f
+command make !!make
+command vgrep vim "+grep %a"
+""" command }}}
+
+""" filetype & fileview {{{
+" The file type is for the default programs to be used with
+" a file extension.
+" :filetype pattern1,pattern2 [{desc}]defaultprogram[ &],[{desc}]program2
+" :fileviewer pattern1,pattern2 consoleviewer
+" The other programs for the file type can be accessed with the :file command
+" The command macros %f, %F, %d, %F may be used in the commands.
+" The % macro is ignored. To use a % you must put %%.
+
+" For automated FUSE mounts, you must register an extension with :file[x]type
+" in one of following formats:
+"
+" :filetype extensions FUSE_MOUNT|some_mount_command using %SOURCE_FILE and %DESTINATION_DIR variables
+" %SOURCE_FILE and %DESTINATION_DIR are filled in by vifm at runtime.
+" A sample line might look like this:
+" :filetype *.zip,*.jar,*.war,*.ear FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR
+"
+" :filetype extensions FUSE_MOUNT2|some_mount_command using %PARAM and %DESTINATION_DIR variables
+" %PARAM and %DESTINATION_DIR are filled in by vifm at runtime.
+" A sample line might look like this:
+" :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR
+" %PARAM value is filled from the first line of file (whole line).
+" Example first line for SshMount filetype: root@127.0.0.1:/
+"
+" You can also add %CLEAR if you want to clear screen before running FUSE
+" program.
+
+" Pdf
+filetype *.pdf zathura %f,apvlv %f,xpdf %f
+fileview *.pdf pdftotext -nopgbrk %c -
+
+" PostScript
+filextype *.ps,*.ps.gz gv %c %i &
+
+" Djvu
+filextype *.djvu apvlv %f
+
+" Audio
+filetype *.wav,*.mp3,*.flac,*.ogg,*.m4a
+ \ {Play using ffplay}
+ \ ffplay %c,
+ \ {Play using MPlayer}
+ \ mplayer %f,
+fileviewer *.mp3 mp3info
+
+" Video
+filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.vob,*.flv
+ \ {View using ffplay}
+ \ ffplay -fs %c,
+ \ {View using Dragon}
+ \ dragon %f,
+ \ {View using mplayer}
+ \ mplayer %f,
+fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.vob
+ \ ffprobe -pretty %c 2>&1
+
+" Web
+filetype *.html,*.htm links,mozilla,uzbl-browser %f %i &
+
+" Object
+filetype *.o nm %f | less
+
+" Image
+filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
+ \ {View in feh}
+ \ feh -FZ %d --start-at %d/%c 2>/dev/null &,
+ \ {View in sxiv}
+ \ sxiv,
+ \ {View in gpicview}
+ \ gpicview %c,
+fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
+ \ convert -identify %f -verbose /dev/null
+
+" MD5
+filetype *.md5
+ \ {Check MD5 hash sum}
+ \ md5sum -c %f,
+
+" FuseZipMount
+filetype *.zip,*.jar,*.war,*.ear
+ \ {Mount with fuse-zip}
+ \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR,
+ \ {View contents}
+ \ zip -sf %c | less,
+ \ tar -xf %c,
+fileviewer *.zip,*.jar,*.war,*.ear zip -sf %c
+
+" ArchiveMount
+filetype *.tar.bz2,*.tbz2,*.tgz,*.tar.gz
+ \ {Mount with archivemount}
+ \ FUSE_MOUNT|archivemount %SOURCE_FILE %DESTINATION_DIR,
+fileviewer *.tgz,*.tar.gz tar -tzf %c
+fileviewer *.tar.bz2,*.tbz2 tar -tjf %c
+
+" Rar2FsMount
+filetype *.rar
+ \ {Mount with rar2fs}
+ \ FUSE_MOUNT|rar2fs %SOURCE_FILE %DESTINATION_DIR,
+
+" IsoMount
+filetype *.iso
+ \ {Mount with fuseiso}
+ \ FUSE_MOUNT|fuseiso %SOURCE_FILE %DESTINATION_DIR,
+
+" SshMount
+filetype *.ssh
+ \ {Mount with sshfs}
+ \ FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR,
+
+" FtpMount
+filetype *.ftp
+ \ {Mount with curlftpfs}
+ \ FUSE_MOUNT2|curlftpfs -o ftp_port=-,,disable_eprt %PARAM %DESTINATION_DIR,
+
+" Fuse7z
+filetype *.7z
+ \ {Mount with fuse-7z}
+ \ FUSE_MOUNT|fuse-7z %SOURCE_FILE %DESTINATION_DIR,
+
+" Office files
+filextype *.doc,*.docx,*.xls,*.xlsx libreoffice %f &
+fileview *.docx, docx2txt.pl %f -
+
+" Qt projects
+filextype *.pro qtcreator %f &
+
+" Directories
+filextype */
+ \ {View in thunar}
+ \ Thunar %f &,
+fileview .*/,*/ tree %f
+
+" Open all other files with default system programs (you can also remove all
+" :file[x]type commands above to ensure they don't interfere with system-wide
+" settings). By default all unknown files are opened with 'vi[x]cmd'
+" uncommenting one of lines below will result in ignoring 'vi[x]cmd' option
+" for unknown file types.
+" For *nix:
+" filetype * xdg-open
+" For OS X:
+" filetype * open
+" For Windows:
+" filetype * start, explorer
+""" filetype & fileview }}}
+
+" vim: set ts=8 sw=4 tw=78 fenc=utf-8 ft=vifm: "