Tags: Mu-L/vifm
Tags
Vifm v0.12 New version makes textual preview asynchronous, provides support for 24-bit colors, improves tree-view and introduces experimental Lua plugins support. Thanks to everyone who tried out the beta. Main changes: - color schemes and preview now support 24-bit colors; - depth of tree-view can now be limited and directories in it can be folded; - textual preview of files is now done asynchronously; - list of files can now be directly piped to programs via new macros; - external editing now asks for a re-edit after a failure; - status line can now take up several lines; - new keys for controlling viewer while in view mode; - view column separators; - Vifm has received a more advanced, but currently experimental, extension interface in a form of Lua plugins; - new logo. More detailed list of changes. Core: - added experimental Lua plugins support; - added interactive re-editing of file names in external editor. Format now supports comments for displaying last error and original file names (thanks to Jose Riha, a.k.a. jose1711 and Diogo Lemos (a.k.a. dmlemos)); - started using quickview's cache in view mode; - extended cache of viewer's output to contain multiple entries (initial version of the cache was added to skip redrawing graphics); - run background programs detached from a terminal (thanks to Miguel Madrid Mencía, a.k.a. mimame). File operations: - added periodic forced flushing of data on copying data when 'syscalls' is set (thanks to Matthias Braun, a.k.a. mb720). Invocation: - don't list inaccessible instances on --server-list. Important fixes: - fixed losing files as a result of executing ":copy! &" or ":move! &" when both panes show the same directory (thanks to Hans Bieshaar); - fixed copying of executable files not working on FreeBSD (thanks to makijato); - fixed inability to map escape sequences due to extended keys in terminfo database (patch by M Kelly); - fixed hang on using previewer that takes over control over the terminal (like 7z does to read password) (thanks to PRESFIL); - fixed vifm-convert-dircolors dropping copies of entries that differ only by case (thanks to flux242). Normal and visual modes: - added zx normal mode key to fold/unfold directories in tree views. The implementation is not optimal at this moment though (thanks to filterfalse, Ben Lu, a.k.a. ayroblu, RR0925 and Alexandre Viau). Key bindings: - added a and A view mode keys that switch to next and previous viewer of current file correspondingly (thanks to j-xella); - added i view mode key that toggles raw mode (ignoring of defined viewers) (thanks to j-xella). Command-line mode: - added :plugins command that opens plugins menu; - added :plugin command that manages plugins; - added :st[op] command what behaves like Ctrl-Z. It's to be used in mappings (thanks to GummyGun); - added "depth=N" parameter to the :tree command (thanks to filterfalse); - added "combine" pseudo-attribute to "cterm" parameter of :highlight command. It changes behaviour from overwriting attributes of a parent highlight group (within their hierarchy) to appending to it (thanks to Andrew Savchenko); - added "gui", "guifg" and "guibg" parameters to :highlight command; - added network mount and `subst` targets to :volumes menu (patch by Phil Runninger); - made :compare obey file name filters (patch by qsmodo); - allow user-defined commands to include numbers in their names (thanks to anonymous at Vifm Q2A site). :set command and options: - added %P macro to 'rulerformat' (and thus to 'statusline'), which expands to All, Top, xx% or Bot to indicate position within the view (thanks to iSeeU816); - added 'previewoptions' option to allow tweaking graphics preview a bit (thanks to Joshua Jensch, a.k.a., patroclos and flux242); - added "toptreestats" value to 'previewoptions' option, which makes stats appear before the tree (patch by qsmodo); - added literal values to 'viewcolumns' option (thanks to Jose Riha, a.k.a. jose1711, chelovechishko, DieSpinne and rwtallant13); - added %N macro to 'statusline' option, which adds a line break and increases height of the status line (thanks to Jose Riha, a.k.a. jose1711, qsmodo and jcarreja); - added "l" and "r" flags to the 'tuioptions' option. It controls truncation of view titles (patch by qsmodo); - added %c 'statusline' macro that displays size of current file-system (thanks to Jose Riha, a.k.a. jose1711). Macros: - added %Pl and %Pz macros for redirecting list of files to standard input of commands (thanks to PRESFIL); - added %v macro for vertical splitting in terminal multiplexers (patch by qsmodo). File preview: - allow exploring empty files or output of viewers (thanks to Andrew Savchenko); - implemented asynchronous previewing for textual and pass-through (think sixel) viewers (thanks to StillSteal, laur89, Joshua Jensch, a.k.a. patroclos and p-kolacz); - detect broken links on preview and report them as such. Color schemes: - changed semantics of light* color groups to add bold attribute only for terminals with less than 16 colors. Aligns the behaviour with Vim. Affects you only if you relied on that implicit bold attribute (thanks to Jose Riha, a.k.a. jose1711). Menus and dialogs: - added shortcuts for toggling flags in permissions dialog on *nix (patch by qsmodo); - added some additional information about instance to the :version/:vifm menu; - made contents of map menus easier to comprehend by adding captions; - include shortcut prefix in title of map menus; - always display UID/GID in numeric form in File Info dialog (in parenthesis if the id was resolved to a string). TUI (Text User Interface): - added support for direct/"true"/24-bit colors for ncurses 6.0 or later (thanks to Anton Kochkov, a.k.a. XVilka and IvanBarsukov); - added progress indication to the ruler of the view mode (corresponds to new %P macro of 'rulerformat') (thanks to iSeeU816). Documentation: - document how %i macro affects background jobs. Only on Windows: - fixed :goto not working with backslashes (thanks to Grueslayer); - fixed processing of keypad keys (thanks to Roland); - fixed :empty leaving empty directories (thanks to Grueslayer). Packaging: - made it possible to build AppImage for Vifm (patch by michaellee8); - fixed running tests as root user (thanks to Michka Popoff, a.k.a. iMichka); - fixed an issue with packaging on one system (Linux in this case) and building on the other (OS X) (thanks to chenrui333). Vim-plugin: - made :VifmCs of the plugin handle 24-bit colors. Other changes: - updated logo of the project (thanks to Hescalalu for making it). See change log for the full list of changes and by whom they were suggested or implemented.
Vifm v0.12 beta New version makes textual preview asynchronous, provides support for 24-bit colors, improves tree-view and introduces experimental Lua plugins support. The beta stage will last about two weeks. In case any serious bugs are found during this period, another beta version might be released. Main changes: - color schemes and preview now support 24-bit colors; - depth of tree-view can now be limited and directories in it can be folded; - textual preview of files is now done asynchronously; - list of files can now be directly piped to programs via new macros; - external editing now asks for a re-edit after a failure; - status line can now take up several lines; - Vifm has received a more advanced, but currently experimental, extension interface in a form of Lua plugins. More detailed list of changes. Core: - added experimental Lua plugins support; - added interactive re-editing of file names in external editor. Format now supports comments for displaying last error and original file names (thanks to Jose Riha, a.k.a. jose1711 and Diogo Lemos (a.k.a. dmlemos)); - started using quickview's cache in view mode; - extended cache of viewer's output to contain multiple entries (initial version of the cache was added to skip redrawing graphics); - run background programs detached from a terminal (thanks to Miguel Madrid Mencía, a.k.a. mimame). File operations: - added periodic forced flushing of data on copying data when 'syscalls' is set (thanks to Matthias Braun, a.k.a. mb720). Invocation: - don't list inaccessible instances on --server-list. Important fixes: - fixed losing files as a result of executing ":copy! &" or ":move! &" when both panes show the same directory (thanks to Hans Bieshaar); - fixed copying of executable files not working on FreeBSD (thanks to makijato); - fixed inability to map escape sequences due to extended keys in terminfo database (patch by M Kelly); - fixed hang on using previewer that takes over control over the terminal (like 7z does to read password) (thanks to PRESFIL); - fixed vifm-convert-dircolors dropping copies of entries that differ only by case (thanks to flux242). Normal and visual modes: - added zx normal mode key to fold/unfold directories in tree views. The implementation is not optimal at this moment though (thanks to filterfalse, Ben Lu, a.k.a. ayroblu, RR0925 and Alexandre Viau). Key bindings: - added a and A view mode keys that switch to next and previous viewer of current file correspondingly (thanks to j-xella); - added i view mode key that toggles raw mode (ignoring of defined viewers) (thanks to j-xella). Command-line mode: - added :plugins command that opens plugins menu; - added :plugin command that manages plugins; - added :st[op] command what behaves like Ctrl-Z. It's to be used in mappings (thanks to GummyGun); - added "depth=N" parameter to the :tree command (thanks to filterfalse); - added "combine" pseudo-attribute to "cterm" parameter of :highlight command. It changes behaviour from overwriting attributes of a parent highlight group (within their hierarchy) to appending to it (thanks to Andrew Savchenko); - added "gui", "guifg" and "guibg" parameters to :highlight command; - added network mount and `subst` targets to :volumes menu (patch by Phil Runninger); - made :compare obey file name filters (patch by qsmodo); - allow user-defined commands to include numbers in their names (thanks to anonymous at Vifm Q2A site). :set command and options: - added %P macro to 'rulerformat' (and thus to 'statusline'), which expands to All, Top, xx% or Bot to indicate position within the view (thanks to iSeeU816); - added 'previewoptions' option to allow tweaking graphics preview a bit (thanks to Joshua Jensch, a.k.a., patroclos and flux242); - added "toptreestats" value to 'previewoptions' option, which makes stats appear before the tree (patch by qsmodo); - added literal values to 'viewcolumns' option (thanks to Jose Riha, a.k.a. jose1711, chelovechishko, DieSpinne and rwtallant13); - added %N macro to 'statusline' option, which adds a line break and increases height of the status line (thanks to Jose Riha, a.k.a. jose1711, qsmodo and jcarreja); - added "l" and "r" flags to the 'tuioptions' option. It controls truncation of view titles (patch by qsmodo); - added %c 'statusline' macro that displays size of current file-system (thanks to Jose Riha, a.k.a. jose1711). Macros: - added %Pl and %Pz macros for redirecting list of files to standard input of commands (thanks to PRESFIL); - added %v macro for vertical splitting in terminal multiplexers (patch by qsmodo). File preview: - allow exploring empty files or output of viewers (thanks to Andrew Savchenko); - implemented asynchronous previewing for textual and pass-through (think sixel) viewers (thanks to StillSteal, laur89, Joshua Jensch, a.k.a. patroclos and p-kolacz); - detect broken links on preview and report them as such. Color schemes: - changed semantics of light* color groups to add bold attribute only for terminals with less than 16 colors. Aligns the behaviour with Vim. Affects you only if you relied on that implicit bold attribute (thanks to Jose Riha, a.k.a. jose1711). Menus and dialogs: - added shortcuts for toggling flags in permissions dialog on *nix (patch by qsmodo); - added some additional information about instance to the :version/:vifm menu; - made contents of map menus easier to comprehend by adding captions; - include shortcut prefix in title of map menus; - always display UID/GID in numeric form in File Info dialog (in parenthesis if the id was resolved to a string). TUI (Text User Interface): - added support for direct/"true"/24-bit colors for ncurses 6.0 or later (thanks to Anton Kochkov, a.k.a. XVilka and IvanBarsukov); - added progress indication to the ruler of the view mode (corresponds to new %P macro of 'rulerformat') (thanks to iSeeU816). Documentation: - document how %i macro affects background jobs. Only on Windows: - fixed :goto not working with backslashes (thanks to Grueslayer); - fixed processing of keypad keys (thanks to Roland); - fixed :empty leaving empty directories (thanks to Grueslayer). Packaging: - made it possible to build AppImage for Vifm (patch by michaellee8); - fixed running tests as root user (thanks to Michka Popoff, a.k.a. iMichka); - fixed an issue with packaging on one system (Linux in this case) and building on the other (OS X) (thanks to chenrui333). Vim-plugin: - made :VifmCs of the plugin fail when 'termguicolors' produces a 24-bit color value (thanks to AtomToast). Other changes: - updated logo of the project (thanks to Hescalalu for making it). See change log for the full list of changes and by whom they were suggested or implemented.
vifm v0.10.1 ------------ This version provides additions and improvements for media management feature, several enhancements related to text user interface, extra features to Vim plugin thanks to merging in neovim-vifm plugin and various small changes. Thanks to everyone who tried out the beta. Main changes: - added file preview to miller mode; - added preview macro to directly output to terminal, which enables use of Sixel graphics for previewing; - added udisks2 backend to vifm-media script (bundled script for managing media) and version of the script for OS X; - updated code to make use of large amount of color pairs when available; - functionality of previously separate neovim-vifm plugin got merged into the main plugin; - multiple improvements to :media menu; - improved performance in several use cases (quickview, lots of unhighlighted files, unnecessary cursor updates and redraws). More detailed list of changes. Command-line mode: - added :cds command that navigates to path obtained by substitution in the current path (thanks to j-xella); - added :hideui command that hides interface to show previous commands' output (thanks to dikiy); - added one more invocation format of :colorscheme command, which picks the first available color scheme that is supported by the terminal (thanks to Jose Riha, a.k.a. jose1711); - always preserve tabs on :restart (thanks to mwgkgk); - refuse to compare directory against itself via :compare command (thanks to Jose Riha, a.k.a. jose1711). :set command and options: - added fileroot view column, which displays full name of directories and symbolic links to directories and only root of name for everything else (thanks to chelovechishko); - added 'shellcmdflag' option that allows customizing how shell is invoked. Enables running it in interactive mode, which can make shell aliases and functions work (thanks to Ink (a.k.a. inknoir), John Shea (a.k.a. coachshea) and randomizedthinking); - added L flag to 'shortmess' option to display only last directory in tab line instead of full path (thanks to chelovechishko); - added ^= operation for string list options (thanks to SearyBlue); - added ^= operation for options of set kind; - added rpreview: key to 'milleroptions' option that allows enabling preview of files (thanks to Svadkos and Tom Jansen); - added %p macro to 'findprg' option. It works as a mix between %a and %A macros: usually contains arguments passed to :find command, but unlike %a doesn't include any predicates (thanks to Sitaram Chamarty and Tuan Bui, a.k.a. tuanbass); - added "space" and "nospace" values to 'sizefmt' option (patch by zsugabubus); - do not add leading comma to string list options on set opt+=item; - don't create trash directory on startup if 'trash' is off (patch by zsugabubus). Key bindings: - improved <silent> to do not forcefully update screen after the mapping if no screen updates were skipped. Completion: - complete user name in paths after initial tilde (e.g., :cd ~r<tab> => :cd ~root). Macros: - added %pd macro that makes preview output directly affect terminal circumventing curses interface, which could be used to display sixel images (thanks to Tom Jansen). Color schemes: - added OtherWin highlight group for highlighting inactive pane (thanks to John Fred Fadrigalan, a.k.a. cevhyruz). Menus and dialogs: - added indication of entry's availability to :file, :file[x]type and :fileviewer menus; - added [ and ] bindings to :media menu that provide navigation between devices (patch by zsugabubus); - added decorations to :media menu (patch by zsugabubus); - react to Enter in :media menu on device lines, mount on "not mounted" line and do nothing otherwise (patch by zsugabubus); - show empty lines in :media only if there is enough vertical space (patch by zsugabubus); - removed empty line from :file and similar menus for case when vifm was configured with --disable-desktop-files flag (second time). Scripting: - added extcached() builtin function, which can be used to improve performance of file queries by caching results of external commands (thanks to Matthias Braun, a.k.a. mb720). Invocation: - try to preserve symbolic links in current path when starting vifm by checking value of $PWD (thanks to Vigi). Core: - resolve symbolic links for mime-type matchers (thanks to Vigi); - do not check for view changes while suggestions are visible. It can mess up TUI, especially in combination with preview (thanks to ks1c). File operations: - preserve extended attributes on copying files (thanks to hutou); - don't throw away errors that were ignored by the user, display them at the end of operation; - consume input during foreground file operations. Otherwise it remains buffered and is processed after the operation is over, which might not be the intent of the user; - reduce number of options available on file conflict when source and destination are the same to avoid confusion (options that overwrite do nothing in this case) (thanks to aleksejrs). File preview: - do not complain about empty output of a graphics previewer for view mode; - clear preview before displaying suggestions (thanks to ks1c). TUI (Text User Interface): - renamed filename filter to "permanent filter" consisting of "explicit" (ex-manual) and "implicit" (ex-automatic) parts (thanks to Sitaram Chamarty); - changed file rename prompt to indicate whether full name or only its root is being changed; - try to determine widths of printed character more accurately; - drop leading space implicitly added to time columns in views (thanks to laggardkernel). Integration: - added info= field to parser of 'mediaprg' output. It provides custom message for the media (patch by zsugabubus); - added udisks2 backend to vifm-media script (bundled script for managing media). Requires python and dbus module for it to be installed (because udisks2 and dbus are too shitty to be used on command-line) (thanks to Tykin); - added FUSE_MOUNT3 filetype format, which is equivalent to FUSE_MOUNT, but doesn't perform unmounting. Helpful to use something like avfs (thanks to Jose Riha, a.k.a. jose1711); - added vifm-media-osx script that is configured to be used (via 'mediaprg') on OS X (patch by Von Welch); - error stream from 'mediaprg' isn't considered anymore when deciding if mounting/unmounting was successful. While technically an incompatible change, it's unlikely to cause any issues; - spawn 'mediaprg' in foreground to allow interactions with the user, like providing a password (patch by zsugabubus); - properly remove FUSE mount points if they are symbolic links; - assume that any $TERM value that starts with "xterm-", "rxvt-" or "screen-" supports terminal title (thanks to Matthias Braun, a.k.a. mb720). Documentation: - better documentation for TabLine and TabLineSel highlighting groups (thanks to mwgkgk); - clearer documentation/description for :*unmap commands and 'vicmd'/'vixcmd' options (thanks to chelovechishko); - improve documentation of patterns and globs (thanks to afsheenb); - improved documentation on filters (thanks to Sitaram Chamarty); - document more details about expansion of FUSE macros; - make documentation of 'findprg' more readable. Vim-plugin: - added :Vifm command as an alias for :EditVifm (patch by rbong); - added optional splitting of the embedded terminal (g:vifm_embed_split). Has support for Vim's <mods> and <count> (patch by rbong); - added option to synchronize working directory of the embedded instance of vifm with the Vim host (g:vifm_embed_cwd) (patch by rbong); - added ability to replace netrw with vifm (g:vifm_replace_netrw and g:vifm_replace_netrw_cmd) (patch by rbong); - added autodetection of *.vifm files as files with "vifm" filetype to the plugin (patch by Anton Kochkov, a.k.a. XVilka). Configuration: - added example of using xsel to sample vifmrc file (thanks to chelovechishko); - enabled 'vimhelp' in sample vifmrc file by default. Performance: - added caching to quickview for a single file to avoid fileviewer being called more often than needed (thanks to agguser); - try to avoid superfluous screen updates related to cursor position; - remember when file doesn't match any file-specific highlighting groups for better performance (thanks to Gomme Bidule); - generate faster regular expressions by vifm-convert-dircolors (thanks to Gomme Bidule). Only on Windows: - upgraded to PDCurses 3.8 (was 3.4) for Windows. This allows using 256 colors inside ConEmu. Note that ConEmu has issues processing 256 colors on the last line of the screen, so avoid using them for status line (thanks to dancread). Other changes: - don't error on trash creation failure due to read-only file system (patch by zsugabubus). Important fixes: - fixed losing files on failed move operation. Source files were deleted assuming they were copied successfully, even when errors regarding some of them were ignored by the user (thanks to zsugabubus); - fixed vifm not making use of large number of color pairs when they are available (thanks to Jose Riha (a.k.a. jose1711) and Hans Petter Jansson (a.k.a. hpjansson)); - fixed color pairs being exhausted on Windows when default color ends up being used often, this caused highlighting to go awry (thanks to dancread); - fixed textual output of graphical previewers not being displayed in view mode (thanks to agguser); - fixed DirEnter autocommand being called with view being in a mixed state of old and new location (thanks to Kendrick Taylor, a.k.a. sixcircuit). See change log for the full list of changes and by whom they were suggested or implemented.
vifm v0.10.1 ------------ This version provides additions and improvements for media management feature, several enhancements related to text user interface, extra features to Vim plugin thanks to merging in neovim-vifm plugin and various small changes. Thanks to everyone who tried out the beta. Main changes: - added file preview to miller mode; - added preview macro to directly output to terminal, which enables use of Sixel graphics for previewing; - added udisks2 backend to vifm-media script (bundled script for managing media) and version of the script for OS X; - updated code to make use of large amount of color pairs when available; - functionality of previously separate neovim-vifm plugin got merged into the main plugin; - multiple improvements to :media menu; - improved performance in several use cases (quickview, lots of unhighlighted files, unnecessary cursor updates and redraws). More detailed list of changes. Command-line mode: - added :cds command that navigates to path obtained by substitution in the current path (thanks to j-xella); - added :hideui command that hides interface to show previous commands' output (thanks to dikiy); - added one more invocation format of :colorscheme command, which picks the first available color scheme that is supported by the terminal (thanks to Jose Riha, a.k.a. jose1711); - always preserve tabs on :restart (thanks to mwgkgk); - refuse to compare directory against itself via :compare command (thanks to Jose Riha, a.k.a. jose1711). :set command and options: - added fileroot view column, which displays full name of directories and symbolic links to directories and only root of name for everything else (thanks to chelovechishko); - added 'shellcmdflag' option that allows customizing how shell is invoked. Enables running it in interactive mode, which can make shell aliases and functions work (thanks to Ink (a.k.a. inknoir), John Shea (a.k.a. coachshea) and randomizedthinking); - added L flag to 'shortmess' option to display only last directory in tab line instead of full path (thanks to chelovechishko); - added ^= operation for string list options (thanks to SearyBlue); - added ^= operation for options of set kind; - added rpreview: key to 'milleroptions' option that allows enabling preview of files (thanks to Svadkos and Tom Jansen); - added %p macro to 'findprg' option. It works as a mix between %a and %A macros: usually contains arguments passed to :find command, but unlike %a doesn't include any predicates (thanks to Sitaram Chamarty and Tuan Bui, a.k.a. tuanbass); - added "space" and "nospace" values to 'sizefmt' option (patch by zsugabubus); - do not add leading comma to string list options on set opt+=item; - don't create trash directory on startup if 'trash' is off (patch by zsugabubus). Key bindings: - improved <silent> to do not forcefully update screen after the mapping if no screen updates were skipped. Completion: - complete user name in paths after initial tilde (e.g., :cd ~r<tab> => :cd ~root). Macros: - added %pd macro that makes preview output directly affect terminal circumventing curses interface, which could be used to display sixel images (thanks to Tom Jansen). Color schemes: - added OtherWin highlight group for highlighting inactive pane (thanks to John Fred Fadrigalan, a.k.a. cevhyruz). Menus and dialogs: - added indication of entry's availability to :file, :file[x]type and :fileviewer menus; - added [ and ] bindings to :media menu that provide navigation between devices (patch by zsugabubus); - added decorations to :media menu (patch by zsugabubus); - react to Enter in :media menu on device lines, mount on "not mounted" line and do nothing otherwise (patch by zsugabubus); - show empty lines in :media only if there is enough vertical space (patch by zsugabubus); - removed empty line from :file and similar menus for case when vifm was configured with --disable-desktop-files flag (second time). Scripting: - added extcached() builtin function, which can be used to improve performance of file queries by caching results of external commands (thanks to Matthias Braun, a.k.a. mb720). Invocation: - try to preserve symbolic links in current path when starting vifm by checking value of $PWD (thanks to Vigi). Core: - resolve symbolic links for mime-type matchers (thanks to Vigi); - do not check for view changes while suggestions are visible. It can mess up TUI, especially in combination with preview (thanks to ks1c). File operations: - preserve extended attributes on copying files (thanks to hutou); - don't throw away errors that were ignored by the user, display them at the end of operation; - consume input during foreground file operations. Otherwise it remains buffered and is processed after the operation is over, which might not be the intent of the user; - reduce number of options available on file conflict when source and destination are the same to avoid confusion (options that overwrite do nothing in this case) (thanks to aleksejrs). File preview: - do not complain about empty output of a graphics previewer for view mode; - clear preview before displaying suggestions (thanks to ks1c). TUI (Text User Interface): - renamed filename filter to "permanent filter" consisting of "explicit" (ex-manual) and "implicit" (ex-automatic) parts (thanks to Sitaram Chamarty); - changed file rename prompt to indicate whether full name or only its root is being changed; - try to determine widths of printed character more accurately; - drop leading space implicitly added to time columns in views (thanks to laggardkernel). Integration: - added info= field to parser of 'mediaprg' output. It provides custom message for the media (patch by zsugabubus); - added udisks2 backend to vifm-media script (bundled script for managing media). Requires python and dbus module for it to be installed (because udisks2 and dbus are too shitty to be used on command-line) (thanks to Tykin); - added FUSE_MOUNT3 filetype format, which is equivalent to FUSE_MOUNT, but doesn't perform unmounting. Helpful to use something like avfs (thanks to Jose Riha, a.k.a. jose1711); - added vifm-media-osx script that is configured to be used (via 'mediaprg') on OS X (patch by Von Welch); - error stream from 'mediaprg' isn't considered anymore when deciding if mounting/unmounting was successful. While technically an incompatible change, it's unlikely to cause any issues; - spawn 'mediaprg' in foreground to allow interactions with the user, like providing a password (patch by zsugabubus); - properly remove FUSE mount points if they are symbolic links; - assume that any $TERM value that starts with "xterm-", "rxvt-" or "screen-" supports terminal title (thanks to Matthias Braun, a.k.a. mb720). Documentation: - better documentation for TabLine and TabLineSel highlighting groups (thanks to mwgkgk); - clearer documentation/description for :*unmap commands and 'vicmd'/'vixcmd' options (thanks to chelovechishko); - improve documentation of patterns and globs (thanks to afsheenb); - improved documentation on filters (thanks to Sitaram Chamarty); - document more details about expansion of FUSE macros; - make documentation of 'findprg' more readable. Vim-plugin: - added :Vifm command as an alias for :EditVifm (patch by rbong); - added optional splitting of the embedded terminal (g:vifm_embed_split). Has support for Vim's <mods> and <count> (patch by rbong); - added option to synchronize working directory of the embedded instance of vifm with the Vim host (g:vifm_embed_cwd) (patch by rbong); - added ability to replace netrw with vifm (g:vifm_replace_netrw and g:vifm_replace_netrw_cmd) (patch by rbong); - added autodetection of *.vifm files as files with "vifm" filetype to the plugin (patch by Anton Kochkov, a.k.a. XVilka). Configuration: - added example of using xsel to sample vifmrc file (thanks to chelovechishko); - enabled 'vimhelp' in sample vifmrc file by default. Performance: - added caching to quickview for a single file to avoid fileviewer being called more often than needed (thanks to agguser); - try to avoid superfluous screen updates related to cursor position; - remember when file doesn't match any file-specific highlighting groups for better performance (thanks to Gomme Bidule); - generate faster regular expressions by vifm-convert-dircolors (thanks to Gomme Bidule). Only on Windows: - upgraded to PDCurses 3.8 (was 3.4) for Windows. This allows using 256 colors inside ConEmu. Note that ConEmu has issues processing 256 colors on the last line of the screen, so avoid using them for status line (thanks to dancread). Other changes: - don't error on trash creation failure due to read-only file system (patch by zsugabubus). Important fixes: - fixed losing files on failed move operation. Source files were deleted assuming they were copied successfully, even when errors regarding some of them were ignored by the user (thanks to zsugabubus); - fixed vifm not making use of large number of color pairs when they are available (thanks to Jose Riha (a.k.a. jose1711) and Hans Petter Jansson (a.k.a. hpjansson)); - fixed color pairs being exhausted on Windows when default color ends up being used often, this caused highlighting to go awry (thanks to dancread); - fixed textual output of graphical previewers not being displayed in view mode (thanks to agguser); - fixed DirEnter autocommand being called with view being in a mixed state of old and new location (thanks to Kendrick Taylor, a.k.a. sixcircuit). See change log for the full list of changes and by whom they were suggested or implemented.
vifm v0.10.1 ------------ This version provides additions and improvements for media management feature, several enhancements related to text user interface, extra features to Vim plugin thanks to merging in neovim-vifm plugin and various small changes. Thanks to everyone who tried out the beta. Main changes: - added file preview to miller mode - added preview macro to directly output to terminal, which enables use of Sixel graphics for previewing; - added udisks2 backend to vifm-media script (bundled script for managing media) and version of the script for OS X; - updated code to make use of large amount of color pairs when available; - functionality of previously separate neovim-vifm plugin got merged into the main plugin; - multiple improvements to :media menu; - improved performance in several use cases (quickview, lots of unhighlighted files, unnecessary cursor updates and redraws). More detailed list of changes. Command-line mode: - added :cds command that navigates to path obtained by substitution in the current path (thanks to j-xella); - added :hideui command that hides interface to show previous commands' output (thanks to dikiy); - added one more invocation format of :colorscheme command, which picks the first available color scheme that is supported by the terminal (thanks to Jose Riha, a.k.a. jose1711); - always preserve tabs on :restart (thanks to mwgkgk); - refuse to compare directory against itself via :compare command (thanks to Jose Riha, a.k.a. jose1711). :set command and options: - added fileroot view column, which displays full name of directories and symbolic links to directories and only root of name for everything else (thanks to chelovechishko); - added 'shellcmdflag' option that allows customizing how shell is invoked. Enables running it in interactive mode, which can make shell aliases and functions work (thanks to Ink (a.k.a. inknoir), John Shea (a.k.a. coachshea) and randomizedthinking); - added L flag to 'shortmess' option to display only last directory in tab line instead of full path (thanks to chelovechishko); - added ^= operation for string list options (thanks to SearyBlue); - added ^= operation for options of set kind; - added rpreview: key to 'milleroptions' option that allows enabling preview of files (thanks to Svadkos and Tom Jansen); - added %p macro to 'findprg' option. It works as a mix between %a and %A macros: usually contains arguments passed to :find command, but unlike %a doesn't include any predicates (thanks to Sitaram Chamarty and Tuan Bui, a.k.a. tuanbass); - added "space" and "nospace" values to 'sizefmt' option (patch by zsugabubus); - do not add leading comma to string list options on set opt+=item; - don't create trash directory on startup if 'trash' is off (patch by zsugabubus). Key bindings: - improved <silent> to do not forcefully update screen after the mapping if no screen updates were skipped. Completion: - complete user name in paths after initial tilde (e.g., :cd ~r<tab> => :cd ~root). Macros: - added %pd macro that makes preview output directly affect terminal circumventing curses interface, which could be used to display sixel images (thanks to Tom Jansen). Color schemes: - added OtherWin highlight group for highlighting inactive pane (thanks to John Fred Fadrigalan, a.k.a. cevhyruz). Menus and dialogs: - added indication of entry's availability to :file, :file[x]type and :fileviewer menus; - added [ and ] bindings to :media menu that provide navigation between devices (patch by zsugabubus); - added decorations to :media menu (patch by zsugabubus); - react to Enter in :media menu on device lines, mount on "not mounted" line and do nothing otherwise (patch by zsugabubus); - show empty lines in :media only if there is enough vertical space (patch by zsugabubus); - removed empty line from :file and similar menus for case when vifm was configured with --disable-desktop-files flag (second time). Scripting: - added extcached() builtin function, which can be used to improve performance of file queries by caching results of external commands (thanks to Matthias Braun, a.k.a. mb720). Invocation: - try to preserve symbolic links in current path when starting vifm by checking value of $PWD (thanks to Vigi). Core: - resolve symbolic links for mime-type matchers (thanks to Vigi); - do not check for view changes while suggestions are visible. It can mess up TUI, especially in combination with preview (thanks to ks1c). File operations: - preserve extended attributes on copying files (thanks to hutou); - don't throw away errors that were ignored by the user, display them at the end of operation; - consume input during foreground file operations. Otherwise it remains buffered and is processed after the operation is over, which might not be the intent of the user; - reduce number of options available on file conflict when source and destination are the same to avoid confusion (options that overwrite do nothing in this case) (thanks to aleksejrs). File preview: - do not complain about empty output of a graphics previewer for view mode; - clear preview before displaying suggestions (thanks to ks1c). TUI (Text User Interface): - renamed filename filter to "permanent filter" consisting of "explicit" (ex-manual) and "implicit" (ex-automatic) parts (thanks to Sitaram Chamarty); - changed file rename prompt to indicate whether full name or only its root is being changed; - try to determine widths of printed character more accurately; - drop leading space implicitly added to time columns in views (thanks to laggardkernel). Integration: - added info= field to parser of 'mediaprg' output. It provides custom message for the media (patch by zsugabubus); - added udisks2 backend to vifm-media script (bundled script for managing media). Requires python and dbus module for it to be installed (because udisks2 and dbus are too shitty to be used on command-line) (thanks to Tykin); - added FUSE_MOUNT3 filetype format, which is equivalent to FUSE_MOUNT, but doesn't perform unmounting. Helpful to use something like avfs (thanks to Jose Riha, a.k.a. jose1711); - added vifm-media-osx script that is configured to be used (via 'mediaprg') on OS X (patch by Von Welch); - error stream from 'mediaprg' isn't considered anymore when deciding if mounting/unmounting was successful. While technically an incompatible change, it's unlikely to cause any issues; - spawn 'mediaprg' in foreground to allow interactions with the user, like providing a password (patch by zsugabubus); - properly remove FUSE mount points if they are symbolic links; - assume that any $TERM value that starts with "xterm-", "rxvt-" or "screen-" supports terminal title (thanks to Matthias Braun, a.k.a. mb720). Documentation: - better documentation for TabLine and TabLineSel highlighting groups (thanks to mwgkgk); - clearer documentation/description for :*unmap commands and 'vicmd'/'vixcmd' options (thanks to chelovechishko); - improve documentation of patterns and globs (thanks to afsheenb); - improved documentation on filters (thanks to Sitaram Chamarty); - document more details about expansion of FUSE macros; - make documentation of 'findprg' more readable. Vim-plugin: - added :Vifm command as an alias for :EditVifm (patch by rbong); - added optional splitting of the embedded terminal (g:vifm_embed_split). Has support for Vim's <mods> and <count> (patch by rbong); - added option to synchronize working directory of the embedded instance of vifm with the Vim host (g:vifm_embed_cwd) (patch by rbong); - added ability to replace netrw with vifm (g:vifm_replace_netrw and g:vifm_replace_netrw_cmd) (patch by rbong); - added autodetection of *.vifm files as files with "vifm" filetype to the plugin (patch by Anton Kochkov, a.k.a. XVilka). Configuration: - added example of using xsel to sample vifmrc file (thanks to chelovechishko); - enabled 'vimhelp' in sample vifmrc file by default. Performance: - added caching to quickview for a single file to avoid fileviewer being called more often than needed (thanks to agguser); - try to avoid superfluous screen updates related to cursor position; - remember when file doesn't match any file-specific highlighting groups for better performance (thanks to Gomme Bidule); - generate faster regular expressions by vifm-convert-dircolors (thanks to Gomme Bidule). Only on Windows: - upgraded to PDCurses 3.8 (was 3.4) for Windows. This allows using 256 colors inside ConEmu. Note that ConEmu has issues processing 256 colors on the last line of the screen, so avoid using them for status line (thanks to dancread). Other changes: - don't error on trash creation failure due to read-only file system (patch by zsugabubus). Important fixes: - fixed losing files on failed move operation. Source files were deleted assuming they were copied successfully, even when errors regarding some of them were ignored by the user (thanks to zsugabubus); - fixed vifm not making use of large number of color pairs when they are available (thanks to Jose Riha (a.k.a. jose1711) and Hans Petter Jansson (a.k.a. hpjansson)); - fixed color pairs being exhausted on Windows when default color ends up being used often, this caused highlighting to go awry (thanks to dancread); - fixed textual output of graphical previewers not being displayed in view mode (thanks to agguser); - fixed DirEnter autocommand being called with view being in a mixed state of old and new location (thanks to Kendrick Taylor, a.k.a. sixcircuit). See change log for the full list of changes and by whom they were suggested or implemented.
vifm v0.10.1 beta ----------------- This version provides additions and improvements for media management feature, several enhancements related to text user interface, extra features to Vim plugin thanks to merging in neovim-vifm plugin and various small changes. The beta stage will last about two weeks. In case any serious bugs are found during this period, another beta version might be released. Main changes: - added file preview to miller mode - added preview macro to directly output to terminal, which enables use of Sixel graphics for previewing; - added udisks2 backend to vifm-media script (bundled script for managing media) and version of the script for OS X; - updated code to make use of large amount of color pairs when available; - functionality of previously separate neovim-vifm plugin got merged into the main plugin; - multiple improvements to :media menu; - improved performance in several use cases (quickview, lots of unhighlighted files, unnecessary cursor updates and redraws). More detailed list of changes. Command-line mode: - added :cds command that navigates to path obtained by substitution in the current path (thanks to j-xella); - added :hideui command that hides interface to show previous commands' output (thanks to dikiy); - added one more invocation format of :colorscheme command, which picks the first available color scheme that is supported by the terminal (thanks to Jose Riha, a.k.a. jose1711); - always preserve tabs on :restart (thanks to mwgkgk); - refuse to compare directory against itself via :compare command (thanks to Jose Riha, a.k.a. jose1711). :set command and options: - added fileroot view column, which displays full name of directories and symbolic links to directories and only root of name for everything else (thanks to chelovechishko); - added 'shellcmdflag' option that allows customizing how shell is invoked. Enables running it in interactive mode, which can make shell aliases and functions work (thanks to Ink (a.k.a. inknoir), John Shea (a.k.a. coachshea) and randomizedthinking); - added L flag to 'shortmess' option to display only last directory in tab line instead of full path (thanks to chelovechishko); - added ^= operation for string list options (thanks to SearyBlue); - added ^= operation for options of set kind; - added rpreview: key to 'milleroptions' option that allows enabling preview of files (thanks to Svadkos and Tom Jansen); - added %p macro to 'findprg' option. It works as a mix between %a and %A macros: usually contains arguments passed to :find command, but unlike %a doesn't include any predicates (thanks to Sitaram Chamarty and Tuan Bui, a.k.a. tuanbass); - do not add leading comma to string list options on set opt+=item; - don't create trash directory on startup if 'trash' is off (patch by zsugabubus). Key bindings: - improved <silent> to do not forcefully update screen after the mapping if no screen updates were skipped. Completion: - complete user name in paths after initial tilde (e.g., :cd ~r<tab> => :cd ~root). Macros: - added %pd macro that makes preview output directly affect terminal circumventing curses interface, which could be used to display sixel images (thanks to Tom Jansen). Color schemes: - added OtherWin highlight group for highlighting inactive pane (thanks to John Fred Fadrigalan, a.k.a. cevhyruz). Menus and dialogs: - added indication of entry's availability to :file, :file[x]type and :fileviewer menus; - added [ and ] bindings to :media menu that provide navigation between devices (patch by zsugabubus); - added decorations to :media menu (patch by zsugabubus); - react to Enter in :media menu on device lines, mount on "not mounted" line and do nothing otherwise (patch by zsugabubus); - show empty lines in :media only if there is enough vertical space (patch by zsugabubus); - removed empty line from :file and similar menus for case when vifm was configured with --disable-desktop-files flag (second time). Scripting: - added extcached() builtin function, which can be used to improve performance of file queries by caching results of external commands (thanks to Matthias Braun, a.k.a. mb720). Invocation: - try to preserve symbolic links in current path when starting vifm by checking value of $PWD (thanks to Vigi). Core: - resolve symbolic links for mime-type matchers (thanks to Vigi); - do not check for view changes while suggestions are visible. It can mess up TUI, especially in combination with preview (thanks to ks1c). File operations: - preserve extended attributes on copying files (thanks to hutou); - don't throw away errors that were ignored by the user, display them at the end of operation; - consume input during foreground file operations. Otherwise it remains buffered and is processed after the operation is over, which might not be the intent of the user; - reduce number of options available on file conflict when source and destination are the same to avoid confusion (options that overwrite do nothing in this case) (thanks to aleksejrs). File preview: - do not complain about empty output of a graphics previewer for view mode; - clear preview before displaying suggestions (thanks to ks1c). TUI (Text User Interface): - renamed filename filter to "permanent filter" consisting of "explicit" (ex-manual) and "implicit" (ex-automatic) parts (thanks to Sitaram Chamarty); - changed file rename prompt to indicate whether full name or only its root is being changed; - try to determine widths of printed character more accurately; - drop leading space implicitly added to time columns in views (thanks to laggardkernel). Integration: - added info= field to parser of 'mediaprg' output. It provides custom message for the media (patch by zsugabubus); - added udisks2 backend to vifm-media script (bundled script for managing media). Requires python and dbus module for it to be installed (because udisks2 and dbus are too shitty to be used on command-line) (thanks to Tykin); - added FUSE_MOUNT3 filetype format, which is equivalent to FUSE_MOUNT, but doesn't perform unmounting. Helpful to use something like avfs (thanks to Jose Riha, a.k.a. jose1711); - added vifm-media-osx script that is configured to be used (via 'mediaprg') on OS X (patch by Von Welch); - error stream from 'mediaprg' isn't considered anymore when deciding if mounting/unmounting was successful. While technically an incompatible change, it's unlikely to cause any issues; - spawn 'mediaprg' in foreground to allow interactions with the user, like providing a password (patch by zsugabubus); - properly remove FUSE mount points if they are symbolic links. Documentation: - better documentation for TabLine and TabLineSel highlighting groups (thanks to mwgkgk); - clearer documentation/description for :*unmap commands and 'vicmd'/'vixcmd' options (thanks to chelovechishko); - improve documentation of patterns and globs (thanks to afsheenb); - improved documentation on filters (thanks to Sitaram Chamarty); - document more details about expansion of FUSE macros; - make documentation of 'findprg' more readable. Vim-plugin: - added :Vifm command as an alias for :EditVifm (patch by rbong); - added optional splitting of the embedded terminal (g:vifm_embed_split). Has support for Vim's <mods> and <count> (patch by rbong); - added option to synchronize working directory of the embedded instance of vifm with the Vim host (g:vifm_embed_cwd) (patch by rbong); - added ability to replace netrw with vifm (g:vifm_replace_netrw and g:vifm_replace_netrw_cmd) (patch by rbong). Configuration: - added example of using xsel to sample vifmrc file (thanks to chelovechishko); - enabled 'vimhelp' in sample vifmrc file by default. Performance: - added caching to quickview for a single file to avoid fileviewer being called more often than needed (thanks to agguser); - try to avoid superfluous screen updates related to cursor position; - remember when file doesn't match any file-specific highlighting groups for better performance (thanks to Gomme Bidule); - generate faster regular expressions by vifm-convert-dircolors (thanks to Gomme Bidule). Only on Windows: - upgraded to PDCurses 3.8 (was 3.4) for Windows. This allows using 256 colors inside ConEmu. Note that ConEmu has issues processing 256 colors on the last line of the screen, so avoid using them for status line (thanks to dancread). Other changes: - don't error on trash creation failure due to read-only file system (patch by zsugabubus). Important fixes: - fixed losing files on failed move operation. Source files were deleted assuming they were copied successfully, even when errors regarding some of them were ignored by the user (thanks to zsugabubus); - fixed vifm not making use of large number of color pairs when they are available (thanks to Jose Riha (a.k.a. jose1711) and Hans Petter Jansson (a.k.a. hpjansson)); - fixed color pairs being exhausted on Windows when default color ends up being used often, this caused highlighting to go awry (thanks to dancread); - fixed textual output of graphical previewers not being displayed in view mode (thanks to agguser); - fixed DirEnter autocommand being called with view being in a mixed state of old and new location (thanks to Kendrick Taylor, a.k.a. sixcircuit). See change log for the full list of changes and by whom they were suggested or implemented.
vifm v0.10
----------
New version includes long awaited tabs and support for managing media.
The first one comes in two flavours: tabs either include layout or don't.
The latter relies on a helper script, whose job is to adapt existing tools to
make them usable by vifm.
The beta stage will last about two weeks. In case any serious bugs are found
during this period, another beta version might be released.
Main changes:
- added tabs which either operate on the level of layout or level of
individual panes;
- added ability to synchronize contents of registers among multiple
instances;
- added menu for managing media (relies on helper that does the managing);
- improved cursor positioning and control over it;
- ability to colorize statusline.
More detailed list of changes.
Command-line mode:
- added :tabc[lose] command that closes current tab unless it's the last one;
- added :tabm[ove] command that moves tabs (thanks to filterfalse);
- added :tabname command that updates name of the current tab;
- added :tabnew command that creates a new tab (thanks to Cosmin Popescu,
a.k.a. cosminadrianpopescu);
- added :tabn[ext] and :tabp[revious] commands, which work as gt and gT normal
mode shortcuts correspondingly (thanks to Cosmin Popescu, a.k.a.
cosminadrianpopescu);
- added :qa[ll], :wqa[ll] and :xa[ll] commands that always try to exit vifm no
matter how many tabs are open;
- added :goto command that navigates to specified file/directory (thanks to
mateusz28 and Dmitry Frank, a.k.a. dimonomid);
- added :regular command that leaves custom view (thanks to gammaray);
- :quit, :wq, :exit, :xit, ZZ and ZQ now try to close current tab before
closing the application;
- make :echo and :execute report parsing errors in more detail than just
"invalid expression";
- make :cabbrev and :cnoreabbrev always treat bar (`|`) as part of their
arguments, just like :*map commands do (thanks to filterfalse);
- make :tree! toggle view in and out of tree mode (thanks to gammaray);
- more accurate error message on handling non directories passed to :cd.
:set command and options:
- added 'tabscope' option that controls style of tabs (thanks to Cosmin
Popescu, a.k.a. cosminadrianpopescu);
- added 'showtabline' option that controls visibility of tab line;
- added 'histcursor' option that gives partial control over when cursor is
positioned in accordance with record of directory history (thanks to
filterfalse and Dmitry Frank, a.k.a. dimonomid);
- added 'quickview' option that controls visibility of quick view (:view)
(thanks to Jochen Schweizer, a.k.a. durcheinandr);
- added 'syncregs' option which defines group of instances that share registers
(patch by Ma_Sys.ma);
- added 'mediaprg' option that can be used to specify helper for managing
removable media. One such helper with support of udevil and udisks is
provided. Only for *nix systems;
- added support for arbitrary expressions in 'statusline': '%{...}', e.g.
'%{&sort}' evaluates to the value of the sort option (patch by Dmitry Frank,
a.k.a. dimonomid);
- added "M" flag to 'shortmess' option to control shortening of titles in
windows of terminal multiplexers created by vifm down to file name instead of
using full path (thanks to mateusz28).
File operations:
- try to preserve file owner/group on copying (thanks to willemw12).
Normal and visual modes:
- added gt and gT normal mode shortcuts that switch between tabs in both
directions.
Key bindings:
- added <silent> :*map argument that postpones UI updates until RHS is
completely processed. Probably not all updates are postponed, to be improved
as unhandled cases are discovered;
- added <wait> :*map argument, which resolves prefix conflicts of user-defined
mappings and builtin keys in favour of user-defined mappings (thanks to Paweł
Smolak, a.k.a. psmolak).
Angle bracket notation:
- added <insert> angle bracket notation (thanks to j-xella);
- added <c-@> angle bracket notation making it possible to map Ctrl-Space key
(thanks to anonymous at Vifm Q2A site).
File list:
- use historical cursor position upon startup by default when 'autochpos' is
on, this is now independent from "savedirs" in 'vifminfo' option (thanks to
filterfalse);
- use historical cursor position on navigating to a mark that doesn't specify a
file by default when 'autochpos' is on (thanks to filterfalse);
- move cursor after p and P to one of files that were moved or to a cause of
last conflict (thanks to filterfalse and ranousse);
- issue a warning if file system lists several files with identical names in
the same directory. It used to be assumed that it can't happen (thanks to
Jose Riha, a.k.a. jose1711).
File preview:
- support italics in quickview/view mode and in :highlight when curses
implementation provides corresponding extension. PDCurses doesn't implement
it on Windows. Fallback is to use "reversed" attribute (thanks to GeorgeHJ).
Integration:
- escape "=" at the beginning of paths (has special meaning in zsh) (thanks to
agguser).
Menus and dialogs:
- added :media menu that can list and perform basic operations on removable
media (requires helper to be available, see 'mediaprg'). Only for *nix
systems (thanks to Bruce Hunsaker, a.k.a. hunsakerbn and others);
- added r key to :undolist menu, which resets position in the undo list to
group under the cursor (thanks to mini-turtle);
- sort entries of :bmarks menu (thanks to anonymous at Vifm Q2A site);
- slightly better formatting in :undolist menu;
- do not reset selection before executing a :command from :commands menu
(thanks to Jose Riha, a.k.a. jose1711);
- less strict parsing of output of external command by :[un]select commands.
Similar to %u/%U and menus allow <file>[:[<line>:[<col>:]] <description>]
format (thanks to j-xella).
Color schemes:
- added TabLine highlight group for highlighting tab line;
- added TabLineSel highlight group for highlighting tip of the selected tab on
the tab line;
- added User1..User9 highlight groups and corresponding %[0-9]* 'statusline'
macro, which makes it possible to colorize parts of status line differently
(thanks to GeorgeHJ).
TUI (Text User Interface):
- display list of files in removal confirmation dialog (thanks to ovk).
Scripting:
- added tabpagenr() function that retrieves number of current or last tab page
(thanks to filterfalse);
- added fnameescape() builtin function, which can be used to escape paths on
construction of :commands (thanks to filterfalse);
- added second optional parameter to filetype() builtin function that is
treated as a boolean and specifies whether symbolic links should be resolved;
- added addition and subtraction operations to the parser;
- added grouping via parentheses to expressions (thanks to Konst Mayer, a.k.a.
cdlscpmv);
- allow passing numerical positions to filetype() function.
Documentation:
- more explicit documentation about leaving custom views (thanks to tagwint).
Vim-plugin:
- support embedded terminal in the plugin for newer Vim.
Only on Windows:
- fixed flickering on Windows (thanks to Alexandre Viau and
randomizedthinking);
- fixed graphical applications on Windows not being detected as such, which
caused vifm to wait until they finish running. Was broken since 0.9 (thanks
to r0ck).
Important fixes:
- fixed error messages from put operation being postponed until the next put
operation. Got broken in 0.9;
- fixed confirmation not being requested on :delete (thanks to anonymous at
Vifm Q2A site).
See change log for the full list of changes and by whom they were suggested.
vifm v0.10 beta
---------------
New version includes long awaited tabs and support for managing media.
The first one comes in two flavours: tabs either include layout or don't.
The latter relies on a helper script, whose job is to adapt existing tools to
make them usable by vifm.
The beta stage will last about two weeks. In case any serious bugs are found
during this period, another beta version might be released.
Main changes:
- added tabs which either operate on the level of layout or level of
individual panes;
- added ability to synchronize contents of registers among multiple
instances;
- added menu for managing media (relies on helper that does the managing);
- improved cursor positioning and control over it;
- ability to colorize statusline.
More detailed list of changes.
Command-line mode:
- added :tabc[lose] command that closes current tab unless it's the last one;
- added :tabm[ove] command that moves tabs (thanks to filterfalse);
- added :tabname command that updates name of the current tab;
- added :tabnew command that creates a new tab (thanks to Cosmin Popescu,
a.k.a. cosminadrianpopescu);
- added :tabn[ext] and :tabp[revious] commands, which work as gt and gT normal
mode shortcuts correspondingly (thanks to Cosmin Popescu, a.k.a.
cosminadrianpopescu);
- added :qa[ll], :wqa[ll] and :xa[ll] commands that always try to exit vifm no
matter how many tabs are open;
- added :goto command that navigates to specified file/directory (thanks to
mateusz28 and Dmitry Frank, a.k.a. dimonomid);
- added :regular command that leaves custom view (thanks to gammaray);
- :quit, :wq, :exit, :xit, ZZ and ZQ now try to close current tab before
closing the application;
- make :echo and :execute report parsing errors in more detail than just
"invalid expression";
- make :cabbrev and :cnoreabbrev always treat bar (`|`) as part of their
arguments, just like :*map commands do (thanks to filterfalse);
- make :tree! toggle view in and out of tree mode (thanks to gammaray);
- more accurate error message on handling non directories passed to :cd.
:set command and options:
- added 'tabscope' option that controls style of tabs (thanks to Cosmin
Popescu, a.k.a. cosminadrianpopescu);
- added 'showtabline' option that controls visibility of tab line;
- added 'histcursor' option that gives partial control over when cursor is
positioned in accordance with record of directory history (thanks to
filterfalse and Dmitry Frank, a.k.a. dimonomid);
- added 'quickview' option that controls visibility of quick view (:view)
(thanks to Jochen Schweizer, a.k.a. durcheinandr);
- added 'syncregs' option which defines group of instances that share registers
(patch by Ma_Sys.ma);
- added 'mediaprg' option that can be used to specify helper for managing
removable media. One such helper with support of udevil and udisks is
provided. Only for *nix systems;
- added support for arbitrary expressions in 'statusline': '%{...}', e.g.
'%{&sort}' evaluates to the value of the sort option (patch by Dmitry Frank,
a.k.a. dimonomid);
- added "M" flag to 'shortmess' option to control shortening of titles in
windows of terminal multiplexers created by vifm down to file name instead of
using full path (thanks to mateusz28).
File operations:
- try to preserve file owner/group on copying (thanks to willemw12).
Normal and visual modes:
- added gt and gT normal mode shortcuts that switch between tabs in both
directions.
Key bindings:
- added <silent> :*map argument that postpones UI updates until RHS is
completely processed. Probably not all updates are postponed, to be improved
as unhandled cases are discovered;
- added <wait> :*map argument, which resolves prefix conflicts of user-defined
mappings and builtin keys in favour of user-defined mappings (thanks to Paweł
Smolak, a.k.a. psmolak).
Angle bracket notation:
- added <insert> angle bracket notation (thanks to j-xella);
- added <c-@> angle bracket notation making it possible to map Ctrl-Space key
(thanks to anonymous at Vifm Q2A site).
File list:
- use historical cursor position upon startup by default when 'autochpos' is
on, this is now independent from "savedirs" in 'vifminfo' option (thanks to
filterfalse);
- use historical cursor position on navigating to a mark that doesn't specify a
file by default when 'autochpos' is on (thanks to filterfalse);
- move cursor after p and P to one of files that were moved or to a cause of
last conflict (thanks to filterfalse and ranousse);
- issue a warning if file system lists several files with identical names in
the same directory. It used to be assumed that it can't happen (thanks to
Jose Riha, a.k.a. jose1711).
File preview:
- support italics in quickview/view mode and in :highlight when curses
implementation provides corresponding extension. PDCurses doesn't implement
it on Windows. Fallback is to use "reversed" attribute (thanks to GeorgeHJ).
Integration:
- escape "=" at the beginning of paths (has special meaning in zsh) (thanks to
agguser).
Menus and dialogs:
- added :media menu that can list and perform basic operations on removable
media (requires helper to be available, see 'mediaprg'). Only for *nix
systems (thanks to Bruce Hunsaker, a.k.a. hunsakerbn and others);
- added r key to :undolist menu, which resets position in the undo list to
group under the cursor (thanks to mini-turtle);
- sort entries of :bmarks menu (thanks to anonymous at Vifm Q2A site);
- slightly better formatting in :undolist menu;
- do not reset selection before executing a :command from :commands menu
(thanks to Jose Riha, a.k.a. jose1711);
- less strict parsing of output of external command by :[un]select commands.
Similar to %u/%U and menus allow <file>[:[<line>:[<col>:]] <description>]
format (thanks to j-xella).
Color schemes:
- added TabLine highlight group for highlighting tab line;
- added TabLineSel highlight group for highlighting tip of the selected tab on
the tab line;
- added User1..User9 highlight groups and corresponding %[0-9]* 'statusline'
macro, which makes it possible to colorize parts of status line differently
(thanks to GeorgeHJ).
Scripting:
- added tabpagenr() function that retrieves number of current or last tab page
(thanks to filterfalse);
- added fnameescape() builtin function, which can be used to escape paths on
construction of :commands (thanks to filterfalse);
- added second optional parameter to filetype() builtin function that is
treated as a boolean and specifies whether symbolic links should be resolved;
- added addition and subtraction operations to the parser;
- added grouping via parentheses to expressions (thanks to Konst Mayer, a.k.a.
cdlscpmv);
- allow passing numerical positions to filetype() function.
Documentation:
- more explicit documentation about leaving custom views (thanks to tagwint).
Only on Windows:
- fixed flickering on Windows (thanks to Alexandre Viau and
randomizedthinking);
- fixed graphical applications on Windows not being detected as such, which
caused vifm to wait until they finish running. Was broken since 0.9 (thanks
to r0ck).
Important fixes:
- fixed error messages from put operation being postponed until the next put
operation. Got broken in 0.9;
- fixed confirmation not being requested on :delete (thanks to anonymous at
Vifm Q2A site).
See change log for the full list of changes and by whom they were suggested.
vifm v0.9.1
-----------
This version adds to the list of ways for viewing files by introducing
miller columns view and transposed ls-like view (table view). Other
developments are related to integration between builtin features as well as
with external applications.
Thanks to everyone who tried out the beta.
Main changes:
- introduced file view mode known as miller columns or cascading lists;
- added ability to transpose ls-like view to make it fill by columns;
- more natural behaviour of movement keys in ls-like view;
- new `--remote-expr` command-line option can be used to query state of
running instances;
- extended retry/ignore/abort query to all file operations;
- more control over highlight groups via `:highlight` suitable for
interactive changes;
- mostly eliminated the need for repeating ga/gA commands through automatic
size recalculation.
More detailed list of changes.
File operations:
- added retry/ignore/abort prompt for file copying and directory/file/symlink
creation when 'syscalls' is on (thanks to einhander);
- better detection of write errors on file copying. The error was reported,
but it wasn't treated as a hard error in a specific case related to caching.
Command-line mode:
- added :histnext/:histprev commands, which are analogous to Ctrl-I/Ctrl-O
(patch by Dmitry Frank, a.k.a. dimonomid);
- added ability to remove filename-specific highlighting rules with
`:highlight clear {pattern}` (thanks to aleksejrs);
- changed :filter command to accept pattern (//, ////, {} or {{}}) (thanks to
rbong);
- made :siblnext and :siblprev commands respect dot and name filters;
- made :siblnext and :siblprev accept [count] range (thanks to filterfalse);
- made :tree pick up list of files from custom view (thanks to filterfalse);
- made :highlight update file-specific group on exact match of the pattern
instead of appending new rule (thanks to aleksejrs);
- remove empty directories which are specified in 'trashdir' with %r and/or %u
automatically on :empty (thanks to Marcin Kurczewski, a.k.a. rr-).
:set command and options:
- added "inode" sorting key, which sorts entries by inode number (thanks to
eco0414);
- added 'millerview' option that enables cascading columns interface for the
view (thanks to sudo-nice);
- added 'milleroptions' option that configures miller view;
- added 'lsoptions' option that allows to get transposed grid in ls-like view
(thanks to Dmitry Frank, a.k.a. dimonomid);
- added 'previewprg' option, which can be used to override :fileviewer commands
either temporarily or permanently (thanks to svenn71);
- added {root} key to 'viewcolumns' option (complements {ext}) (thanks to Oleg
Gordienko, a.k.a. gordio);
- added "u" flag to the 'tuioptions' option. It enables use of Unicode
characters in the TUI (Unicode ellipsis instead of "...") (thanks to Oleg
Gordienko, a.k.a. gordio);
- added "foldsubkeys" value to the 'suggestoptions' option. It folds multiple
suggestions with common prefix into one entry (thanks to AndreaHasani).
Normal and visual modes:
- added [r/]r/[R/]R normal mode shortcuts that map to :siblprev and :siblnext
with and without wrapping correspondingly (thanks to filterfalse);
- do not go to start of line on Ctrl-U/Ctrl-D/Ctrl-F/Ctrl-B/G in ls-like view;
- H/M/L keys in ls-like view now account for columns;
- instead of invalidating directory size previously calculated via ga/gA on
detecting changes in the directory recalculate its size and propagate update
through its parents (thanks to filterfalse).
Macros:
- added %x macro to 'rulerformat' (and thus to 'statusline') as a new name for
%-, which conflicts with alignment specification and requires explicit width
specifier (%0-) (thanks to Marcos Cruz).
Scripting:
- added term() builtin function, which differs from system() only by its
ability to run interactive applications without confusing vifm's interactions
with the terminal (thanks to Dmitry Frank, a.k.a. dimonomid);
- added v:count and v:count1 builtin variables. They are assigned to count
passed to : command;
- don't trigger DirEnter event with previous directory on startup when list of
files is specified on stdin (thanks to filterfalse).
Invocation:
- added `--remote-expr` command-line option, which gives ability to query state
of an instance (thanks to Marcin Kurczewski, a.k.a. rr-).
Completion:
- added completion of filename-specific highlight groups for :highlight
command.
Color schemes:
- added AuxWin highlight group for highlighting auxiliary parts of windows.
TUI (Text User Interface):
- extend width of the cursor in ls-like view to the width of the cell (thanks
to Dmitry Frank, a.k.a. dimonomid);
- indicate preview created with %q with "Command: cmd";
- duplicate status bar error in dialog that reports sourcing error. Will need
to get rid of errors on status bar later.
Performance:
- improved performance of mime-type detection when using libmagic (now might be
about seven times faster by avoiding reinitialization of the library);
- don't force file list reload after `:!` and rely on change detection. This
should result in somewhat better performance (thanks to opennota).
Documentation:
- documented more details about 'vicmd' and 'vixcmd' options (thanks to
Sebastian Cyprych).
Vim-plugin:
- disabled spell checking of vifm files in Vim except for comments.
Only on Windows:
- fixed running commands with arguments on Windows when 'shell' isn't cmd.exe.
Important fixes:
- fixed consuming 100% of CPU on certain pattern of running background
processes (thanks to petRUShka);
- fixed turning quickview into explore view when preview command doesn't
contain macros. Was broken since 0.8;
- fixed the plugin in neovim (patch by John Shea, a.k.a. coachshea);
- fixed cloning of files like `.name` to produce `.name(1)` instead of
`(1).name` (thanks to filterfalse);
- fixed directory size in statusline (patch by Dmitry Frank, a.k.a. dimonomid);
- fixed CWD of the process not matching current view after vifm picked up
change in file system (patch by Daniel Mueller);
- fixed :normal command resetting selection (thanks to filterfalse);
- fixed stopping of put operation after copying symbolic link that's broken on
destination (thanks to filterfalse);
- fixed a "race" with file system when we could load outdated file list and
thus miss some file system updates.
See change log for the full list of changes and by whom they were suggested.
vifm v0.9.1 beta
----------------
This version adds to the list of ways for viewing files by introducing
miller columns view and transposed ls-like view (table view). Other
developments are related to integration between builtin features as well as
with external applications.
The beta stage will last about two weeks. In case any serious bugs are found
during this period, another beta version might be released.
Main changes:
- introduced file view mode known as miller columns or cascading lists;
- added ability to transpose ls-like view to make it fill by columns;
- more natural behaviour of movement keys in ls-like view;
- new `--remote-expr` command-line option can be used to query state of
running instances;
- extended retry/ignore/abort query to all file operations;
- more control over highlight groups via `:highlight` suitable for
interactive changes;
- mostly eliminated the need for repeating ga/gA commands through automatic
size recalculation.
More detailed list of changes.
File operations:
- added retry/ignore/abort prompt for file copying and directory/file/symlink
creation when 'syscalls' is on (thanks to einhander);
- better detection of write errors on file copying. The error was reported,
but it wasn't treated as a hard error in a specific case related to caching.
Command-line mode:
- added :histnext/:histprev commands, which are analogous to Ctrl-I/Ctrl-O
(patch by Dmitry Frank, a.k.a. dimonomid);
- added ability to remove filename-specific highlighting rules with
`:highlight clear {pattern}` (thanks to aleksejrs);
- changed :filter command to accept pattern (//, ////, {} or {{}}) (thanks to
rbong);
- made :siblnext and :siblprev commands respect dot and name filters;
- made :siblnext and :siblprev accept [count] range (thanks to filterfalse);
- made :tree pick up list of files from custom view (thanks to filterfalse);
- made :highlight update file-specific group on exact match of the pattern
instead of appending new rule (thanks to aleksejrs);
- remove empty directories which are specified in 'trashdir' with %r and/or %u
automatically on :empty (thanks to Marcin Kurczewski, a.k.a. rr-).
:set command and options:
- added "inode" sorting key, which sorts entries by inode number (thanks to
eco0414);
- added 'millerview' option that enables cascading columns interface for the
view (thanks to sudo-nice);
- added 'milleroptions' option that configures miller view;
- added 'lsoptions' option that allows to get transposed grid in ls-like view
(thanks to Dmitry Frank, a.k.a. dimonomid);
- added 'previewprg' option, which can be used to override :fileviewer commands
either temporarily or permanently (thanks to svenn71);
- added {root} key to 'viewcolumns' option (complements {ext}) (thanks to Oleg
Gordienko, a.k.a. gordio);
- added "u" flag to the 'tuioptions' option. It enables use of Unicode
characters in the TUI (Unicode ellipsis instead of "...") (thanks to Oleg
Gordienko, a.k.a. gordio);
- added "foldsubkeys" value to the 'suggestoptions' option. It folds multiple
suggestions with common prefix into one entry (thanks to AndreaHasani).
Normal and visual modes:
- added [r/]r/[R/]R normal mode shortcuts that map to :siblprev and :siblnext
with and without wrapping correspondingly (thanks to filterfalse);
- do not go to start of line on Ctrl-U/Ctrl-D/Ctrl-F/Ctrl-B/G in ls-like view;
- H/M/L keys in ls-like view now account for columns;
- instead of invalidating directory size previously calculated via ga/gA on
detecting changes in the directory recalculate its size and propagate update
through its parents (thanks to filterfalse).
Macros:
- added %x macro to 'rulerformat' (and thus to 'statusline') as a new name for
%-, which conflicts with alignment specification and requires explicit width
specifier (%0-) (thanks to Marcos Cruz).
Scripting:
- added term() builtin function, which differs from system() only by its
ability to run interactive applications without confusing vifm's interactions
with the terminal (thanks to Dmitry Frank, a.k.a. dimonomid);
- added v:count and v:count1 builtin variables. They are assigned to count
passed to : command;
- don't trigger DirEnter event with previous directory on startup when list of
files is specified on stdin (thanks to filterfalse).
Invocation:
- added `--remote-expr` command-line option, which gives ability to query state
of an instance (thanks to Marcin Kurczewski, a.k.a. rr-).
Completion:
- added completion of filename-specific highlight groups for :highlight
command.
Color schemes:
- added AuxWin highlight group for highlighting auxiliary parts of windows.
TUI (Text User Interface):
- extend width of the cursor in ls-like view to the width of the cell (thanks
to Dmitry Frank, a.k.a. dimonomid);
- indicate preview created with %q with "Command: cmd";
- duplicate status bar error in dialog that reports sourcing error. Will need
to get rid of errors on status bar later.
Performance:
- improved performance of mime-type detection when using libmagic (now might be
about seven times faster by avoiding reinitialization of the library);
- don't force file list reload after `:!` and rely on change detection. This
should result in somewhat better performance (thanks to opennota).
Documentation:
- documented more details about 'vicmd' and 'vixcmd' options (thanks to
Sebastian Cyprych).
Vim-plugin:
- disabled spell checking of vifm files in Vim except for comments.
Only on Windows:
- fixed running commands with arguments on Windows when 'shell' isn't cmd.exe.
Important fixes:
- fixed consuming 100% of CPU on certain pattern of running background
processes (thanks to petRUShka);
- fixed turning quickview into explore view when preview command doesn't
contain macros. Was broken since 0.8;
- fixed the plugin in neovim (patch by John Shea, a.k.a. coachshea);
- fixed cloning of files like `.name` to produce `.name(1)` instead of
`(1).name` (thanks to filterfalse);
- fixed directory size in statusline (patch by Dmitry Frank, a.k.a. dimonomid);
- fixed CWD of the process not matching current view after vifm picked up
change in file system (patch by Daniel Mueller);
- fixed :normal command resetting selection (thanks to filterfalse);
- fixed stopping of put operation after copying symbolic link that's broken on
destination (thanks to filterfalse);
- fixed a "race" with file system when we could load outdated file list and
thus miss some file system updates.
See change log for the full list of changes and by whom they were suggested.
PreviousNext