Preserving runtime state across sessions
As described in Configuration model, Vifm can store some information between
vifminfo file. What exactly is stored depends on the value of
'vifminfo' option. The option enumerates values elements of run-time
state that can be saved on exit and restored on startup. It works this way:
- On exit Vifm stores all th is listed in
- On startup Vifm loads reads
vifmrc, which normally contains
set vifminfo=...and restores from
vifminfoonly items that correspond to that values.
By default only bookmarks are stored.
Below is the table of all possible values. Note those marked as obsolete, they might be removed
in future versions (for a good reason: they don't fit into usual way configuration fails are used; it's better
to put commands that correspond to this items into
|bookmarks||Yes||Bookmarks, except special ones like |
|tui||No||State of the user interface (sorting, number of windows, quick view state, active view).|
|state||No||File name and dot filters and terminal multiplexers integration state.|
|cs||No||Primary color scheme.|
|savedirs||No||Save last visited directory (requires |
|chistory||No||Command line history.|
|shistory||No||Search history (|
|fhistory||No||Local filter history.|
|dirstack||No||Directory stack overwrites previous stack, unless stack of current session is empty.|
|options||No||All options that can be set with the :set command.|
|filetypes||No||Associated programs and viewers.|
|commands||No||User defined commands.|
TODO: merging of state.
Remembering last visited directories of panes
TODO: how it affects starting Vifm without arguments.
Quitting Vifm started in file picker mode (e.g. from Vim plugin)
-f command-line argument is given to Vifm, it starts acting
like file picker. Most of commands work as usual, but instead of opening files
- Stores selected files (or current file when selection is empty) in place accessible by invoker (see below).
- Quits Vifm.
TODO: running commands store selection and quit.
Selected files are stored in main configuration directory (
by default) in file named
vimfiles. Each file name is stored on a
new line (which means that file names containing new line characters won't work
TODO: example for shell.