FAQ
Generic
How to report bugs/feature requests?
There are several ways to do that, pick one that is the most convenient to you (e.g. you already have an account where it's required for posting):
Which code repository is the primary one?
master
branch and tags of both
https://github.com/vifm/vifm.git
and
http://git.code.sf.net/p/vifm/code
are updated at the same time for all repositories (although they might be out of sync for a short period of time occasionally), so one should get the same result no matter which code repository is used. Different repositories might have different feature/bug-fix branches, but they are temporary ones and exist just to communicate new code for testing.
Configuration
How to use non-Vim-like editor as the default?
Vifm makes assumptions about what 'vicmd'
command can handle by requiring
certain level of Vim-like compatibility which many editors don't provide.
Prior to Vifm 0.12.1, the only way around this was writing a wrapper script that will throw
away -f
or other Vim-specific parameters.
Vifm 0.12.1 or newer allows handling this better via Lua API which was introduced in part to enable such integrations.
Installing sample editor plugin
If you see your fauvorite editor listed here, then all you have to do is set:
set vicmd='#editor#run emacs'
It won't necessarily support all the features, but it will at least behave reasonably when you're trying to do something the editor can't handle.
Extending editor plugin
If your editor isn't present, you might consider adding it and sending plugin changes for others to use (read Providing a patch or send a PR).
- Clone/download that directory and set it up locally (Using Lua plugins).
- Copy one of the
editor-name.lua
files (pick the one similar to the editor you're interested in adding). - Modify
init.vim
to register your file (where other editors are listed nearimpls
). - Add
set vicmd='#editor#run emacs'
to your `vifmrc`. - Modify the file to make your editor work, see Lua API.
How to set view-local option (sorting/columns) for both views from vifmrc
?
Since 0.8.1
In Vifm 0.8.1 and above there is no need for windo
command in vifmrc
, it's implicitly added to cover the cases
below.
" separately
set sort=...
set viewcolumns=...
" or both at the same time
set sort=... viewcolumns=...
See below if you need to do this inside a mapping or a :command, which requires windo
for updating both panes.
Prior to 0.8.1
Add windo
prefix to command you want to be executed for both panes.
" separated
windo set sort=...
windo set viewcolumns=...
" or both at the same time
windo set sort=... viewcolumns=...
windo
can be applied to any command-line command, not just set
.
Since 0.9
Add this command to your ~/.vifm/vifmrc
:
set dotfiles
Prior to 0.9
Add this command to your ~/.vifm/vifmrc
:
windo normal! zo
Where:
windo
applies command to both panes (as described in in another question);normal!
is Command-line mode command that executes its argument list as Normal mode commands (!
ensures that none of user-defined mappings will affect execution of Normal mode commands);- zo is Normal mode command to show hidden files.
set viewcolumns=-{name}..,6{}.
Design/Features
Is it possible to embed Vim or another terminal application into one of Vifm's panes?
No, unfortunately it's not possible. Allowing this would require embedding
terminal multiplexer into Vifm, which is kinda silly because it is a file
manager. The compromise is to run Vifm inside terminal multiplexer and
provide some integration between them (there is already some builtin support
for GNU Screen and
tmux in Vifm, e.g. :screen
,
:ls
).
How to exit vifm in the active directory?
See How to set shell working directory after leaving Vifm.
How to change current pane to the directory of inactive pane?
:cd %D
command does this, here %D
is a macro that
expands to full path of the other pane. One probably would like to map this
command to a shortcut, e.g.
:nnoremap <c-y> :cd %D<cr>
binds such directory synchronization to Ctrl+Y shortcut.
Add that :nnoremap
command to your ~/.vifm/vifmrc
to
make the shortcut persistent.
How to get total size of selected files?
'statusline'
option has %E
flag (with optional width
field). It allows one to see total size of selected items on the status line.
Add the flag somewhere in the value of the option, maybe use it instead of
%s
. Example:
set statusline=' %t%= %A %10u:%-7g %15E %20d '
If you want size of directories to reflect sizes of files they contain, use ga/gA on them.