summaryrefslogtreecommitdiff
path: root/.config/vifm
diff options
context:
space:
mode:
Diffstat (limited to '.config/vifm')
-rw-r--r--.config/vifm/colors/COPYING339
-rw-r--r--.config/vifm/colors/ChangeLog27
-rw-r--r--.config/vifm/colors/Default.vifm65
-rw-r--r--.config/vifm/colors/README.md58
-rw-r--r--.config/vifm/colors/astrell.vifm33
-rw-r--r--.config/vifm/colors/create_themes.md1
-rw-r--r--.config/vifm/colors/darkdesert.vifm24
-rw-r--r--.config/vifm/colors/desert.vifm23
-rw-r--r--.config/vifm/colors/dracula.vifm45
-rw-r--r--.config/vifm/colors/g80.vifm28
-rw-r--r--.config/vifm/colors/iceberg.vifm29
-rw-r--r--.config/vifm/colors/lucius.vifm25
-rw-r--r--.config/vifm/colors/luke.vifm33
-rw-r--r--.config/vifm/colors/matrix.vifm27
-rw-r--r--.config/vifm/colors/mc-like.vifm26
-rw-r--r--.config/vifm/colors/molokai.vifm31
-rw-r--r--.config/vifm/colors/near-default.vifm89
-rw-r--r--.config/vifm/colors/ph.vifm27
-rw-r--r--.config/vifm/colors/reicheltd-light.vifm28
-rw-r--r--.config/vifm/colors/semidarkdesert.vifm23
-rw-r--r--.config/vifm/colors/snowwhite.vifm31
-rw-r--r--.config/vifm/colors/solarized-dark.vifm45
-rw-r--r--.config/vifm/colors/zenburn.vifm22
-rw-r--r--.config/vifm/colors/zenburn_1.vifm29
-rwxr-xr-x.config/vifm/scripts/README-vifm-imagepreview.sh6
-rwxr-xr-x.config/vifm/scripts/vifm-imagepreview.sh50
-rwxr-xr-x.config/vifm/scripts/vifmimg64
-rwxr-xr-x.config/vifm/scripts/vifmrun14
-rwxr-xr-x.config/vifm/vifm-help.txt4454
-rw-r--r--.config/vifm/vifminfo1004
-rwxr-xr-x.config/vifm/vifmrc449
-rw-r--r--.config/vifm/vifmshortcuts120
32 files changed, 7269 insertions, 0 deletions
diff --git a/.config/vifm/colors/COPYING b/.config/vifm/colors/COPYING
new file mode 100644
index 0000000..d159169
--- /dev/null
+++ b/.config/vifm/colors/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/.config/vifm/colors/ChangeLog b/.config/vifm/colors/ChangeLog
new file mode 100644
index 0000000..a0d7340
--- /dev/null
+++ b/.config/vifm/colors/ChangeLog
@@ -0,0 +1,27 @@
+0.9 to current
+ Add new color scheme: iceberg (Thanks puven12)
+ Add new color scheme: dracula (Thanks EgZvor)
+ Add new color scheme: molokai (Thanks mimadrid)
+ Add missing `:highlight clear` to:
+ * lucius
+ * reicheltd-light
+
+ Update near-default scheme:
+ * Add CmpMismatch (since vifm v0.9).
+ * Add one more document type: mobi.
+ * Support change of terminal background.
+
+0.8.2 to 0.9
+ Add new color scheme: lucius (Thanks francogonzaga)
+ Add new color scheme: SemiDarkDesert (Thanks clausED)
+ Add new color scheme: near-default (Thanks xaizek)
+ Clean up info in README
+
+0.8 to 0.8.2
+ Add GPL-2 license file
+
+ Add new color scheme: ph (Thanks pihao)
+ Add new color scheme: reicheltd-light (Thanks reicheltd)
+ Add new color scheme: snowwhite (Thanks durcheinandr)
+ Add new color scheme: semidarkdesert (Thanks clausED)
+ Add new color scheme: near-default
diff --git a/.config/vifm/colors/Default.vifm b/.config/vifm/colors/Default.vifm
new file mode 100644
index 0000000..fa715ae
--- /dev/null
+++ b/.config/vifm/colors/Default.vifm
@@ -0,0 +1,65 @@
+" 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
+
+" Light versions of colors are also available (set bold attribute):
+" LightBlack
+" LightRed
+" LightGreen
+" LightYellow
+" LightBlue
+" LightMagenta
+" LightCyan
+" LightWhite
+
+" Available attributes (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=attrs ctermfg=foreground_color ctermbg=background_color
+
+highlight clear
+
+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
+highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white
diff --git a/.config/vifm/colors/README.md b/.config/vifm/colors/README.md
new file mode 100644
index 0000000..2202a91
--- /dev/null
+++ b/.config/vifm/colors/README.md
@@ -0,0 +1,58 @@
+# vifm-colors
+
+Various colorschemes for [vifm](https://vifm.info/):
+- astrell (by astrell)
+- darkdesert (by langner)
+- Default
+- desert
+- dracula (by EgZvor)
+- g80
+- iceberg (by puven12)
+- lucius (by francogonzaga)
+- matrix
+- mc-like (by Petteri Knihti)
+- molokai (by Miguel Madrid Mencía)
+- near-default
+- ph (by pihao)
+- reicheltd-light (by reicheltd)
+- semidarkdesert (by clausED)
+- snowwhite (by durcheinandr)
+- solarized-dark
+- zenburn
+- zenburn_1 (by frgm)
+
+The solarized-dark theme is based on [istib](https://github.com/istib)'s [version](https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors).
+
+## Installation
+
+### Distribution
+Some distributions offer a package for vifm color schemes. In this case you can install them easily using your package manager.
+
+#### openSUSE
+
+```
+zypper in vifm-colors
+```
+
+### Manual
+If you would like to have just one theme you could download it via wget, for example:
+
+`wget -P ~/.vifm/colors https://raw.githubusercontent.com/vifm/vifm-colors/master/solarized-dark.vifm`
+
+If you prefer to download all themes you could set it up with git, and stay up to date.
+
+`rm -rf ~/.config/vifm/colors`
+
+`git clone https://github.com/vifm/vifm-colors ~/.config/vifm/colors`
+
+To check for updates just type `git pull` in `~/.config/vifm/colors`.
+
+*Note:* replace `~/.config/vifm` with `~/.vifm` in commands above if you store your configuration there.
+
+## Preview
+A preview of all color themes contained in this repository are available at [the official vifm site](https://vifm.info/colorschemes.shtml).
+
+## Set a theme
+Load with `:colorscheme theme-name` in vifm, or write `colorscheme theme-name` in vifm's configuration file `~/.config/vifm/vifmrc`.
+
+If you have any color themes that are not in this repo, feel free to fork, add it and send a pull request!
diff --git a/.config/vifm/colors/astrell.vifm b/.config/vifm/colors/astrell.vifm
new file mode 100644
index 0000000..f182559
--- /dev/null
+++ b/.config/vifm/colors/astrell.vifm
@@ -0,0 +1,33 @@
+" by astrell
+" with builtin regular/root user differentiation
+
+highlight clear
+
+highlight Border cterm=none ctermfg=black ctermbg=131
+
+highlight TopLine cterm=none ctermfg=black ctermbg=white
+highlight TopLineSel cterm=bold ctermfg=default ctermbg=default
+
+highlight StatusLine cterm=none ctermfg=black ctermbg=white
+highlight WildMenu cterm=none ctermfg=default ctermbg=153
+
+highlight CmdLine cterm=none ctermfg=white ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=red ctermbg=default
+
+highlight Win cterm=none ctermfg=0 ctermbg=224
+highlight Directory cterm=bold ctermfg=17 ctermbg=default
+highlight Link cterm=none ctermfg=94 ctermbg=default
+highlight BrokenLink cterm=bold ctermfg=160 ctermbg=default
+highlight Socket cterm=bold ctermfg=91 ctermbg=default
+highlight Device cterm=bold ctermfg=52 ctermbg=default
+highlight Fifo cterm=bold ctermfg=105 ctermbg=default
+highlight Executable cterm=bold ctermfg=23 ctermbg=default
+highlight Selected cterm=bold ctermfg=default ctermbg=182
+highlight CurrLine cterm=bold ctermfg=238 ctermbg=153
+highlight OtherLine cterm=default ctermfg=default ctermbg=default
+
+" overwrite some colors for root user
+if $USER == 'root'
+ highlight Win cterm=none ctermfg=0 ctermbg=182
+ highlight Selected cterm=bold ctermfg=default ctermbg=217
+endif
diff --git a/.config/vifm/colors/create_themes.md b/.config/vifm/colors/create_themes.md
new file mode 100644
index 0000000..029871a
--- /dev/null
+++ b/.config/vifm/colors/create_themes.md
@@ -0,0 +1 @@
+To port themes from vim to vifm [this](http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim) is helpful to look up colors.
diff --git a/.config/vifm/colors/darkdesert.vifm b/.config/vifm/colors/darkdesert.vifm
new file mode 100644
index 0000000..c456374
--- /dev/null
+++ b/.config/vifm/colors/darkdesert.vifm
@@ -0,0 +1,24 @@
+" Dark Desert
+" by Karol M. Langner
+" based on Desert by Michael jubalh Vetter
+" https://github.com/vifm/vifm-colors
+
+highlight clear
+
+highlight Win cterm=none ctermfg=220 ctermbg=233
+highlight Directory cterm=bold ctermfg=77 ctermbg=default
+highlight Link cterm=bold ctermfg=239 ctermbg=default
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
+highlight Socket cterm=bold ctermfg=24 ctermbg=default
+highlight Device cterm=bold ctermfg=31 ctermbg=default
+highlight Fifo cterm=bold ctermfg=31 ctermbg=default
+highlight Executable cterm=bold ctermfg=green ctermbg=default
+highlight Selected cterm=bold ctermfg=magenta ctermbg=default
+highlight CurrLine cterm=bold ctermfg=131 ctermbg=228
+highlight TopLine cterm=none ctermfg=124 ctermbg=235
+highlight TopLineSel cterm=bold ctermfg=124 ctermbg=235
+highlight StatusLine cterm=bold ctermfg=124 ctermbg=235
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight CmdLine cterm=none ctermfg=217 ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=7 ctermbg=1
+highlight Border cterm=none ctermfg=black ctermbg=235
diff --git a/.config/vifm/colors/desert.vifm b/.config/vifm/colors/desert.vifm
new file mode 100644
index 0000000..3b28180
--- /dev/null
+++ b/.config/vifm/colors/desert.vifm
@@ -0,0 +1,23 @@
+" Desert
+" by Michael jubalh Vetter
+" https://github.com/jubalh/vifm-colors
+
+highlight clear
+
+highlight Win cterm=none ctermfg=220 ctermbg=237
+highlight Directory cterm=bold ctermfg=77 ctermbg=default
+highlight Link cterm=bold ctermfg=239 ctermbg=default
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
+highlight Socket cterm=bold ctermfg=24 ctermbg=default
+highlight Device cterm=bold ctermfg=31 ctermbg=default
+highlight Fifo cterm=bold ctermfg=31 ctermbg=default
+highlight Executable cterm=bold ctermfg=green ctermbg=default
+highlight Selected cterm=bold ctermfg=magenta ctermbg=default
+highlight CurrLine cterm=bold ctermfg=131 ctermbg=228
+highlight TopLine cterm=none ctermfg=black ctermbg=white
+highlight TopLineSel cterm=bold ctermfg=red ctermbg=default
+highlight StatusLine cterm=bold ctermfg=red ctermbg=white
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight CmdLine cterm=none ctermfg=217 ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=7 ctermbg=1
+highlight Border cterm=none ctermfg=black ctermbg=white
diff --git a/.config/vifm/colors/dracula.vifm b/.config/vifm/colors/dracula.vifm
new file mode 100644
index 0000000..ebd2b75
--- /dev/null
+++ b/.config/vifm/colors/dracula.vifm
@@ -0,0 +1,45 @@
+" VIFM COLORS
+" dracula
+" based on: https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors
+
+" 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
+
+" STYLES
+" bold
+" underline
+" reverse or inverse
+" standout
+" none
+
+
+highlight clear
+
+highlight Win cterm=none ctermfg=default ctermbg=none
+
+highlight TopLine cterm=none ctermfg=blue ctermbg=none
+highlight TopLineSel cterm=none ctermfg=magenta 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=236 ctermbg=blue
+
+highlight WildMenu cterm=none,reverse ctermfg=blue ctermbg=236
+highlight CmdLine cterm=none ctermfg=255 ctermbg=236
+highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
+
+highlight Directory cterm=none ctermfg=blue ctermbg=default
+highlight Link cterm=none ctermfg=cyan ctermbg=default
+highlight BrokenLink cterm=none ctermfg=red ctermbg=default
+highlight Socket cterm=none ctermfg=magenta ctermbg=black
+highlight Device cterm=none ctermfg=red ctermbg=default
+highlight Fifo cterm=none ctermfg=yellow ctermbg=black
+highlight Executable cterm=none ctermfg=green ctermbg=default
diff --git a/.config/vifm/colors/g80.vifm b/.config/vifm/colors/g80.vifm
new file mode 100644
index 0000000..3eaa6ae
--- /dev/null
+++ b/.config/vifm/colors/g80.vifm
@@ -0,0 +1,28 @@
+" G80
+
+" Reset all styles first
+highlight clear
+
+highlight Border cterm=none ctermfg=237 ctermbg=237
+
+highlight TopLine cterm=none ctermfg=188 ctermbg=237
+highlight TopLineSel cterm=underline ctermfg=188 ctermbg=237
+
+highlight Win cterm=none ctermfg=188 ctermbg=237
+highlight Directory cterm=none ctermfg=188 ctermbg=237
+highlight CurrLine cterm=none ctermfg=188 ctermbg=236
+highlight OtherLine cterm=none ctermfg=247 ctermbg=237
+highlight Selected cterm=none ctermfg=188 ctermbg=238
+
+highlight JobLine cterm=bold ctermfg=188 ctermbg=238
+highlight StatusLine cterm=none ctermfg=188 ctermbg=235
+highlight WildMenu cterm=none ctermfg=188 ctermbg=238
+highlight CmdLine cterm=none ctermfg=188 ctermbg=237
+highlight ErrorMsg cterm=none ctermfg=188 ctermbg=237
+
+highlight Executable cterm=none ctermfg=188 ctermbg=237
+highlight Link cterm=none ctermfg=188 ctermbg=237
+highlight BrokenLink cterm=none ctermfg=188 ctermbg=237
+highlight Device cterm=none ctermfg=188 ctermbg=237
+highlight Fifo cterm=none ctermfg=188 ctermbg=237
+highlight Socket cterm=none ctermfg=188 ctermbg=237
diff --git a/.config/vifm/colors/iceberg.vifm b/.config/vifm/colors/iceberg.vifm
new file mode 100644
index 0000000..2606641
--- /dev/null
+++ b/.config/vifm/colors/iceberg.vifm
@@ -0,0 +1,29 @@
+" iceberg
+" by puven12
+"
+" This colorscheme is based on iceberg colorscheme for vim
+" by cocopon
+
+highlight clear
+
+highlight Win cterm=none ctermfg=255 ctermbg=234
+highlight Directory cterm=bold ctermfg=109 ctermbg=default
+highlight Link cterm=bold ctermfg=216 ctermbg=234
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=239
+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=none ctermfg=150 ctermbg=default
+highlight Selected cterm=none ctermfg=255 ctermbg=236
+highlight CurrLine cterm=reverse
+highlight TopLine cterm=none ctermfg=255 ctermbg=234
+highlight TopLineSel cterm=bold ctermfg=110 ctermbg=default
+highlight StatusLine cterm=none ctermfg=240 ctermbg=235
+highlight WildMenu cterm=underline,reverse ctermfg=255 ctermbg=black
+highlight CmdLine cterm=none ctermfg=255 ctermbg=234
+highlight ErrorMsg cterm=none ctermfg=203 ctermbg=234
+highlight Border cterm=none ctermfg=black ctermbg=234
+highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=255
+highlight SuggestBox cterm=bold ctermfg=default ctermbg=default
+highlight CmpMismatch cterm=bold ctermfg=255 ctermbg=red
+highlight AuxWin cterm=bold,underline,reverse,standout ctermfg=default ctermbg=default
diff --git a/.config/vifm/colors/lucius.vifm b/.config/vifm/colors/lucius.vifm
new file mode 100644
index 0000000..0278aaf
--- /dev/null
+++ b/.config/vifm/colors/lucius.vifm
@@ -0,0 +1,25 @@
+" lucius
+" by francogonzaga
+"
+" https://gist.github.com/francogonzaga/5509523
+"
+" This color scheme is loosely based on the lucius color scheme for vim
+
+highlight clear
+highlight Win cterm=none ctermfg=250 ctermbg=236
+highlight Directory cterm=bold ctermfg=4 ctermbg=236
+highlight Link cterm=bold ctermfg=yellow ctermbg=236
+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=112 ctermbg=236
+highlight Selected cterm=none ctermfg=236 ctermbg=208
+highlight CurrLine cterm=bold ctermfg=251 ctermbg=240
+highlight TopLine cterm=none ctermfg=black ctermbg=240
+highlight TopLineSel cterm=none ctermfg=250 ctermbg=12
+highlight StatusLine cterm=bold ctermfg=255 ctermbg=12
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight CmdLine cterm=none ctermfg=white ctermbg=240
+highlight ErrorMsg cterm=none ctermfg=250 ctermbg=124
+highlight Border cterm=none ctermfg=236 ctermbg=236
diff --git a/.config/vifm/colors/luke.vifm b/.config/vifm/colors/luke.vifm
new file mode 100644
index 0000000..f3da172
--- /dev/null
+++ b/.config/vifm/colors/luke.vifm
@@ -0,0 +1,33 @@
+highlight clear
+highlight Win cterm=none ctermfg=white ctermbg=black
+highlight Directory cterm=bold ctermfg=cyan ctermbg=default
+highlight Link cterm=bold ctermfg=blue 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,reverse ctermfg=default ctermbg=default
+highlight TopLine cterm=none ctermfg=black ctermbg=white
+highlight TopLineSel cterm=bold ctermfg=black ctermbg=default
+highlight StatusLine cterm=bold ctermfg=black 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=white ctermbg=black
+highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white
+highlight SuggestBox cterm=bold ctermfg=default ctermbg=default
+highlight CmpMismatch cterm=bold ctermfg=white ctermbg=red
+highlight AuxWin cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight TabLine cterm=none ctermfg=white ctermbg=black
+highlight TabLineSel cterm=bold,reverse ctermfg=default ctermbg=default
+highlight User1 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight User2 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight User3 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight User4 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight User5 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight User6 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight User7 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight User8 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
+highlight User9 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
diff --git a/.config/vifm/colors/matrix.vifm b/.config/vifm/colors/matrix.vifm
new file mode 100644
index 0000000..a5416cc
--- /dev/null
+++ b/.config/vifm/colors/matrix.vifm
@@ -0,0 +1,27 @@
+" Matrix
+" by Michael jubalh Vetter
+" https://github.com/jubalh/vifm-colors
+
+highlight clear
+
+highlight Win cterm=none ctermfg=green ctermbg=black
+
+highlight TopLine cterm=none ctermfg=green ctermbg=none
+highlight TopLineSel cterm=none ctermfg=green ctermbg=none
+highlight StatusLine cterm=none ctermfg=green ctermbg=none
+highlight Border cterm=none ctermfg=green ctermbg=none
+
+highlight Selected cterm=bold ctermfg=red ctermbg=default
+highlight CurrLine cterm=bold ctermfg=black ctermbg=green
+
+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=blue ctermbg=default
+highlight Link cterm=none ctermfg=yellow ctermbg=default
+highlight BrokenLink cterm=none ctermfg=red ctermbg=default
+highlight Socket cterm=none ctermfg=yellow ctermbg=default
+highlight Device cterm=none ctermfg=yellow ctermbg=default
+highlight Fifo cterm=none ctermfg=yellow ctermbg=default
+highlight Executable cterm=none ctermfg=green ctermbg=default
diff --git a/.config/vifm/colors/mc-like.vifm b/.config/vifm/colors/mc-like.vifm
new file mode 100644
index 0000000..80589e9
--- /dev/null
+++ b/.config/vifm/colors/mc-like.vifm
@@ -0,0 +1,26 @@
+" mimicking midnight commander
+" by Petteri Knihti
+
+highlight clear
+
+highlight Win cterm=none ctermfg=white ctermbg=blue
+
+highlight CurrLine cterm=none ctermfg=black ctermbg=cyan
+highlight Selected cterm=bold ctermfg=yellow ctermbg=default
+
+highlight TopLine cterm=none ctermfg=black ctermbg=cyan
+highlight TopLineSel cterm=bold ctermfg=yellow ctermbg=cyan
+highlight StatusLine cterm=none ctermfg=black ctermbg=cyan
+highlight Border cterm=none ctermfg=none ctermbg=blue
+
+highlight WildMenu cterm=reverse ctermfg=black ctermbg=white
+highlight CmdLine cterm=none ctermfg=white ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=red 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
diff --git a/.config/vifm/colors/molokai.vifm b/.config/vifm/colors/molokai.vifm
new file mode 100644
index 0000000..c1db26d
--- /dev/null
+++ b/.config/vifm/colors/molokai.vifm
@@ -0,0 +1,31 @@
+" Molokai
+" by Miguel Madrid Mencia
+" https://github.com/vifm/vifm-colors
+
+highlight clear
+
+highlight Border cterm=none ctermfg=black ctermbg=232
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
+highlight CmdLine cterm=none ctermfg=white ctermbg=black
+highlight CurrLine cterm=bold ctermfg=default ctermbg=208
+highlight Device cterm=bold ctermfg=red ctermbg=default
+highlight Directory cterm=bold ctermfg=12 ctermbg=default
+highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
+highlight Executable cterm=bold ctermfg=green ctermbg=default
+highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
+highlight Link cterm=bold ctermfg=green ctermbg=default
+highlight OtherLine cterm=bold ctermfg=default ctermbg=130
+highlight Selected cterm=bold ctermfg=magenta ctermbg=default
+highlight Socket cterm=bold ctermfg=magenta ctermbg=default
+highlight StatusLine cterm=none ctermfg=white ctermbg=233
+highlight SuggestBox cterm=none ctermfg=white ctermbg=black
+highlight TopLine cterm=none ctermfg=15 ctermbg=233
+highlight TopLineSel cterm=none ctermfg=148 ctermbg=default
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight Win cterm=none ctermfg=white ctermbg=black
+
+if $USER == 'root'
+ highlight Border cterm=none ctermfg=default ctermbg=red
+ highlight StatusLine cterm=none ctermfg=white ctermbg=red
+ highlight TopLine cterm=none ctermfg=default ctermbg=red
+endif
diff --git a/.config/vifm/colors/near-default.vifm b/.config/vifm/colors/near-default.vifm
new file mode 100644
index 0000000..bd514a6
--- /dev/null
+++ b/.config/vifm/colors/near-default.vifm
@@ -0,0 +1,89 @@
+" vim: filetype=vifm :
+
+" xterm color customization:
+"
+" ! regular (not bold) red
+" XTerm*color1: #ff3030
+" ! regular (not bold) green
+" XTerm*color2: #70dd70
+" ! regular (not bold) yellow
+" XTerm*color3: #f0f000
+" ! regular (not bold) blue
+" XTerm*color4: #6060dd
+" ! bold red
+" XTerm*color9: #ff8080
+" ! bold green
+" XTerm*color10: #20dd20
+" ! bold yellow
+" XTerm*color11: #e0e000
+" ! bold blue
+" XTerm*color12: #a8a8ff
+
+highlight clear
+highlight Win cterm=none ctermfg=white ctermbg=default
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
+highlight Socket cterm=bold ctermfg=magenta ctermbg=default
+highlight Device cterm=bold,reverse ctermfg=red ctermbg=default
+highlight Fifo cterm=bold,reverse ctermfg=cyan ctermbg=default
+highlight CurrLine cterm=reverse,bold ctermfg=default ctermbg=default
+highlight TopLine cterm=none ctermfg=black ctermbg=white
+highlight TopLineSel cterm=underline ctermfg=black ctermbg=default
+highlight StatusLine cterm=none ctermfg=black ctermbg=white
+highlight WildMenu cterm=underline,bold,reverse ctermfg=yellow ctermbg=black
+highlight CmdLine cterm=bold ctermfg=white ctermbg=default
+highlight ErrorMsg cterm=bold ctermfg=white ctermbg=red
+highlight Border cterm=none ctermfg=white ctermbg=default
+highlight OtherLine cterm=reverse ctermfg=234 ctermbg=white
+highlight SuggestBox cterm=bold,reverse ctermfg=cyan ctermbg=default
+
+" no 256-color palette on Windows
+if $OS == 'Windows_NT'
+ highlight Directory cterm=bold ctermfg=cyan ctermbg=default
+ highlight Link cterm=bold ctermfg=yellow ctermbg=default
+ highlight Executable cterm=bold ctermfg=green ctermbg=default
+ highlight Selected cterm=bold ctermfg=magenta ctermbg=default
+ highlight CmpMismatch cterm=bold ctermfg=white ctermbg=red
+ finish
+endif
+
+highlight Directory cterm=bold ctermfg=123 ctermbg=default
+highlight Link cterm=bold ctermfg=229 ctermbg=default
+highlight Executable cterm=bold ctermfg=119 ctermbg=default
+highlight Selected cterm=bold ctermfg=213 ctermbg=default
+highlight CmpMismatch cterm=bold ctermfg=white ctermbg=88
+
+" software documentation
+highlight {COPYRIGHT,COPYING*,BUGS,ChangeLog*,FAQ,INSTALL*,LICEN[CS]E,NEWS,
+ \README*,AUTHORS,TODO,THANKS}
+ \ cterm=none ctermfg=187 ctermbg=default
+" build system files
+highlight {Makefile,Makefile.am,Makefile.in,Makefile.win,*.mak,*.mk,
+ \CMakeLists.txt}
+ \ cterm=none ctermfg=121 ctermbg=default
+" archives
+highlight {*.7z,*.ace,*.arj,*.bz2,*.cpio,*.deb,*.dz,*.gz,*.jar,*.lzh,*.lzma,
+ \*.rar,*.rpm,*.rz,*.tar,*.taz,*.tb2,*.tbz,*.tbz2,*.tgz,*.tlz,*.trz,
+ \*.txz,*.tz,*.tz2,*.xz,*.z,*.zip,*.zoo}
+ \ cterm=none ctermfg=215 ctermbg=default
+" documents
+highlight {*.djvu,*.htm,*.html,*.shtml,*.css,*.markdown,*.md,*[^0-9].[1-9],
+ \*.mkd,*.org,*.pandoc,*.pdc,*.pdf,*.epub,*.fb2,*.tex,*.txt,*.xhtml,
+ \*.xml,*.pptx,*.ppt,*.doc,*.docx,*.xls,*.xls[mx],*.mobi}
+ \ cterm=none ctermfg=217 ctermbg=default
+" media
+highlight {*.aac,*.anx,*.asf,*.au,*.avi,*.ts,*.axa,*.axv,*.divx,*.flac,*.m2a,
+ \*.m2v,*.m4a,*.m4p,*.m4v,*.mid,*.midi,*.mka,*.mkv,*.mov,*.mp3,*.mp4,
+ \*.flv,*.mp4v,*.mpc,*.mpeg,*.mpg,*.nuv,*.oga,*.ogg,*.ogv,*.ogx,*.pbm,
+ \*.pgm,*.qt,*.ra,*.ram,*.rm,*.spx,*.vob,*.wav,*.wma,*.wmv,*.xvid,
+ \*.ac3}
+ \ cterm=none ctermfg=49 ctermbg=default
+" images
+highlight {*.bmp,*.gif,*.jpeg,*.jpg,*.ico,*.png,*.ppm,*.svg,*.svgz,*.tga,*.tif,
+ \*.tiff,*.xbm,*.xcf,*.xpm,*.xspf,*.xwd}
+ \ cterm=none ctermfg=117 ctermbg=default
+" executables
+highlight {*.sh,*.bash,*.bat,*.btm,*.cmd,*.com,*.dll,*.exe,*.run,*.msu,*.msi}
+ \ cterm=none ctermfg=77 ctermbg=default
+" source code
+highlight {*.patch,*.diff,*.py,*.[ch]pp,*.mk,*.c,*.h,*.[ch]pp,*.cc,*.hs,*.php}
+ \ cterm=none ctermfg=193 ctermbg=default
diff --git a/.config/vifm/colors/ph.vifm b/.config/vifm/colors/ph.vifm
new file mode 100644
index 0000000..1704da5
--- /dev/null
+++ b/.config/vifm/colors/ph.vifm
@@ -0,0 +1,27 @@
+" ph
+
+highlight clear
+
+highlight Win cterm=none ctermfg=248 ctermbg=234
+highlight Directory cterm=bold ctermfg=033 ctermbg=234
+highlight Link cterm=bold ctermfg=yellow ctermbg=234
+highlight BrokenLink cterm=reverse ctermfg=red ctermbg=default
+highlight Socket cterm=bold ctermfg=125 ctermbg=default
+highlight Device cterm=bold ctermfg=red ctermbg=default
+highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
+highlight Executable cterm=bold ctermfg=166 ctermbg=default
+highlight Selected cterm=bold ctermfg=255 ctermbg=237
+highlight CurrLine cterm=bold ctermfg=default ctermbg=237
+highlight TopLine cterm=bold ctermfg=black ctermbg=235
+highlight TopLineSel cterm=bold ctermfg=black ctermbg=default
+highlight StatusLine cterm=bold ctermfg=black ctermbg=235
+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=234
+highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white
+highlight SuggestBox cterm=bold ctermfg=default ctermbg=default
+
+if $USER == 'root'
+ highlight Border ctermbg=red
+endif
diff --git a/.config/vifm/colors/reicheltd-light.vifm b/.config/vifm/colors/reicheltd-light.vifm
new file mode 100644
index 0000000..b74e4de
--- /dev/null
+++ b/.config/vifm/colors/reicheltd-light.vifm
@@ -0,0 +1,28 @@
+" vim: filetype=vifm :
+
+" Author: Daniel R. (a.k.a. reicheltd)
+
+highlight clear
+
+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/.config/vifm/colors/semidarkdesert.vifm b/.config/vifm/colors/semidarkdesert.vifm
new file mode 100644
index 0000000..5fbccd8
--- /dev/null
+++ b/.config/vifm/colors/semidarkdesert.vifm
@@ -0,0 +1,23 @@
+" SemiDarkDesert
+" by Claus E. Durst, based on 'Desert' by Michael jubalh Vetter
+" https://github.com/clausED/vifm-colors
+
+highlight clear
+
+highlight Win cterm=none ctermfg=220 ctermbg=233
+highlight Directory cterm=bold ctermfg=77 ctermbg=default
+highlight Link cterm=bold ctermfg=239 ctermbg=default
+highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
+highlight Socket cterm=bold ctermfg=24 ctermbg=default
+highlight Device cterm=bold ctermfg=31 ctermbg=default
+highlight Fifo cterm=bold ctermfg=31 ctermbg=default
+highlight Executable cterm=bold ctermfg=green ctermbg=default
+highlight Selected cterm=bold ctermfg=magenta ctermbg=default
+highlight CurrLine cterm=bold ctermfg=131 ctermbg=228
+highlight TopLine cterm=none ctermfg=black ctermbg=248
+highlight TopLineSel cterm=bold ctermfg=red ctermbg=default
+highlight StatusLine cterm=bold ctermfg=red ctermbg=248
+highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
+highlight CmdLine cterm=none ctermfg=217 ctermbg=black
+highlight ErrorMsg cterm=none ctermfg=7 ctermbg=1
+highlight Border cterm=none ctermfg=black ctermbg=240
diff --git a/.config/vifm/colors/snowwhite.vifm b/.config/vifm/colors/snowwhite.vifm
new file mode 100644
index 0000000..7aded4d
--- /dev/null
+++ b/.config/vifm/colors/snowwhite.vifm
@@ -0,0 +1,31 @@
+" snowwhite
+" Author: Jochen Schweizer
+" https://github.com/durcheinandr/vifm-colors
+
+highlight clear
+
+highlight SuggestBox cterm=none ctermfg=16 ctermbg=231
+highlight Win cterm=none ctermfg=16 ctermbg=231
+highlight Directory cterm=bold ctermfg=16 ctermbg=231
+highlight Link cterm=none ctermfg=16 ctermbg=231
+
+highlight BrokenLink cterm=bold ctermfg=196 ctermbg=231
+highlight Socket cterm=none ctermfg=16 ctermbg=231
+highlight Device cterm=none ctermfg=16 ctermbg=231
+
+highlight Fifo cterm=none ctermfg=16 ctermbg=231
+highlight Executable cterm=none ctermfg=16 ctermbg=231
+highlight Selected cterm=none ctermfg=208 ctermbg=231
+
+highlight CurrLine cterm=none ctermfg=231 ctermbg=208
+highlight TopLine cterm=none ctermfg=16 ctermbg=255
+highlight TopLineSel cterm=none ctermfg=231 ctermbg=16
+
+highlight StatusLine cterm=bold ctermfg=16 ctermbg=255
+highlight WildMenu cterm=underline,reverse ctermfg=16 ctermbg=231
+highlight CmdLine cterm=none ctermfg=16 ctermbg=231
+
+highlight ErrorMsg cterm=bold ctermfg=196 ctermbg=231
+highlight Border cterm=none ctermfg=16 ctermbg=255
+
+
diff --git a/.config/vifm/colors/solarized-dark.vifm b/.config/vifm/colors/solarized-dark.vifm
new file mode 100644
index 0000000..a792bd9
--- /dev/null
+++ b/.config/vifm/colors/solarized-dark.vifm
@@ -0,0 +1,45 @@
+" VIFM COLORS
+" solarized dark
+" based on: https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors
+
+" 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
+
+" STYLES
+" bold
+" underline
+" reverse or inverse
+" standout
+" none
+
+
+highlight clear
+
+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/.config/vifm/colors/zenburn.vifm b/.config/vifm/colors/zenburn.vifm
new file mode 100644
index 0000000..fccfbbd
--- /dev/null
+++ b/.config/vifm/colors/zenburn.vifm
@@ -0,0 +1,22 @@
+highlight clear
+
+highlight Win cterm=none ctermfg=245 ctermbg=234
+highlight Directory cterm=bold ctermfg=166 ctermbg=234
+highlight Link cterm=bold ctermfg=yellow ctermbg=234
+highlight BrokenLink cterm=reverse ctermfg=red ctermbg=default
+
+highlight Socket cterm=bold ctermfg=125 ctermbg=default
+highlight Device cterm=bold ctermfg=red ctermbg=default
+highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
+highlight Executable cterm=bold ctermfg=0x2aa198 ctermbg=default
+
+highlight Selected cterm=bold ctermfg=125 ctermbg=235
+highlight CurrLine cterm=bold ctermfg=245 ctermbg=235
+
+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/.config/vifm/colors/zenburn_1.vifm b/.config/vifm/colors/zenburn_1.vifm
new file mode 100644
index 0000000..86b4338
--- /dev/null
+++ b/.config/vifm/colors/zenburn_1.vifm
@@ -0,0 +1,29 @@
+" zenburn like color scheme for vifm
+" http://kippura.org/zenburnpage/
+
+" Reset all styles first
+highlight clear
+
+highlight Border cterm=none ctermfg=235 ctermbg=237
+
+highlight TopLine cterm=none ctermfg=108 ctermbg=235
+highlight TopLineSel cterm=bold ctermfg=186 ctermbg=235
+
+highlight Win cterm=none ctermfg=188 ctermbg=237
+highlight Directory cterm=none ctermfg=108 ctermbg=237
+highlight CurrLine cterm=none ctermfg=223 ctermbg=235
+highlight OtherLine cterm=none ctermfg=247 ctermbg=237
+highlight Selected cterm=none ctermfg=116 ctermbg=238
+
+highlight JobLine cterm=bold ctermfg=116 ctermbg=238
+highlight StatusLine cterm=bold ctermfg=144 ctermbg=236
+highlight ErrorMsg cterm=bold ctermfg=115 ctermbg=237
+highlight WildMenu cterm=bold ctermfg=235 ctermbg=144
+highlight CmdLine cterm=none ctermfg=188 ctermbg=237
+
+highlight Executable cterm=none ctermfg=172 ctermbg=237
+highlight Link cterm=none ctermfg=142 ctermbg=237
+highlight BrokenLink cterm=none ctermfg=174 ctermbg=237
+highlight Device cterm=none ctermfg=228 ctermbg=237
+highlight Fifo cterm=none ctermfg=109 ctermbg=237
+highlight Socket cterm=none ctermfg=110 ctermbg=237
diff --git a/.config/vifm/scripts/README-vifm-imagepreview.sh b/.config/vifm/scripts/README-vifm-imagepreview.sh
new file mode 100755
index 0000000..7694952
--- /dev/null
+++ b/.config/vifm/scripts/README-vifm-imagepreview.sh
@@ -0,0 +1,6 @@
+This directory is dedicated for user-supplied scripts/executables.
+vifm modifies its PATH environment variable to let user run those
+scripts without specifying full path. All subdirectories are added
+as well. File in a subdirectory overrules file with the same name
+in parent directories. Restart might be needed to recognize files
+in newly created or renamed subdirectories. \ No newline at end of file
diff --git a/.config/vifm/scripts/vifm-imagepreview.sh b/.config/vifm/scripts/vifm-imagepreview.sh
new file mode 100755
index 0000000..fbe0431
--- /dev/null
+++ b/.config/vifm/scripts/vifm-imagepreview.sh
@@ -0,0 +1,50 @@
+#!/bin/bash -
+#===============================================================================
+#
+# FILE: vifm-imagepreview.sh
+#
+# USAGE: ./vifm-imagepreview.sh
+#
+# DESCRIPTION: Image previewer for vifm.
+# Based on script by z3bra -- 2014-01-21
+# This is called by vifm by adding the following line to vimfrc file:
+#
+# fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm vifm-imagepreviewer.sh %px %py %pw %ph %c
+#
+# OPTIONS: ---
+# REQUIREMENTS: ---
+# BUGS: ---
+# NOTES: ---
+# AUTHOR: Vito G. Graffagnino (), v.graffagnino@btinternet.com
+# ORGANIZATION:
+# CREATED: 04/05/17 11:19:39
+# REVISION: ---
+#===============================================================================
+set -o nounset # Treat unset variables as an error
+W3MIMGDISPLAY="/usr/lib64/w3m/w3mimgdisplay"
+FONTH=15 # Size of one terminal row
+FONTW=7 # Size of one terminal column
+X=$1
+Y=$2
+COLUMNS=$3
+LINES=$4
+FILENAME=$5
+read width height <<< `echo "5;$FILENAME" | $W3MIMGDISPLAY`
+if [ -z "$width" -o -z "$height" ]; then
+ echo 'Error: Failed to obtain image size.'
+ exit 1
+fi
+x=$((FONTW * X))
+y=$((FONTH * Y))
+max_width=$((FONTW * COLUMNS))
+max_height=$((FONTH * LINES))
+if [ "$width" -gt "$max_width" ]; then
+ height=$((height * max_width / width))
+ width=$max_width
+fi
+if [ "$height" -gt "$max_height" ]; then
+ width=$((width * max_height / height))
+ height=$max_height
+fi
+w3m_command="0;1;$x;$y;$width;$height;;;;;$FILENAME\n4;\n3;"
+echo -e "$w3m_command" | $W3MIMGDISPLAY
diff --git a/.config/vifm/scripts/vifmimg b/.config/vifm/scripts/vifmimg
new file mode 100755
index 0000000..98e15c8
--- /dev/null
+++ b/.config/vifm/scripts/vifmimg
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+readonly ID_PREVIEW="preview"
+
+#PLAY_GIF="yes"
+# By enabling this option the GIF will be animated, by leaving it commented like it
+# is now will make the gif preview behave the same was a video preview.
+
+#AUTO_REMOVE="yes"
+# By enabling this option the script will remove the preview file after it is drawn
+# and by doing so the preview will always be up-to-date with the file.
+# This however, requires more CPU and therefore affects the overall performance.
+
+if [ -e "$FIFO_UEBERZUG" ]; then
+ if [[ "$1" == "draw" ]]; then
+ declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW"
+ [x]="$2" [y]="$3" [width]="$4" [height]="$5" \
+ [path]="$PWD/$6") \
+ > "$FIFO_UEBERZUG"
+ elif [[ "$1" == "videopreview" ]]; then
+ [[ ! -d "/tmp$PWD/$6/" ]] && mkdir -p "/tmp$PWD/$6/"
+ [[ ! -f "/tmp$PWD/$6.png" ]] && ffmpegthumbnailer -i "$PWD/$6" -o "/tmp$PWD/$6.png" -s 0 -q 10
+ declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW"
+ [x]="$2" [y]="$3" [width]="$4" [height]="$5" \
+ [path]="/tmp$PWD/$6.png") \
+ > "$FIFO_UEBERZUG"
+ elif [[ "$1" == "gifpreview" ]]; then
+ [[ ! -d "/tmp$PWD/$6/" ]] && mkdir -p "/tmp$PWD/$6/" && convert -coalesce "$PWD/$6" "/tmp$PWD/$6/$6.png"
+ if [[ ! -z "$PLAY_GIF" ]]; then
+ for frame in $(ls -1 /tmp$PWD/$6/$6*.png | sort -V); do
+ declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW"
+ [x]="$2" [y]="$3" [width]="$4" [height]="$5" \
+ [path]="$frame") \
+ > "$FIFO_UEBERZUG"
+ # Sleep between frames to make the animation smooth.
+ sleep .07
+ done
+ else
+ declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW"
+ [x]="$2" [y]="$3" [width]="$4" [height]="$5" \
+ [path]="/tmp$PWD/$6/$6-0.png") \
+ > "$FIFO_UEBERZUG"
+ fi
+ elif [[ "$1" == "epubpreview" ]]; then
+ [[ ! -d "/tmp$PWD/$6/" ]] && mkdir -p "/tmp$PWD/$6/"
+ [[ ! -f "/tmp$PWD/$6.png" ]] && epub-thumbnailer "$6" "/tmp$PWD/$6.png" 512
+ declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW"
+ [x]="$2" [y]="$3" [width]="$4" [height]="$5" \
+ [path]="/tmp$PWD/$6.png") \
+ > "$FIFO_UEBERZUG"
+ elif [[ "$1" == "pdfpreview" ]]; then
+ [[ ! -d "/tmp$PWD/$6/" ]] && mkdir -p "/tmp$PWD/$6/"
+ [[ ! -f "/tmp$PWD/$6.png" ]] && pdftoppm -png -singlefile "$6" "/tmp$PWD/$6"
+ declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW"
+ [x]="$2" [y]="$3" [width]="$4" [height]="$5" \
+ [path]="/tmp$PWD/$6.png") \
+ > "$FIFO_UEBERZUG"
+ elif [[ "$1" == "clear" ]]; then
+ declare -p -A cmd=([action]=remove [identifier]="$ID_PREVIEW") \
+ > "$FIFO_UEBERZUG"
+ [[ ! -z $AUTO_REMOVE ]] && [[ -f "/tmp$PWD/$6.png" ]] && rm -f "/tmp$PWD/$6.png"
+ [[ ! -z $AUTO_REMOVE ]] && [[ -d "/tmp$PWD/$6/" ]] && rm -rf "/tmp$PWD/$6/"
+
+ fi
+fi
diff --git a/.config/vifm/scripts/vifmrun b/.config/vifm/scripts/vifmrun
new file mode 100755
index 0000000..cc27b25
--- /dev/null
+++ b/.config/vifm/scripts/vifmrun
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+export FIFO_UEBERZUG="/tmp/vifm-ueberzug-${PPID}"
+
+function cleanup {
+ rm "$FIFO_UEBERZUG" 2>/dev/null
+ pkill -P $$ 2>/dev/null
+}
+rm "$FIFO_UEBERZUG" 2>/dev/null
+mkfifo "$FIFO_UEBERZUG" 2>/dev/null
+trap cleanup EXIT 2>/dev/null
+tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser bash &
+
+vifm
+cleanup
diff --git a/.config/vifm/vifm-help.txt b/.config/vifm/vifm-help.txt
new file mode 100755
index 0000000..a812f88
--- /dev/null
+++ b/.config/vifm/vifm-help.txt
@@ -0,0 +1,4454 @@
+VIFM(1) General Commands Manual VIFM(1)
+
+
+
+NAME
+ vifm - vi file manager
+
+SYNOPSIS
+ vifm [OPTION]...
+ vifm [OPTION]... LWIN_DIR
+ vifm [OPTION]... LWIN_DIR RWIN_DIR
+
+DESCRIPTION
+ Vifm is an ncurses based file manager with vi like keybindings. If you
+ use vi, vifm gives you complete keyboard control over your files with-
+ out having to learn a new set of commands.
+
+OPTIONS
+ vifm starts in the current directory unless it is given a different
+ 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 Makes vifm instead of opening files write selection to
+ $VIFM/vimfiles and quit.
+
+ --choose-files <path>|-
+ Sets output file to write selection into on exit instead of
+ opening files. "-" means standard output. Use empty value to
+ disable it.
+
+ --choose-dir <path>|-
+ Sets output file to write last visited directory into on exit.
+ "-" means standard output. Use empty value to disable it.
+
+ --delimiter <delimiter>
+ Sets separator for list of file paths written out by vifm.
+ Empty value means null character. Default is new line charac-
+ ter.
+
+ --on-choose <command>
+ Sets command to be executed on selected files instead of opening
+ them. The command may use any of macros described in "Command
+ macros" section below. The command is executed once for whole
+ selection.
+
+ --logging
+ 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 a brief command summary and exit vifm.
+
+ --version, -v
+ Show version information and quit.
+
+ --no-configs
+ Skip reading vifmrc and vifminfo.
+
+
+ See "Startup" section below for the explanations on $VIFM.
+
+General keys
+ Ctrl-C or Escape
+ cancel most operations (see "Cancellation" section below), clear
+ all selected files.
+
+ Ctrl-L clear and redraw the screen.
+
+Basic Movement
+ The basic vi key bindings are used to move through the files and pop-up
+ windows.
+
+ k, gk, or Ctrl-P
+ move cursor up one line.
+
+ j, gj or Ctrl-N
+ move cursor down one line.
+
+ h when 'lsview' is off move up one directory, otherwise move left
+ one file.
+
+ l when 'lsview' is off move into a directory or launches a file,
+ otherwise move right one file.
+
+ gg move to the first line of the file list.
+
+ G move to the last line in the file list.
+
+ gh go up one directory.
+
+ gl or Enter
+ enter directory or launch a file.
+
+ H move to the first file in the window.
+
+ M move to the file in the middle of the window.
+
+ L move to the last file in the window.
+
+ Ctrl-F or Page Down
+ move forward one page.
+
+ Ctrl-B or Page Up
+ move back one page.
+
+ Ctrl-D jump back one half page.
+
+ Ctrl-U jump forward one half page.
+
+ n% move to the file that is n percent from the top of the list (for
+ example 25%).
+
+ 0 or ^ move cursor to the first column. See 'lsview' option descrip-
+ tion.
+
+ $ move cursor to the last column. See 'lsview' option descrip-
+ tion.
+
+ Space switch file lists.
+
+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 h
+ switch to the left pane.
+
+ Ctrl-W j
+ switch to the pane below.
+
+ Ctrl-W k
+ switch to the pane above.
+
+ Ctrl-W l
+ switch to the right pane.
+
+
+ Ctrl-W b
+ switch to bottom-right window.
+
+ Ctrl-W t
+ switch to top-left window.
+
+
+ Ctrl-W p
+ switch to previous window.
+
+ Ctrl-W w
+ switch to other pane.
+
+
+ Ctrl-W o
+ leave only one pane.
+
+ Ctrl-W s
+ split window horizontally.
+
+ Ctrl-W v
+ split window vertically.
+
+
+ Ctrl-W x
+ exchange panes.
+
+ Ctrl-W z
+ quit preview pane or view modes.
+
+
+ Ctrl-W -
+ decrease size of the view by count.
+
+ Ctrl-W +
+ increase size of the view by count.
+
+ Ctrl-W <
+ decrease size of the view by count.
+
+ Ctrl-W >
+ increase size of the view by count.
+
+
+ Ctrl-W |
+ maximize current view.
+
+ Ctrl-W _
+ maximize current view.
+
+ Ctrl-W =
+ make size of two views equal.
+
+ For Ctrl-W +, Ctrl-W -, Ctrl-W < and Ctrl-W > commands count can be
+ given before and/or after Ctrl-W. The resulting count is a multiplica-
+ tion of those two. So "2 Ctrl-W 2 -" decreases window size by 4 lines
+ or columns.
+
+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]
+ set a mark for the file at the current cursor position.
+
+ '[a-z][A-Z][0-9]
+ navigate to the file set for the mark.
+
+
+ There are also several special marks that can't be set manually:
+
+ - ' (single quote) - previously visited directory of the view, thus
+ hitting '' allows switching between two last locations
+
+ - < - the first file of the last visually selected block
+
+ - > - the last file of the last visually selected block
+
+Searching
+ /regular expression pattern
+ search for files matching regular expression in forward direc-
+ tion and advance cursor to next match.
+
+ / perform forward search with top item of search pattern history.
+
+ ?regular expression pattern
+ search for files matching regular expression in backward direc-
+ tion and advance cursor to previous match.
+
+ ? perform backward search with top item of search pattern history.
+
+ Matches are automatically selected if 'hlsearch' is set. Enabling
+ 'incsearch' makes search interactive. 'ignorecase' and 'smartcase'
+ options affect case sensitivity of search queries.
+
+
+ [count]n
+ go to the next file matching last search pattern. Takes last
+ search direction into account.
+
+ [count]N
+ go to the previous file matching last search pattern. Takes
+ last search direction into account.
+
+ If 'hlsearch' option is set, hitting n/N to perform search and go to
+ the first matching item resets current selection in normal mode. It is
+ not the case if search was already performed on files in the directory,
+ thus selection is not reset after clearing selection with escape key
+ and hitting n/N key again.
+
+ Note: vifm uses extended regular expressions for / and ?.
+
+
+ [count]f[character]
+ search forward for file with [character] as first character in
+ name. Search wraps around the end of the list.
+
+ [count]F[character]
+ search backward for file with [character] as first character in
+ name. Search wraps around the end of the list.
+
+ [count];
+ find the next match of f or F.
+
+ [count],
+ find the previous match of f or F.
+
+ Note: f, F, ; and , wrap around list beginning and end when they are
+ used alone and they don't wrap when they are used as selectors.
+
+File Filters
+ There are three basic file filters:
+
+ - dot files filter (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\/?$/
+
+ za toggle visibility of dot files.
+
+ zo show dot files.
+
+ zm hide dot files.
+
+ zf add selected files to file name filter.
+
+ zO show files hidden by file name filter.
+
+ zM restore all filters.
+
+ zR remove all filters.
+
+ zd exclude selection or current file from custom view. Does noth-
+ ing for regular view.
+
+ =regular expression pattern
+ filter out files that don't match regular expression. Whether
+ view is updated as regular expression is changed depends on the
+ value of the 'incsearch' option. This kind of filter is auto-
+ matically reset when directory is changed.
+
+Other Normal Mode Keys
+ [count]:
+ enter command line mode. [count] generates range.
+
+ q: open external editor to prompt for command-line command. See
+ "Command line editing" section for details.
+
+ q/ open external editor to prompt for search pattern to be searched
+ in forward direction. See "Command line editing" section for
+ details.
+
+ q? open external editor to prompt for search pattern to be searched
+ in backward direction. See "Command line editing" section for
+ details.
+
+ q= open external editor to prompt for filter pattern. See "Command
+ line editing" section for details. Unlike other q{x} commands
+ this one doesn't work in Visual mode.
+
+ [count]!! and [count]!<selector>
+ enter command line mode with entered ! command. [count] modi-
+ fies range.
+
+ Ctrl-O go backwards through directory history of current view. Nonex-
+ istent directories are automatically skipped.
+
+ Ctrl-I if 'cpoptions' contains "t" flag, <tab> and <c-i> switch active
+ pane just like <space> does, otherwise it goes forward through
+ directory history of current view. Nonexistent directories are
+ automatically skipped.
+
+ Ctrl-G create a window showing detailed information about the current
+ file.
+
+ Shift-Tab
+ enters view mode (works only after activating view pane with
+ :view command).
+
+ ga calculate directory size. Uses cached directory sizes when pos-
+ sible for better performance.
+
+ gA like ga, but force update. Ignores old values of directory
+ sizes.
+
+ If file under cursor is selected, each selected item is processed, oth-
+ erwise only current file is updated.
+
+ gf find link destination (like l with 'followlinks' off, but also
+ finds directories).
+
+ gr only for MS-Windows
+ same as l key, but tries to run program with administrative
+ privileges.
+
+ av go to visual mode into selection amending state preserving cur-
+ rent selection.
+
+ gv go to visual mode restoring last selection.
+
+ 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 handle file (even if it's an executable and 'runexec' option is
+ set).
+
+ cw change word is used to rename a file or files.
+
+ cW change WORD is used to change only name of file (without exten-
+ sion).
+
+ cl change link target.
+
+ co only for *nix
+ change file owner.
+
+ cg only for *nix
+ change file group.
+
+ cp change file attributes (permission on *nix and properties on
+ Windows).
+
+ [count]C
+ clone file [count] times.
+
+ [count]dd or d[count]selector
+ move selected file or files to trash directory (if 'trash'
+ option is set, otherwise delete). See "Trash directory" section
+ below.
+
+ [count]DD or D[count]selector
+ like dd and d<selector>, but omitting trash directory (even when
+ 'trash' option is set).
+
+ Y, [count]yy or y[count]selector
+ yank selected files.
+
+ p copy yanked files to the current directory or move the files to
+ the current directory if they were deleted with dd or :d[elete]
+ or if the files were yanked from trash directory. See "Trash
+ directory" section below.
+
+ P move the last yanked files. The advantage of using P instead of
+ d followed by p is that P moves files only once. This isn't
+ 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 put symbolic links with absolute paths.
+
+ rl put symbolic links with relative paths.
+
+ t select or unselect (tag) the current file.
+
+ u undo last change.
+
+ Ctrl-R redo last change.
+
+ v or V enter visual mode, clears current selection.
+
+ [count]Ctrl-A
+ increment first number in file name by [count] (1 by default).
+
+ [count]Ctrl-X
+ decrement first number in file name by [count] (1 by default).
+
+ ZQ same as :quit!.
+
+ ZZ same as :quit.
+
+ . repeat last command-line command (not normal mode command) of
+ this session (does nothing right after startup or :restart com-
+ mand). The command doesn't depend on command-line history and
+ can be used with completely disabled history.
+
+ ( 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 by hitting double quote key followed by a
+ register name. Count is specified after register name. By default
+ commands use unnamed register, which has double quote as its name.
+
+ Though all commands accept registers, most of commands ignores them
+ (for example H or Ctrl-U). Other commands can fill register or append
+ new files to it.
+
+ Presently vifm supports ", _, a-z and A-Z characters as register names.
+
+ As mentioned above " is unnamed register and has special meaning of the
+ default register. Every time when you use named registers (a-z and A-
+ Z) unnamed register is updated to contain same list of files as the
+ last used register.
+
+ _ is black hole register. It can be used for writing, but its list is
+ always empty.
+
+ Registers with names from a to z and from A to Z are named ones. Low-
+ ercase registers are cleared before adding new files, while uppercase
+ aren't and should be used to append new files to the existing file list
+ of appropriate lowercase register (A for a, B for b, ...).
+
+ Registers can be changed on :empty command if they contain files under
+ trash directory (see "Trash directory" section below).
+
+ Registers do not contain one file more than once.
+
+ Example:
+
+ "a2yy
+
+ puts names of two files to register a (and to the unnamed register),
+
+ "Ad
+
+ removes one file and append its name to register a (and to the unnamed
+ register),
+
+ p or "ap or "Ap
+
+ inserts previously yanked and deleted files into current directory.
+
+Selectors
+ y, d, D, !, gu and gU commands accept selectors. You can combine them
+ with any of selectors below to quickly remove or yank several files.
+
+ Most of selectors are like vi motions: j, k, gg, G, H, L, M, %, f, F,
+ ;, comma, ', ^, 0 and $. But there are some additional ones.
+
+ a all files in current view.
+
+ s selected files.
+
+ S all files except selected.
+
+ Examples:
+
+ - dj - delete file under cursor and one below;
+
+ - d2j - delete file under cursor and two below;
+
+ - y6gg - yank all files from cursor position to 6th file in the list.
+
+ When you pass a count to whole command and its selector they are multi-
+ plied. So:
+
+ - 2d2j - delete file under cursor and four below;
+
+ - 2dj - delete file under cursor and two below;
+
+ - 2y6gg - yank all files from cursor position to 12th file in the
+ list.
+
+Visual Mode
+ Visual mode has to generic operating submodes:
+
+ - plain selection as it is in Vim;
+
+ - selection editing submode.
+
+ Both modes select files in range from cursor position at which visual
+ mode was entered to current cursor position (let's call it "selection
+ region"). Each of two borders can be adjusted by swapping them via "o"
+ or "O" keys and updating cursor position with regular cursor motion
+ keys. Obviously, once initial cursor position is altered this way,
+ real start position becomes unavailable.
+
+ Plain Vim-like visual mode starts with cleared selection, which is not
+ restored on rejecting selection ("Escape", "Ctrl-C", "v", "V"). Con-
+ trary to it, selection editing doesn't clear previously selected files
+ and restores them after reject. Accepting selection by performing an
+ operation on selected items (e.g. yanking them via "y") moves cursor to
+ the top of current selection region (not to the top most selected file
+ of the view).
+
+ In turn, selection editing supports three types of editing (look at
+ statusbar to know which one is currently active):
+
+ - append - amend selection by selecting elements in selection region;
+
+ - remove - amend selection by deselecting elements in selection
+ region;
+
+ - invert - amend selection by inverting selection of elements in
+ selection region.
+
+ No matter how you activate selection editing it starts in "append".
+ One can switch type of operation (in the order given above) via "Ctrl-
+ G" key.
+
+ Almost all normal mode keys work in visual mode, but instead of accept-
+ ing selectors they operate on selected items.
+
+ Enter save selection and go back to normal mode not moving cursor.
+
+ av leave visual mode if in amending mode (restores previous selec-
+ tion), otherwise switch to amending selection mode.
+
+ gv restore previous visual selection.
+
+ v, V, Ctrl-C or Escape
+ leave visual mode if not in amending mode, otherwise switch to
+ normal visual selection.
+
+ Ctrl-G switch type of amending by round robin scheme: append -> remove
+ -> invert.
+
+ : enter command line mode. Selection is cleared on leaving the
+ mode.
+
+ o switch active selection bound.
+
+ O switch active selection bound.
+
+ gu, u make names of selected files lowercase.
+
+ gU, U make names of selected files uppercase.
+
+View Mode
+ This mode tries to imitate the less program. List of builtin shortcuts
+ can be found below. Shortcuts can be customized using :qmap, :qnoremap
+ and :qunmap command-line commands.
+
+ Shift-Tab, Tab, q, Q, ZZ
+ return to normal mode.
+
+ [count]e, [count]Ctrl-E, [count]j, [count]Ctrl-N, [count]Enter
+ scroll forward one line (or [count] lines).
+
+ [count]y, [count]Ctrl-Y, [count]k, [count]Ctrl-K, [count]Ctrl-P
+ scroll backward one line (or [count] lines).
+
+ [count]f, [count]Ctrl-F, [count]Ctrl-V, [count]Space
+ scroll forward one window (or [count] lines).
+
+ [count]b, [count]Ctrl-B, [count]Alt-V
+ scroll backward one window (or [count] lines).
+
+ [count]z
+ scroll forward one window (and set window to [count]).
+
+ [count]w
+ scroll backward one window (and set window to [count]).
+
+ [count]Alt-Space
+ scroll forward one window, but don't stop at end-of-file.
+
+ [count]d, [count]Ctrl-D
+ scroll forward one half-window (and set half-window to [count]).
+
+ [count]u, [count]Ctrl-U
+ scroll backward one half-window (and set half-window to
+ [count]).
+
+ r, Ctrl-R, Ctrl-L
+ repaint screen.
+
+ R reload view preserving scroll position.
+
+ F toggle automatic forwarding. Roughly equivalent to periodic
+ file reload and scrolling to the bottom. The behaviour is simi-
+ lar to `tail -F` or F key in less.
+
+ [count]/pattern
+ search forward for ([count]-th) matching line.
+
+ [count]?pattern
+ search backward for ([count]-th) matching line.
+
+ [count]n
+ repeat previous search (for [count]-th occurrence).
+
+ [count]N
+ repeat previous search in reverse direction (for [count]-th
+ occurrence).
+
+ [count]g, [count]<, [count]Alt-<
+ scroll to the first line of the file (or line [count]).
+
+ [count]G, [count]>, [count]Alt->
+ scroll to the last line of the file (or line [count]).
+
+ [count]p, [count]%
+ scroll to the beginning of the file (or N percent into file).
+
+ v invoke an editor to edit the current file being viewed. The
+ command for editing is taken from the 'vicmd'/'vixcmd' option
+ value and extended with middle line number prepended by a plus
+ sign and name of the current file.
+
+ All "Ctrl-W x" keys work the same was as in Normal mode. Active mode
+ is automatically changed on navigating among windows. When less-like
+ mode activated on file preview is left using one by "Ctrl-W x" keys,
+ its state is stored until another file is displayed using preview (it's
+ possible to leave the mode, hide preview pane, do something else, then
+ get back to the file and show preview pane again with previously stored
+ state in it).
+
+Command line Mode
+ These keys are available in all submodes of the command line mode: com-
+ mand, search, prompt and filtering.
+
+ Down, Up, Left, Right, Home, End and Delete are extended keys and they
+ are not available if vifm is compiled with --disable-extended-keys
+ 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-B, Left
+ move cursor to the left.
+
+ Ctrl-F, Right
+ move cursor to the right.
+
+ Ctrl-A, Home
+ go to line beginning.
+
+ Ctrl-E, End
+ go to line end.
+
+ Alt-B go to the beginning of previous word.
+
+ Alt-F go to the end of next word.
+
+ Ctrl-U remove characters from cursor position till the beginning of
+ line.
+
+ Ctrl-K remove characters from cursor position till the end of line.
+
+ Ctrl-H, Backspace
+ remove character before the cursor.
+
+ Ctrl-D, Delete
+ remove character under the cursor.
+
+ Ctrl-W remove characters from cursor position till the beginning of
+ previous word.
+
+ Alt-D remove characters from cursor position till the beginning of
+ next word.
+
+ Ctrl-T swap the order of current and previous character and move cursor
+ forward or, if cursor past the end of line, swap the order of
+ two last characters in the line.
+
+ Alt-. insert last part of previous command to current cursor position.
+ Each next call will insert last part of older command.
+
+ Ctrl-G edit command-line content in external editor. See "Command line
+ editing" section for details.
+
+ Ctrl-N recall more recent command-line from history.
+
+ Ctrl-P recall older command-line from history.
+
+ Up recall more recent command-line from history, that begins as the
+ current command-line.
+
+ Down recall older command-line from history, that begins as the cur-
+ rent command-line.
+
+ Ctrl-] trigger abbreviation expansion.
+
+Pasting special values
+ The shortcuts listed below insert specified values into current cursor
+ position. Last key of every shortcut references value that it inserts:
+ - c - [c]urrent file
+ - d - [d]irectory path
+ - e - [e]xtension of a file name
+ - r - [r]oot part of a file name
+ - t - [t]ail part of directory path
+
+ - a - [a]utomatic filter
+ - m - [m]anual filter
+ - = - local filter, which is bound to "=" in normal mode
+
+ Values related to filelist in current pane are available through Ctrl-X
+ prefix, while values from the other pane have doubled Ctrl-X key as
+ their prefix (doubled Ctrl-X is presumably easier to type than upper-
+ case letters; it's still easy to remap the keys to correspond to names
+ of similar macros).
+
+ Ctrl-X c
+ name of the current file of the active pane.
+
+ Ctrl-X d
+ path to the current directory of the active pane.
+
+ Ctrl-X e
+ extension of the current file of the active pane.
+
+ Ctrl-X r
+ name root of current file of the active pane.
+
+ Ctrl-X t
+ the last component of path to the current directory of the
+ active pane.
+
+ Ctrl-X Ctrl-X c
+ name of the current file of the inactive pane.
+
+ Ctrl-X Ctrl-X d
+ path to the current directory of the inactive pane.
+
+ Ctrl-X Ctrl-X e
+ extension of the current file of the inactive pane.
+
+ Ctrl-X Ctrl-X r
+ name root of current file of the inactive pane.
+
+ Ctrl-X Ctrl-X t
+ the last component of path to the current directory of the inac-
+ tive pane.
+
+
+ Ctrl-X a
+ value of automatic filter of the active pane.
+
+ Ctrl-X m
+ value of manual filter of the active pane.
+
+ Ctrl-X =
+ value of local filter of the active pane.
+
+
+ Ctrl-X /
+ last pattern from search history.
+
+Command line editing
+ vifm provides a facility to edit several kinds of data, that is usually
+ edited in command-line mode, in external editor (using command speci-
+ fied by 'vicmd' or 'vixcmd' option). This has at least two advantages
+ over built-in command-line mode:
+ - one can use full power of Vim to edit text;
+ - finding and reusing history entries becomes possible.
+
+ The facility is supported by four input submodes of the command-line:
+ - command;
+ - forward search;
+ - backward search;
+ - file rename (see description of cw and cW normal mode keys).
+
+ Editing command-line using external editor is activated by the Ctrl-G
+ shortcut. It's also possible to do almost the same from Normal and
+ Visual modes using q:, q/ and q? commands.
+
+ Temporary file created for the purpose of editing the line has the fol-
+ lowing structure:
+
+ 1. First line, which is either empty or contains text already entered
+ in command-line.
+
+ 2. 2nd and all other lines with history items starting with the most
+ recent one. Altering this lines in any way won't change history
+ items stored by vifm.
+
+ After editing application is finished the first line of the file is
+ taken as the result of operation, when the application returns zero
+ exit code. If the application returns an error (see :cquit command in
+ Vim), all the edits made to the file are ignored, but the initial value
+ of the first line is saved in appropriate history.
+
+Commands
+ Commands are executed with :command_name<Enter>
+
+ Commented out lines should start with the double quote symbol, which
+ may be preceded by whitespace characters.
+
+ Most of the commands have two forms: complete and the short one. Exam-
+ ple:
+
+ :noh[lsearch]
+
+ This means the complete command is nohlsearch, and the short one is
+ noh.
+
+ Most of command-line commands completely reset selection in the current
+ view. However, there are several exceptions:
+
+ - ":invert s" most likely leaves some files selected;
+
+ - :if and :else commands doesn't affect selection on successful exe-
+ cution.
+
+ '|' 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
+ execute command via shell. Accepts macros.
+
+ :[range]!command &
+
+ same as above, but the command is run in the background using vifm's
+ means.
+
+ Programs that write to stdout like "ls" create an error message showing
+ partial output of the command.
+
+ Note the space before ampersand symbol, if you omit it, command will be
+ run in the background using job control of your shell.
+
+ Accepts macros.
+
+ :!!
+
+ :[range]!!command
+ same as :!, but pauses before returning.
+
+ :!! repeat the last command.
+
+ :alink
+
+ :[range]alink[!?]
+ create absolute symbolic links to files in directory of inactive
+ view. With "?" prompts for destination file names in an edi-
+ tor. "!" forces overwrite.
+
+ :[range]alink[!] path
+ create absolute symbolic links to files in directory specified
+ by the path (absolute or relative to directory of inactive
+ view).
+
+ :[range]alink[!] name1 name2...
+ create absolute symbolic links of files in directory of other
+ view giving each next link a corresponding name from the argu-
+ ment list.
+
+ :apropos
+
+ :apropos manpage
+ create a menu of items returned by the apropos command. Select-
+ ing an item in the menu opens corresponding man page. By
+ default the command relies on the external "apropos" utility,
+ which can be customized by altering value of the 'aproposprg'
+ option.
+
+ :apropos
+ repeat last :apropos command.
+
+ :cabbrev
+
+ :ca[bbrev]
+ display menu of command-line mode abbreviations.
+
+ :ca[bbrev] lhs-prefix
+ display command-line mode abbreviations which left-hand side
+ starts with specified prefix.
+
+ :ca[bbrev] lhs rhs
+ register new or overwrites existing abbreviation for command-
+ line mode. rhs can contain spaces and any special sequences
+ accepted in rhs of mappings (see "Mappings" section below).
+ Abbreviations are expanded non-recursively.
+
+ :cnoreabbrev
+
+ :cnorea[bbrev]
+ display menu of command-line mode abbreviations.
+
+ :cnorea[bbrev] lhs-prefix
+ display command-line mode abbreviations which left-hand side
+ starts with specified prefix.
+
+ :cnorea[bbrev] lhs rhs
+ same as :cabbrev, but mappings in rhs are ignored during expan-
+ sion.
+
+ :cd
+
+ :cd or :cd ~ or :cd $HOME
+ change to home directory.
+
+ :cd - go to the last visited directory.
+
+ :cd ~/dir
+ change directory to ~/dir.
+
+ :cd /curr/dir /other/dir
+ change directory of the current pane to /curr/dir and directory
+ of the other pane to /other/dir. Relative paths are assumed to
+ be relative to directory of current view. Command won't fail if
+ one of directories is invalid. All forms of the command accept
+ macros.
+
+ :cd! /dir
+ same as :cd /dir /dir.
+
+ :change
+
+ :c[hange]
+ create a menu window to alter a files properties.
+
+ :chmod
+
+ :[range]chmod
+ display file attributes (permission on *nix and properties on
+ Windows) change dialog.
+
+ :[range]chmod[!] arg...
+ only for *nix
+ change permissions for files. See `man 1 chmod` for arg format.
+ "!" means set permissions recursively.
+
+ :chown
+
+ :[range]chown
+ only for *nix
+ same as co key in normal mode.
+
+ :[range]chown [user][:][group]
+ only for *nix
+ change owner and/or group of files. Operates on directories
+ recursively.
+
+ :clone
+
+ :[range]clone[!?]
+ clones files in current directory. With "?" vifm will open vi
+ to edit file names. "!" forces overwrite. Macros are expanded.
+
+ :[range]clone[!] path
+ clones files to directory specified with the path (absolute or
+ relative to current directory). "!" forces overwrite. Macros
+ are expanded.
+
+ :[range]clone[!] name1 name2...
+ clones files in current directory giving each next clone a cor-
+ responding name from the argument list. "!" forces overwrite.
+ Macros are expanded.
+
+ :colorscheme
+
+ :colo[rscheme]?
+ print current color scheme name on the status bar.
+
+ :colo[rscheme]
+ display a menu with a list of available color schemes. You can
+ choose primary color scheme here. It is used for view if no
+ directory specific colorscheme fits current path. It's also
+ used to set border color (except view titles) and colors in
+ menus and dialogs.
+
+ :colo[rscheme] color_scheme_name
+ change primary color scheme to color_scheme_name. In case of
+ errors (e.g. some colors are not supported by terminal) either
+ nothing is changed or color scheme is reset to builtin colors to
+ ensure that TUI is left in a usable state.
+
+ :colo[rscheme] color_scheme_name directory
+ associate directory with the color scheme. The directory argu-
+ ment can be either absolute or relative path when :colorscheme
+ command is executed from command line, but mandatory should be
+ an absolute path when the command is executed in scripts loaded
+ at startup (until vifm is completely loaded).
+
+ :comclear
+
+ :comc[lear]
+ remove all user defined commands.
+
+ :command
+
+ :com[mand]
+ display a menu of user commands.
+
+ :com[mand] beginning
+ display user defined commands that start with the beginning.
+
+ :com[mand] name action
+ set a new user command.
+ Trying to use a reserved command name will result in an error
+ message.
+ Use :com[mand]! to overwrite a previously set command.
+ Unlike vim user commands do not have to start with a capital
+ letter. User commands are run in a shell by default. To run a
+ command in the background you must set it as a background com-
+ mand with & at the end of the commands action (:com rm rm %f &).
+ Command name cannot contain numbers or special symbols (except
+ '?' and '!').
+
+ :com[mand] name /pattern
+ set search pattern.
+
+ :com[mand] name =pattern
+ set local filter value.
+
+ :com[mand] name filter{:filter args}
+ set file name filter (see :filter command description). For
+ example:
+
+ " display only audio files
+ :command onlyaudio filter/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i
+ " display everything except audio files
+ :command noaudio filter!/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i
+
+ :com[mand] cmd :commands
+ set kind of an alias for internal command (like in a shell).
+ Passes range given to alias to an aliased command, so running
+ :%cp after
+ :command cp :copy %a
+ equals
+ :%copy
+
+ :copy
+
+ :[range]co[py][!?][ &]
+ copy files to directory of other view. With "?" prompts for
+ destination file names in an editor. "!" forces overwrite.
+
+ :[range]co[py][!] path[ &]
+ copy files to directory specified with the path (absolute or
+ relative to directory of other view). "!" forces overwrite.
+
+ :[range]co[py][!] name1 name2...[ &]
+ copy files to directory of other view giving each next file a
+ corresponding name from the argument list. "!" forces over-
+ write.
+
+ :cquit
+
+ :cq[uit][!]
+ same as :quit, but also aborts directory choosing via
+ --choose-dir (empties output file) and returns non-zero exit
+ code.
+
+ :cunabbrev
+
+ :cuna[bbrev] lhs
+ unregister command-line mode abbreviation by its lhs.
+
+ :cuna[bbrev] rhs
+ unregister command-line mode abbreviation by its rhs, so that
+ abbreviation could be removed even after expansion.
+
+ :delete
+
+ :[range]d[elete][!][ &]
+ delete selected file or files. "!" means complete removal
+ (omitting trash).
+
+ :[range]d[elete][!] [reg] [count][ &]
+ delete selected or [count] files to the reg register. "!" means
+ complete removal (omitting trash).
+
+ :delcommand
+
+ :delc[ommand] user_command
+ remove user defined command named user_command.
+
+ :delmarks
+
+ :delm[arks]!
+ delete all marks.
+
+ :delm[arks] marks ...
+ delete specified marks, each argument is treated as a set of
+ marks.
+
+ :display
+
+ :di[splay]
+ display menu with registers content.
+
+ :di[splay] list ...
+ display the contents of the numbered and named registers that
+ are mentioned in list (for example "az to display "", "a and "z
+ content).
+
+ :dirs
+
+ :dirs display directory stack.
+
+ :echo
+
+ :ec[ho] [<expr>...]
+ evaluate each argument as an expression and output them sepa-
+ rated with a space. See help on :let command for a definition
+ of <expr>.
+
+ :edit
+
+ :[range]e[dit] [file...]
+ open selected or passed file(s) in editor. Accepts macros.
+
+ :else
+
+ :el[se]
+ execute commands until next matching :endif if they previously
+ were not being executed. See also help on :if and :endif com-
+ mands.
+
+ :empty
+
+ :empty permanently remove files from all existing non-empty trash
+ directories (see "Trash directory" section below). Also remove
+ all operations from undolist that have no sense after :empty and
+ remove all records about files located inside directories from
+ all registers. Removal is performed as background task with
+ undetermined amount of work and can be checked via :jobs menu.
+
+ :endif
+
+ :en[dif]
+ end conditional block. See also help on :if and :else commands.
+
+ :execute
+
+ :exe[cute] [<expr>...]
+ evaluate each argument as an expression and join results sepa-
+ rated by a space to get a single string which is then executed
+ as a command-line command. See help on :let command for a defi-
+ nition of <expr>.
+
+ :exit
+
+ :exi[t][!]
+ same as :quit.
+
+ :file
+
+ :f[ile][ &]
+ display menu of programs set for the file type of the current
+ file. " &" forces running associated program in background.
+
+ :f[ile] arg[ &]
+ run associated command that begins with the arg skipping opening
+ menu. " &" forces running associated program in background.
+
+ :filetype
+
+ :filet[ype] pat1,pat2,... [{descr}]def_prog[ &],[{descr}]prog2[ &],...
+ associate given program list to each of the patterns. Associ-
+ ated program (command) is used by handlers of l and Enter keys
+ (and also in the :file menu). If you need to insert comma into
+ command just double it (",,"). Space followed by an ampersand
+ as two last characters of a command means running of the command
+ in the background. Optional description can be given to each
+ command to ease understanding of what command will do in the
+ :file menu. Vifm will try the rest of the programs for an asso-
+ ciation when the default isn't found. When program entry
+ doesn't contain any of vifm macros, name of current file is
+ appended as if program entry ended with %c macro on *nix and %"c
+ on Windows. On Windows path to executables containing spaces
+ can (and should be for correct work with such paths) be double
+ quoted. See "Patterns" section below for pattern definition.
+ See also "Automatic FUSE mounts" section below. Example for zip
+ archives and several actions:
+
+ filetype *.zip,*.jar,*.war,*.ear
+ \ {Mount with fuse-zip}
+ \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR,
+ \ {View contents}
+ \ zip -sf %c | less,
+ \ {Extract here}
+ \ tar -xf %c,
+
+ :filet[ype] filename
+ list (in menu mode) currently registered patterns that match
+ specified file name. Same as ":filextype filename".
+
+ :filextype
+
+ :filex[type] pat1,pat2,... [{ description }] def_program,program2,...
+ same as :filetype, but this command is ignored if not running in
+ X. In X :filextype is equal to :filetype. See "Patterns" sec-
+ tion below for pattern definition. See also "Automatic FUSE
+ mounts" section below.
+
+ For example, consider the following settings (the order might
+ seem strange, but it's for the demonstration purpose):
+
+ filetype *.html,*.htm
+ \ {View in lynx}
+ \ lynx
+ filextype *.html,*.htm
+ \ {Open with dwb}
+ \ dwb %f %i &,
+ filetype *.html,*.htm
+ \ {View in links}
+ \ links
+ filextype *.html,*.htm
+ \ {Open with firefox}
+ \ firefox %f &,
+ \ {Open with uzbl}
+ \ uzbl-browser %f %i &,
+
+ If you're using vifm inside a terminal emulator that is running
+ in graphical environment (when X is used on *nix; always on Win-
+ dows), vifm attempts to run application in this order:
+
+ 1. lynx
+ 2. dwb
+ 3. links
+ 4. firefox
+ 5. uzbl
+
+ If there is no graphical environment (checked presence of $DIS-
+ PLAY environment variable on *nix; never happens on Windows),
+ the list will look like:
+
+ 1. lynx
+ 2. links
+
+ Just as if all :filextype commands were not there.
+
+ The purpose of such differentiation is to allow comfortable use
+ of vifm with same settings in desktop environment/through remote
+ connection (SSH)/in native console.
+
+ :filext[ype] filename
+ list (in menu mode) currently registered patterns that match
+ specified file name. Same as ":filetype filename".
+
+ :fileviewer
+
+ :filev[iewer] pat1,pat2,... command1,command2,...
+ register specified list of commands as viewers for each of the
+ patterns. Viewer is a command which output is captured and dis-
+ played in 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.
+ Comma escaping and missing commands processing rules as for
+ :filetype apply to this command. See "Patterns" section below
+ for pattern definition.
+
+ Example for zip archives:
+
+ fileviewer *.zip,*.jar,*.war,*.ear zip -sf %c, echo "No zip to preview:"
+
+ :filev[iewer] filename
+ list (in menu mode) currently registered patterns that match
+ specified filename.
+
+ :filter
+
+ :filter[!] regular_expression_pattern
+
+ :filter[!] /regular_expression_pattern/[flags]
+ 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 pat-
+ tern. Use '!' to control state of filter inversion after updat-
+ ing filter value (also see 'cpoptions' description). Filter is
+ matched case sensitively on *nix and case insensitively on Win-
+ dows.
+
+ Supported flags:
+ - "i" makes filter case insensitive;
+ - "I" makes filter case sensitive.
+
+ Flags might be repeated multiple times, later ones win (e.g.
+ "iiiI" is equivalent to "I" and "IiIi" is the same as "i").
+
+ " filter all files ending in .o from the filelist.
+ :filter /.o$/
+
+ Note: vifm uses extended regular expressions.
+
+ :filter
+ reset filter (set it to empty string) and show all files.
+
+ :filter!
+ same as :invert.
+
+ :filter?
+ show information on local, name and auto filters.
+
+ :find
+
+ :[range]fin[d] pattern
+ display results of find command in the menu. Searches among
+ 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]
+ repeat last :find command.
+
+ :finish
+
+ :fini[sh]
+ stop sourcing a script. Can only be used in a vifm script file.
+ This is a quick way to skip the rest of the file.
+
+ :grep
+
+ :[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 grep 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.
+
+ :help
+
+ :h[elp]
+ show the help file.
+
+ :h[elp] argument
+ is the same as using ':h argument' in vim. Use vifm-<something>
+ to get help on vifm (tab completion works). This form of the
+ command doesn't work when 'vimhelp' option is off.
+
+ :highlight
+
+ :hi[ghlight]
+ will show information about all highlight groups in the current
+ directory.
+
+ :hi[ghlight] clear
+ will reset all highlighting to builtin defaults.
+
+ :hi[ghlight] ( group-name | {pat1,pat2,...} | /regexp/ )
+ will show information on given highlight group or file name pat-
+ tern of color scheme used in the active view.
+
+ :hi[ghlight] ( group-name | {pat1,pat2,...} | /regexp/[iI] )
+ cterm=style | ctermfg=color | ctermbg=color
+ sets style (cterm), foreground (ctermfg) or/and background
+ (ctermbg) parameters of highlight group or file name pattern for
+ color scheme used in the active view.
+
+ All style values as well as color names are case insensitive.
+
+ Available style values (some of them can be combined):
+ - bold
+ - underline
+ - reverse or inverse
+ - standout
+ - none
+
+ Available group-name values:
+ - Win - color of all windows (views, dialogs, menus) and default color
+ for their content (e.g. regular files in views)
+ - 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
+ - JobLine - color of job line that appears above the status line
+ - WildMenu - color of the wild menu items
+ - CurrLine - line at cursor position in active view
+ - OtherLine - line at cursor position in inactive view
+ - Selected - color of selected files
+ - Directory - color of directories
+ - Link - color of symbolic links in the views
+ - BrokenLink - color of broken symbolic links
+ - Socket - color of sockets
+ - Device - color of block and character devices
+ - Executable - color of executable files
+ - Fifo - color of fifo pipes
+
+ Available colors:
+ - -1 or default or none - default or transparent
+ - black and lightblack
+ - red and lightred
+ - green and lightgreen
+ - yellow and lightyellow
+ - blue and lightblue
+ - magenta and lightmagenta
+ - cyan and lightcyan
+ - white and lightwhite
+ - 0-255 - corresponding colors from 256-color palette
+
+ Light versions of colors are regular colors with bold attribute set.
+ So order of arguments of :highlight command is important and it's bet-
+ ter to put "cterm" in front of others to prevent it from overwriting
+ attributes set by "ctermfg" or "ctermbg" arguments.
+
+ For convenience of color scheme authors xterm-like names for 256 color
+ palette is also supported. The mapping is taken from
+ http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim Dupli-
+ cated entries were altered by adding an underscore followed by numeri-
+ cal suffix.
+
+ 0 Black 86 Aquamarine1 172 Orange3
+ 1 Red 87 DarkSlateGray2 173 LightSalmon3_2
+ 2 Green 88 DarkRed_2 174 LightPink3
+ 3 Yellow 89 DeepPink4_2 175 Pink3
+ 4 Blue 90 DarkMagenta 176 Plum3
+ 5 Magenta 91 DarkMagenta_2 177 Violet
+ 6 Cyan 92 DarkViolet 178 Gold3_2
+ 7 White 93 Purple 179 LightGoldenrod3
+ 8 LightBlack 94 Orange4_2 180 Tan
+ 9 LightRed 95 LightPink4 181 MistyRose3
+ 10 LightGreen 96 Plum4 182 Thistle3
+ 11 LightYellow 97 MediumPurple3 183 Plum2
+ 12 LightBlue 98 MediumPurple3_2 184 Yellow3_2
+ 13 LightMagenta 99 SlateBlue1 185 Khaki3
+ 14 LightCyan 100 Yellow4 186 LightGoldenrod2
+ 15 LightWhite 101 Wheat4 187 LightYellow3
+ 16 Grey0 102 Grey53 188 Grey84
+ 17 NavyBlue 103 LightSlateGrey 189 LightSteelBlue1
+ 18 DarkBlue 104 MediumPurple 190 Yellow2
+ 19 Blue3 105 LightSlateBlue 191 DarkOliveGreen1
+ 20 Blue3_2 106 Yellow4_2 192 DarkOliveG-
+ reen1_2
+ 21 Blue1 107 DarkOliveGreen3 193 DarkSeaGreen1_2
+ 22 DarkGreen 108 DarkSeaGreen 194 Honeydew2
+ 23 DeepSkyBlue4 109 LightSkyBlue3 195 LightCyan1
+ 24 DeepSkyBlue4_2 110 LightSkyBlue3_2 196 Red1
+ 25 DeepSkyBlue4_3 111 SkyBlue2 197 DeepPink2
+ 26 DodgerBlue3 112 Chartreuse2_2 198 DeepPink1
+ 27 DodgerBlue2 113 DarkOliveGreen3_2 199 DeepPink1_2
+ 28 Green4 114 PaleGreen3_2 200 Magenta2_2
+ 29 SpringGreen4 115 DarkSeaGreen3 201 Magenta1
+ 30 Turquoise4 116 DarkSlateGray3 202 OrangeRed1
+ 31 DeepSkyBlue3 117 SkyBlue1 203 IndianRed1
+ 32 DeepSkyBlue3_2 118 Chartreuse1 204 IndianRed1_2
+ 33 DodgerBlue1 119 LightGreen_2 205 HotPink
+ 34 Green3 120 LightGreen_3 206 HotPink_2
+ 35 SpringGreen3 121 PaleGreen1 207 MediumOrchid1_2
+ 36 DarkCyan 122 Aquamarine1_2 208 DarkOrange
+ 37 LightSeaGreen 123 DarkSlateGray1 209 Salmon1
+ 38 DeepSkyBlue2 124 Red3 210 LightCoral
+ 39 DeepSkyBlue1 125 DeepPink4_3 211 PaleVioletRed1
+ 40 Green3_2 126 MediumVioletRed 212 Orchid2
+ 41 SpringGreen3_2 127 Magenta3 213 Orchid1
+ 42 SpringGreen2 128 DarkViolet_2 214 Orange1
+ 43 Cyan3 129 Purple_2 215 SandyBrown
+ 44 DarkTurquoise 130 DarkOrange3 216 LightSalmon1
+ 45 Turquoise2 131 IndianRed 217 LightPink1
+ 46 Green1 132 HotPink3 218 Pink1
+ 47 SpringGreen2_2 133 MediumOrchid3 219 Plum1
+ 48 SpringGreen1 134 MediumOrchid 220 Gold1
+ 49 MediumSpringGreen 135 MediumPurple2 221 LightGolden-
+ rod2_2
+ 50 Cyan2 136 DarkGoldenrod 222 LightGolden-
+ rod2_3
+ 51 Cyan1 137 LightSalmon3 223 NavajoWhite1
+ 52 DarkRed 138 RosyBrown 224 MistyRose1
+ 53 DeepPink4 139 Grey63 225 Thistle1
+ 54 Purple4 140 MediumPurple2_2 226 Yellow1
+ 55 Purple4_2 141 MediumPurple1 227 LightGoldenrod1
+ 56 Purple3 142 Gold3 228 Khaki1
+ 57 BlueViolet 143 DarkKhaki 229 Wheat1
+ 58 Orange4 144 NavajoWhite3 230 Cornsilk1
+ 59 Grey37 145 Grey69 231 Grey100
+ 60 MediumPurple4 146 LightSteelBlue3 232 Grey3
+ 61 SlateBlue3 147 LightSteelBlue 233 Grey7
+ 62 SlateBlue3_2 148 Yellow3 234 Grey11
+ 63 RoyalBlue1 149 DarkOliveGreen3_3 235 Grey15
+ 64 Chartreuse4 150 DarkSeaGreen3_2 236 Grey19
+ 65 DarkSeaGreen4 151 DarkSeaGreen2 237 Grey23
+ 66 PaleTurquoise4 152 LightCyan3 238 Grey27
+ 67 SteelBlue 153 LightSkyBlue1 239 Grey30
+ 68 SteelBlue3 154 GreenYellow 240 Grey35
+ 69 CornflowerBlue 155 DarkOliveGreen2 241 Grey39
+ 70 Chartreuse3 156 PaleGreen1_2 242 Grey42
+ 71 DarkSeaGreen4_2 157 DarkSeaGreen2_2 243 Grey46
+ 72 CadetBlue 158 DarkSeaGreen1 244 Grey50
+ 73 CadetBlue_2 159 PaleTurquoise1 245 Grey54
+ 74 SkyBlue3 160 Red3_2 246 Grey58
+ 75 SteelBlue1 161 DeepPink3 247 Grey62
+ 76 Chartreuse3_2 162 DeepPink3_2 248 Grey66
+ 77 PaleGreen3 163 Magenta3_2 249 Grey70
+ 78 SeaGreen3 164 Magenta3_3 250 Grey74
+ 79 Aquamarine3 165 Magenta2 251 Grey78
+ 80 MediumTurquoise 166 DarkOrange3_2 252 Grey82
+ 81 SteelBlue1_2 167 IndianRed_2 253 Grey85
+ 82 Chartreuse2 168 HotPink3_2 254 Grey89
+ 83 SeaGreen2 169 HotPink2 255 Grey93
+ 84 SeaGreen1 170 Orchid
+ 85 SeaGreen1_2 171 MediumOrchid1
+
+ There are two colors (foreground and background) and only one bold
+ attribute. Thus single bold attribute affects both colors when
+ "reverse" attribute is used in vifm run inside terminal emulator. At
+ the same time linux native console can handle boldness of foreground
+ and background colors independently, but for consistency with terminal
+ emulators this is available only implicitly by using light versions of
+ colors. This behaviour might be changed in the future.
+
+ Although vifm supports 256 colors in a sense they are supported by UI
+ drawing library, whether you will be able to use all of them highly
+ depends on your terminal. To set up terminal properly, make sure that
+ $TERM in the environment you run vifm is set to name of 256-color ter-
+ minal (on *nixes it can also be set via X resources), e.g.
+ xterm-256color. One can find list of available terminal names by list-
+ ing /usr/lib/terminfo/. Number of colors supported by terminal with
+ current settings can be checked via "tput colors" command.
+
+ Here is the hierarchy of highlight groups, which you need to know for
+ using transparency:
+ JobLine
+ StatusLine
+ WildMenu
+ Border
+ CmdLine
+ ErrorMsg
+ Win
+ File name specific highlights
+ Directory
+ Link
+ BrokenLink
+ Socket
+ Device
+ Fifo
+ Executable
+ Selected
+ CurrLine
+ OtherLine
+ TopLine
+ TopLineSel
+
+ "none" means default terminal color for highlight groups at the first
+ level of the hierarchy and transparency for all others.
+
+ Here file name specific highlights mean those configured via globs ({})
+ or regular expressions (//). At most one of them is applied per file
+ entry, namely the first that matches file name, hence order of :high-
+ light commands might be important in certain cases.
+
+ :history
+
+ :his[tory]
+ creates a pop-up menu of directories visited.
+
+ :his[tory] x
+ x can be:
+ d[ir] or . show directory history.
+ c[md] or : show command line history.
+ s[earch] or / show search history and search forward on l key.
+ f[search] or / show search history and search forward on l key.
+ b[search] or ? show search history and search backward on l key.
+ i[nput] or @ show prompt history (e.g. on one file renaming).
+ fi[lter] or = show filter history (see description of the "="
+ normal mode command).
+
+ :if
+
+ :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.
+
+ Example:
+
+ if $TERM == "screen.linux"
+ highlight CurrLine ctermfg=lightwhite ctermbg=lightblack
+ else
+ highlight CurrLine cterm=bold,reverse ctermfg=black ctermbg=white
+ endif
+
+ :invert
+
+ :invert [f]
+ invert file name filter.
+
+ :invert? [f]
+ show current filter state.
+
+ :invert s
+ invert selection.
+
+ :invert o
+ invert sorting order of the primary sorting key.
+
+ :invert? o
+ show sorting order of the primary sorting key.
+
+ :jobs
+
+ :jobs shows menu of current backgrounded processes.
+
+ :let
+
+ :let $ENV_VAR = <expr>
+ sets environment variable. Warning: setting environment vari-
+ able to an empty string on Windows removes it.
+
+ :let $ENV_VAR .= <expr>
+ append value to environment variable.
+
+ Where <expr> could be a single-quoted string, double-quoted string, an
+ environment variable, function call or a concatanation of any of them
+ in any order using the '.' operator. Any whitespace is ignored.
+
+ :locate
+
+ :locate filename
+ use "locate" command to create a menu of filenames. Selecting a
+ file from the menu will reload the current file list in vifm to
+ show the selected file. By default the command relies on the
+ external "locate" utility (it's assumed that its database is
+ already built), which can be customized by altering value of the
+ 'locateprg' option.
+
+ :locate
+ repeats last :locate command.
+
+ :ls
+
+ :ls lists windows of active terminal multiplexer (only when terminal
+ multiplexer is used). This is achieved by issuing proper com-
+ mand for active terminal multiplexer, thus the list is not han-
+ dled by vifm.
+
+ :lstrash
+
+ :lstrash
+ displays a menu with list of files in trash. Each element of
+ the list is original path of a deleted file, thus the list can
+ contain duplicates.
+
+ :mark
+
+ :[range]ma[rk][?] x [/full/path] [filename]
+ Set mark x (a-zA-Z0-9) at /full/path and filename. By default
+ current directory is being used. If no filename was given and
+ /full/path is current directory then last file in [range] is
+ used. Using of macros is allowed. Question mark will stop com-
+ mand from overwriting existing marks.
+
+ :marks
+
+ :marks create a pop-up menu of bookmarks.
+
+ :marks list ...
+ display the contents of the marks that are mentioned in list.
+
+ :messages
+
+ :mes[sages]
+ shows previously given messages (up to 50).
+
+ :mkdir
+
+ :mkdir[!] dir ...
+ creates directories with given names. "!" means make parent
+ directories as needed. Macros are expanded.
+
+ :move
+
+ :[range]m[ove][!?][ &]
+ move files to directory of other view. With "?" prompts for
+ destination file names in an editor. "!" forces overwrite.
+
+ :[range]m[ove][!] path[ &]
+ move files to directory specified with the path (absolute or
+ relative to directory of other view). "!" forces overwrite.
+
+ :[range]m[ove][!] name1 name2...[ &]
+ move files to directory of other view giving each next file a
+ corresponding name from the argument list. "!" forces over-
+ write.
+
+ :nohlsearch
+
+ :noh[lsearch]
+ clear selection in current pane.
+
+ :normal
+
+ :norm[al][!] commands
+ execute normal mode commands. If "!" is used, user defined map-
+ pings are ignored. Unfinished last command is aborted as if
+ <esc> or <c-c> was typed. A ":" should be completed as well.
+ Commands can't start with a space, so put a count of 1 (one)
+ before it.
+
+ :only
+
+ :on[ly]
+ switch to a one window view.
+
+ :popd
+
+ :popd remove pane directories from stack.
+
+ :pushd
+
+ :pushd[!] /curr/dir [/other/dir]
+ add pane directories to stack and process arguments like :cd
+ command.
+
+ :pushd exchange the top two items of the directory stack.
+
+ :pwd
+
+ :pw[d] show the present working directory.
+
+ :quit
+
+ :q[uit][!]
+ exit vifm (add ! to skip saving changes and checking for active
+ backgrounded commands).
+
+ :redraw
+
+ :redr[aw]
+ redraw the screen immediately.
+
+ :registers
+
+ :reg[isters]
+ display menu with registers content.
+
+ :reg[isters] list ...
+ display the contents of the numbered and named registers that
+ are mentioned in list (for example "az to display "", "a and "z
+ content).
+
+ :rename
+
+ :[range]rename[!]
+ rename files using vi to edit names. ! means go recursively
+ through directories.
+
+ :[range]rename name1 name2...
+ rename each of selected files to a corresponding name.
+
+ :restart
+
+ :restart
+ free a lot of things (histories, commands, etc.), reread
+ vifminfo and vifmrc files and run startup commands passed in the
+ argument list, thus losing all unsaved changes (e.g. recent his-
+ tory or keys mapped in current session).
+
+ :restore
+
+ :[range]restore
+ restore file from trash directory, doesn't work outside one of
+ trash directories. See "Trash directory" section below.
+
+ :rlink
+
+ :[range]rlink[!?]
+ create relative symbolic links to files in directory of other
+ view. With "?" prompts for destination file names in an editor.
+ "!" forces overwrite.
+
+ :[range]rlink[!] path
+ create relative symbolic links of files in directory specified
+ with the path (absolute or relative to directory of other view).
+ "!" forces overwrite.
+
+ :[range]rlink[!] name1 name2...
+ create relative symbolic links of files in directory of other
+ view giving each next link a corresponding name from the argu-
+ ment list. "!" forces overwrite.
+
+ :screen
+
+ :screen
+ toggle whether to use the terminal multiplexer or not.
+ A terminal multiplexer uses pseudo terminals to allow multiple
+ windows to be used in the console or in a single xterm. Start-
+ ing vifm from terminal multiplexer with appropriate support
+ turned on will cause vifm to open a new terminal multiplexer
+ window for each new file edited or program launched from vifm.
+ This requires screen version 3.9.9 or newer for the screen -X
+ argument or tmux (1.8 version or newer is recommended).
+
+ :screen?
+ display 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.
+
+ :set
+
+ :se[t] display all options that differ from their default value.
+
+ :se[t] all
+ display all options.
+
+ :se[t] opt1=val1 opt2='val2' opt3="val3" ...
+ sets given options.
+ 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 set options - option=x, option+=x and option-=x
+ - for charset options - option=x, 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^=x - toggle x presence among values of the option
+
+ Option name can be prepended and appended by any number of
+ whitespace characters.
+
+ :shell
+
+ :sh[ell]
+ start a shell in current directory.
+
+ :sort
+
+ :sor[t]
+ display dialog with 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).
+
+ :source
+
+ :so[urce] file
+ read command-line commands from the file.
+
+ :split
+
+ :sp[lit]
+ switch to a two window horizontal view.
+
+ :sp[lit]!
+ toggle horizontal window splitting.
+
+ :sp[lit] path
+ splits the window horizontally to show both file directories.
+ Also changes other pane to path (absolute or relative to current
+ directory of active pane).
+
+ :substitute
+
+ :[range]s[ubstitute]/pattern/string/[flags]
+ for each file in range replace a match of pattern with string.
+
+ String can contain \0...\9 to link to capture groups (\0 - all match,
+ \1 - first group, etc.).
+
+ Pattern is stored in search history.
+
+ Available flags:
+
+ - i - ignore case (the 'ignorecase' and 'smartcase' options are not
+ used)
+
+ - I - don't ignore case (the 'ignorecase' and 'smartcase' options are
+ not used)
+
+ - g - substitute all matches in each file name (each g toggles this)
+
+ :[range]s[ubstitute]/pattern
+ substitute pattern with an empty string.
+
+ :[range]s[ubstitute]//string/[flags]
+ use last pattern from search history.
+
+ :[range]s[ubstitute]
+ repeat previous substitution command.
+
+ :sync
+
+ :sync [relative path]
+ change the other pane to the current pane directory or to some
+ path relative to the current directory. Using macros is
+ allowed.
+
+ :sync! change the other pane to the current pane directory and synchro-
+ nize cursor position.
+
+
+ :sync! [location | cursorpos | localopts | filters | all]...
+ change enumerated properties of the other pane to match corre-
+ sponding properties of the current pane. Arguments have the
+ following meanings:
+
+ - location - current directory of the pane;
+
+ - cursorpos - cursor position (doesn't make sense without
+ "location");
+
+ - localopts - all local options;
+
+ - filters - all filters;
+
+ - all - all of the above.
+
+ :touch
+
+ :touch file...
+ create file(s). Aborts on errors. Doesn't update time of
+ existing files. Macros are expanded.
+
+ :tr
+
+ :[range]tr/pattern/string/
+ for each file in range transliterate the characters which appear
+ in pattern to the corresponding character in string. When
+ string is shorter than pattern, it's padded with its last char-
+ acter.
+
+ :trashes
+
+ :trashes
+ lists all valid trash directories in a menu. Only non-empty and
+ writable trash directories are shown. This is exactly the list
+ of directories that are cleared when :empty command is executed.
+
+ :trashes?
+ same as :trashes, but also displays size of each trash direc-
+ tory.
+
+ :undolist
+
+ :undol[ist]
+ display list of latest changes. Use "!" to see actual commands.
+
+ :unlet
+
+ :unl[et][!] $ENV_VAR1 $ENV_VAR2 ...
+ remove environment variables. Add ! to omit displaying of warn-
+ ings about nonexistent variables.
+
+ :version
+
+ :ve[rsion]
+ show menu with version information.
+
+ :vifm
+
+ :vifm same as :version.
+
+ :view
+
+ :vie[w]
+ toggle on and off the quick file view.
+
+ :vie[w]!
+ turn on quick file view if it's off.
+
+ :volumes
+
+ :volumes
+ only for MS-Windows
+ display menu with volume list. Hitting l (or Enter) key opens
+ appropriate volume in the current pane.
+
+ :vsplit
+
+ :vs[plit]
+ switch to a two window vertical view.
+
+ :vs[plit]!
+ toggle window vertical splitting.
+
+ :vs[plit] path
+ split the window vertically to show both file directories. And
+ changes other pane to path (absolute or relative to current
+ directory of active pane).
+
+ :windo
+
+ :windo [command...]
+ execute command for each pane (same as :winrun % command).
+
+ :winrun
+
+ :winrun type [command...]
+ execute command for pane(s), which is determined by type argu-
+ ment:
+ - ^ - top-left pane
+ - $ - bottom-right pane
+ - % - all panes
+ - . - current pane
+ - , - other pane
+
+ :write
+
+ :w[rite]
+ write vifminfo file.
+
+ :wq
+
+ :wq[!] same as :quit, but ! only disables check of backgrounded com-
+ mands.
+
+ :xit
+
+ :x[it][!]
+ will exit Vifm (add ! if you don't want to save changes).
+
+ :yank
+
+ :[range]y[ank] [reg] [count]
+ will yank files to the reg register.
+
+ :map lhs rhs
+
+ :map lhs rhs
+ map lhs key sequence to rhs in normal and visual modes.
+
+ :map! lhs rhs
+ map lhs key sequence to rhs in command line mode.
+
+
+ :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.
+
+ :map
+
+ :cm[ap]
+ list all maps in command line mode.
+
+ :mm[ap]
+ list all maps in menu mode.
+
+ :nm[ap]
+ list all maps in normal mode.
+
+ :qm[ap]
+ list all maps in view mode.
+
+ :vm[ap]
+ list all maps in visual mode.
+
+ :map beginning
+
+ :cm[ap] beginning
+ list all maps in command line mode that start with the begin-
+ ning.
+
+ :mm[ap] beginning
+ list all maps in menu mode that start with the beginning.
+
+ :nm[ap] beginning
+ list all maps in normal mode that start with the beginning.
+
+ :qm[ap] beginning
+ list all maps in view mode that start with the beginning.
+
+ :vm[ap] beginning
+ list all maps in visual mode that start with the beginning.
+
+ :noremap
+
+ :no[remap] lhs rhs
+ map the key sequence lhs to {rhs} for normal and visual modes,
+ but disallow mapping of rhs.
+
+ :no[remap]! lhs rhs
+ map the key sequence lhs to {rhs} for command line mode, but
+ 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.
+
+ :unmap
+
+ :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.
+
+ %u Process command output as list of paths and compose custom view
+ out of it.
+
+ %U Same as %u, but implies less list updates inside vifm, which is
+ absence of sorting at the moment.
+
+ %S Show command output in the status bar.
+
+ %s Execute command in split window of active terminal multiplexer
+ (ignored if not running inside one).
+
+ %n Forbid using of terminal multiplexer to run the command.
+
+ %i Completely ignore command output.
+
+
+ The following dimensions and coordinates are in characters:
+
+ %px x coordinate of top-left corner of preview area.
+
+ %py y coordinate of top-left corner of preview area.
+
+ %pw width of preview area.
+
+ %ph height of preview area.
+
+
+ Use %% if you need to put a percent sign in your command.
+
+ Note that %m, %M, %s, %S, %i, %u and %U macros are mutually exclusive.
+ Only the last one of them on the command will take effect.
+
+ You can use file name modifiers after %c, %C, %f, %F, %b, %d and %D
+ macros. Supported modifiers are:
+
+ - :p - full path
+
+ - :u - UNC name of path (e.g. "\\server" in
+ "\\server\share"), Windows only. Expands to current computer name
+ for not UNC paths.
+
+ - :~ - relative to the home directory
+
+ - :. - relative to current directory
+
+ - :h - head of the file name
+
+ - :t - tail of the file name
+
+ - :r - root of the file name (without last extension)
+
+ - :e - extension of the file name (last one)
+
+ - :s?pat?sub? - substitute the first occurrence of pat with sub.
+ You can use any character for '?', but it must not occur in pat or
+ sub.
+
+ - :gs?pat?sub? - like :s, but substitutes all occurrences of pat with
+ sub.
+
+ See ':h filename-modifiers' in Vim's documentation for the detailed
+ 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 useful on
+ Windows systems.
+
+ Position and quantity (if there is any) of %m, %M, %S or %s macros in
+ the command is unimportant. All their occurrences are removed from the
+ resulting command.
+
+ %c and %f macros are expanded to file names only, when %C and %F are
+ expanded to full paths. %f and %F follow this in %b too.
+
+ :com move mv %f %D
+ set the :move command to move all of the files selected in the
+ current directory to the other directory.
+
+ The %a macro is replaced with any arguments given to an alias command.
+ All arguments are considered optional.
+ :com lsl !!ls -l %a - set the lsl command to execute ls -l with
+ or without an argument.
+
+ :lsl<Enter>
+ will list the directory contents of the current directory.
+
+ :lsl filename<Enter>
+ will list only the given filename.
+
+ The macros can also be used in directly executing commands. ":!mv %f
+ %D" would move the current directory selected files to the other direc-
+ tory.
+
+ Appending & to the end of a command causes it to be executed in the
+ background. Typically you want to run two kinds of external commands
+ in the background:
+
+ - GUI applications that doesn't fork thus block vifm (:!sxiv %f &);
+
+ - console tools that do not work with terminal (:!mv %f %D &).
+
+ You don't want to run terminal commands, which require terminal input
+ or output something in background because they will mess up vifm's TUI.
+ Anyway, if you did run such a command, you can use Ctrl-L key to update
+ vifm's TUI.
+
+ Rewriting the example command with macros given above with background-
+ ing:
+
+ %m, %M, %s, %S, %u and %U macros cannot be combined with background
+ mark (" &") as it doesn't make much sense.
+
+Command backgrounding
+ Copy and move operation can take a lot of time to proceed. That's why
+ vifm supports backgrounding of this two operations. To run :copy,
+ :move or :delete command in the background just add " &" at the end of
+ a command.
+
+ For each background operation a new thread is created. 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.
+
+Cancellation
+ Note that cancellation works somewhat different on Windows platform due
+ to different mechanism of break signal propagation. One also might
+ need to use Ctrl-Break shortcut instead of Ctrl-C.
+
+ There are two types of operations that can be cancelled:
+
+ - file system operations;
+
+ - mounting with FUSE (but not unmounting as it can cause loss of
+ data);
+
+ - calls of external applications.
+
+ Note that vifm never terminates applications, it sends SIGINT signal
+ and lets the application quit normally.
+
+ When one of set of operations is cancelled (e.g. copying of 5th file of
+ 10 files), further operations are cancelled too. In this case undo
+ history will contain only actually performed operations.
+
+ Cancelled operations are indicated by "(cancelled)" suffix appended to
+ information message on statusbar.
+
+ File system operations
+
+ Currently the following commands can be cancelled: :alink, :chmod,
+ :chown, :clone, :copy, :delete, :mkdir, :move, :restore, :rlink,
+ :touch. File putting (on p/P key) can be cancelled as well. It's not
+ hard to see that these are mainly long-running operations.
+
+ Cancelling commands when they are repeated for undo/redo operations is
+ allowed for convenience, but is not recommended as further undo/redo
+ operations might get blocked by side-effects of partially cancelled
+ group of operations.
+
+ These commands can't be cancelled: :empty, :rename, :substitute, :tr.
+
+ Mounting with FUSE
+
+ It's not considered to be an error, so only notification on the status
+ bar is shown.
+
+ External application calls
+
+ Each of this operations can be cancelled: :apropos, :find, :grep,
+ :locate.
+
+Patterns
+ :highlight, :filetype, :filextype and :fileviewer commands support both
+ globs and regular expressions as patterns to match file names or full
+ paths.
+
+ There are five possible ways to write them:
+
+ 1. {comma-seperated-name-globs}
+
+ 2. {{comma-seperated-path-globs}}
+
+ 3. /name-regular-expression/[iI]
+
+ 4. //path-regular-expression//[iI]
+
+ 5. undecorated-pattern
+
+ The last form is implicitly refers to one of others. :highlight does
+ not accept undecorated form, while :filetype, :filextype and :file-
+ viewer treat it as list of name globals.
+
+ Regular expression patterns are case insensitive by default.
+
+ "Globs" section below provides short overview of globs and some impor-
+ tant points that one needs to know about them.
+
+Globs
+ Globs are always case insensitive as it makes sense in general case.
+
+ *, ?, [ and ] are treated as special symbols in the pattern. E.g.
+
+ :filetype * less %c
+
+ matches all files. One can use character classes for escaping, so
+
+ :filetype [*] less %c
+
+ matches only one file name, the one which contains only asterisk sym-
+ bol.
+
+ * means any number of any characters (possibly an empty substring),
+ with one exception: asterisk at the pattern beginning doesn't match dot
+ in the first position. E.g.
+
+ :fileviewer *.zip,*.jar zip -sf %c
+
+ associates using of zip program to preview all files with zip or jar
+ extensions as listing of their content.
+
+ ? 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 ." and ":trashes" menus is treated like :cd com-
+ mand. This option also affects bookmarks so that navigating to
+ a bookmark doesn't restore cursor position.
+
+ 'columns' 'co'
+ type: integer
+ default: terminal width on startup
+ Terminal width in characters.
+
+ 'cdpath' 'cd'
+ type: string list
+ default: value of $CDPATH with commas instead of colons
+ Specifies locations to check on changing directory with relative
+ path that doesn't start with "./" or "../". When non-empty,
+ current directory is examined after directories listed in the
+ option.
+
+ This option doesn't affect completion of :cd command.
+
+ Example:
+
+ set cdpath=~
+
+ This way ":cd bin" will switch to "~/bin" even if directory
+ named "bin" exists in current directory, while ":cd ./bin" com-
+ mand will ignore value of 'cdpath'.
+
+ 'chaselinks'
+ type: boolean
+ default: false
+ When enabled path of view is always resolved to real path (with
+ all symbolic links expanded).
+
+ 'classify'
+ type: string list
+ default: ":dir:/"
+ Specifies file name prefixes and suffixes depending on file
+ 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 always contain "../" entry regard-
+ less of value of this option. "../" disappears at the moment at
+ least one file is created.
+
+ 'fastrun'
+ type: boolean
+ default: false
+ With this option turned on you can run partially entered com-
+ mands with unambiguous beginning using :! (e.g. :!Te instead of
+ :!Terminal or :!Te<tab>).
+
+ 'fillchars' 'fcs'
+ type: string list
+ default: ""
+ Sets characters used to fill borders.
+ item default Used for
+ vborder:c ' ' left, middle and right vertical borders
+
+ If value is omitted, its default value is used. Example:
+
+ set fillchars=vborder:.
+
+ 'findprg'
+ type: string
+ default: "find %s %a -print , -type d \( ! -readable -o ! -exe-
+ cutable \) -prune"
+ Specifies format for an external command to be invoked by the
+ :find command. The format supports 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 %a
+ or %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. Note that when neither %a nor %A are
+ specified, it's %a which is added implicitly.
+
+ The macros can slightly change their meaning depending on :find
+ command arguments. When the first argument points to an exist-
+ ing directory, %s is assigned all arguments and %a/%A are left
+ empty. Otherwise, %s is assigned a dot (".") meaning current
+ directory or list of selected file names, if any. %a/%A are
+ assigned arguments when first argument starts with a dash ("-"),
+ otherwise %a gets an escaped version of arguments, prepended by
+ "-name" (on *nix) or "-iname" (on Windows) predicate.
+
+ %a and %A macros contain almost the same value, the difference
+ is that %a can be escaped and %A is never escaped. %A is to be
+ used mainly on Windows, where shell escaping is a mess and can
+ break command execution.
+
+ Starting from Windows Server 2003 a where command is available,
+ one can configure vifm to use it in the following way:
+
+ set findprg="where /R %s %A"
+
+ As the syntax of this command is rather limited, one can't use
+ :find command with selection of more than one item in this case.
+ The command looks for files only completely ignoring directo-
+ ries.
+
+ When using find port on Windows, another option is to setup
+ 'findprg' like this:
+
+ set findprg="find %s %a"
+
+ 'followlinks'
+ type: boolean
+ default: true
+ Follow links on l or Enter.
+
+ '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, %a or %A macro to specify placement of
+ arguments passed to the :grep command and the %s macro to spec-
+ ify placement of list of files to search in. If some of the
+ macros are not used, they will be implicitly added after a space
+ to the value of the 'grepprg' option in the following order: %i,
+ %a, %s. Note that when neither %a nor %A are specified, it's %a
+ which is added implicitly.
+
+ See 'findprg' option for description of difference between %a
+ and %A.
+
+ Example of setup to use ack (http://beyondgrep.com/) instead of
+ grep:
+
+ set grepprg=ack\ -H\ -r\ %i\ %a\ %s
+
+ or The Silver Searcher (https://github.com/ggreer/the_sil-
+ ver_searcher):
+
+ set grepprg=ag\ --line-numbers\ %i\ %a\ %s
+
+
+
+ '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: boolean
+ 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 and view update for local filter
+ is 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: integer
+ default: terminal height on startup
+ Terminal height in lines.
+
+ 'locateprg'
+ type: string
+ default: "locate %a"
+ Specifies format for an external command to be invoked by the
+ :locate command. The format supports expanding of macros, spe-
+ cific for a particular *prg option, and %% sequence for insert-
+ ing percent sign literally. This option should include the %a
+ macro to specify placement of arguments passed to the :locate
+ command. If the macro is not used, it will be implicitly added
+ after a space to the value of this option.
+
+ 'mintimeoutlen'
+ type: integer
+ default: 150
+ The fracture of 'timeoutlen' in milliseconds that is waited
+ between subsequent input polls, which affects various asynchro-
+ nous operations (detecting changes made by external applica-
+ tions, monitoring background jobs, redrawing UI). There are no
+ strict guarantees, however the higher this value is, the less is
+ CPU load in idle mode.
+
+ 'lsview'
+ type: boolean
+ default: false
+ type: local
+ When this option is set, directory view will be displayed in
+ multiple columns with file names similar to output of `ls -x`
+ command. See "ls-like view" section below for format descrip-
+ tion.
+
+ 'number' 'nu'
+ type: boolean
+ default: false
+ type: local
+ Print line number in front of each file name when 'lsview'
+ option is turned off. Use 'numberwidth' to control width of
+ line number. Also see 'relativenumber'.
+
+ 'numberwidth' 'nuw'
+ type: integer
+ default: 4
+ type: local
+ Minimal number of characters for line number field.
+
+ 'relativenumber' 'rnu'
+ type: boolean
+ default: false
+ type: local
+ Print relative line number in front of each file name when
+ 'lsview' option is turned off. Use 'numberwidth' to control
+ width of line number. Various combinations of 'number' and
+ 'relativenumber' lead to such results:
+
+ nonumber number
+
+ norelativenumber | first | 1 first
+ | second | 2 second
+ | third | 3 third
+
+ relativenumber | 1 first | 1 first
+ | 0 second |2 second
+ | 1 third | 1 third
+
+
+ 'rulerformat' 'ruf'
+ type: string
+ default: "%l/%S "
+ Determines the content of the ruler. Its minimal width is 13
+ characters and it's right aligned. Following macros are sup-
+ ported:
+ %l - file number
+ %L - total number of files in view (including filtered out
+ ones)
+ %- - number of filtered out files
+ %S - number of displayed files
+ %= - separation point between left and right align items
+ %% - percent sign
+ %[ - designates beginning of an optional block
+ %] - designates end of an optional block
+
+ Percent sign can be followed by optional minimum field width.
+ Add '-' before minimum field width if you want field to be right
+ aligned. Note ambiguity with number of filtered out files,
+ which can be resolved with the help of width field ("%0-").
+
+ Example:
+
+ set rulerformat='%2l-%S%[ +%0-%]'
+
+ 'runexec'
+ type: boolean
+ default: false
+ Run executable file on Enter or l.
+
+ 'scrollbind' 'scb'
+ type: boolean
+ default: false
+ When this option is set, vifm will try to keep difference of
+ scrolling positions of two windows constant.
+
+ 'scrolloff' 'so'
+ type: integer
+ default: 0
+ Minimal number of screen lines to keep above and below the cur-
+ sor. If you want cursor line to always be in the middle of the
+ view (except at the beginning or end of the file list), set this
+ option to some large value (e.g. 999).
+
+ 'shell' 'sh'
+ type: string
+ default: $SHELL or "/bin/sh" or "cmd" (on MS-Windows)
+ Full path to the shell to use to run external commands.
+
+ 'shortmess' 'shm'
+ type: charset
+ default: "p"
+ 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.
+ p - use tilde shortening in view titles.
+
+ 'slowfs'
+ type: string list
+ default: ""
+ only for *nix
+ A list of mounter fs name beginnings (first column in /etc/mtab
+ or /proc/mounts) or paths prefixes for fs/directories that work
+ too slow for you. This option can be used to stop vifm from
+ making some requests to particular kinds of file systems that
+ can slow down file browsing. Currently this means don't check
+ if directory has changed, skip check if target of symbolic links
+ exists, assume that link target located on slow fs to be a
+ directory (allows entering directories and navigating to files
+ via gf).
+
+ Example for autofs root /mnt/autofs:
+
+ set slowfs+=/mnt/autofs
+
+ 'smartcase' 'scs'
+ type: boolean
+ default: false
+ Overrides the ignorecase option if the search pattern contains
+ at least one upper case character. Only used when ignorecase
+ option is enabled. It doesn't affect file filtering.
+
+ 'sort' type: string list
+ default: +name on *nix and +iname on Windows
+ type: local
+ Sets list of sorting keys (first item is primary key, second is
+ secondary key, etc.):
+ [+-]ext - extension
+ [+-]name - name (including extension)
+ [+-]iname - name (including extension, ignores case)
+ [+-]type - file type (dir/reg/exe/link/char/block/sock/fifo)
+ [+-]dir - directory grouping (directory < file)
+ [+-]gid - group id (*nix only)
+ [+-]gname - group name (*nix only)
+ [+-]mode - file type derived from its mode (*nix only)
+ [+-]perms - permissions string (*nix only)
+ [+-]uid - owner id (*nix only)
+ [+-]uname - owner name (*nix only)
+ [+-]size - size
+ [+-]atime - time accessed (e.g. read, executed)
+ [+-]ctime - time changed (changes in metadata, e.g. mode)
+ [+-]mtime - time modified (when file contents is changed)
+
+ Note: look for st_atime, st_ctime and st_mtime in "man 2 stat"
+ for more information on time keys.
+
+ '+' means ascending sort for this key, and '-' means descending
+ sort.
+
+ In case "name" ("iname" on Windows) is skipped, it will be added
+ at the end automatically.
+
+ Value of the option is checked to include default sorting key
+ (name on *nix, iname on Windows). When it is absent, the key is
+ appended to the value of the option.
+
+ Type key is somewhat similar in this regard but it's added
+ implicitly: when "type" is not specified, sorting behaves as if
+ it was the first key in the list. That's why if one wants sort-
+ ing algorithm to mix directories and files, "type" should be
+ appended to sorting option, for example like this:
+
+ set sort+=type
+
+ or
+
+ set sort=-size,type
+
+ Value of the option is checked to include type key and default
+ sorting key (name on *nix, iname on Windows). Here is what hap-
+ pens if one of them is missing:
+
+ - type key is added at the beginning;
+
+ - default key is added at the end;
+
+ all other keys are left untouched (at most they are moved).
+
+ This option also changes view columns according to primary sort-
+ ing key set, unless 'viewcolumns' option is not empty.
+
+ 'sortnumbers'
+ type: boolean
+ default: false
+ 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.
+
+ 'syscalls'
+ type: boolean
+ default: false
+ When disabled, vifm will rely on external applications to per-
+ form file-system operations, otherwise system calls are used
+ instead (much faster). The feature is {EXPERIMENTAL} and {WORK-
+ IN-PROGRESS}. The option will be eventually removed. Mostly
+ *nix-like systems are affected.
+
+ 'tabstop' 'ts'
+ type: integer
+ default: value from curses library
+ Number of spaces that a Tab in the file counts for.
+
+ 'timefmt'
+ type: string
+ default: " %m/%d %H:%M"
+ Format of time in file list. See "man 1 date" or "man 3 strf-
+ time" for details.
+
+ 'timeoutlen' 'tm'
+ type: integer
+ default: 1000
+ The time in milliseconds that is waited for a mapped key in case
+ of already typed key sequence is ambiguous.
+
+ 'trash'
+ type: boolean
+ default: true
+ Use trash directory. See "Trash directory" section below.
+
+ 'trashdir'
+ type: string
+ default: "%r/.vifm-Trash,$VIFM/Trash" or if $VIFM/Trash doesn't
+ exist
+ "%r/.vifm-Trash,$XDG_DATA_HOME/vifm/Trash"
+ List of trash directory path specifications, separated with com-
+ mas. Each list item either defines an absolute path to trash
+ directory or a path relative to a mount point root when list
+ element starts with "%r/". Value of the option can contain
+ environment variables (of form "$envname"), which will be
+ expanded (prepend $ with a slash to prevent expansion). Envi-
+ ronment variables are expanded when the option is set.
+
+ When new file gets cut (deleted) vifm traverses each element of
+ the option in the order of their appearance and uses first trash
+ directory that it was able to create or that is already
+ writable.
+
+ Default value tries to use trash directory per mount point and
+ falls back to ~/.vifm/Trash on failure.
+
+ Will attempt to create the directory if it does not exist. See
+ "Trash directory" section below.
+
+ 'tuioptions' 'to'
+ type: charset
+ default: "ps"
+ Each flag configures some aspect of TUI appearance. The flags
+ are:
+ p - when included, file list inside a pane gets additional sin-
+ gle character padding on left and right sides;
+ s - when included, left and right borders (side borders, hence
+ "s" character) are visible.
+
+ 'undolevels' 'ul'
+ type: integer
+ default: 100
+ Maximum number of changes that can be undone. Note that here
+ single file operation is used as a unit, not operation, i.e.
+ deletion of 101 files will exceed default limit.
+
+ 'vicmd'
+ type: string
+ default: "vim"
+ The actual command used to start vi. Ampersand sign at the end
+ (regardless whether it's preceded by space or not) means back-
+ grounding of command.
+
+ '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.
+
+ 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 - primary color scheme
+ savedirs - save last visited directory (requires dhistory)
+ chistory - command line history
+ shistory - search history (/ and ? commands)
+ phistory - prompt history
+ fhistory - history of local filter (see description of the
+ "=" normal mode
+ command)
+ dirstack - directory stack overwrites previous stack, unless
+ stack of
+ current session is empty
+ registers - registers content
+ options - all options that can be set with the :set command
+ (obsolete)
+ filetypes - associated programs and viewers (obsolete)
+ commands - user defined commands (see :command description)
+ (obsolete)
+
+ 'vimhelp'
+ type: boolean
+ default: false
+ Use vim help format.
+
+ 'wildmenu' 'wmnu'
+ type: boolean
+ default: false
+ Controls whether possible matches of completion will be shown
+ above the command line.
+
+ 'wordchars'
+ type: string list
+ default: "1-8,14-31,33-255" (that is all non-whitespace charac-
+ ters)
+ Specifies which characters in command-line mode should be con-
+ sidered as part of a word. Value of the option is comma-sepa-
+ rated list of ranges. If both endpoints of a range match, sin-
+ gle endpoint is enough (e.g. "a" = "a-a"). Both endpoints are
+ inclusive. There are two accepted forms: character representing
+ itself or number encoding character according to ASCII table.
+ In case of ambiguous characters (dash, comma, digit) use numeric
+ form. Accepted characters are in the range from 0 to 255. Any
+ Unicode character with code greater than 255 is considered to be
+ part of a word.
+
+ The option affects Alt-D, Alt-B and Alt-F, but not Ctrl-W. This
+ is intentionally to allow two use cases:
+
+ - Moving by WORDS and deletion by words.
+ - Moving by words and deletion by WORDS.
+
+ To get the latter use the following mapping:
+
+ cnoremap <c-w> <a-b><a-d>
+
+ Also used for abbreviations.
+
+ 'wrap' type: boolean
+ default: true
+ Controls whether to wrap text in quick view.
+
+ 'wrapscan' 'ws'
+ type: boolean
+ default: true
+ Searches wrap around end of the list.
+
+Mappings
+ Since it's not easy to enter special characters there are several spe-
+ cial sequences that can be used in place of them. They are:
+
+ <cr> Enter key.
+
+ <esc> Escape key.
+
+ <space>
+ Space key.
+
+ <lt> Less-than character (<).
+
+ <nop> provides a way to disable a mapping (by mapping it to <nop>).
+
+ <bs> Backspace key (see key conflict description below).
+
+ <tab> <s-tab>
+ Tabulation and Shift+Tabulation keys.
+
+ <home> <end>
+ Home/End.
+
+ <left> <right> <up> <down>
+ Arrow keys.
+
+ <pageup> <pagedown>
+ PageUp/PageDown.
+
+ <del> <delete>
+ Delete key. <del> and <delete> mean different codes, but
+ <delete> is more common.
+
+ <c-a>,<c-b>,...,<c-z>,<c-[>,<c->,<c-]>,<c-^>,<c-_>
+ Control + some key (see key conflict description below).
+
+ <a-a>,<a-b>,...,<a-z>
+ <m-a>,<m-b>,...,<m-z> Alt + some key.
+
+ <a-c-a>,<a-c-b>,...,<a-c-z>
+ <m-c-a>,<m-c-b>,...,<m-c-z> only for *nix
+ Alt + Ctrl + some key.
+
+ <f0> - <f63>
+ Functional keys.
+
+ <c-f1> - <c-f12>
+ only for MS-Windows
+ functional keys with Control key pressed.
+
+ <a-f1> - <a-f12>
+ only for MS-Windows
+ functional keys with Alt key pressed.
+
+ <s-f1> - <s-f12>
+ only for MS-Windows
+ functional keys with Shift key pressed.
+
+ Note that due to the way terminals process their input, several key-
+ board keys might be mapped to single key code, for example:
+
+ - <cr> and <c-m>;
+
+ - <tab> and <c-i>;
+
+ - <c-h> and <bs>;
+
+ - etc.
+
+ Most of the time they are defined consistenly and don't cause sur-
+ prises, but <c-h> and <bs> are treated differently in different envi-
+ ronments (although they match each other all the time), that's why they
+ correspond to different keys in vifm. As a consequence, if you map <c-
+ h> or <bs> be sure to map the other one to the same combination so that
+ the mapping will work in all environments.
+
+ vifm removes whitespace characters at the beginning and end of com-
+ mands. That's why you may want to use <space> at the end of rhs in
+ mappings. For example:
+
+ cmap <f1> man<space>
+
+ will put "man " in line when you hit the <f1> key in the command line
+ mode.
+
+Expression syntax
+ Supported expressions is a subset of what VimL provides.
+
+ Expression syntax summary, from least to most significant:
+
+ expr1 expr2 == expr2 equal
+ expr2 != expr2 not equal
+ expr2 > expr2 greater than
+ expr2 >= expr2 greater than or equal
+ expr2 < expr2 smaller than
+ expr2 <= expr2 smaller than or equal
+
+ expr2 expr3 . expr3 .. string concatenation
+
+ expr3 - expr3 unary minus
+ + expr3 unary plus
+ ! expr3 logical NOT
+
+ expr4 number number constant
+ "string" string constant, \ is special
+ 'string' string constant, ' is doubled
+ &option option value
+ $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 ==
+ not equal !=
+ greater than >
+ greater than or equal >=
+ smaller than <
+ smaller than or equal <=
+
+ Examples:
+
+ 'a' == 'a' == 1
+ 'a' > 'b' == 1
+ 'a' == 'b' == 0
+ '2' > 'b' == 0
+ 2 > 'b' == 1
+ 2 > '1b' == 1
+ 2 > '9b' == 0
+ -1 == -'1' == 1
+ 0 == '--1' == 1
+
+ expr2
+ -----
+ expr3 . expr3 .. string concatenation
+
+ Examples:
+
+ 'a' . 'b' == 'ab'
+ 'aaa' . '' . 'c' == 'aaac'
+
+ expr3
+ -----
+
+ - expr3 unary minus
+ + expr3 unary plus
+ ! expr3 logical NOT
+
+ For '-' the sign of the number is changed.
+ For '+' the number is unchanged.
+ For '!' non-zero becomes zero, zero becomes one.
+
+ A String will be converted to a Number first.
+
+ These operations can be repeated and mixed. Examples:
+
+ --9 == 9
+ ---9 == -9
+ -+9 == 9
+ !-9 == 0
+ !'' == 1
+ !'x' == 0
+ !!9 == 1
+
+ expr4
+ -----
+
+ number number constant
+ -----
+
+ Decimal number. Examples:
+
+ 0 == 0
+ 0000 == 0
+ 01 == 1
+ 123 == 123
+ 10000 == 10000
+
+ string
+ ------
+ "string" string constant
+
+ Note that double quotes are used.
+
+ A string constant accepts these special characters:
+ \b backspace <bs>
+ \e escape <esc>
+ \n newline
+ \r return <cr>
+ \t tab <tab>
+ \\ backslash
+ \" double quote
+
+ Examples:
+
+ "\"Hello,\tWorld!\""
+ "Hi,\nthere!"
+
+ literal-string
+ --------------
+ 'string' string constant
+
+ Note that single quotes are used.
+
+ This string is taken as it is. No backslashes are removed or have a
+ special meaning. The only exception is that two quotes stand for one
+ quote.
+
+ Examples:
+
+ 'All\slashes\are\saved.'
+ 'This string contains doubled single quotes ''here'''
+
+ option
+ ------
+ &option option value
+
+ Examples:
+
+ echo 'Terminal size: '.&columns.'x'.&lines
+ if &columns > 100
+
+ Any valid option name can be used here (note that "all" in ":set all"
+ is a pseudo option). See ":set options" section above.
+
+ environment variable
+ --------------------
+ $VAR environment variable
+
+ The String value of any environment variable. When it is not defined,
+ the result is an empty string.
+
+ Examples:
+
+ 'This is my $PATH env: ' . $PATH
+ 'vifmrc at ' . $MYVIFMRC . ' is used.'
+
+ function call
+ -------------
+ function(expr1, ...) function call
+
+ See "Functions" section below.
+
+ Examples:
+
+ "'" . filetype('.') . "'"
+ filetype('.') == 'reg'
+
+Functions
+ USAGE RESULT DESCRIPTION
+
+ executable({expr}) Integer Checks whether {expr} command avail-
+ able.
+ expand({expr}) String Expands special keywords in {expr}.
+ filetype({fnum}) String Returns file type from position.
+ has({property}) Integer Checks whether instance has {prop-
+ erty}.
+ system({command}) String Executes shell command and returns
+ its output.
+
+ executable({expr})
+ If {expr} is absolute or relative path, checks whether path destination
+ exists and refers to an executable, otherwise checks whether command
+ named {expr} is present in directories listed in $PATH. Checks for
+ various executable extensions on Windows. Returns boolean value
+ describing result of the check.
+
+ Example:
+
+ " use custom default viewer script if it's available and installed
+ " in predefined system directory, otherwise try to find it elsewhere
+ if executable('/usr/local/bin/defviewer')
+ fileview * /usr/local/bin/defviewer %c
+ else
+ if executable('defviewer')
+ fileview * defviewer %c
+ endif
+ endif
+
+ expand({expr})
+ Expands environment variables and macros in {expr} just like it's done
+ for command-line commands. Returns a string. See "Command macros"
+ section above.
+
+ Examples:
+
+ " percent sign
+ :echo expand('%%')
+ " the last part of directory name of the other pane
+ :echo expand('%D:t')
+ " $PATH environment variable (same as `:echo $PATH`)
+ :echo expand('$PATH')
+
+ 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
+
+ has({property})
+ Allows examining internal parameters from scripts to e.g. figure out
+ environment in which application is running. Returns 1 if property is
+ true/present, otherwise 0 is returned. Currently the following proper-
+ ties are supported (anything else will yield 0):
+ unix runs in *nix-like environment (including Cygwin)
+ win runs on Windows
+
+ Usage example:
+
+ " skip user/group on Windows
+ if !has('win')
+ let $RIGHTS = '%10u:%-7g '
+ endif
+
+ execute 'set' 'statusline=" %t%= %A '.$RIGHTS.'%15E %20d "'
+
+ system({command})
+ Runs the command in shell and returns its output (joined standard out-
+ put and standard error streams). All trailing newline characters are
+ stripped to allow easy appending to command output. Ctrl-C should
+ interrupt the command.
+
+ Usage example:
+
+ " command to enter .git/ directory of git-repository (when ran inside one)
+ command! cdgit :execute 'cd' system('git rev-parse --git-dir')
+
+Menus and dialogs
+ General
+
+ j, Ctrl-N - move down.
+ k, Ctrl-P - move up.
+ Enter, l - select and exit the menu.
+ Ctrl-L - redraw the menu.
+
+ Escape, Ctrl-C, ZZ, ZQ, q - quit.
+
+ In all menus
+
+ The following set of keys has the same meaning as in normal mode.
+
+ Ctrl-B, Ctrl-F
+ Ctrl-D, Ctrl-U
+ Ctrl-E, Ctrl-Y
+ /, ?
+ n, N
+ [count]G, [count]gg
+ H, M, L
+ zb, zt, zz
+
+ zh - scroll menu items [count] characters to the right.
+ zl - scroll menu items [count] characters to the left.
+ zH - scroll menu items half of screen width characters to the right.
+ zL - scroll menu items half of screen width characters to the left.
+
+ : - enter command line mode for menus (currently only :exi[t], :q[uit],
+ :x[it] and :{range} are supported).
+
+ b - interpret content of the menu as list of paths and use it to create
+ custom view in place of previously active pane. See "Custom views"
+ section below.
+
+
+ Below is description of additional commands and reaction on selection
+ in some menus and dialogs.
+
+ Apropos menu
+
+ Selecting menu item run man on a given topic. Menu won't be closed
+ automatically to allow view several pages one by one.
+
+ Command-line mode abbreviations menu
+
+ Type dd on an abbreviation to remove it.
+
+ Color scheme menu
+
+ Selecting name of a color scheme applies it the same way as if ":col-
+ orscheme <name>" was executed on the command-line.
+
+ Commands menu
+
+ Selecting command executes it with empty arguments (%a).
+
+ dd on a command to remove.
+
+ Bookmarks menu
+
+ Selecting bookmark navigates to it.
+
+ dd on a bookmark to remove.
+
+ Trash menu
+
+ r on a file name to restore it from trash.
+
+ Directory history and Trashes menus
+
+ Selecting directory name will change directory of the current view as
+ if :cd command was used.
+
+ Directory stack menu
+
+ Selecting directory name will rotate stack to put selected directory
+ pair at the top of the stack.
+
+ Filetype menu
+
+ Commands from vifmrc or typed in command-line are displayed above empty
+ line. All commands below empty line are from .desktop files.
+
+ Grep, find, locate and user menu with navigation (%M macro)
+
+ gf - navigate previously active view to currently selected item.
+ Leaves menu mode except for grep menu. Pressing Enter key has the same
+ effect.
+
+ e - open selected path in the editor, stays in menu mode.
+
+ Grep menu
+
+ Selecting file (via Enter or l key) opens it in editor set by 'vicmd'
+ at given line number. Menu won't be closed automatically to allow
+ viewing more than one result.
+
+ See above for "gf" and "e" keys description.
+
+ Command-line history menu
+
+ Selecting an item will execute it as command-line command or search
+ query.
+
+ Volumes menu
+
+ Selecting a drive navigates previously active pane to the root of that
+ drive.
+
+ Fileinfo dialog
+
+ Enter, q - close dialog
+
+ Sort dialog
+
+ h, Space - switch ascending/descending.
+ q - close dialog
+
+ Attributes (permissions or properties) dialog
+
+ h, Space - check/uncheck.
+ q - close dialog
+
+ Item states:
+
+ - * - checked flag.
+
+ - X - means that it has different value for files in selection.
+
+ - d (*nix only) - (only for execute flags) means u-x+X, g-x+X or o-x+X
+ argument for the chmod program. If you want to remove execute right
+ from all files, but preserve it for directories, set all execute
+ flags to 'd' and check 'Set Recursively' flag.
+
+Custom views
+ Definition
+
+ Normally file views contain list of files from a single directory, but
+ sometimes it's useful to populate them with list of files that do not
+ belong to the same directory, which is what custom views are for.
+
+ Presentation
+
+ Custom views are still related to directory they were in before custom
+ list was loaded. Path to that directory (original directory) can be
+ seen in the title of a custom view.
+
+ Files in same directory have to be named differently, this doesn't hold
+ for custom views thus seeing just file names might be rather confusing.
+ In order to give an idea where files come from and when possible, rela-
+ tive paths to original directory of the view is displayed, otherwise
+ full path is used instead.
+
+ Custom views normally don't contain any inexistent files.
+
+ Navigation
+
+ Custom views have some differences related to navigation in regular
+ views.
+
+ gf - acts similar to gf on symbolic links and navigates to the file at
+ its real
+ location.
+
+ h, gh - return to the original directory.
+
+ Opening ".." entry also causes return to the original directory.
+
+ History
+
+ Custom list exists only while it's visible, once left one can't return
+ to it, so there is no appearances of it in any history.
+
+ Filters
+
+ Only local filter affects content of the view. This is intentional,
+ presumably if one loads list, precisely that list should be displayed
+ (except for inexistent paths, which are ignored).
+
+ Search
+
+ Although directory names are visible in listing, they are not search-
+ able. Only file names are taken into account (might be changed in
+ future, searching whole lines seems quite reasonable).
+
+ Sorting
+
+ Contrary to search sorting by name works on whole visible part of file
+ path.
+
+ Highlight
+
+ Whole file name is highlighted as one entity, even if there are direc-
+ tory elements.
+
+ Updates
+
+ Reloads can occur, though they are not automatic due to files being
+ scattered among different places. On a reload, inexistent files are
+ removed and meta-data of all other files is updated.
+
+ Once custom view forgets about the file, it won't add it back even if
+ it's created again. So not seeing file previously affected by an oper-
+ ation, which was undone is normal.
+
+ Operations
+
+ All operations that add files are forbidden for custom views. For
+ example, moving/copying/putting files into a custom view doesn't work,
+ because it doesn't make much sense.
+
+ On the other hand, operations that use files of a custom view as a
+ source (e.g. yanking, copying, moving file from custom view, deletion)
+ and operations that modify names are all allowed.
+
+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);
+ - $XDG_CONFIG_HOME/vifm directory;
+ - $HOME/.config/vifm directory.
+
+ vifm tries to find correct configuration file by checking the following
+ places:
+ - $MYVIFMRC variable;
+ - vifmrc in parent directory of the executable file (on Windows only);
+ - $VIFM/vifmrc file.
+
+Configure
+ See "Startup" section above for the explanations on $VIFM and $MYV-
+ IFMRC.
+
+ The vifmrc file contains commands that will be executed on vifm
+ startup. There are two such files: global and local. Global one is at
+ {prefix}/etc/vifm/vifmrc, see $MYVIFMRC variable description for the
+ search algorithm used to find local vifmrc. Global vifmrc is loaded
+ before the local one, so that the later one can redefine anything con-
+ figured globally.
+
+ Use vifmrc to set settings, mappings, filetypes etc. To use multi line
+ commands precede each next line with a slash (whitespace before slash
+ is ignored, but all spaces at the end of the lines are saved). For
+ 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, histo-
+ ries, filetypes, fileviewers and registers in the file are merged with
+ vifm configuration (which has bigger priority).
+
+ Generally, runtime configuration has bigger priority during merging,
+ but there are some exceptions:
+
+ - directory stack stored in the file is not overwritten unless some-
+ thing is changed in vifm session that performs merge;
+
+ - each bookmark is marked with a timestamp, so that newer value is
+ not overwritten by older one, thus no matter from where bookmark
+ comes, the newer one wins.
+
+ 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/ and {prefix}/etc/vifm/colors/ directories contain
+ color schemes. Available color schemes are searched in that order, so
+ on name conflict the one in $VIFM/colors/ wins.
+
+ Each color scheme should have ".vifm" extension. This wasn't the case
+ before and for this reason the following rules apply during lookup:
+
+ - if there is no file with .vifm extension, all regular files are
+ listed;
+
+ - otherwise only files with .vifm extension are listed (with the
+ extension being truncated).
+
+Automatic FUSE mounts
+ vifm has a builtin support of automated FUSE file system mounts. It is
+ implemented using file associations mechanism. To enable automated
+ mounts, one needs to use a specially 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 [%FOREGROUND]
+
+ Example filetype command:
+
+ :filetype FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR
+
+ 2) FUSE_MOUNT2 This format allows one to use specially formatted files
+ to perform mounting and is useful for mounting remotes, for example
+ remote file systems over ftp or ssh.
+
+ Format line:
+ FUSE_MOUNT2|mounter %PARAM %DESTINATION_DIR [%FOREGROUND]
+
+ 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;
+ - %FOREGROUND means that you want to run mount command as a regular
+ command (required to be able to provide input for communication with
+ mounter in interactive way).
+
+ %FOREGROUND is an optional macro. Other macros are not mandatory, but
+ mount commands likely won't work without them.
+
+ %CLEAR is obsolete name of %FOREGROUND, which is still supported, but
+ might be removed in future. Its use is discouraged.
+
+ The mounted FUSE file systems will be automatically unmounted in two
+ cases:
+
+ - when vifm quits (with ZZ, :q, etc. or when killed by signal);
+
+ - when you explicitly leave mount point going up to its parent direc-
+ tory (with h, Enter on "../" or ":cd ..") and other pane is not in
+ the same directory or its child directories.
+
+View look
+ vifm supports displaying of file list view in two different ways:
+
+ - in a table mode, when multiple columns can be set using 'view-
+ columns' option (see "Column view" section below for details);
+
+ - in a multicolumn list manner which looks almost like `ls -x` com-
+ mand output (see "ls-like view" section below for details).
+
+ The look is local for each view and can be chosen by changing value of
+ the 'lsview' boolean option.
+
+ Depending on view look some of keys change their meaning to allow more
+ natural cursor moving. This concerns mainly h, j, k, l and other simi-
+ lar navigation keys.
+
+ Also some of options can be ignored if they don't affect view display-
+ ing in selected look. For example value of 'viewcolumns' when 'lsview'
+ is set.
+
+ls-like view
+ When this view look is enabled by setting 'lsview' option on, vifm will
+ display files in multiple columns. Number of columns depends on the
+ length of the longest file name present in current directory of the
+ view. Whole file list is automatically reflowed on directory change,
+ terminal or view resize.
+
+ View looks close to output of `ls -x` command, so files are listed left
+ to right in rows.
+
+ In this mode file manipulation commands (e.g. d) don't work line-wise
+ like they do in Vim, since such operations would be uncommon for file
+ 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 fit in the column.
+ Currently 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 primary color scheme;
+
+ - as local to a pane color scheme.
+
+ Both types are set using :colorscheme command, but of different forms:
+
+ - :colorscheme color_scheme_name - for the primary color scheme;
+
+ - :colorscheme color_scheme_name directory - for local color schemes.
+
+ Look of different parts of the TUI (Text User Interface) is determined
+ in this way:
+
+ - Border, TopLineSel, TopLine, CmdLine, ErrorMsg, StatusLine, JobLine
+ and WildMenu are always determined by the primary color scheme;
+
+ - CurrLine, Selected, Directory, Link, BrokenLink, Socket, Device,
+ Executable, Fifo and Win are determined by primary color scheme and
+ a set of local color schemes, which can be empty.
+
+ There might be a set of local color schemes because they are structured
+ hierarchically according to file system structure. For example, having
+ the following piece of file system:
+
+ ~
+ `-- bin
+ |
+ `-- my
+
+ Two color schemes:
+
+ # ~/.vifm/colors/for_bin
+ highlight Win cterm=none ctermfg=white ctermbg=red
+ highlight CurrLine cterm=none ctermfg=red ctermbg=black
+
+ # ~/.vifm/colors/for_bin_my
+ highlight CurrLine cterm=none ctermfg=green ctermbg=black
+
+ And these three commands in the vifmrc file:
+
+ colorscheme Default
+ colorscheme for_bin ~/bin
+ colorscheme for_bin_my ~/bin/my
+
+ File list will look in the following way for each level:
+
+ - ~/ - Default color scheme
+ black background
+ cursor with blue background
+
+ - ~/bin/ - mix of Default and for_bin color schemes
+ red background
+ cursor with black background and red foreground
+
+ - ~/bin/my/ - mix of Default, for_bin and for_bin_my color schemes
+ red background
+ cursor with black background and green foreground
+
+Trash directory
+ vifm has support of trash directory, which is used as temporary storage
+ for deleted files or files that were cut. Using trash is controlled by
+ the 'trash' option, and exact path to the trash can be set with
+ 'trashdir' option. Trash directory in vifm differs from the system-
+ wide one by default, because of possible incompatibilities of storing
+ deleted files among different file managers. But one can set
+ 'trashdir' to "~/.local/share/Trash" to use a "standard" trash direc-
+ tory.
+
+ There are two scenarios of using trash in vifm:
+
+ 1. As a place for storing files that were cut by "d" and may be
+ 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]
+
+ENVIRONMENT
+ VIFM Points to main configuration directory (usually ~/.vifm/).
+
+ MYVIFMRC
+ Points to main configuration file (usually ~/.vifm/vifmrc).
+
+ These environment variables are valid inside vifm and also can be used
+ to configure it by setting some of them before running vifm.
+
+ When $MYVIFMRC isn't set, it's made as $VIFM/vifmrc (exception for Win-
+ dows: vifmrc in the same directory as vifm.exe has higher priority than
+ $VIFM/vifmrc).
+
+ See "Startup" section above for more details.
+
+ VIFM_FUSE_FILE
+ On execution of external commands this variable is set to the
+ full path of file used to initiate FUSE mount of the closes
+ mount point from current pane directory up. It's not set when
+ outside FUSE mount point. When vifm is used inside terminal
+ multiplexer, it tries to set this variable as well (it doesn't
+ work this way on its own).
+
+SEE ALSO
+ vifm-convert-dircolors(1), vifm-pause(1), vifmrc-converter(1)
+
+ Website: http://vifm.info/
+ Wiki: http://wiki.vifm.info/
+
+ Esperanto translation of the documentation by Sebastian Cyprych:
+ http://cyprych.neostrada.pl/tekstoj/komputiloj/vifm-help.eo.html
+
+AUTHOR
+ Vifm was written by ksteen <ksteen@users.sourceforge.net>
+ And currently is developed by xaizek <xaizek@openmailbox.org>
+
+
+
+vifm 0.8 July 09, 2015 VIFM(1)
diff --git a/.config/vifm/vifminfo b/.config/vifm/vifminfo
new file mode 100644
index 0000000..2efba2e
--- /dev/null
+++ b/.config/vifm/vifminfo
@@ -0,0 +1,1004 @@
+# You can edit this file by hand, but it's recommended not to do that.
+
+# Marks:
+'H
+ $HOME/
+ ..
+1460294363
+'a
+ /home/archlinux/vgg/macosxd3/Media
+ diskutil.info
+1571932923
+'b
+ /home/archlinux/vgg/bin/
+ ..
+1527005860
+'c
+ /MacOSX-Data3/Media/Series
+ ..
+1483912400
+'d
+ /MacOSX-Data/Computing/Media-Tutorial/Misc/Lynda - Data Science Foundations: Data Mining
+ ..
+1491576070
+'e
+ /MacOSX-Data/Computing/Media-Tutorial/Misc/Lynda - Data Science Foundations: Data Mining
+ ..
+1484569444
+'f
+ $HOME/macosxd2/Training/FMA
+ ..
+1487770242
+'h
+ /home/archlinux/vgg/
+ ..
+1527005860
+'k
+ $HOME/Computing/Android/nexus4/BackUp
+ Kon-Boot for Windows 2.5.0 Retail [deepstatus].rar
+1478036950
+'o
+ /home/archlinux/vgg/macosxd3/Media/Series/Black Books/Series 3
+ EP6 - Party.avi
+1577236529
+'p
+ /MacOSX-Data/Computing/Media-Tutorial/Python
+ ..
+1491576093
+'q
+ /MacOSX-Data/Computing/Media-Tutorial/Misc/Vim
+ ..
+1491576171
+'r
+ $HOME/Computing/Media-Tutorial/R
+ ..
+1490814769
+'u
+ /run/media/vgg/FB5B-E338
+ Wil_Wheaton_plays_Lanterns_on_TABLETOP__270p-360p.mp4
+1493296818
+'v
+ $HOME/Videos
+ ..
+1461747139
+'w
+ $HOME/dwhelper
+ Win Poker Games Every Time With This Secret Cheat - Scam Sch.mp4
+1487595979
+'x
+ /run/media/vgg/ED500GB/Backup/EHD2
+ ..
+1490611072
+'y
+ /MacOSX-Data2/media/Youtube/PythonDataAnalysisTutorial
+ ..
+1486123815
+
+# TUI:
+al
+q0
+v2
+ov
+m-1
+l-11,2
+r2
+
+# Left window history (oldest to newest):
+d/home/archlinux/vgg
+ Pictures
+25
+d/home/archlinux/vgg/Pictures
+ Centro.DCIM
+31
+d/home/archlinux/vgg/Pictures/Centro.DCIM
+ Training
+15
+d/home/archlinux/vgg/Pictures/Centro.DCIM/Training
+ ..
+0
+d/home/archlinux/vgg/Pictures/Centro.DCIM
+ Misc
+13
+d/home/archlinux/vgg/Pictures/Centro.DCIM/Misc
+ Photo_101607_002.jpg
+16
+d/home/archlinux/vgg/Pictures/Centro.DCIM
+ Isabella&Donna
+12
+d/home/archlinux/vgg/Pictures/Centro.DCIM/Isabella&Donna
+ Photo_120209_010.jpg
+39
+d/home/archlinux/vgg/Pictures/Centro.DCIM
+ BackImage
+10
+d/home/archlinux/vgg/Pictures/Centro.DCIM/BackImage
+ boulder_a17.jpg.pdb
+18
+d/home/archlinux/vgg/Pictures/Centro.DCIM
+ Palm
+1
+d/home/archlinux/vgg/Pictures
+ Centro.DCIM
+31
+d/home/archlinux/vgg
+ Pictures
+25
+d/
+ home
+25
+d/home/archlinux/vgg/Downloads
+ TheUrbanPrepper-All-PDFs
+2
+d/home/archlinux/vgg/Downloads/TheUrbanPrepper-All-PDFs
+ Altoids
+1
+d/home/archlinux/vgg/Downloads/TheUrbanPrepper-All-PDFs/Altoids
+ Urban-Altoids-EDC-Kit-v3.pdf
+1
+d/home/archlinux/vgg/Downloads/TheUrbanPrepper-All-PDFs
+ Vehicle Preps
+9
+d/home/archlinux/vgg/Downloads/TheUrbanPrepper-All-PDFs/Vehicle Preps
+ Vehicle Preps - Signaling Module.pdf
+1
+d/home/archlinux/vgg/Downloads/TheUrbanPrepper-All-PDFs
+ Vehicle Preps
+9
+d/home/archlinux/vgg/Downloads
+ ..
+0
+d/home/archlinux/vgg
+ macosxd3
+18
+d/home/archlinux/vgg/macosxd3
+ Media
+1
+d/home/archlinux/vgg/macosxd3/Media
+ Nancy.Drew.2019.S01E03.HDTV.x264-SVA[eztv].mkv
+21
+d/home/archlinux/vgg/macosxd3
+ Media
+1
+d/home/archlinux/vgg/macosxd3/Media
+ Series
+4
+d/home/archlinux/vgg/macosxd3/Media/Series
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ Jeet Kune Do Entering to Trapping to Grappling by Larry Hartsell
+12
+d/home/archlinux/vgg/macosxd3
+ Media
+1
+d/home/archlinux/vgg/macosxd3/Media
+ S.W.A.T.2017.S03E04.HDTV.x264-KILLERS[ettv]
+2
+d/home/archlinux/vgg/macosxd3/Media/S.W.A.T.2017.S03E04.HDTV.x264-KILLERS[ettv]
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ SEAL.Team.S03E04.HDTV.x264-KILLERS[ettv]
+3
+d/home/archlinux/vgg/macosxd3/Media/SEAL.Team.S03E04.HDTV.x264-KILLERS[ettv]
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ Project A (1983) [BluRay] [720p] [YTS.AM]
+2
+d/home/archlinux/vgg/macosxd3/Media/Project A (1983) [BluRay] [720p] [YTS.AM]
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ Series
+1
+d/home/archlinux/vgg/macosxd3/Media/Series
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ Dizzy Gillespie, Charlie Parker, Bud Powell, Charles Mingus, Max Roach - Toronto, Massey Hall, (jazz)(flac)[rogercc][h33t]
+5
+d/home/archlinux/vgg/macosxd3/Media/Dizzy Gillespie, Charlie Parker, Bud Powell, Charles Mingus, Max Roach - Toronto, Massey Hall, (jazz)(flac)[rogercc][h33t]
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ Series
+1
+d/home/archlinux/vgg/macosxd3/Media/Series
+ ProdigalSon
+3
+d/home/archlinux/vgg/macosxd3/Media/Series/ProdigalSon
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media/Series
+ FBI
+7
+d/home/archlinux/vgg/macosxd3/Media/Series/FBI
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media/Series
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ Series
+1
+d/home/archlinux/vgg/macosxd3/Media/Series
+ SealTeam
+3
+d/home/archlinux/vgg/macosxd3/Media/Series/SealTeam
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media/Series
+ SWAT
+4
+d/home/archlinux/vgg/macosxd3/Media/Series/SWAT
+ S.W.A.T.2017.S03E04.HDTV.x264-KILLERS[ettv].mkv
+1
+d/home/archlinux/vgg/macosxd3/Media/Series
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ Mvs
+5
+d/home/archlinux/vgg/macosxd3/Media/Mvs
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media
+ Series
+2
+d/home/archlinux/vgg/macosxd3/Media/Series
+ Black Books
+5
+d/home/archlinux/vgg/macosxd3/Media/Series/Black Books
+ Series 3
+1
+d/home/archlinux/vgg/macosxd3/Media/Series/Black Books/Series 3
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media/Series
+ BrooklynNineNine
+1
+d/home/archlinux/vgg/macosxd3/Media
+ Series
+1
+d/home/archlinux/vgg/macosxd3/Media/Series
+ BrooklynNineNine
+1
+d/home/archlinux/vgg/macosxd3/Media/Series/BrooklynNineNine
+ ..
+0
+d/home/archlinux/vgg/macosxd3/Media/Series
+ BrooklynNineNine
+1
+d/home/archlinux/vgg/macosxd3/Media
+ ..
+0
+d/home/archlinux/vgg/macosxd3
+ Media
+1
+d/home/archlinux/vgg/macosxd3/Media
+ ..
+0
+d/home/archlinux/vgg/macosxd3
+ Media
+1
+d/home/archlinux/vgg/macosxd3/Media
+ ..
+0
+d/home/archlinux/vgg/macosxd3
+ ..
+0
+d/home/archlinux/vgg
+ Pictures
+29
+d/home/archlinux/vgg/Pictures
+ IMAG2798.jpg
+36
+d/home/archlinux/vgg
+ Pictures
+29
+d/home/archlinux
+ vgg
+1
+d/home
+ archlinux
+2
+d/
+ home
+24
+d/home
+ archlinux
+2
+d/home/archlinux
+ vgg
+1
+d/home/archlinux/vgg
+ Pictures
+29
+d/home/archlinux/vgg/Pictures
+ MonsterRace
+32
+d/home/archlinux/vgg/Pictures/MonsterRace
+ ..
+0
+d/home/archlinux/vgg/Pictures
+ MonsterRace
+32
+d/home/archlinux/vgg/Pictures/MonsterRace
+ D3B_3011%20copy.jpg
+2
+d/home/archlinux/vgg/Pictures
+ MonsterRace
+32
+d/home/archlinux/vgg
+ Pictures
+29
+d/home/archlinux
+ vgg
+1
+d/home/archlinux/vgg
+ Pictures
+29
+d/home/archlinux/vgg/Pictures
+ wallpapers
+1
+d/home/archlinux/vgg/Pictures/wallpapers
+ Unsorted
+1
+d/home/archlinux/vgg/Pictures/wallpapers/Unsorted
+ Wallpapers Girls №581
+1
+d/home/archlinux/vgg/Pictures/wallpapers/Unsorted/Wallpapers Girls №581
+ Wallpapers Girls №581_224.jpg
+7
+d/home/archlinux/vgg/macosxd3/Media
+ Fights
+3
+d/home/archlinux/vgg
+ Pictures
+16
+d/home/archlinux/vgg/Pictures
+ PicDump20181221
+4
+d/home/archlinux/vgg/Pictures/PicDump20181221
+ Camera
+1
+d/home/archlinux/vgg/Pictures/PicDump20181221/Camera
+ ..
+0
+d/home/archlinux/vgg/Pictures/PicDump20181221
+ Camera
+1
+d/home/archlinux/vgg/Pictures/PicDump20181221/Camera
+ ..
+0
+d/home/archlinux/vgg/Pictures/PicDump20181221
+ ..
+0
+d/home/archlinux/vgg/Pictures
+ ..
+0
+d/home/archlinux/vgg
+ goto_clipboard.cgi
+25
+d/home/archlinux/vgg/macosxd3/Media
+ Books
+3
+d
+
+# Right window history (oldest to newest):
+D/MacOSX-Data2/media
+ ewtn
+8
+D/MacOSX-Data2
+ media
+6
+D/MacOSX-Data2/media
+ ..
+0
+D/MacOSX-Data2
+ media
+6
+D/
+ MacOSX-Data3
+4
+D/MacOSX-Data3
+ Media
+1
+D/MacOSX-Data3/Media
+ Series
+3
+D/MacOSX-Data3/Media/Series
+ DoomPatrol
+14
+D/MacOSX-Data3/Media/Series/DoomPatrol
+ ..
+0
+D/MacOSX-Data3/Media/Series
+ LastManStanding
+27
+D/MacOSX-Data3/Media/Series/LastManStanding
+ ..
+0
+D/MacOSX-Data3/Media/Series
+ StrikeBack
+39
+D/MacOSX-Data3/Media/Series/StrikeBack
+ ..
+0
+D/MacOSX-Data3/Media/Series
+ TheBlackList
+39
+D/MacOSX-Data3/Media/Series/TheBlackList
+ ..
+0
+D/MacOSX-Data3/Media/Series
+ TheBlackList
+39
+D/MacOSX-Data3/Media
+ Series
+3
+D/MacOSX-Data3
+ Media
+1
+D/
+ MacOSX-Data2
+3
+D/MacOSX-Data2
+ media
+6
+D/MacOSX-Data2/media
+ Audio
+1
+D/MacOSX-Data2/media/Audio
+ Jazz
+4
+D/MacOSX-Data2/media/Audio/Jazz
+ ..
+0
+D/MacOSX-Data2/media/Audio
+ ..
+0
+D/MacOSX-Data2/media
+ ..
+0
+D/MacOSX-Data2
+ media
+6
+D/
+ MacOSX-Data4
+5
+D/MacOSX-Data4
+ Media-Tutorial
+2
+D/MacOSX-Data4/Media-Tutorial
+ Misc
+4
+D/MacOSX-Data4/Media-Tutorial/Misc
+ ..
+0
+D/MacOSX-Data4/Media-Tutorial
+ ..
+0
+D/MacOSX-Data4
+ Media-Tutorial
+2
+D/
+ MacOSX-Data2
+3
+D/MacOSX-Data2
+ media
+6
+D/MacOSX-Data2/media
+ Audio
+1
+D/MacOSX-Data2/media/Audio
+ Isabella
+3
+D/MacOSX-Data2/media/Audio/Isabella
+ ..
+0
+D/MacOSX-Data2/media/Audio
+ SpokenWord
+6
+D/MacOSX-Data2/media/Audio/SpokenWord
+ Misc
+2
+D/MacOSX-Data2/media/Audio/SpokenWord/Misc
+ ..
+0
+D/MacOSX-Data2/media/Audio/SpokenWord
+ ..
+0
+D/MacOSX-Data2/media/Audio
+ ..
+0
+D/MacOSX-Data2/media
+ Audio
+1
+D/MacOSX-Data2
+ media
+6
+D/
+ AIPS
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ IntoTheBadlands
+22
+D/home/archlinux/vgg/macosxd3/Media/Series/IntoTheBadlands
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ NancyDrew
+27
+D/home/archlinux/vgg/macosxd3/Media/Series/NancyDrew
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ NancyDrew
+27
+D/home/archlinux/vgg/macosxd3/Media
+ Series
+11
+D/home/archlinux/vgg/macosxd3
+ Media
+1
+D/home/archlinux/vgg
+ macosxd3
+29
+D/home/archlinux
+ vgg
+1
+D/home
+ archlinux
+1
+D/home/archlinux
+ vgg
+1
+D/home/archlinux/vgg
+ macosxd3
+29
+D/home/archlinux/vgg/macosxd3
+ Media
+1
+D/home/archlinux/vgg/macosxd3/Media
+ Series
+10
+D/home/archlinux/vgg/macosxd3/Media/Series
+ NancyDrew
+23
+D/home/archlinux/vgg/macosxd3/Media/Series/NancyDrew
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ Arrow
+3
+D/home/archlinux/vgg/macosxd3/Media/Series/Arrow
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ Treadstone
+23
+D/home/archlinux/vgg/macosxd3/Media/Series/Treadstone
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ FBI
+13
+D/home/archlinux/vgg/macosxd3/Media/Series/FBI
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ TheFlash
+23
+D/home/archlinux/vgg/macosxd3/Media/Series/TheFlash
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ MrMercedes
+4
+D/home/archlinux/vgg/macosxd3/Media/Series/MrMercedes
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ BlackLightning
+4
+D/home/archlinux/vgg/macosxd3/Media/Series/BlackLightning
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ ProdigalSon
+23
+D/home/archlinux/vgg/macosxd3/Media/Series/ProdigalSon
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ SWAT
+23
+D/home/archlinux/vgg/macosxd3/Media/Series/SWAT
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ SealTeam
+23
+D/home/archlinux/vgg/macosxd3/Media/Series/SealTeam
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ SealTeam
+23
+D/home/archlinux/vgg/macosxd3/Media
+ Series
+11
+D/home/archlinux/vgg/macosxd3/Media/Series
+ StarTrek
+23
+D/home/archlinux/vgg/macosxd3
+ license-ws-120-e2-201505
+4
+D/home/archlinux/vgg
+ macosxd3
+23
+D/home/archlinux/vgg/macosxd3
+ ..
+0
+D/home/archlinux/vgg
+ .config
+14
+D/home/archlinux/vgg/.config
+ vifm
+18
+D/home/archlinux/vgg/.config/vifm
+ ..
+0
+D/home/archlinux/vgg/music
+ ..
+0
+D/home/archlinux/vgg
+ macosxd3
+21
+D/home/archlinux/vgg/macosxd3
+ .Trashes
+4
+D/home/archlinux/vgg/macosxd3/.Trashes
+ ..
+0
+D/home/archlinux/vgg/macosxd3
+ Media
+1
+D/home/archlinux/vgg/macosxd3/Media
+ Series
+3
+D/home/archlinux/vgg/macosxd3/Media/Series
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media
+ Series
+4
+D/home/archlinux/vgg/macosxd3/Media/Series
+ Babylon5
+4
+D/home/archlinux/vgg/macosxd3/Media/Series/Babylon5
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media/Series
+ ..
+0
+D/home/archlinux/vgg/macosxd3/Media
+ Series
+3
+D
+
+# Command line history (oldest to newest):
+:help rename file
+:help vifmrc
+:vimhelp on
+:quit
+:cd /home
+:view!
+:vs!
+:!mkdir 1-Introduction
+:q!
+:!ls
+:!echo $PWD
+:rename
+:help empty
+:%s/.//g
+:":
+:set num
+:mkdir WalkingDead
+:w
+:u
+:mkdir Six
+:mkdir SonOfZorn
+:mkdir Salem
+:set confirm off
+:set confirm=permdelete
+:set confirm
+:mkdir 24
+:mkdir MacGyver
+:mkdir Legion
+:mkdir HackingTheWild
+:undo
+:mkdir ComicBookMen
+:mkdir Bucky
+:mkdir Datacamp
+:ls -lrt
+:mkdir Rebel
+:mkdir ForgedInFire
+:mkdir Guerillas
+:%s/h\ S/h.S/
+:%s/\ /./g
+:%s/T/t
+:S/Training.Day.S01E09/training.day.109/
+:s/Training.Day.S01E09/training.day.109/
+:s/S01E/1
+:s/Training.Day/training.day/
+:mkdir Genius
+:Trash
+:preview
+:empty
+:registers
+:colorscheme Default
+:help colorscheme
+:colorscheme solarized-dark
+:view hidden
+:help modes
+:t
+:set number
+:h
+:help sort
+:set sort=mtime
+:set sort-=mtime
+:set sort+=mtime
+:set sort=-mtime
+:?
+:help trash
+:mkdir Treadstone
+:mkdir FBI
+:sp
+:marks list
+:marks
+:colorscheme
+:help
+:help preview
+:help window
+:help view
+:view
+:o
+:split
+:two
+:vs
+:goto /
+:Q
+:ZZ
+:zz
+:q
+
+# Search history (oldest to newest):
+/girl
+/////////****************9999999999999999999999999999999999999999:
+/dw
+/empty
+/.
+/a
+/transm
+/vim
+/gri
+/py
+/24
+/let
+/exp
+/leg
+/col
+/amer
+/des
+//
+/leth
+/mkv
+/cri
+/legi
+/sha
+/hom
+/r
+/rans
+/int
+/legio
+/expa
+/dc
+/marv
+/reb
+/powe
+/ran
+/ho
+/shad
+/ele
+/h\ S
+/\
+/luc
+/T
+/Training.Day.S01E09
+/out
+/tak
+/S01E
+/Training.Day
+/got
+/kev
+/sco
+/desi
+/big
+/sup
+/cat
+/haw
+/tra
+/se
+/shel
+/config
+/vifm
+/.Trash
+/doo
+/last
+/stri
+/llist
+/list
+/pic
+/bad
+/tread
+/fbi
+/flas
+/mer
+/lightn
+/prod
+
+# Prompt history (oldest to newest):
+pHawaii.Five-0.2010.S07E18.HDTV.XviD-FUM[ettv].avi
+phawaii.five-0.2010.716.hdtv-lol[ettv]hawaii.five-0.2010.716.hdtv-lol[ettv].mkv
+pHawaii.Five-0.2010.S07E18.HDTV.XviD-FUM[ett].avi
+pHawaii.Five-0.2010.S07E16.HDTV.XviD-FUM].mkv
+pHawaii.Five-0.2010.S07E17.HDTV.XviD-FUM.mkv
+pJesusOfNazareth
+pHeadshot.srt
+pHeadshot.2016.HDRip.XviD.AC3-EVO.avi
+pHeadshot.2016.HDRip.XviD.AC3-EVO.srt
+pRedHotChiliPeppers-TheStorySoFar
+pRed Hot Chili Peppers - The Story So Far
+pTwilight of the Thunder God
+pMegadeth - Dystopia
+pDisturbed - Immortalized
+pMystic Prophecy - Killhammer
+pRag’n’Bone Man Human
+pShadesOfBlue
+pTimeAfterTime
+pTheAmericans
+pAssassins.Creed.2016.DVDRip.XviD.AC3-EVO.avi
+pAssassins.Creed.2016.DVDRip.XviD.AC3-EVO.srt
+pR tutorial - 1.The True Basics of R.mp4
+pR tutorial - 2.The basic data types in R.mp4
+pR tutorial - 3.How to Create and Name Vectors in R.mkv
+pR tutorial - 04.Different Ways to Create and Name Vectors in R.mkv
+pR tutorial - 01.The True Basics of R.mp4
+pR tutorial - 02.The basic data types in R.mp4
+pR tutorial - 03.How to Create and Name Vectors in R.mkv
+pR tutorial - 05.Subsetting your Vectors in R.mkv
+pR tutorial - 06.Learn How to Create and Name Matrices in R.mkv
+pR tutorial - 07.Learn How to Subset Matrices in R.mp4
+pR tutorial - 08.Matrix Arithmetic in R.mp4
+pR tutorial - 09.Using Factors in R.mp4
+pR tutorial - 10.How to Create & Name Lists in R.mp4
+pR Tutorial - 11.How to Subset & Extend Lists in R.mp4
+pR Tutorial - 12.Using the Data Frame in R.mp4
+pR tutorial - 13.Learn How to Subset, Extend & Sort Data Frames in R.mp4
+pR tutorial - 11.How to Subset & Extend Lists in R.mp4
+pR tutorial - 12.Using the Data Frame in R.mp4
+pR tutorial - 14.Making Basic Graphics in R.mp4
+pR tutorial - 15.Customizing Your Plots In R.mp4
+pR tutorial - 16.How to plot multiple graphs in R.mp4
+pR tutorial - 17.How To Use Conditional Statements in R.mp4
+pR tutorial - 18.Logical Operators and Vectors in R.mp4
+pR tutorial - 19.Relational Operators in R.mp4
+pR tutorial - 20.Writing functions in R.mkv
+pR tutorial - 21.Scoping with R.mkv
+pR tutorial - 22.Data structures in R.mkv
+pR tutorial - 23.Working with for loops in R.mkv
+pVikings.mp4
+pAssassins.Creed.2016.DCDRip.XviD.AC3-EVO.mp4
+pAssassins.Creed.2016.DVDRip.XviD.AC3-EVO.mp4
+pSetting up Sublime Text to Build Python.
+pThe.Catch.S02E01.WEB-DL.XviD-FUM[ettv].avi
+pTheCatch
+pSnatch
+pMarvelsIronFist
+pConMan
+pIntoTheBadlands
+pScorpion.S03E20.HDTV.x264-LOL.mkv
+pThe.Catch.S02E03.720p.HEVC.x265-MeGusta.mkv
+pOasis
+pGantz.O
+pTime.After.Time.US.S01E04.hdtv-lol.mkv
+pdesignated.survivor.112.HDTV.x264-KILLERS.mkv
+pJamiroquai - Automaton
+pOutcast
+pPrisonBreak
+pdesignated.survivor.115.HDTV.x264-KILLERS[ettv].mkv
+pTheGetDownSeason1
+pTheGetDown
+pdesignated.survivor.116.HDTV.x264-KILLERS.mkv
+pMarvel.Agents.of.S.H.I.E.L.D.S04E17.Identity.and.Change.720p.WEB-DL.x264.AAC.mp4
+pMarvel.Agents.of.S.H.I.E.L.D.S04E17.Identity.and.Change.720p.WEB-DL.x264.AAC.srt
+pMarvels.Agents.of.S.H.I.E.L.D.S04E17.Identity.and.Change.720p.WEB-DL.x264.AAC.mp4
+pBetterCallSaul
+pPowerless.108.HDTV.x264-KILLERS.mkv
+ppowerless.108.x264-KILLERS.mkv
+psupernatural.1218.WEB-DL.x264-FUM.mp4
+phawaii.five-0.2010.722.HDTV.x264-SVA.mkv
+ptraining.day.108.WEB-DL.x264-FUM.mp4
+pGuerilla
+pdesignated.survivor.117.HDTV.x264-KILLERS.mkv
+pBosch
+pBosch.S03E05 Blood Under The Bridge WEBRip x264-RMTeam.mp4
+pBosch.S03E06 Birdland WEBRip x264-RMTeam.mkv
+pdesignated.survivor.118.HDTV.x264-KILLERS.mkv
+pblindspot.219.HDTV.x264-SVA.mkv
+pTraining.Day.S01E10.HDTV.x264-SVA[eztv].mkv
+ptraining.day.110.HDTV.x264-SVA.mkv
+pAmericanGods
+pInto.the.Badlands.S02E07.CONVERT.avi
+pTalking.With.Chris.Hardwick.S01E01.720p.WEB-DL.x264.mp4
+pGenius.S01E02.hdtv.x264.mkv
+pdesignated.survivor.119.HDTV.x264-KILLERS.mkv
+plindspot.220.HDTV.x264-SVA.mkv
+pblindspot.220.HDTV.x264-SVA.mkv
+ptraining.day.111.480p.x264mSD.mkv
+pSense8
+ppy files to the opposite pane
+
+# Local filter history (oldest to newest):
+|jj
+
+# Registers:
+""/MacOSX-Data3/.vifm-Trash-1000/000_SEAL.Team.S03E04.HDTV.x264-KILLERS[ettv].mkv
+
+# Directory stack (oldest to newest):
+
+# Trash content:
+t/MacOSX-Data2/.vifm-Trash-1000/000_Young.Sheldon.S02E14.iNTERNAL.480p.x264-mSD[eztv].mkv
+ /home/archlinux/vgg/macosxd3/Media/Series/YoungSheldon/Young.Sheldon.S02E14.iNTERNAL.480p.x264-mSD[eztv].mkv
+t/MacOSX-Data3/.vifm-Trash-1000/000_eclipseLuna.p2f
+ /home/archlinux/vgg/macosxd3/Media/Series/YoungSheldon/eclipseLuna.p2f
+t/user4/.vifm-Trash-1000/000_The.Christ.Slayer.2019.720p.WEBRip.x264-[YTS.AM].mp4
+ /home/archlinux/vgg/macosxd3/Media/Mvs/The.Christ.Slayer.2019.720p.WEBRip.x264-[YTS.AM].mp4
+t/user4/.vifm-Trash-1000/000_The.Christ.Slayer.2019.720p.WEBRip.x264-[YTS.AM].mp4_
+ /home/archlinux/vgg/macosxd3/Media/Mvs/The.Christ.Slayer.2019.720p.WEBRip.x264-[YTS.AM].mp4_
+t/MacOSX-Data2/.vifm-Trash-1000/000_The Christ Slayer (2019) [WEBRip] [720p] [YTS.AM]
+ /MacOSX-Data2/media/The Christ Slayer (2019) [WEBRip] [720p] [YTS.AM]
+t/MacOSX-Data3/.vifm-Trash-1000/000_SEAL.Team.S03E04.HDTV.x264-KILLERS[ettv]
+ /home/archlinux/vgg/macosxd3/Media/SEAL.Team.S03E04.HDTV.x264-KILLERS[ettv]
+t/MacOSX-Data3/.vifm-Trash-1000/000_S.W.A.T.2017.S03E04.HDTV.x264-KILLERS[ettv]
+ /home/archlinux/vgg/macosxd3/Media/S.W.A.T.2017.S03E04.HDTV.x264-KILLERS[ettv]
+t/MacOSX-Data3/.vifm-Trash-1000/000_Project A (1983) [BluRay] [720p] [YTS.AM]
+ /home/archlinux/vgg/macosxd3/Media/Project A (1983) [BluRay] [720p] [YTS.AM]
+t/MacOSX-Data3/.vifm-Trash-1000/000_diskutil.info
+ /home/archlinux/vgg/macosxd3/Media/diskutil.info
+t/MacOSX-Data3/.vifm-Trash-1000/000_blob
+ /home/archlinux/vgg/macosxd3/Media/blob
+t/MacOSX-Data3/.vifm-Trash-1000/000_diskutil(1).info
+ /home/archlinux/vgg/macosxd3/Media/diskutil(1).info
+t/MacOSX-Data3/.vifm-Trash-1000/000_FBI.S02E05.720p.HDTV.x265-MiNX[eztv].mkv
+ /home/archlinux/vgg/macosxd3/Media/Series/FBI/FBI.S02E05.720p.HDTV.x265-MiNX[eztv].mkv
+t/MacOSX-Data3/.vifm-Trash-1000/000_Prodigal.Son.S01E05.480p.x264-mSD[eztv].mkv
+ /home/archlinux/vgg/macosxd3/Media/Prodigal.Son.S01E05.480p.x264-mSD[eztv].mkv
+t/MacOSX-Data3/.vifm-Trash-1000/001_FBI.S02E05.720p.HDTV.x265-MiNX[eztv].mkv
+ /home/archlinux/vgg/macosxd3/Media/FBI.S02E05.720p.HDTV.x265-MiNX[eztv].mkv
+t/MacOSX-Data3/.vifm-Trash-1000/000_SEAL.Team.S03E04.HDTV.x264-KILLERS[ettv].mkv
+ /home/archlinux/vgg/macosxd3/Media/Series/SealTeam/SEAL.Team.S03E04.HDTV.x264-KILLERS[ettv].mkv
+
+# State:
+f
+i1
+[.1
+[F
+F
+I1
+].1
+]F
+s0
diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc
new file mode 100755
index 0000000..004ae84
--- /dev/null
+++ b/.config/vifm/vifmrc
@@ -0,0 +1,449 @@
+" nvim: filetype=vifm
+source ~/.config/vifm/vifmshortcuts
+" ------------------------------------------------------------------------------
+" --- General Settings ----- {{{
+
+" This is the actual command used to start vi.
+set vicmd=nvim
+
+" confirm delete set only to permanent deleteset
+set confirm=permdelete
+
+" This is how many directories to store in the directory history.
+set history=100
+
+" Automatically resolve symbolic links on l or Enter.
+set nofollowlinks
+
+" With this option turned on you can run partially entered commands withset
+" 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 nvim.txt help file set vimhelp. If would rather use a plain text help file set novimhelp.
+set vimhelp
+
+" 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 noiec
+
+" Selected color schemecolorscheme
+colorscheme luke
+"colorscheme solarized-dark
+
+" Show list of matches on tab completion in command-line modeset
+set wildmenu
+
+" Ignore case in search patterns unless it contains at least one uppercaseset
+" letterset
+set ignorecase
+set smartcase
+
+" Don't highlight search results automaticallyset
+set nohlsearch
+
+" Use increment searching (search while typing)
+set incsearch
+
+" Try to leave some space from cursor to upper/lower border in listsset
+set scrolloff=4
+
+" Don't do too many requests to slow file systemsset
+set slowfs=curlftpfs
+
+" 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
+" ------------------------------------------------------------------------------
+" Examples of configuring both panels
+" Customize view columns a bit (enable ellipsis for truncated file names)
+" windo set viewcolumns=-{name}..,6{}.
+" Filter-out build and temporary files
+" windo filter! /^.*\.(lo|o|d|class|py[co])$|.*~$/
+" ------------------------------------------------------------------------------
+
+" }}}
+" ------------------------------------------------------------------------------
+" --- Commands & Mappings ----- {{{
+"
+" :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
+" Sample mappings
+
+command! df df -h %m 2> /dev/null
+command! diff nvim -d %f %F
+command! zip zip -r %f.zip %f
+command! run !! ./%f
+command! make !!make %a
+command! mkcd :mkdir %a | cd %a
+command! vgrep nvim "+grep %a"
+command! reload :write | restart
+
+
+nnoremap s :shell<cr> " Start shell in current directory
+nnoremap S :sort<cr> " Display sorting dialog
+nnoremap o :!nvim --remote-tab-silent %f<cr> " Open file in existing instance of vim
+nnoremap O :!nvim %f<cr> " Open file in new instance of vim
+nnoremap gb :file &<cr>l " Open file in the background using its default program
+nnoremap yd :!echo %d | xclip %i<cr> " Yank current directory path into the clipboard
+nnoremap yf :!echo %c:p | xclip %i<cr> " Yank current file path into the clipboard
+nnoremap ,t :!st &<cr> " Open console in current directory
+nnoremap ,w :set wrap!<cr> " Toggle wrap setting on ,w key
+map R :restart<CR>
+map x :!sxiv -ft * 2>/dev/null &<CR>
+nnoremap o :file &<cr>
+map E :!$EDITOR %f<CR>
+map mkd :mkdir<space>
+map bg :!setbg %f &<CR>
+map X :!ext %f &<CR>
+nnoremap s :shell<cr>
+nnoremap w :view<cr>
+vnoremap w :view<cr>gv
+nnoremap yd :!echo %d | xclip %i<cr>
+nnoremap yf :!echo %c:p | xclip %i<cr>
+nnoremap I cw<c-a>
+nnoremap cc cw<c-u>
+nnoremap A cw
+nmap <space> tj
+
+" Mappings for faster renaming
+nnoremap I cw<c-a>
+nnoremap cc cw<c-u>
+nnoremap A cw<c-w>
+
+nnoremap ,c :write | execute ':!nvim $MYVIFMRC' | restart<cr> " Open vim to edit vifmrc and apply settings after returning to vifm
+
+" Toggle visibility of preview window
+nnoremap w :view<cr>
+vnoremap w :view<cr>gv
+
+" Example of standard two-panel file managers mappings
+nnoremap <f3> :!less %f<cr>
+nnoremap <f4> :edit<cr>
+nnoremap <f5> :copy<cr>
+nnoremap <f6> :move<cr>
+nnoremap <f7> :mkdir<space>
+nnoremap <f8> :delete<cr>
+nnoremap <backspace> :delete<cr>
+
+nmap yy :!cp %f %D<cr> " copy files to the opposite pane
+nmap dd :!mv %f %D<cr> " move files to the opposite pane
+nmap yp :clone <cr> " make a backup copy files in the same pane
+
+" copy files to the opposite pane (using rsync)
+nmap ry :!tsp rsync -a %f %D<cr>
+
+" move files to the opposite pane (using rsync)
+nmap rd :!tsp rsync -a --remove-source-files %f %D && tsp find %f -type d -empty -exec rmdir {} \; && tsp rmdir %f<cr>
+
+"nmap <space> t " spacebar to select files; same as t (tag)
+nmap q ZZ " quicker quit
+
+" atool archive management
+" extracts current file (similar to ranger file manager)
+nmap EE :!atool -x %f <cr>
+command extract atool -x %f %m 2> /dev/null
+
+map <C-h> <C-w>h
+map <C-j> <C-w>j
+map <C-k> <C-w>k
+map <C-l> <C-w>l
+map <C-o> <C-w>o
+map <C-s> <C-w>s
+map <C-v> <C-w>v
+
+" }}}
+" ------------------------------------------------------------------------------
+" --- Format & Status Line ----- {{{
+" 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
+set statusline=" %t%= %A %10u:%-7g %15s %20d " " Set custom status line look
+" }}}
+" ------------------------------------------------------------------------------
+" --- Bookmarks & shortcuts ----- {{{
+" :mark mark /full/directory/path [filename]
+
+nmap bb :marks <cr> " show all bookmarks
+
+" }}}
+" ------------------------------------------------------------------------------
+" --- 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 "trash-cli interface to handle trash
+nmap DD :!trash-put %f <cr>
+nmap u :!trash-restore<cr>
+nmap DE :!trash-empty <cr>
+
+" }}}" ------------------------------------------------------------------------------
+" ------------------------------------------------------------------------------
+" --- File Types & Viewers ----- {{{
+" The file type is for the default programs to be used with
+" a file extension.
+" :filetype pattern1,pattern2 defaultprogram,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 %a 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
+ \ {View in zathura}
+ \ zathura %c,
+ \ {View in okular}
+ \ okular %f,
+ \ {View in evince}
+ \ evince %f,
+fileviewer *.pdf pdftotext -nopgbrk %c -
+" }}}
+" --- PostScript ----- {{{
+filextype *.ps,*.eps,*.ps.gz
+ \ {View in zathura}
+ \ zathura %f,
+ \ {View in gv}
+ \ gv %c %i &,
+" }}}
+" --- Djvu ----- {{{
+filextype *.djvu
+ \ {View in zathura}
+ \ zathura %f,
+ \ {View in apvlv}
+ \ apvlv %f,
+" }}}
+" --- Audio ----- {{{
+filetype *.wav,*.mp3,*.flac,*.ogg,*.m4a,*.wma,*.ape,*.ac3
+ \ {Play using mpv}
+ \ mpv %f,
+ \ {Play using ffplay}
+ \ ffplay -nodisp %c,
+ \ {Play using MPlayer}
+ \ mplayer %f,
+fileviewer *.mp3 mp3info
+fileviewer *.flac soxi
+" }}}
+" --- Video ----- {{{
+filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.vob,*.flv,*.m2v,*.mov,*.webm,*.ts,*.m4v
+ \ {View using mpv}
+ \ mpv %f,
+ \ {View using mplayer}
+ \ mplayer %f,
+ \ {View using ffplay}
+ \ ffplay -fs %c,
+ \ {View using vlc}
+ \ vlc %f,
+ \ {View using Dragon}
+ \ dragon %f,
+"fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.vob,*.flv,*.m2v,*.mov,*.webm,*.ts,*.m4v
+" \ vifmimg videopreview %px %py %pw %ph %c
+" \ %pc
+" \ vifmimg clear
+" "\ ffprobe -pretty %c 2>&1
+" }}}
+" --- Web ----- {{{
+filextype *.html,*.htm
+ \ {Open with w3m}
+ \ w3m %f
+ \ {Open with qutebrowser}
+ \ qutebrowser %f &,
+ \ {Open with uzbl}
+ \ uzbl-browser %f %i &,
+filetype *.html,*.htm links, lynx
+" }}}
+" --- Object ----- {{{
+filetype *.o nm %f | less
+" }}}
+" --- Man page ----- {{{
+filetype *.[1-8] man ./%c
+fileviewer *.[1-8] man ./%c | col -b
+" }}}
+" --- Image ----- {{{
+filetype *.bmp,*.jpg,*.jpeg,*.png,*.xpm
+ \ {view in sxiv}
+ \ sxiv -ia %c %d &,
+ \ {View in feh}
+ \ feh %d &,
+fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm
+ \ vifmimg draw %px %py %pw %ph %c
+ \ %pc
+ \ vifmimg clear
+filetype *.gif
+ \ {View in feh}
+ \ feh %d &,
+"fileviewer *.gif
+" \ vifimg gifpreview %px %py %pw %ph %c
+" \ %pc
+" \ vifmimg clear
+" }}}
+" --- MD5 ----- {{{
+filetype *.md5
+ \ {Check MD5 hash sum}
+ \ md5sum -c %f,
+" }}}
+" --- GPG signature ----- {{{
+filetype *.asc
+ \ {Check signature}
+ \ !!gpg --verify %c,
+" }}}
+" --- Torrent ----- {{{
+filetype *.torrent transmission-remote --add %f,
+fileviewer *.torrent transmission-show %c
+" }}}
+" --- FuseZipMount ----- {{{
+filetype *.zip,*.jar,*.war,*.ear,*.oxt
+ \ {Mount with fuse-zip}
+ \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR,
+ \ {View contents}
+ \ zip -sf %c | less,
+ \ {Extract here}
+ \ tar -xf %c,
+fileviewer *.zip,*.jar,*.war,*.ear,*.oxt zip -sf %c
+" }}}
+" --- ArchiveMount ----- {{{
+filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz
+ \ {Mount with archivemount}
+ \ FUSE_MOUNT|archivemount %SOURCE_FILE %DESTINATION_DIR,
+fileviewer *.tgz,*.tar.gz tar -tzf %c
+fileviewer *.tar.bz2,*.tbz2 tar -tjf %c
+fileviewer *.tar.txz,*.txz xz --list %c
+" }}}
+" --- Rar2FsMount and rar archives ----- {{{
+filetype *.rar
+ \ {Mount with rar2fs}
+ \ FUSE_MOUNT|rar2fs %SOURCE_FILE %DESTINATION_DIR,
+fileviewer *.rar unrar v %c
+" }}}
+" --- 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 and 7z archives ----- {{{
+filetype *.7z
+ \ {Mount with fuse-7z}
+ \ FUSE_MOUNT|fuse-7z %SOURCE_FILE %DESTINATION_DIR,
+fileviewer *.7z 7z l %c
+" }}}
+" --- Office files ----- {{{
+filextype *.odt,*.doc,*.docx,*.xls,*.xlsx,*.odp,*.pptx libreoffice %f &
+fileviewer *.doc catdoc %c
+fileviewer *.docx, docx2txt.pl %f -
+filetype *.csv,*.xlsx sc-im %c
+fileviewer *.csv sed "s/,,,,/,,-,,/g;s/,,/ /g" %c | column -t | sed "s/ - / /g" | cut -c -%pw
+fileviewer *md,*xml,*.css,*.py,*.c,*.h,*.sh,*.diff,*.tex,*.md,*.bib,*.sty,*.desktop highlight -O ansi %c
+fileviewer *.html w3m -dump %c
+filextype *.html,*.htm firefox %f 2>/dev/null &
+
+fileviewer *.docx docx2txt %c -
+" }}}
+" --- TuDu files ----- {{{
+filetype *.tudu tudu -f %c
+" }}}
+" --- Qt projects ----- {{{
+filextype *.pro qtcreator %f &
+" }}}
+" --- Directories ----- {{{
+fileviewer .*/,*/ tree %f
+fileview */ tree %c -L 1 --dirsfirst
+fileview ../ tree %c -L 1 --dirsfirst
+" }}}
+" --- Previews ----- {{{
+"
+" Explicitly set highlight type for some extensions
+"
+" 256-color terminal
+" fileviewer *.[ch],*.[ch]pp highlight -O xterm256 -s dante --syntax c %c
+" fileviewer Makefile,Makefile.* highlight -O xterm256 -s dante --syntax make %c
+"
+" 16-color terminal
+" fileviewer *.c,*.h highlight -O ansi -s dante %c
+"
+" Or leave it for automatic detection
+"
+" fileviewer * pygmentize -O style=monokai -f console256 -g
+
+" Displaying pictures in terminal
+"
+" fileviewer *.jpg,*.png shellpic %c
+" }}}
+" --- Other File types ----- {{{
+" 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 %c
+" For OS X:
+" filetype * open
+" }}}
+" }}}
+" ------------------------------------------------------------------------------
+" 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
+" ------------------------------------------------------------------------------
+" Various customization examples
+" Use ag (the silver searcher) instead of grep
+" set grepprg=ag\ --line-numbers\ %i\ %a\ %s
+" Add additional place to look for executables
+" let $PATH=$HOME.'/bin/fuse:'.$PATH
+" Block particular shortcut
+"
+" nnoremap <left> <nop>
diff --git a/.config/vifm/vifmshortcuts b/.config/vifm/vifmshortcuts
new file mode 100644
index 0000000..fbfec80
--- /dev/null
+++ b/.config/vifm/vifmshortcuts
@@ -0,0 +1,120 @@
+" vim: filetype=vim
+map gh :cd ~/<CR>
+map th <tab>:cd ~/<CR><tab>
+map Mh <tab>:cd ~/<CR><tab>:mo<CR>
+map Yh <tab>:cd ~/<CR><tab>:co<CR>
+map gcf :cd ~/.config<CR>
+map tcf <tab>:cd ~/.config<CR><tab>
+map Mcf <tab>:cd ~/.config<CR><tab>:mo<CR>
+map Ycf <tab>:cd ~/.config<CR><tab>:co<CR>
+map gsc :cd ~/.scripts<CR>
+map tsc <tab>:cd ~/.scripts<CR><tab>
+map Msc <tab>:cd ~/.scripts<CR><tab>:mo<CR>
+map Ysc <tab>:cd ~/.scripts<CR><tab>:co<CR>
+map gd :cd ~/Documents<CR>
+map td <tab>:cd ~/Documents<CR><tab>
+map Md <tab>:cd ~/Documents<CR><tab>:mo<CR>
+map Yd <tab>:cd ~/Documents<CR><tab>:co<CR>
+map gD :cd ~/Downloads<CR>
+map tD <tab>:cd ~/Downloads<CR><tab>
+map MD <tab>:cd ~/Downloads<CR><tab>:mo<CR>
+map YD <tab>:cd ~/Downloads<CR><tab>:co<CR>
+map gvd :cd ~/dwhelper<CR>
+map tvd <tab>:cd ~/dwhelper<CR><tab>
+map Mvd <tab>:cd ~/dwhelper<CR><tab>:mo<CR>
+map Yvd <tab>:cd ~/dwhelper<CR><tab>:co<CR>
+map gm :cd ~/music<CR>
+map tm <tab>:cd ~/music<CR><tab>
+map Mm <tab>:cd ~/music<CR><tab>:mo<CR>
+map Ym <tab>:cd ~/music<CR><tab>:co<CR>
+map gpp :cd ~/Pictures<CR>
+map tpp <tab>:cd ~/Pictures<CR><tab>
+map Mpp <tab>:cd ~/Pictures<CR><tab>:mo<CR>
+map Ypp <tab>:cd ~/Pictures<CR><tab>:co<CR>
+map gpw :cd ~/Pictures/wallpapers<CR>
+map tpw <tab>:cd ~/Pictures/wallpapers<CR><tab>
+map Mpw <tab>:cd ~/Pictures/wallpapers<CR><tab>:mo<CR>
+map Ypw <tab>:cd ~/Pictures/wallpapers<CR><tab>:co<CR>
+map gvv :cd ~/Videos<CR>
+map tvv <tab>:cd ~/Videos<CR><tab>
+map Mvv <tab>:cd ~/Videos<CR><tab>:mo<CR>
+map Yvv <tab>:cd ~/Videos<CR><tab>:co<CR>
+map ge :cd /etc<CR>
+map te <tab>:cd /etc<CR><tab>
+map Me <tab>:cd /etc<CR><tab>:mo<CR>
+map Ye <tab>:cd /etc<CR><tab>:co<CR>
+map gmn :cd /mnt<CR>
+map tmn <tab>:cd /mnt<CR><tab>
+map Mmn <tab>:cd /mnt<CR><tab>:mo<CR>
+map Ymn <tab>:cd /mnt<CR><tab>:co<CR>
+map gmd1 :cd ~/macosxd1<CR>
+map tmd1 <tab>:cd ~/macosxd1<CR><tab>
+map Mmd1 <tab>:cd ~/macosxd1<CR><tab>:mo<CR>
+map Ymd1 <tab>:cd ~/macosxd1<CR><tab>:co<CR>
+map gmd2 :cd ~/macosxd2<CR>
+map tmd2 <tab>:cd ~/macosxd2<CR><tab>
+map Mmd2 <tab>:cd ~/macosxd2<CR><tab>:mo<CR>
+map Ymd2 <tab>:cd ~/macosxd2<CR><tab>:co<CR>
+map gmd3 :cd ~/macosxd3<CR>
+map tmd3 <tab>:cd ~/macosxd3<CR><tab>
+map Mmd3 <tab>:cd ~/macosxd3<CR><tab>:mo<CR>
+map Ymd3 <tab>:cd ~/macosxd3<CR><tab>:co<CR>
+map gmd4 :cd ~/macosxd4<CR>
+map tmd4 <tab>:cd ~/macosxd4<CR><tab>
+map Mmd4 <tab>:cd ~/macosxd4<CR><tab>:mo<CR>
+map Ymd4 <tab>:cd ~/macosxd4<CR><tab>:co<CR>
+map gva :cd ~/macosxd3/Media/anime<CR>
+map tva <tab>:cd ~/macosxd3/Media/anime<CR><tab>
+map Mva <tab>:cd ~/macosxd3/Media/anime<CR><tab>:mo<CR>
+map Yva <tab>:cd ~/macosxd3/Media/anime<CR><tab>:co<CR>
+map gvf :cd ~/macosxd3/Media/Fights<CR>
+map tvf <tab>:cd ~/macosxd3/Media/Fights<CR><tab>
+map Mvf <tab>:cd ~/macosxd3/Media/Fights<CR><tab>:mo<CR>
+map Yvf <tab>:cd ~/macosxd3/Media/Fights<CR><tab>:co<CR>
+map gvm :cd ~/macosxd3/Media/Mvs<CR>
+map tvm <tab>:cd ~/macosxd3/Media/Mvs<CR><tab>
+map Mvm <tab>:cd ~/macosxd3/Media/Mvs<CR><tab>:mo<CR>
+map Yvm <tab>:cd ~/macosxd3/Media/Mvs<CR><tab>:co<CR>
+map gvs :cd ~/macosxd3/Media/Series<CR>
+map tvs <tab>:cd ~/macosxd3/Media/Series<CR><tab>
+map Mvs <tab>:cd ~/macosxd3/Media/Series<CR><tab>:mo<CR>
+map Yvs <tab>:cd ~/macosxd3/Media/Series<CR><tab>:co<CR>
+map gvc :cd ~/macosxd4/Media-Tutorial<CR>
+map tvc <tab>:cd ~/macosxd4/Media-Tutorial<CR><tab>
+map Mvc <tab>:cd ~/macosxd4/Media-Tutorial<CR><tab>:mo<CR>
+map Yvc <tab>:cd ~/macosxd4/Media-Tutorial<CR><tab>:co<CR>
+map gu4 :cd /user4<CR>
+map tu4 <tab>:cd /user4<CR><tab>
+map Mu4 <tab>:cd /user4<CR><tab>:mo<CR>
+map Yu4 <tab>:cd /user4<CR><tab>:co<CR>
+map gu4m :cd /user4/Media<CR>
+map tu4m <tab>:cd /user4/Media<CR><tab>
+map Mu4m <tab>:cd /user4/Media<CR><tab>:mo<CR>
+map Yu4m <tab>:cd /user4/Media<CR><tab>:co<CR>
+map gscm :cd /scratch/Media<CR>
+map tscm <tab>:cd /scratch/Media<CR><tab>
+map Mscm <tab>:cd /scratch/Media<CR><tab>:mo<CR>
+map Yscm <tab>:cd /scratch/Media<CR><tab>:co<CR>
+map gs2m :cd /scratch2/Media<CR>
+map ts2m <tab>:cd /scratch2/Media<CR><tab>
+map Ms2m <tab>:cd /scratch2/Media<CR><tab>:mo<CR>
+map Ys2m <tab>:cd /scratch2/Media<CR><tab>:co<CR>
+map bf :e ~/.config/bmfiles<CR>
+map bd :e ~/.config/bmdirs<CR>
+map cfb :e ~/.bashrc<CR>
+map cfe :e ~/.bashrc.d/01environ.bash.linux<CR>
+map cfa :e ~/.bashrc.d/02aliases.bash.linux<CR>
+map cff :e ~/.bashrc.d/03functions.bash.linux<CR>
+map cfz :e ~/.zshrc<CR>
+map cfv :e ~/.vimrc<CR>
+map cfr :e ~/.config/ranger/rc.conf<CR>
+map cfi :e ~/.config/i3/config<CR>
+map cfm :e ~/.config/mutt/muttrc<CR>
+map eb :e ~/Documents/LaTeX/uni.bib<CR>
+map cv :e ~/Documents/LaTeX/cv.tex<CR>
+map cfd :e ~/.Xdefaults<CR>
+map cfu :e ~/.newsboat/urls<CR>
+map cfn :e ~/.newsboat/config<CR>
+map cfmb :e ~/.config/ncmpcpp/bindings<CR>
+map cfmc :e ~/.config/ncmpcpp/config<CR>
+map er :e ~/Documents/referbib<CR>