Tags: vifm/vifm
Tags
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 8000 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-lin 10000 e 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.
vifm v0.9 New version brings two new ways of viewing and processing file lists, namely tree-view and directory-comparison. As usual, previously existing facilities were extended and improved to become more useful. Thanks to everyone who tried out the beta, especially filterfalse. Main changes: - introduced tree-like representation of files; - added directory comparison facilities; - added ability to restore last navigation menu; - background operations and programs can now be cancelled; - dismissed error output of external programs can now be queried; - added shell completion for bash and zsh; - now it's possible to configure mappings in dialogs. More detailed list of changes. Packaging: - Removed -Werror in tests from non-developer builds. Command-line mode: - added :tree command that converts current view into a tree (thanks to filterfalse and Kornel); - added :dmap, :dnoremap and :dunmap commands to configure mappings in dialogs (thanks to Sassan Haradji, a.k.a. sassanh); - added "tree" parameter to :sync! that enables synchronization of tree view (thanks to filterfalse); - added :compare command to perform comparison in one or two directory trees (thanks to anonymous on SourceForge discussion forum and aleksejrs); - added :copen command to restore last menu that supports navigation (thanks to Sassan Haradji, a.k.a. sassanh); - added :screen! form that enables terminal multiplexers support (instead of toggling it as :screen does) (thanks to Marcos Cruz); - added :siblnext and :siblprev commands. They change directory to next or previous sibling directories of current path (in global sorting order of current pane) (thanks to sudo-nice); - made :put, :touch and :mkdir accept [line] range, which can be used to specify target position in tree-view (thanks to filterfalse); - accept paths in :touch, not just file names (thanks to filterfalse); - disallow applying :chmod on ".." entry; - disallow selecting ".." entry with :select command; - expand macros in `:[un]select !{command}` (thanks to Michael Corvin). Macros: - added %Iu and %IU macros, which are %u and %U equivalents, but work better if external command is interactive and changes terminal state; - added %q macro that redirects command output into quick view (thanks to svenn71). :set command and options: - added 'dotfiles' (local) option, which exposes dot files filter as an option (thanks to filterfalse); - added 'caseoptions' option that enables more fine-grained control over case sensitivity (thanks to Alexandru Geana, a.k.a. alegen); - added 'sizefmt' option that configures formatting of human-friendly size (thanks to sudo-nice); - added %f 'statusline' macro that inserts relative path of the entry, which might be useful for non-regular views (thanks to filterfalse); - added %D 'statusline' macro that displays path of the other pane in single-pane layout (thanks to sudo-nice); - added %T 'statusline' macro that displays symbolic link target (thanks to sudo-nice); - added %a 'statusline' macro that displays amount of free space available at current partition (thanks to sudo-nice); - consider trailing slash for directories or symbolic links that point to directories in 'classify' patterns by file name (e.g., this works now: `[::*/::]`); - better handling of setting 'fillchars' to incorrect or excessive value. Normal and visual modes: - added [d and ]d shortcuts to navigate to previous/next directory entry (thanks to filterfalse); - added [s and ]s shortcuts to navigate to previous/next selected entry (thanks to filterfalse); - added [z and ]z shortcuts to navigate to first/last sibling in a tree (thanks to filterfalse); - added zj and zk shortcuts to navigate to next/previous directory sibling in a tree (thanks to filterfalse); - added [c and ]c shortcuts to navigate to previous/next mismatch in directory comparison view (thanks to filterfalse); - added do and dp keys to compare views for applying changes in files (thanks to filterfalse). Menus and dialogs: - added dd key to :jobs menu, which requests cancellation of background operation. Background :put, :copy, :move, :delete, size calculation with ga and gA as well as applications started in background can be cancelled this way (thanks to blurm); - added e key to :jobs menu that displays list of errors issues by that jobs, if any. h key goes back to :jobs menu; - added % key to menu mode, which navigates to [count]-th percent of the list; - added meaning to [count] of cp shortcut, which is now processed as numerical argument for non-recursive `chmod` command (thanks to sudo-nice); - partially return progress report for menus. Was disabled by introduction of null byte heuristic. File operations: - enable restoring files from trash from custom views; - disallow moving/copying/linking files into custom view (put is forbidden, so makes sense to forbid these too); - try harder to move files by not giving up on getting permission error, which isn't always a reliable indication of actual permission error. Only when 'syscalls' is on (thanks to Marcin Kurczewski, a.k.a. rr-). File preview: - view current directory on ".." for quickview/view mode if no viewer matches such entry (thanks to filterfalse); - enable cancellation of tree preview construction (thanks to filterfalse); - do not resolve symbolic links in directory preview (thanks to filterfalse). Security: - make temporary rename files accessible only by the user (thanks to aleksejrs). Performance: - improve performance of startup and exit by omitting file existence checks. The cost is possibly old files staying in the state, but it should be for long time (thanks to Marcin Kurczewski, a.k.a. rr-); - improved sorting performance in the presence of huge amount of symbolic links (thanks to Marcin Kurczewski, a.k.a. rr-). Invocation: - don't disable preview on `--remote --select` if it doesn't hide updated pane (thanks to Marcin Kurczewski, a.k.a. rr-); - make +{num} and similar options work (actually affect cursor of the view) (thanks to filterfalse); - treat "+" option the same way as Vim (like :$) (thanks to filterfalse). Scripting: - added v:servername variable, which provides access to server name of the running instance used by --remote feature (thanks to Marcin Kurczewski, a.k.a. rr-); - getpanetype() got new value ("tree") to indicate tree-view (thanks to filterfalse). TUI (Text User Interface): - limited maximum height of message popup, just print how many lines we're skipping; - put hardware cursor according to current mode and cursor within it (thanks to Tyler Spivey); - display path to the conflicting file in conflict resolution dialog; - provide better messages on i/o errors with 'syscalls' (thanks to Behrooz). File filtering: - don't move cursor off "../" before start of local filtering (thanks to filterfalse); - prevent clearing filters on zM if there were no zO preceding it (thanks to sudo-nice). Color schemes: - added CmpMismatch highlight group for highlighting mismatched files on side-by-side comparison. Integration: - added completion scripts for bash and zsh (patches by filterfalse); - escape first tilde in paths that go to the shell (thanks to Marius Schmidl); - resolve symbolic link for listing associated programs from desktop-files (thanks to filterfalse). Vim-plugin: - work around :drop command being disabled in the plugin (thanks to Phil Runninger); - fixed inconsistent behaviour of :EditVifm in plugin with regard to "[No Name]" buffer (thanks to Phil Runninger); - fixed plugin in versions of Vim where :argadd without argument doesn't work (thanks to eco0414). Only on Windows: - use <exe file location>/data/colors as global storage of color schemes on Windows (thanks to r44083); - handle terminal resize on Windows 10 (thanks to randomizedthinking); - properly recover from invalid/strange UNC root on Windows. Don't end up with empty filelist; - fixed use of non-latin characters in environment variables and command-line options (thanks to khaoos-abominable). Important fixes: - fixed redirecting stdout of background commands to /dev/null, which could be unwritable descriptor (thanks to c02y); - fixed possible data loss on moving/copying files over their own parent or child directories via p, P, :move, :copy, :alink and :rlink (thanks to Marius Schmidl); - fixed detection of too-small-terminal state; - fixed treating characters like š and ć (with low Unicode values, just above 0x100) as functional keys on input (thanks to granderil). Other changes: - changed size formatting to round from zero (matches behaviour of e.g. `ls`); - read error output of background commands independently of main thread (prevents blocking of tools which produce huge amount of output) (thanks to Stas Malavin); - no vifminfo merging if file change isn't detected. Might result in faster quitting in some cases. Not accounting for some changes is still possible when multiple instances quit simultaneously, but same could happen without this change; - made search consider trailing slash for directories and symbolic links that point to directories (thanks to filterfalse); - don't use :filextype in sample vifmrc for OS X, we can't tell whether graphical system is running (thanks to piotryordanov). See change log for the full list of changes and by whom they were suggested.
vifm v0.9 beta New version brings two new ways of viewing and processing file lists, namely tree-view and directory-comparison. As usual, previously existing facilities were extended and improved to become more useful. 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 tree-like representation of files; - added directory comparison facilities; - added ability to restore last navigation menu; - background operations and programs can now be cancelled; - dismissed error output of external programs can now be queried; - added shell completion for bash and zsh; - now it's possible to configure mappings in dialogs. More detailed list of changes. Packaging: - Removed -Werror in tests from non-developer builds. Command-line mode: - added :tree command that converts current view into a tree (thanks to filterfalse and Kornel); - added :dmap, :dnoremap and :dunmap commands to configure mappings in dialogs (thanks to Sassan Haradji, a.k.a. sassanh); - added "tree" parameter to :sync! that enables synchronization of tree view (thanks to filterfalse); - added :compare command to perform comparison in one or two directory trees (thanks to anonymous on SourceForge discussion forum and aleksejrs); - added :copen command to restore last menu that supports navigation (thanks to Sassan Haradji, a.k.a. sassanh); - added :screen! form that enables terminal multiplexers support (instead of toggling it as :screen does) (thanks to Marcos Cruz); - added :siblnext and :siblprev commands. They change directory to next or previous sibling directories of current path (in global sorting order of current pane) (thanks to sudo-nice); - made :put, :touch and :mkdir accept [line] range, which can be used to specify target position in tree-view (thanks to filterfalse); - accept paths in :touch, not just file names (thanks to filterfalse); - disallow applying :chmod on ".." entry; - disallow selecting ".." entry with :select command. Macros:
vifm v0.8.2 ----------- This release brings a bit of user-friendliness in form of key suggestions and various descriptions provided in the interface. Matching of files has been extended in many ways and become significantly more powerful than before. Menu mode also got several enhancements. Thanks to everyone who found time to try the beta. Main changes: - key suggestions in the interface on ambiguous input (e.g. "g"); - helpful shortcuts for dialogs (for sort dialog in particular); - key descriptions in :map menus and %z macro for 'statusline' to display some tips; - description of all :commands, 'options' and their values for new multiline version of wildmenu; - ANDing, ORing and negating patterns for matching files and new mime-type matcher; - file prefixes and suffixes can now be multi-byte, which with extended 'classify' option allows specifying "icons" via custom fonts; - search result highlighting, enabled completion and a way to export the list for menus; - an indication of pattern correctness and match state for interactive prompts. - :select and :unselect commands to perform automatic file selection (possibly by using output of external application); - cancellation (handling of Ctrl-C) for quick view and view mode loading. Not sure if it was noticed, but HTTPS protocol is up for related sites since Let's Encrypt started their beta. Everything works fine, so all the links were updated to https protocol. If you ever wondered which keys are builtin for the command (normal) mode of Vifm, this cheatsheet will show you: https://next.vifm.info/cheatsheets.shtml In case you're into using neovim, you might be interesting into checking out alternative Vifm plugin for it: https://github.com/vifm/neovim-vifm More detailed list of changes. Core: - added heuristic that uses null byte as separator for file lists if there is at least one such byte, otherwise normal line separators are used. This affects :[un]select, `vifm -`, %u, %U, %m and %M (thanks to filterfalse); - changed order of initialization to perform autocommands before startup commands on launch. Normal and visual modes: - changed ga/gA effect on parent entry (..) to calculate size of current directory (thanks to aleksejrs). :set command and options: - added 'wildstyle' option to control the way wild menu is displayed. Enables displaying it as a menu with one item per line (thanks to santhoshr and octos); - added 'suggestoptions' option to control displaying of suggestions; - added support of patterns to 'classify' option, so that files can now be decorated based on their names (thanks to elricbk); - added 'cvoptions' option to control when entering/leaving custom views is considered to be equal to entering/leaving directories (thanks to filterfalse); - added "target" sorting key, which sorts files by symbolic link targets (thanks to Marcos Cruz); - added %z 'statusline' macro that inserts text of a short tip picked at random (thanks to qinghao, a.k.a. haobug); - changed type of 'confirm' option. Now it's a set that picks which operations should be confirmed (thanks to Losiara and mvucBmM0); - allow suffixes and prefixes in 'classify' to be of up to eight characters in length (thanks to elricbk). Command-line mode: - added "filelist" parameter to :sync! that enables synchronization of custom view (thanks to filterfalse); - added :select and :unselect commands (thanks to filterfalse, Russell Urquhart and Marcos Cruz); - added negation to patterns with explicitly specified type (surrounded by {} or //). Put exclamation mark to invert pattern match (thanks to Marcos Cruz); - added mime type patterns ([!]<list-of-globs>) (thanks to Ross Hadden, a.k.a. rosshadden); - added pattern ANDing. Just list decorated patterns one after another and such composite pattern will much when each of them matches (thanks to filterfalse); - added pattern ORing for :file[x]type and :fileviewer commands implemented as a comma-separated list (thanks to filterfalse); - expand environment variables for :edit (thanks to filterfalse); - don't print just table header on `:cabbr something`, print message that no matches found instead; - use original (before custom view) cursor position on :sync! in custom views (thanks to filterfalse). File preview: - added cancellation (handling of Ctrl-C) for quick view and view mode loading (thanks to kalterfive); - skip UTF-8 BOM for file preview. File list: - never add parent entry (..) to very custom view (%U) (thanks to filterfalse); - silently ignore tries to remove parent entry (..) (thanks to aleksejrs); - automatically update custom view entries on rename of their parent directory in the same custom view. Completion: - added completion of :wincmd argument; - do not reset completion on terminal resize; - some corrections of when completion happens for :find and :grep. Scripting: - added chooseopt() builtin function that retrieves various parameters of file choosing (thanks to Von Welch). Menus and dialogs: - added highlighting of search matches in menus; - added :noh[lsearch] command to menu mode; - added quick shortcuts to dialogs (patch by oo-); - added description of builtin keys to :map menus; - added :write command to menus, that writes all menu lines into specified file (thanks to gtors); - a bit better delete confirmation messages with number of files to be deleted; - avoid displaying useless search messages about incorrect pattern during interactive search in menus (those that user can't see, but that are shown in :messages); - enabled wildmenu for menus. TUI (Text User Interface): - added indication of wrong pattern and absence of matches to command-prompt for interactive search/filtering. Angle bracket notation: - display <c-h> as <bs> only at the beginning of key sequence. Color schemes: - added SuggestBox highlight group for key suggestion box. Vim-plugin: - added support for matchit to filetype plugin (patch by filterfalse); - better terminal buffer title for plugin in neovim (thanks to randomizedthinking); - improved syntax highlighting of patterns. Only on Windows: - fixed escaping for cmd.exe again, for :edit and external command invocations (thanks to Reva Revadigar); - fixed querying file information on 64-bit Windows (thanks to santhoshr); - fixed possible crash on displaying job bar (e.g. after :empty) (thanks to Reva Revadigar); - fixed UTF8 <-> UTF16 conversion, which didn't always work (on surrogate characters it seems) (thanks to Reva Revadigar); - fixed possible unexpectedly long timeouts when waiting for a key (due to limitation of pdcurses); - fixed displaying of wide (CJK) characters in pdcurses (thanks to Reva Revadigar); - fixed capturing output of external applications when 'shell' is "cmd". Was broken since v0.8 in an attempt to make cmd work better with Unicode (but its /U flag affects only input and output streams). Packaging: - fixed functioning on architectures on which `char` is unsigned by default (thanks to Ondrej Novy, a.k.a. onovy). Important fixes: - fixed hanging on sudden terminal loss (regression) (thanks to aleksejrs); - fixed using original file names after a prompt for new destination name (thanks to rbong); - fixed unconditional resetting of executable permission when using cp dialog (thanks to Svyatoslav Mishyn, a.k.a. juef); - fixed remote feature on cygwin (thanks to Cosmin Popescu, a.k.a. cosminadrianpopescu); - fixed epic bug in processing selectors followed by other commands in a mapping. Command which accepted selector was called after tail of sequence is processed. Such case isn't very likely, so it probably didn't affect anyone. See change log for the full list of changes and by whom they were suggested.