0.13 to current Changed --with-gtk flag to --with-glib (old name is still available). GTK was pulled in by mistake, only GIO/GLib was ever used... Change %N macro to not be mutually exclusive with most of other macros (it wasn't documented and didn't make much sense). Thanks to James Dietrich. Changed handling of Ctrl-Z to not suspend the application if a corresponding user mapping exists. Patch 高浩亮 (a.k.a. haolian9). Changed behaviour on failure to evaluate an expression of :if or :elseif. Previously this resulted in trying to execute any commands until and including :endif (all branches taken). Now everything up to :endif will not be executed (no branches taken). Thanks to Ed Pavlov. Changed default value of 'findprg' to avoid the use of syntax specific to GNU find. The only difference is that now one can see "Permission denied" errors which weren't displayed before. Sample vifmrc files contain detection of GNU find on startup. Thanks to Jose Riha (a.k.a. jose1711). Changed initialization to not create a copy of rendered man page at $VIFM/vifm-help.txt, :help now opens the original file. Thanks to intelfx. Changed filetype() to accept path in its first parameter. This means that passing it something like "15abc" will no longer be interpreted as 15. Thanks to MikeLemon. Added command-line history to menu mode. Added "mchistory" value to 'vifminfo' and 'sessionoptions' option. It manages storing of command-line history of menus. Added ":history mcmd" menu for displaying command-line history of menus. Added :col[der] and :cnew[er] commands to menu mode to traverse history of navigation menus. Added :chi[story] command that opens a menu of saved menus. Added :chi[story] command to menu mode. Added 'hloptions' option to configure which columns get colored. Thanks to qsmodo. Added "column:{name}" form of argument to :highlight command to specify style of a separate column. Thanks to Anton Gepting. Added "millersep:" value to 'fillchars' that allows customizing the border between miller columns. Thanks to Shuo (a.k.a. shenqshuoh). Added :gr[ep] command to menu mode. Allows (re)running grep command on the same set of files without leaving the mode. Added :fin[d] command to menu mode. Allows (re)running find command on the same set of files without leaving the mode. Added middle view column alignment (specified by "^" in 'viewcolumns' option). Part of the text is replaced with ellipsis to keep both start and end visible. Patch by Vadim Curcă. Added escape() builtin function to escape specific characters in strings. Thanks to The Cyberduck. Added :wingo command to navigate to a view by substring matching against its title or path. Thanks to iSeeU816 and Alexandre Viau. Added :cal[l] command to run a function discarding its return value. Thanks to anyone asking about simply running a function. Added :o[pen] command to open current file, selection or range as if Enter was pressed. Thanks to Safal Piya (a.k.a. mrsafalpiya). Added 'wildinc' option that defines which :commands should be completed as they are edited. Added WildBox highlight group. It can be used to set background of completion window. Added a statusbar message and a dialog to warn about an upcoming fix for strings in conditional expressions (e.g., `if $VAR` checks for `$VAR` being non empty instead of converting it to an integer). Thanks to justpretending2. Added handling of Enter/Escape keys to prompts and error dialogs. Thanks to laur89, Alexandre Viau and multiple other users who asked about this. Added global variables (with "g:" prefix) to avoid using environment variables in their place as a workaround. Added inode number to File Info dialog. Added selected() builtin function which returns number of currently selected files. Added [S and ]S shortcuts as wrapping versions of [s and ]s. Thanks to aksr. Don't draw right padding on a truncated rightmost column of a transposed ls-like view. Made register's content being listed in normal rather then reversed order in :registers/:display menu. Don't even try to clear graphics when menu-like mode is active. The graphics should have been hidden on entering the mode. Allowed wild menu popup to take up up to 40% of the screen. Made documentation of 'vifminfo' more readable. Rewrote "Menus and dialogs" part of the documentation. Increase line length limit used during formatting output of :highlight command to allow longer strings. Display number of color pairs in use to :version/:vifm menu. Don't show a message at the end of 'incsearch' if the cursor was moved not by the search. Patch by filterfalse. Clarify documentation on column literals and escaping. Thanks to chelovechishko. Allow and skip !/!! prefix of custom external :commands for more macros (%S, %q, %i, %m, %M, %s, %v, %u, %U, %Iu, %IU). Slightly expand documentation on %N macro. Thanks to James Dietrich. Made Tab and Shift-Tab in interactive search prompts (including when navigating) move cursor to next/previous search match. Thanks to David Sierra DiazGranados (a.k.a. davidsierradz). Somewhat improve documentation on functional keys. Updated autotools scripts. Thanks to phanium (a.k.a. phanen). Perform sorting of completion items after doing Unicode normalization. Perform sorting of file names after doing Unicode normalization. Thanks to hacksenwerk. Make :compare treat non-regular files (pipes, sockets, etc.) as empty. Slightly improve performance of comparing files by content. Configure 'vifminfo' in sample vifmrcs to store most of the things in vifminfo by default (add missing histories and tabs). Thanks to Christoph Schmidpeter. Adjusted heuristic for determining previewer type to allow use of %px and %py with %pd without any implications. Thanks to iambumblehead. Document how use of different preview macros affect classification of the previewer. Thanks to iambumblehead. When processing multiple files in background, show current position in the list on the job bar. Shorten home directory in paths shown on job bar. Commented out one of MC-like shortcuts in sample vifmrc files, Ctrl-U, to avoid confusing Vim users with default configuration. Thanks to midrare. Make vifm-media not offer partitioned drives as they aren't mountable as a whole. Extended vifm-media script to support MTP devices if simple-mtpfs tool is installed. Thanks to FlyCat (a.k.a. yanwh0311) and Alexandre Viau. Allowed moving files via :rename (requires an interactive confirmation). Thanks to aleksejrs. Made completion of an option with its current value work not only on `opt=<tab>`, but also on `opt='<tab>` and `opt="<tab>`. Thanks to aleksejrs. Provide numerical value of a color as a description of a completion item for it. Make :goto preserve custom and tree views. Thanks to asmodeus812 (Svetlozar Iliev). Improve error message on trying to :unlet a builtin variable. Extended logging on spawning a command via a shell. Thanks to Henrik Holst (a.k.a. hholst80). Expand environment variables in the arguments of :mark command. Thanks to an anonymous at Vifm Q2A site. Improved detection and reporting of invalid marks by :mark command. Updated ncurses in AppImage to 6.5. Don't overwrite $TERMINFO in AppImage, set/append to $TERMINFO_DIRS instead. Thanks to anonymous at Vifm Q2A site. Fixed line number column not including padding to the left of it. Fixed local options not being loaded on Ctrl-W x. Fixed graphics of view mode not being hidden on activating menu, more or file info modes. Fixed descriptions of exit :commands in menus (visible during popup completion). Fixed statusbar output not being preserved on running commands from :history menus. Fixed not being able to pick a symbolic link to a directory via --choose-files or --on-choose by selecting and opening it. Fixed 'slowfs' option not being applied to targets of symbolic links on operations related to directory sizes. Thanks to rok (a.k.a. aca). Fixed running long shell commands when fish is used. Caused by its inability to understand that "${var}" is the same as "$var". Thanks to aleksejrs. Fixed a historical omission of Ctrl-G not being available in some prompts: file rename on conflict; owner, group and symbolic link target change. Thanks to Branislav Gerazov. Fixed display issues or a crash when using a terminal with more than 32768 color pairs. Thanks to iboggs and itshog. Fixed performance degradation after preview consumes lots of color pairs. Fixed running tests with musl libc. Thanks to Henrik Holst (a.k.a. hholst80). Fixed IPC payloads larger than 8155 bytes. Patch by Marcin Kurczewski (a.k.a. rr-). Fixed abort on instance sending something over IPC to itself. Thanks to Marcin Kurczewski (a.k.a. rr-). Fixed "N files selected" message appearing in menus on waiting for multikey input (regression in 0.12-beta). Fixed %a 'statusline' macro on FreeBSD producing wrong values. Patch by voh9eepah. Fixed %a 'statusline' macro producing wrong values on non-Linux Unix-like systems. Thanks to voh9eepah. Fixed graphics not being cleared on switching to single-pane view. Thanks to ret2src. Fixed merging directories on copying not asking for overwrite confirmations. Thanks to aleksejrs. Fixed skipping of file move during merging aborting the whole operation. Thanks to aleksejrs. Fixed expansion of abbrevs that leave command-line mode. Patch by filterfalse. Fixed completion of :cabbrev not using bracket notation in expansion. Fixed `<` not being turned to `<lt>` on displaying right-hand sides. Fixed description of empty abbreviations being empty instead of `<nop>`. Fixed tiny memory leak on trying to list abbreviations when there are none. Fixed `:[un]select !<text/html>` treating "<text/html>" as an external command. Fixed !! not affecting commands that include %s or %v macro. Thanks to James Dietrich. Fixed parsing of comma-separated lists hanging on empty last element and skipping leading commas. Fixed output formatting of :autocmd (pattern negation broke column alignment and wrapping). Fixed environment variables not being expanded on checking that a :file[x]type or :fileviewer command exists. Thanks to Ben Elan. Fixed search match highlighting when the match is cut off due lack of space. Patch by Vadim Curcă. Fixed running tests with locales that use comma for decimal point. Thanks to PRESFIL. Fixed foreign commands missing from `:command {prefix}` output. Patch by 高浩亮 (a.k.a. haolian9). Fixed foreign commands missing from completion of `:[del]command {prefix}`. Patch by 高浩亮 (a.k.a. haolian9). Fixed documentation on yy, Y, dd and DD not mentioning how "s" flag of 'cpoptions' affects their behaviour. Thanks to James Dietrich. Fixed FUSE mounter error message dialog missing newlines (regression in 0.13-beta). Fixed "Querying... (??%)" message on :compare having an extra space in parenthesis. Fixed potential integer overflows on sorting. Fixed weird sorting of filenames with non-Latin characters when 'sortnumbers' option is set and strverscmp() is not provided by the system (like on Windows). Fixed "Querying... (??%)" message on :compare having an extra space in parenthesis. Fixed :compare hanging on trying to compare non-regular files like pipes by contents. Fixed :compare reporting identical files as changed when there were more than a couple of files with identical size and 4096-byte prefix. A regression in 0.13-beta. Thanks to Alexandr Keyp (a.k.a. IAmKapuze). Fixed stream redirection issues with background jobs on Windows (those created via `:!cmd &` or in Lua) if the application was closing one of standard streams. Fixed colors sometimes (rarely) changing in seemingly random ways. Fixed some :jobs showing some already dead jobs as running. Fixed running external commands which start with a dash. Patch by Ivan Shapovalov. Fixed absolute paths not being completed when 'autocd' option is enabled. Thanks to Taras Halturin (a.k.a. halturin). Fixed individual error messages when 'syscalls' is on lacking system error string which is present when errors are aggregated at the end of an operation. Thanks to an anonymous at Vifm Q2A site. Fixed `data/vifmrc` next to vifm.exe being used as global vifmrc file on Windows. Thanks to midrare. Fixed vifm-media script not listing external drives with udevil and udisks. Fixed vifm-media script not listing removable drives with udisks marked as non-removable by udisks. Fixed incorrectly determining whether a directory is writable on Windows (primarily C:\ could be reported as non-writable). Thanks to theorlangur and bitraid. Fixed :substitute, :tr, gu* and gU* detecting a non-existent target name conflict when rename in a custom view would produce an identically named files in different directories. Thanks to aleksejrs. Fixed lack of a redraw after running :substitute, :tr, gu* or gU* in a custom view. Fixed a leak of error message string when using `:rename new-names...`. Fixed :rename not recognizing identical paths in source and destination lists if they were edited (e.g., to contain extra slashes, "./" or "../"). Fixed weird character appearing on Ctrl+Space combination in command-line mode. Fixed :restart leaving histories disabled unless 'history' is set to a non-default value in vifmrc. Thanks to James Dietrich. Fixed processing of file names and paths that undergo escaping in the UI, like inability to externally rename them (regression in 0.12.1 beta). Thanks to jc-SpaceXp. Fixed rules for handling of selection by :file[x]type not taking %"c/%"C/%"f/%"F macros into account (relevant mostly to Windows). Thanks to smoothdad. Fixed unreliable internal checks for %pd, %px, %py, %pc and %r macros. Previously they could be found in something like "%%pd", which should not be interpreted as %pd. Fixed registers' content of multiple instances not being synchronized on use of %"r macro. Fixed a crash after a memory corruption when running an external command via expansion of an environment variable when 'fastrun' is set (e.g., `!$EDITOR`). Thanks to Quaddroo. Fixed :elseif evaluating its expression even if an earlier conditional branch was already taken. Fixed loading a session with global tabs when 'tabscope' is "pane" resulting in global tabs being invisible. Fixed statusline having invalid colors when 'wildstyle' is "bar" and completion is initiated by Shift-Tab. Fixed CTRL-A and CTRL-E in command-line mode not stopping completion or history search unlike other similar keys. Fixed directories not being accounted for in estimates. Thanks to justpretending2. Fixed global version of 'viewcolumns' not validating its value. Thanks to Vadim Curcă. Fixed `&&` operator which was acting as binary `&` (in terms of evaluation, the result was properly boolean). Thanks to justpretending2. Fixed use of environment variables in :if in sample vifmrc file. Checking for an empty string should be done explicitly with `==` or `!=`. Thanks to justpretending2. Fixed Escape being handled as Ctrl+C in prompts (suppresses future errors). Fixed outdated documentation on the behaviour of n/N when 'hlsearch' is enabled since the introduction of highlighting of search matches. Thanks to James Dietrich. Fixed /usr/share/terminfo not being consulted when running from an AppImage. Thanks to anonymous at Vifm Q2A site. 0.13-beta to 0.13 (2023-04-04) Made "withicase" and "withrcase" affect how files are sorted before comparison, otherwise they might not produce the intended effect. Reduced cursor flickering during incremental search in visual mode. Patch by filterfalse. Fixed segfault on trying to expand "~username" path prefix with a huge length of the user name. Fixed user mappings replacing a mapping from Lua in an incomplete way which could lead to assertion or some unpredictable behaviour. Fixed map menus not listing mappings that accept a selector. Fixed handling mouse events in normal and view modes in single pane mode. Fixed :hideui not hiding anything on Windows. Thanks to Ed Pavlov. Fixed segfaults on changing sibling directory or previewing directories in miller view while global sorting by groups is active. Patch by filterfalse. Fixed cl processing selection it was used previously on instead of file under cursor when you run it twice in succession. Fixed graphics from miller view preview remaining visible when displaying dialogs, entering menus, switching tabs, activating more or file info modes. Fixed "rpreview:" of 'milleroptions' not being copied to new tabs. Fixed selection not being stashed by do and dp. Fixed memory issues inside ncurses when dialog is displayed in menu mode after resizing the terminal. 0.12.1 to 0.13-beta (2023-03-17) Changed implementation of `:compare grouppaths` to juxtapose only files with identical relative paths. Patch by Alexandr Keyp (a.k.a. IAmKapuze). Changed use of `$(filter-out)` in src/Makefile.am to `$(var:from=to)` substitution to get rid of a warning on configuration. Changed how pthread support is detected by configure script to handle more cases. Thanks to Markus Elfring (a.k.a. elfring). Changed configure script to fail if neither perl nor vim is available instead of failing to generate tags for Vim-style documentation. Thanks to Sergei Trofimovich (a.k.a. trofi). Changed %N macro to also not start a process group for a command. Thanks to Oskar Grunning (a.k.a. sQVe). Changed error reporting for some of the :commands such that now their failures cause a dialog to appear on sourcing, previously those errors were printed only to status bar. Added "withicase" and "withrcase" to :compare that force ignoring and respecting case respectively on comparing file names and paths. Thanks to Jose Riha (a.k.a. jose1711). Added printing stats while in :compare mode. Patch by Alexandr Keyp (a.k.a. IAmKapuze). Added "columncount:" value to 'lsoptions' to always display fixed number of columns. Thanks to Aleksandr Vysotskiy (a.k.a. loki1368). Added show* arguments to :compare command to control/switch which sets of files are displayed (toggling is done by :compare!). Patch by Alexandr Keyp (a.k.a. IAmKapuze). Added builtin handling of mouse events. Patch by 高浩亮 (a.k.a. haolian9). Thanks to ranousse, Sergei Shilovsky and user451421541757324. Added 'mouse' option to control when mouse input is handled (not handled by default). Added input() builtin function to prompt user for input. Thanks to Artur F. (a.k.a. arturfabriciohahaedgy). Added ETA to detailed progress dialog. Thanks to Jose Riha (a.k.a. jose1711). Added `--plugins-dir` command-line option which allows specifying additional places to look for plugins. Thanks to 高浩亮 (a.k.a. haolian9). Added Ctrl-Y key to command-line mode. It activates fast navigation that allows entering deep paths by a series of searches for individual path components. Thanks to Henrik Holst (a.k.a. hholst80) and dmocek. Added Ctrl-J key to command-line navigation. It leaves the mode without opening a file/directory. Thanks to filterfalse. Added Ctrl-O key to command-line navigation that goes to parent directory. Added Ctrl-N/P keys to command-line navigation to move view cursor up/down. Thanks to Henrik Holst (a.k.a. hholst80) and dmocek. Added Arrows/Home/End/Page Up/Page Down keys to command-line navigation to move view cursor. Thanks to Henrik Holst (a.k.a. hholst80) and dmocek. Added :amap, :anoremap and :aunmap commands to configure mappings in navigation mode. Thanks to Henrik Holst (a.k.a. hholst80) and dmocek. Added 'navoptions' option to allow tweaking navigation mode a bit. Thanks to filterfalse. Added "rpreview:files" to 'milleroptions'. Thanks to aksr. Added r key to :jobs menu, which reloads the list of jobs. Thanks to Sylwia Ptasinska (a.k.a. SylEleuth). Added :regedit command for external editing of register contents. Thanks to Daniel J. Perry (BioBox). Patch by Rostislav Tolushkin (a.k.a. nullptr-deref). Added additional User10..User20 highlight groups and corresponding %10*-%20* macros. Thanks to Sylwia Ptasinska (a.k.a. SylEleuth). Added 'tabline' option to specify format of the tab line. Added filereadable() builtin function mainly as a way to check file's presence. Reduced amount of memory consumed by `:compare groupids`. Made `:compare bycontents` not bother reading content of files which have unique size. Provide basic instructions in the documentation on how mappings work. Thanks to dmocek. Extended do and dp keys to process selection. Thanks to Mark S. (a.k.a. Markuzcha). Apply file highlighting to "ext" and "fileext" view columns. Thanks to aleksejrs. Made instances running inside AppImage consider contents of `/etc/vifm`. Thanks to aleksejrs. Made Ctrl-E/Ctrl-Y scroll transposed ls-like view horizontally by one column. Install icons also to ${prefix}/share/icons. It's not clear that using ${prefix}/share/pixmaps will always be handled properly. Thanks to Szilárd Andai. Made feedback after pressing dd in :jobs more prominent. Thanks to Sylwia Ptasinska (a.k.a. SylEleuth). Merged file conflict comparison dialog into the main conflict dialog. Thanks to aleksejrs. Made file conflict more concise. Thanks to aleksejrs. Update Default-256 to differentiate between more file types. Thanks to aleksejrs. Don't move cursor on search failure during search with a count. Patch by filterfalse. Specified a few more cases when to show a search message with search highlighting turned on: if found a match, if wrapping is turned on, and in visual mode. Patch by filterfalse. A regular search logic showing messages is applied to n/N. Patch by filterfalse. Made aborting deletion abort the operation on the rest of files when deleting multiple files. Fixed segfault on trying to use pipe from Lua after its parent VifmJob object was garbage-collected. Thanks to PRESFIL. Fixed check for broken symlinks in :edit command. Fixed positioning hardware cursor in transposed ls-like view. Fixed width of file names that don't fit into ls-like column being larger than the width of other files. Fixed ellipses being lost in side columns of miller view. Fixed 'previewprg' not being respected on switching to view mode (regression in 0.12-beta). Thanks to Sitaram Chamarty. Fixed $VIFM_APPDIR_ROOT being ignored by :help command, which made it not work properly from AppImage. Thanks to infinitewhileloop. Fixed escaping of file paths when using 'vicmd' or 'vixcmd' to open a file on Windows. Thanks to Phil Runninger. Fixed :locate never escaping its arguments (should be done unless the first one starts with a dash). This is a regression in 0.7.6. Fixed trash directory being created at default location on :restart. Fixed abort due to assertion failure on using zx normal mode key after leaving tree in some cases. Thanks to Mark S. (a.k.a. Markuzcha). Fixed asynchronous previewing of symbolic links, which required manual redraw. Thanks to Alexandre Viau. Fixed fish completion not completing paths for `--choose-files` and `--choose-dir` options. Fixed a "benign" data race on ga/gA. Fixed error of :cunabbrev not being visible to the user. Fixed segfault on passing invalid tag to :delbmarks. Fixed :echo printing previous message when invoked without arguments. Fixed Ctrl-E in visual mode not doing anything when view is scrolled to its top. Fixed 'milleroptions' not recovering value of "rpreview:" on error. Fixed FUSE mounting assuming `2>` redirection is supported by the shell, which isn't true at least for csh and tcsh. Thanks to Evgeniy (a.k.a. iron-udjin). Fixed :media not redrawing on reloading ("r" key) and also wasn't repositioning cursor properly when menu length shrinks as a result of a reload. Fixed stashing visual mode selection on transition from visual amend mode to regular visual mode (av -> v). Patch by filterfalse. Fixed dropping normal selection on incremental search in visual amend mode. Patch by filterfalse. Fixed input bar not being updated in visual mode if any status bar message has been shown. Patch by filterfalse. Fixed error/prompt dialogs not reaching maximum allowed height. Fixed "<<N more lines not shown>>" message in dialogs reporting wrong number of lines and sometimes hiding a single line. Fixed dialogs not handling non-latin characters well. Fixed :source producing too many errors when specified path doesn't exist. Fixed n/N not moving the cursor without prior search in visual mode. Patch by filterfalse. Fixed showing wrong match number instead of error message on search in visual mode. Patch by filterfalse. Fixed resetting 'hlsearch' during incremental search in visual mode. Patch by filterfalse. Fixed dropping selected files on empty input during incremental search in visual mode. Patch by filterfalse. Fixed resetting count to 1 during incremental search in normal mode. Patch by filterfalse. Fixed description of %i macro in the documentation to mention that it runs command in background. Fixed the last search direction not being saved on search performed from non-normal mode. Patch by filterfalse. 0.12.1-beta to 0.12.1 (2022-09-21) Added shell completion for fish shell. Patch by Hoang Nguyen (a.k.a. FollieHiyuki). Permit directories with trailing slashes supplied by external commands in `:[un]select !cmd`. Patch by filterfalse. Fixed prefix mappings being left after removing a key (e.g., "a" remaining after mapping and unmapping "ab"). Patch by filterfalse. Fixed infinite loop on restoring visual selection after changing the order of files to the opposite (`:invert o`). Patch by filterfalse. Fixed 'sort' and 'sortorder' string representations not being updated after `:invert o`. Patch by filterfalse. Fixed memory leak on using 'cdpath'. Fixed NULL pointer dereference on parsing desktop files, if no MIME type recognizers are available. Patch by filterfalse. Fixed "load" subcommand of :plugin not being completed. Fixed <silent> not being highlighted after :cnoremap and :cmap. Fixed parts of graphics being left on entering menu mode. Fixed %i without " &" preventing some applications from running by closing their standard output and error. Thanks to Daniel J. Perry (a.k.a. BioBox). 0.12 to 0.12.1-beta (2022-09-05) Changed conflict dialog to offer "Merge all" option even for files if there are some directories left to process. Thanks to dalvand. Changed how location of trash directory is determined. Now starting `vifm --no-configs` won't mess anything up if you're using `~/.vifm`. Can potentially cause some trouble for existing configurations, but shouldn't. Changed [c and ]c to also traverse added/missing entries. Thanks to qsmodo. Added 'autocd' option. Makes invalid :commands be interpreted as an implicit :cd command. Thanks to Taras Halturin (a.k.a. halturin). Added %N macro that prevents detaching viewers from current session. Thanks to emorozov. Added cl key visual mode (similar to its function in normal mode). Added handling of "-" in :session for switching to a previous session. Added %pu macro that disables caching of viewer's output. Thanks to b0x4it. Added comparison action to conflict resolution dialog. Thanks to anonymous at Vifm Q2A site and dalvand. Added :keepsel command. Changes default behaviour after running a :command to not reset selection of a view. Thanks to dalvand and sharklasers996. Added -skip parameter to :copy/:move/:alink/:rlink. Makes the commands automatically skip files that exist at destination instead of refusing to proceed. Thanks to Jose Riha (a.k.a. jose1711). Added "datasync" value to 'iooptions' option to configure whether writes on file copying when 'syscalls' is on are synchronized periodically. Thanks to Andrew Savchenko and Afz. Added angle-bracket notation for alpha keys with Alt and Shift modifiers (<[am]-s-[a-z]>, <s-[am]-[a-z]>). Thanks to Reece Petersen. Added angle-bracket notation for numeric keys with Alt modifier (<[am]-[0-9]>). Thanks to anonymous at Vifm Q2A site. Added expression pseudo-register (Ctrl-R =) for command-line mode. Thanks to Marcos Cruz and Jiji from Vifm Q2A site. Added "ehistory" value to 'vifminfo' and 'sessionoptions' option. It manages storing of expression register history. Added ":history exprreg" menu for displaying history of expression register values. Added optional border for horizontal split layout controlled by newly added "hborder" in 'fillchars'. Patch by qsmodo. Added "maxtreedepth" value to 'previewoptions' option, which allows limiting depths of the displayed tree. Thanks to Afz. Added %o macro to 'statusline', which expands to Unix permissions in octal form (and to nothing on Windows). Thanks to iSeeU816. Added initial support for Yori shell on Windows (not everything might work well at this point). Thanks to LinArcX. Added angle-bracket notation for some shifted grey keys: <s-home>, <s-end>, <s-left>, <s-right>, <s-up>, <s-down>, <s-pageup>, <s-pagedown>, <s-delete>, <s-insert>. Patch by M Kelly. Added %l/%"l and %L/%"L macros for the list of selected files. %f is not empty if there is no selection, which is not always desirable. Thanks to ratnamhof. Added parsing of \c and \C sequences in regular expressions to force case ignoring or matching respectively. Thanks to filterfalse and Safal Piya (a.k.a. mrsafalpiya). Added :PeditVifm command (and corresponding :PeditVim) to the plugin. Thanks to Mukund Mauji (a.k.a. maujim). Added CmpUnmatched and CmpBlank highlight groups. Thanks to qsmodo. Extended optimizations for globs to cover `something*` and `some*thing` cases. Updated xxHash to 0.8.0 and switched to XXH3 variant. Extended has() builtin function to check for Lua handlers. Extended cl normal mode key to handle selection of multiple files. Thanks to aleksejrs. Hide graphics when displaying dialogs or entering menus, more or file info modes. Thanks to heelsleeh and PRESFIL. More consistent spelling of "status bar" and "status line" in documentation. Thanks to tcftbl. Document that <del> key might correspond to <bs>. Thanks to dalvand. Don't expand() macros in environment variables. Patch by filterfalse. Try several editors and then $EDITOR for 'vim' option in sample vifmrc files. Thanks to Janek (a.k.a. xeruf) and Muhammed Zakir. Include unprintable Unicode code points in the set of characters escaped in file names and start escaping them in file view. Patch by MadMaverick9. Escape unreadable characters in menus, command-line mode, dialogs and statusbar messages. Thanks to MadMaverick9. Set `title` option by default if $TERM is foot* as its terminfo entry might lack tsl and fsl attributes. Thanks to nobodyatandnothing. Display permissions in octal form in File Info dialog and group them with owner/group info. Thanks to iSeeU816. Made gs normal mode key remember selection for up to 10 last entered directories. Thanks to ratnamhof and Matthias Braun (a.k.a. mb720). Reformat File Info dialog to be more compact. Thanks to chelovechishko. Do not reset selection on :view command. Thanks to Alexandre Viau. Fixed cursor appearing at random places on entering command-line mode. Fixed flicker and loosing parts of input on incremental search in menus. Fixed ruler flickering on typing during incremental search in menus. Fixed severe performance degradation after measuring size of large directory trees. Fixed building when fdatasync() call isn't available. Thanks to Schrijvers Luc (a.k.a. Begasus). Fixed flicker of status line on editing in command-line mode. Fixed resolving symlinks to symlinks on checks for regular file. Thanks to Olmo Kramer. Fixed :goto command not positioning cursor correctly if provided on command-line. Thanks to Toan Nguyen (a.k.a. toan2406). Fixed --remote and --remote-expr failing if $TERM isn't valid (regression in 0.11-beta). Thanks to b0x4it. Fixed `:compare listunique` yielding different results depending on which view is active due to not processing bottom files in the current view in some situations. Fixed information about implicit file selection (count or ranges) being lost due to the use of expand() builtin function in 'statusline'. It was fixed previously, but the fix got undone prior to the release. Thanks to dalvand. Fixed expand() requiring backslashes to be escaped twice (once for environment variable expansion and once for macro expansion), which isn't convenient nor intuitive. Fixed truncation of the dollar sign during expansion of non-existent environment variables. Patch by filterfalse. Fixed assertion failure on processing mappings with RHS of the form "{mapping with selector}{something else}". Thanks to dalvand. Fixed search and local filter values set from :history menu being split at bar (|) and each piece applied in turn. Fixed losing visual mode selection after executing two command-line commands where the first one enters visual mode and the second one implicitly resets selection. Thanks to dalvand. Fixed background :copy/:move handling broken symlinks as non-existent files during the operation (which wasn't happening if such file was there initially). Fixed write to a pipe of a closed process in Lua causing SIGPIPE and termination of the application. Fixed :. incorrectly checking for one path being parent of another and producing weird results ("/pa" was considered parent of "/path", with "th" being the result). Thanks to Dennis Preiser (a.k.a. 0xDP). Fixed displaying empty matches at the start/end of menu items. Fixed displaced search highlighting when horizontal scrolling hid multi byte text. Fixed completion of broken filenames (those for which encoding to wide character fails) causing memory corruption. Fixed running :set from autocommands triggered during processing of vifmrc changing options for all views. Thanks to Alexandre Viau. Fixed handling errors on :mkdir with 'syscalls' set. They weren't displayed and retry/ignore/abort prompt wasn't presented. Fixed segfault on ignoring an error from :touch with 'syscalls' set. Fixed operations ignored via retry/ignore/abort prompt still being added to undo history. Fixed graphics not being cleared properly on switching between viewers in view mode. Fixed externally edited prompt not being saved to history. Fixed completion of command-line prompts breaking input at pipe symbol (|). Fixed resetting 'fillchars' option and separate values. Again, this one is cursed. Fixed borders not being filled after loading an empty color scheme. Fixed directory preview resetting after detaching from it. Thanks to Luka Markušić (a.k.a. mark2185). Fixed conflict dialog offering merging on rl and al normal mode commands. Fixed :restart creating trash directory in incorrect location on Windows in some cases. Fixed argument escaping issues for foreground programs on Windows. Thanks to fohrums. Fixed slashes being doubled in macros like %"c on Windows with cmd.exe as a shell. Thanks to Toby Hawkins (a.k.a. HawkinsT). Fixed auto-detection of GUI programs on Windows, which prevents Vifm from waiting on them to finish. Thanks to Azin Sharaf. Fixed 'trashdir' expanding ~ only of the first entry. Fixed `start` in file[x]type commands on Windows not being considered as present. Fixed selection created prior to running av in normal mode showing up after switching to a regular visual mode via v key and moving cursor over it. Fixed processing of extended keys on OpenBSD. Fixed memory error in :media menu on an unlikely error path. Thanks to dcb314. Fixed memory leak from bar in progress dialog. Fixed checking version of GNU coreutils at build time. 0.12-beta to 0.12 (2021-09-29) Made :VifmCs of the plugin handle 24-bit colors. Collect desktop files also from ~/.local/share/applications. Thanks to Jose Riha (a.k.a. jose1711). Align output of :highlight better. Fixed maximum number of arguments for :highlight command. Thanks to Yuriy Artemyev (a.k.a. anuvyklack). Fixed binary data messing up TUI. Fixed new "combine" highlight attribute not being completed or displayed by :highlight command. Fixed garbage being printed sometimes after doing search in a menu. Fixed miller preview blinking too much. Thanks to filterfalse. 0.11 to 0.12-beta (2021-09-15) 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). Added experimental Lua plugins support. Added :plugins command that opens plugins menu. 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 progress indication to the ruler of the view mode (corresponds to new %P macro of 'rulerformat'). Thanks to iSeeU816. Added i view mode key that toggles raw mode (ignoring of defined viewers). Thanks to j-xella. Added a and A view mode keys that switch to next and previous viewer of current file correspondingly. Thanks to j-xella. 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 :plugin command that manages plugins. Added network mount and `subst` targets to :volumes menu. Patch by Phil Runninger. 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 literal values to 'viewcolumns' option. Thanks to Jose Riha (a.k.a. jose1711), chelovechishko, DieSpinne and rwtallant13. Added shortcuts for toggling flags in permissions dialog on *nix. Patch by qsmodo. Added %v macro for vertical splitting in terminal multiplexers. Patch by qsmodo. Added %Pl and %Pz macros for redirecting list of files to standard input of commands. Thanks to PRESFIL. 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 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). Added "l" and "r" flags to the 'tuioptions' option. It controls truncation of view titles. Patch by qsmodo. Added periodic forced flushing of data on copying data when 'syscalls' is set. Thanks to Matthias Braun (a.k.a. mb720). Added :st[op] command that behaves like Ctrl-Z. It's to be used in mappings. Thanks to GummyGun. 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. Added "depth=N" parameter to the :tree command. Thanks to filterfalse. 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 "gui", "guifg" and "guibg" parameters to :highlight command. Added some additional information about instance to the :version/:vifm menu. Added %c 'statusline' macro that displays size of current file-system. Thanks to Jose Riha (a.k.a. jose1711). Made :VifmCs of the plugin fail when 'termguicolors' produces a 24-bit color value. Thanks to AtomToast. Don't list inaccessible instances on --server-list. Made contents of map menus easier to comprehend by adding captions. Include shortcut prefix in title of map menus. Document how %i macro affects background jobs. Made it possible to build AppImage for Vifm. Patch by michaellee8. 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). Implemented asynchronous previewing for textual and pass-through (think sixel) viewers. Thanks to StillSteal, laur89, Joshua Jensch (a.k.a. patroclos) and p-kolacz. Run background programs detached from a terminal. Thanks to Miguel Madrid Mencía (a.k.a. mimame). Allow exploring empty files or output of viewers. Thanks to Andrew Savchenko. Allow user-defined commands to include numbers in their names. Thanks to anonymous at Vifm Q2A site. Make :compare obey file name filters. Patch by qsmodo. Always display UID/GID in numeric form in File Info dialog (in parenthesis if the id was resolved to a string). Updated logo of the project. Thanks to Hescalalu for making it. Detect broken links on preview and report them as such. Fixed pointing 'trashdir' to a symbolic link to a directory causing issues. Thanks to ChongChong He. Fixed lack of error message when overwriting of file fails with 'syscalls' turned off. Thanks to anonymous on SourceForge discussion forum. Fixed an issue with packaging on one system (Linux in this case) and building on the other (OS X). Thanks to chenrui333. Fixed information about implicit file selection (count or ranges) being lost due to the use of expand() builtin function in 'statusline'. Thanks to DieSpinne. Fixed presence of %q macro causing second round of macro expansion. Fixed quickview not being redrawn after leaving File Info dialog or more mode. Fixed pane tabs being created after the last one instead of after current tab. Thanks to anonymous and n.e. at Vifm Q2A site. Fixed hang on using previewer that takes over control over the terminal (like 7z does to read password). Thanks to PRESFIL. Fixed inability to map escape sequences due to extended keys in terminfo database. Patch by M Kelly. Fixed not being able to view really long file names in full in File Info dialog. Thanks to 702b. Fixed compilation on AIX. Thanks to Jose Riha (a.k.a. jose1711). Fixed mounting and directory replacement not being detected as directory change when inotify is used. Thanks to Jakob Helmecke and PRESFIL. Fixed :empty leaving empty directories on Windows. Thanks to Grueslayer. Fixed losing files as a result of executing ":copy! &" or ":move! &" when both panes show the same directory. Thanks to Hans Bieshaar. Fixed a memory leak possible on formatting tab titles and status line. Fixed possible crash after changing 'classify' and then switching to inactive tab. Fixed attempts to complete nonsensical arguments to :set removing those arguments. Fixed some scrolling keys in view mode when there is only one visible line. Fixed backward search of view mode not reporting failure if there was a match at the very first line. Fixed running tests as root user. Thanks to Michka Popoff (a.k.a. iMichka). Fixed graphical preview of files in the right column of miller view not being properly cleared on directory change. Thanks to CosmosAtlas. Fixed vifm-convert-dircolors dropping copies of entries that differ only by case. Thanks to flux242. Fixed permission dialog on *nix systems not showing all information correctly after a redraw. Fixed incorrect colors on redrawing wild menu popup on terminal resize. Fixed order of checks on :copy?/:move?/:alink?/:rlink?. Now custom view is checked for duplicates before prompting for list of files. Fixed refusing to :copy/move/alink/rlink identically-named files from custom views even if list of new names is supplied. Fixed cw key of visual mode not being documented. Fixed copying of executable files not working on FreeBSD. Thanks to makijato. Fixed :chmod lacking a reload, which is needed because attribute change might not be detected. Fixed :goto not working with backslashes on Windows. Thanks to Grueslayer. Fixed full path patterns ({{globs}} and //regexp//) not working in tree views. Fixed number of filtered files not being updated in tree views on pressing zf key. Fixed "Building tree..." message not restoring contents of status bar in command-line mode. Thanks to filterfalse. Fixed issues with displaying composite characters. Thanks to Dennis Preiser (a.k.a. 0xDP). Fixed some file operations not being blocked in custom trees even though they can't handle them (custom views in general can't). Thanks to filterfalse. Fixed graphical preview of files in the right column of miller view not being properly cleared on switching to a directory preview. Thanks to TheMystifyingCharacter. Fixed sample :zip command to work with multiple files. Thanks to Branislav Gerazov. Fixed handling of broken links that exist at destination on putting files. Thanks to aleksejrs. Fixed zj not working before the last entry if it's an empty directory. Thanks to filterfalse. Fixed processing of keypad keys on Windows. Thanks to Roland. 0.11-beta to 0.11 (2020-09-24) Recommend against setting 'shellcmdflag' to "-ic" value. Made it possible to escape commas in patterns (as usual, by doubling). Thanks to filterfalse. Don't display number of hard links in File Info dialog on Windows. It's always zero there. Follow targets of .lnk-files on Windows on gF. Fixed ga and gA on symlinks to directories on their own (regression in 0.11-beta) and as part of selection. Thanks to filterfalse. Fixed an issue with undesired cache invalidation for symbolic link to directories, which caused performance issue (regression in 0.11-beta). Fixed `:sync! all` not synchronizing local filter of a tree with `set cvoptions=localfilter`. Thanks to filterfalse. Fixed documentation in Vim format linking section about globs instead of section on patterns in the description of :filetype, :filextype and :fileviewer commands. Fixed zd adding ".." directory even with 'dotdirs' not containing "treeleafsparent". Fixed tab labels of pane tabs being messed up (regression in 0.11-beta). Fixed highlighting of search matches in preview (regression in 0.11-beta). 0.10.1 to 0.11-beta (2020-09-10) Added :VifmCs command to the plugin for "converting" Vim's color scheme into a Vifm's one. Patch by Roman Plášil (a.k.a. Quiark). Added references to "Menus and dialogs" section of documentation from :commands and keys which open menus and dialogs detailed there. Added "tabs" value to 'vifminfo' option. It enables persistent tabs. Thanks to Cosmin Popescu (a.k.a. cosminadrianpopescu), filterfalse and Neil Griffin (a.k.a. ngriffin7a). Added :tabo[nly] command that closes all tabs but the current one. Added "v" flag to the 'tuioptions' option. It controls whether width of middle border is adjusted to equalize view sizes. Thanks to Matthias Braun (a.k.a. mb720). Added 'tablabel' option that specifies format of a single tab's label when non-empty. Thanks to aleksejrs. Added three MC-like shortcuts to sample vifmrc files (Alt-I, Alt-O and Ctrl-U). Thanks to Hans Bieshaar. Added HardLink highlight group for regular files with more than one hard link. Patch by Hans Bieshaar. Added 'sessionoptions' option, which is an alternative to 'vifminfo' for session files. Added :session and :delsession commands to manage sessions. Thanks to Marcos Cruz. Added v:session builtin variable that provides name of current session or is set to an empty string. Added global Default-256 color scheme to be used in terminals that support 256-color palette (automatically in sample vifmrc). Thanks to Shakil Akhtar. Added rate and progress bar to progress dialog. Patch by Alborz Jafari. Added "treeleafsparent" value to 'dotdirs' option. Thanks to filterfalse and Melandel. Added LineNr highlight group for highlighting line number column of views. Thanks to Anton Gepting. Added OddLine highlight group for highlighting every second entry line of a pane. Thanks to iSeeU816. Added v:jobcount builtin variable that provides number of active jobs (number of lines in :jobs menu). Thanks to iSeeU816. Added basic support for using PowerShell on Windows (pausing doesn't work). Thanks to Fang (a.k.a. peromage). Added 'tabprefix' and 'tabsuffix' options that allow customizing tabline separators. Thanks to CoreCube. Added real (fully resolved) path to the File Info dialog. Thanks to Alexandre Viau. Added number of hard links to the File Info dialog. Added gF normal mode key which acts like gf, but goes all the way to the ultimate target of the chain of symbolic links. Thanks to Alexandre Viau. Added optional "full" parameter for the :restart command, which makes it discard essentially all context. This is useful with persistent tabs. Thanks to Yusuf Aktepe. Made documentation of :command more comprehensible. Explicitly documented that macros are expanded in user defined commands. Thanks to gcmt. Clean up tests directory on "make clean" in the top of the tree. Avoid interposing system's reallocarray(), when it's present. Thanks to Ben Boeckel (a.k.a. mathstuf). Install only one version of sample config and media script, the one which corresponds to operating system being used. Thanks to Michael Vetter (a.k.a. jubalh) and Ondrej Novy (a.k.a. onovy). Don't force view reload after every :command that resets selection when there was non-empty selection. This might make metadata of files less up-to-date, but should increase overall performance. Thanks to Jose Riha (a.k.a. jose1711). Avoid reloading source file list after copy or move operation when possible. Thanks to Jose Riha (a.k.a. jose1711). Document that user must disable netrw plugin on his own when enabling g:vifm_replace_netrw. Vifm's plugin can't do it, because it's loaded after plugins shipped with Vim. Significantly improved performance of adding files to registers that contain thousands of files. As a result contents of registers is sorted now. Thanks to Typo. Significantly improved performance of adding files to trash that contains thousands of files. As a result contents of trash is sorted now. Thanks to Typo. Documented how selection is handled on launching files (like on l or Enter keys). Don't reset histories of views in inactive tabs on :restart. Invalidate textual quickview cache if it contains fewer lines than window height and is incomplete. Do not require "dhistory" to be present in 'vifminfo' for "savedirs" to work. Abort menu, more or file information modes before processing remote commands. Thanks to kangshugang. Improve navigation on gf key. Do fewer refreshes and disable filters to make target visible. Follow targets of .lnk-files on Windows. Thanks to Alexandre Viau. Display targets of .lnk-files in file information dialog on Windows. Limit length of custom file list title to 80 character positions. Thanks to filterfalse. Make displaying of spaces in mappings more intelligent by using <space> at the start or end of lhs or rhs. Prevent internally selected files (e.g., via a range of a :command) from appearing selected in user interface. Thanks to filterfalse. Make 'title' option work in all terminals which contain "tsl" and "fsl" capabilities. Thanks to m-kru. Use global color scheme for preview on the other pane ignoring its directory-specific color scheme. Improve documentation on "bycontents" of :compare. Thanks to maxigaz. Make comparing files by contents (`:compare bycontents`) somewhat faster. Thanks to maxigaz. Use the same label for :grep and :find custom lists as the one used for :grep and :find menus. Thanks to filterfalse. Use unexpanded command for title of custom file lists produced using %u or %U macros. Thanks to filterfalse. Use unexpanded command for title of a menus produced using %m or %M macros. Update terminal title when in menus. Thanks to filterfalse. Escape some characters as ^X in view and tab titles, custom menu titles, on status line and in terminal title. Thanks to filterfalse. Use name of user-defined command in titles of custom views and menus. Thanks to filterfalse. Preserve more information in the title on turning custom view into tree using :tree. Thanks to filterfalse. Decrease number of UI updates on file operation to prevent cursor flickering. Improve cursor positioning after file operations. More sensible merging of histories from multiple instances in vifminfo file. Improved handling of long or unknown escape sequences in previews. Thanks to bratekarate. Significantly improved speed of sourcing files (includes processing configuration on startup and :restart). Significantly improved speed of handling typical globs (and therefore mime-type matchers) and reduced amount of memory they take up. Thanks to yanzhang0219. Implemented capturing output of background applications on Windows. Thanks to Gene Zharov. Detect being run under Wayland (relevant for :filextype commands). Thanks to mhdzli. Somewhat improved documentation on 'ignorecase' and 'smartcase' options. Thanks to filterfalse. Invalidate cached directory information (size or number of files) on inode change. Thanks to Jose Riha (a.k.a. jose1711). Invalidate cached directory size when using it to compute size of some parent directory. Reduce width of top line when side borders are hidden (`set tuioptions-=s`). Thanks to Svyatoslav Mishyn (a.k.a. juef). Create $VIFM/colors directory with default color scheme only on the first run. Thanks to ranousse. Improve differentiation between association and list forms of :colorscheme command on startup. This is important if list contains name of color scheme that doesn't exist. Try harder to preserve position of the splitter. Avoid its drift on terminal resizes and preserve ratio of windows on startup and tab switches. Thanks to Shakil Akhtar. Improve performance of mime-type detection by caching the results. Deduplicate elements of the :file menu. Use mime-types in associations in sample vifmrc. Thanks to Shakil Akhtar. Fixed symbolic link as FUSE mount point not being removed on systems with FreeBSD kernel. Thanks to Ondrej Novy (a.k.a. onovy). Fixed confirmation dialog not working on systems with unsigned char. Thanks to nandox. Fixed crash on trying to do descending sorting by groups. Thanks to rafasc. Fixed descending sorting by groups not being implemented. Thanks to rafasc. Fixed `:move subdir &` renaming file in the process and doing weird stuff to multiple files. Thanks to 45jqlakjrf87ayte7hy34ter4nguijauzl4eitk. Fixed gf key on relative symbolic links when current path has symbolic links in it. Thanks to emarsk. Fixed gf key on symbolic links that point to broken symbolic links. Fixed incorrect displaying of size of files larger than 4 GiB on Windows. Got broken in 0.8.1. Thanks to Allison McNulty (a.k.a. allora). Fixed positioning of hardware cursor after startup and switching panes. Got broken in 0.10.1. Thanks to Daniel Mueller (a.k.a. d-e-s-o). Fixed test for very long file name hitting dynamic file-system limit on file name length. Thanks to ovk. Fixed UI glitches on top left and right when top line got hidden by status bar or status line on status line taking up all or all but one lines of the screen. Fixed Alt key combinations being broken on Windows since v0.9. Fixed running non-cmd shells on Windows broken by adding 'shellcmdflag' in 0.10.1. Fixed issues with non-tiny 'shellcmdflag' on Windows. Patch by Bas Bossink (a.k.a. basbossink). Fixed adding files with spaces in their names as e-mail attachments in the plugin. Thanks to Stephen Horst (a.k.a. sjhorst). Fixed trash "forgetting" about deleted file when there it already contains a file deleted at the same path. Fixed printing "Terminal is too small message." on startup, when TUI was already initialized and wasn't disabled for printing. Fixed generation of :highlight command for OtherWin on writing $VIFM/colors/Default.vifm. The bug caused white background of inactive pane. Thanks to Stas Malavin. Fixed confusing printing of attributes of OtherLine, OtherWin, AuxWin and User1..User9 highlight groups by :highlight command. Fixed documentation on external background commands. Thanks to Gene Zharov. Fixed possible crash after changing 'history' when there are inactive tabs and then populating history of those tabs. Fixed local options being copied on creating tabs even when target path is different. Fixed DirEnter autocommand not being called on creating tabs. Fixed pane tabs of inactive pane reappearing after changing 'tabscope' to "global" and then back to "pane". Fixed it being possible to activate view mode while in a single pane mode. Thanks to filterfalse. Fixed 'title' messing up the TUI on very long title by limiting its maximum length. Thanks to filterfalse. Fixed command-line commands not being saved in history when command-line mode was entered and left by two different mappings (as opposed to a single mapping in which case this behaviour is expected). Thanks to filterfalse. Fixed detection of non-regular files in quickview, when previewing symbolic links. Thanks to m-kru. Fixed directory-specific color scheme not being applied to newly created tabs. Fixed selection being lost or incorrectly preserved on changes of local filter in custom views. Thanks to filterfalse. Fixed status bar message not being cleared sometimes. Thanks to filterfalse. Fixed graphics preview not being cleared on switching tabs or starting external applications (including on :shell). Fixed number of selected files not being updated after filtering files out using zd normal mode key. Fixed omission in details about keys in documentation on 'runexec' option. Thanks to m-kru. Fixed invalid background in more mode after opening a menu. Thanks to filterfalse. Fixed mapped keys being reinterpreted as builtin keys if RHS of the mapping failed at some point (e.g., contained an unmapped key). Thanks to Seok Won Lee (a.k.a. ijleesw). Fixed issues with the plugin when Vim has no :drop command. Thanks to Normen Hansen (a.k.a. normen). Fixed use of :catch in Vim plugin. Thanks to Normen Hansen (a.k.a. normen). Fixed %a 'statusline' macro on OS X producing wrong values. Thanks to yanzhang0219. Fixed 'z mark being treated as a special pane-specific mark (like '< and '>). Thanks to Marcos Cruz. Fixed '< and '> marks being shared by views in different tabs. Fixed exploring files on pseudo file systems which reported "Nothing to explore" despite quickview showed file contents fine. Fixed local filter not obeying updated values of 'ignorecase' and 'smartcase' options when 'incsearch' is off. Thanks to filterfalse. Fixed dialogs not being visible when UI updates are silenced via <silent> mappings. Fixed Default color scheme not being available on processing sample vifmrc on first run of the application. Fixed `:highlight {new-pattern}` not being immediately applied due to caching. Fixed detecting presence of :file[x]type commands on Windows when backslashes are present in path. Thanks to anonymous and n.e. at Vifm Q2A site. Fixed running tests on OS X, which were broken due to `/home/` being a symbolic link. Thanks to Jason Dreisbach (a.k.a. jtdreisb). Fixed opening non-top-level ".." in a :tree incorrectly behaving as `:cd ..`. Fixed user mappings not being resolved for suggestions. Thanks to TornaxO7. Fixed selectors not being suggested if there are matches among commands. Thanks to iSeeU816. Fixed commented line following `fileviewer *.ext` not being highlighted appropriately. Fixed panic on some redraw operations mixing with file operations during terminal resizing. Thanks to aca. Fixed highlighting of `fileviewer .*/,*/` as if it contains a pattern. Fixed highlighting of status line being shifted due to unmatched `%[`. Fixed weird tabline layout on very large number of tabs. Fixed highlighting of regex patterns. They could consume too much and would stop at `\/`. Fixed highlighting of multiline matchers for :filetype, :filextype and :fileviewer commands. Fixed only one level of symbolic links being resolved for mime-type detection. Fixed :wincmd being affected by mappings (e.g., of Ctrl-W key). Thanks to Philipp at Vifm Q2A site. Fixed columns in a :file menu being misaligned for mix of entries with and without description. Fixed creating symbolic links on Windows with 'syscalls' being turned on. Fixed creating symbolic links on Windows with spaces in source or target paths. Fixed 'chaselinks' on Windows (symbolic links weren't resolved). Fixed highlighting of comments after some commands. Fixed %p macro of 'findprg' missing from Vim version of the documentation. 0.10.1-beta to 0.10.1 (2019-07-29) Added "space" and "nospace" values to 'sizefmt' option. Patch by zsugabubus. Added autodetection of *.vifm files as files with "vifm" filetype to the plugin. Patch by Anton Kochkov (a.k.a. XVilka). Made udisks2 part of vifm-media script compatible with python3. Patch by zsugabubus. Assume that any $TERM value that starts with "xterm-", "rxvt-" or "screen-" supports terminal title. Thanks to Matthias Braun (a.k.a. mb720). Documented $TERM values for which 'title' option works. Thanks to Matthias Braun (a.k.a. mb720). Fixed assertion failure on resetting 'classify' option when 'millerview' is on (reproducing it is harder than that, but that's the idea). Patch by zsugabubus. Fixed info= not having higher priority than label= in 'mediaprg'. Fixed item not being redrawn on the screen after pressing t key to toggle its selection. Fixed missing screen update after some startup commands. Thanks to zsugabubus. 0.10 to 0.10.1-beta (2019-07-15) Added example of using xsel to sample vifmrc file. Thanks to chelovechishko. 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 :cds command that navigates to path obtained by substitution in the current path. Thanks to j-xella. 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). Added :hideui command that hides interface to show previous commands' output. Thanks to dikiy. 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 caching to quickview for a single file to avoid fileviewer being called more often than needed. Thanks to agguser. Added "rpreview:" key to 'milleroptions' option that allows enabling preview of files. Thanks to Svadkos and Tom Jansen. Added ^= operation for string list options. Thanks to SearyBlue. Added ^= operation for options of set kind. Added %pd macro that makes preview output directly affect terminal circumventing curses, which could be used to display sixel images. Thanks to Tom Jansen. Added :Vifm command to the plugin as an alias for :EditVifm. Patch by rbong. Added optional splitting of the embedded terminal in the plugin (g:vifm_embed_split). Has support for Vim's <mods> and <count>. Patch by rbong. Added option to the plugin to synchronize working directory of the embedded instance of vifm with the Vim host (g:vifm_embed_cwd). Patch by rbong. Added ability to the plugin to replace netrw with vifm (g:vifm_replace_netrw and g:vifm_replace_netrw_cmd). Patch by rbong. Added OtherWin highlight group for highlighting inactive pane. Thanks to John Fred Fadrigalan (a.k.a. cevhyruz). Added indication of entry's availability to :file, :file[x]type and :fileviewer menus. 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 with something like avfs. Thanks to Jose Riha (a.k.a. jose1711). Added "info=" field to parser of 'mediaprg' output. It provides custom message for the media. Patch by zsugabubus. Added [ and ] bindings to :media menu that provide navigation between devices. Patch by zsugabubus. Added decorations to :media menu. Patch by zsugabubus. 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). 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 vifm-media-osx script that is configured to be used (via 'mediaprg') on OS X. Patch by Von Welch. Resolve symbolic links for mime-type matchers. Thanks to Vigi. Try to preserve symbolic links in current path when starting vifm by checking value of $PWD. Thanks to Vigi. Better documentation for TabLine and TabLineSel highlighting groups. Thanks to mwgkgk. Always preserve tabs on :restart. Thanks to mwgkgk. Clearer documentation/description for :*unmap commands and 'vicmd'/'vixcmd' options. Thanks to chelovechishko. Preserve extended attributes on copying files. Thanks to hutou. Improved <silent> to do not forcefully update screen after the mapping if no screen updates were skipped. Try to avoid superfluous screen updates related to cursor position. Improve documentation of patterns and globs. Thanks to afsheenb. Don't throw away errors that were ignored by the user, display them at the end of operation. Complete user name in paths after initial tilde (e.g., `:cd ~r<tab>` => `:cd ~root`). 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. Drop leading space implicitly added to time columns in views. Thanks to laggardkernel. Try to determine widths of printed character more accurately. 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. Refuse to compare directory against itself via :compare command. Thanks to Jose Riha (a.k.a. jose1711) Generate faster regular expressions by vifm-convert-dircolors. Thanks to Gomme Bidule. Remember when file doesn't match any file-specific highlighting groups for better performance. Thanks to Gomme Bidule. Renamed filename filter to "permanent filter" consisting of "explicit" (ex-manual) and "implicit" (ex-automatic) parts. Thanks to Sitaram Chamarty. Improved documentation on filters. Thanks to Sitaram Chamarty. Do not add leading comma to string list options on `set opt+=item`. Clear preview before displaying suggestions. Thanks to ks1c. Do not check for view changes while suggestions are visible. It can mess up TUI, especially in combination with preview. Thanks to ks1c. Do not complain about empty output of a graphics previewer for view mode. 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. Enable 'vimhelp' in sample vifmrc file by default. Changed file rename prompt to indicate whether full name or only its root is being changed. Removed empty line from :file and similar menus for case when vifm was configured with --disable-desktop-files flag (second time). Document more details about expansion of FUSE macros. Properly remove FUSE mount points if they are symbolic links. Don't create trash directory on startup if 'trash' is off. Patch by zsugabubus. Don't error on trash creation failure due to read-only file system. Patch by zsugabubus. 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. 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. Make documentation of 'findprg' more readable. Fixed `:tabnew ..` not working due to use of uninitialized data. Fixed access to uninitialized memory on clearing view after graphical preview. Fixed possible crashes after certain patterns of using view mode and closing tabs. Fixed some resources (like output pipe for --choose-files and --choose-dir) being inherited by child processes. Thanks to Vigi. Fixed CWD of the process not always matching current view right after startup. Patch by Daniel Mueller. Fixed global substitution with patterns beginning with a caret again. Fixed cursors not being synchronized in compare view when scrolling one of them with Ctrl-U or Ctrl-D. Fixed command-line completion with non-latin characters. Thanks to dikiy. Fixed crashes when starting vifm with an empty environment (no environment variables set). Fixed directory-specific color scheme being turn into primary color scheme on copying from pane with directory-specific cs. Fixed directory-specific color scheme being lost on switching location of views. Fixed incorrect cursor positioning on reloading view with directory-specific color scheme. Fixed :siblnext/:siblprev not updating quickview. Fixed file move confirmation being shown twice in some cases. 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 completion of :tabnew listing files instead of only directories. Fixed postponed view redrawing or reloading being skipped sometimes on multiple simultaneous requests. Fixed DirEnter autocommand not being called on entering a custom view even with 'cvoptions' containing "autocmds". Fixed textual output of graphical previewers not being displayed in view mode. Thanks to agguser. Fixed graphics leftovers after leaving explore mode. 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). Fixed issues (could lead to crash) on resizing on Windows. Thanks to Tim Schaeffer (a.k.a. Numeromancer). Fixed wrapped lines in quickview/view mode sometimes losing their colorization. Fixed occasional test failures due to use of uninitialized curses. Thanks to Diogo Lemos (a.k.a. dmlemos). 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 building incorrect relative paths on symlinking, when path being operated on contain symlinks. Resolve to real paths before computing relative path. Thanks to zsugabubus. Fixed highlighting of the first file entry being used to fill empty part of miller columns. Thanks to Konst Mayer (a.k.a. cdlscpmv). Fixed reading file list from standard input (`dir /b /s | vifm -`) on Windows 10. Thanks to dancread. Fixed crash on startup on trying to show a menu in vifmrc (didn't show up in most setups). Thanks to Christian Fillion (a.k.a. cfillion). Fixed documentation incorrectly stating that background operations can't be cancelled. Thanks to Jose Riha (a.k.a. jose1711). 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 assertion failure on removing items from file-specific highlighting with some tabs that use it being hidden. Fixed :finish inside :if statements causing a warning on sourcing files. Fixed last character of borders in vertical layout not being drawn when global tab line is visible. Fixed retrying file overwrite on :copy! not overwriting a file after reason why it can't be deleted is gone. Fixed outdated comment about 'vimhelp' in sample vifmrc file. Thanks to Tiago. Fixed status bar clearing messages when inside directories with directory-specific color scheme. Fixed reading data past initialized region on printing control message of dialogs. Patch by zsugabubus. Fixed syntax highlighting of angle-bracket notation inside right-hand side of mappings that contain some :commands (they were highlighted, but for fewer number of commands). Fixed missing syntax highlighting of :let command in right-hand side of mappings. 0.10-beta to 0.10 (2018-11-11) Display list of files in removal confirmation dialog. Thanks to ovk. Support embedded terminal in the plugin for newer Vim. Return "broken" from filetype({fnum}, 1) for inaccessible link target. Thanks to filterfalse. Avoid unnecessary reloading file list after pressing "=" to enter local filter. Fixed crash on pasting elements of paths that contain broken UTF-8 sequences into command-line using Ctrl-X + key. Thanks to Jose Riha (a.k.a. jose1711). Fixed extra unlisted buffer beeing kept around in neovim on :*Vifm commands. Thanks to randomizedthinking. Fixed invalid treatment of numerical arguments of filetype(). Thanks to filterfalse. Fixed crash on previewing contents of directory without execute right in miller view. Thanks to filterfalse. Fixed status line highlighting being broken by wide characters. 0.9.1 to 0.10-beta (2018-10-28) 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 TabLine highlight group for highlighting tab line. Added 'tabscope' option that controls style of tabs. Thanks to Cosmin Popescu (a.k.a. cosminadrianpopescu). Added :tabnew command that creates a new tab. Thanks to Cosmin Popescu (a.k.a. cosminadrianpopescu). Added :tabname command that updates name of the current tab. Added :tabc[lose] command that closes current tab unless it's the last one. Added :qa[ll], :wqa[ll] and :xa[ll] commands that always try to exit vifm no matter how many tabs are open. Added gt and gT normal mode shortcuts that switch between tabs in both directions. Added 'showtabline' option that controls visibility of tab line. Added TabLineSel highlight group for highlighting tip of the selected tab on the tab line. Added :goto command that navigates to specified file/directory. Thanks to mateusz28 and Dmitry Frank (a.k.a. dimonomid). Added addition and subtraction operations to the parser. Added tabpagenr() function that retrieves number of current or last tab page. Thanks to filterfalse. Added :tabm[ove] command that moves tabs. Thanks to filterfalse. 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. 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 fnameescape() builtin function, which can be used to escape paths on construction of :commands. Thanks to filterfalse. Added 'syncregs' option which defines group of instances that share registers. Patch by Ma_Sys.ma. Added <insert> angle bracket notation. Thanks to j-xella. Added r key to :undolist menu, which resets position in the undo list to group under the cursor. Thanks to mini-turtle. Added grouping via parentheses to expressions. Thanks to Konst Mayer (a.k.a. cdlscpmv). 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. 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 <c-@> angle bracket notation making it possible to map Ctrl-Space key. Thanks to anonymous at Vifm Q2A site. Added second optional parameter to filetype() builtin function that is treated as a boolean and specifies whether symbolic links should be resolved. 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). Added :regular command that leaves custom view. Thanks to gammaray. 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 '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 :tabn[ext] and :tabp[revious] commands, which work as gt and gT normal mode shortcuts correspondingly. Thanks to Cosmin Popescu (a.k.a. cosminadrianpopescu). :quit, :wq, :exit, :xit, ZZ and ZQ now try to close current tab before closing the application. More explicit documentation about leaving custom views. Thanks to tagwint. 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. Sort entries of :bmarks menu. Thanks to anonymous at Vifm Q2A site. Drop unfinished if-else statements on leaving command-line mode. Thanks to Marcin Kurczewski (a.k.a. rr-). 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. 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. 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. Escape "=" at the beginning of paths (has special meaning in zsh). Thanks to agguser. More accurate error message on handling non directories passed to :cd. Slightly better formatting in :undolist menu. Report missing closing quote for ""-strings in expressions. Make :echo and :execute report parsing errors in more detail than just "invalid expression". Update status line when cursor is moved on typing local filter when 'incsearch' is on. Empty input stream before asking user for return on :!! or when :!command ends with an error. Correct terminal state before asking user to press return after execution of an external command. Thanks to Jose Riha (a.k.a. jose1711). Do not reset selection before executing a :command from :commands menu. Thanks to Jose Riha (a.k.a. jose1711). Allow passing numerical positions to filetype() function. Try to preserve file owner/group on copying. Thanks to willemw12. Disallow registering user-defined commands with "!" or "?" suffix that won't be called, due to existence of a builtin that accepts custom separators (they have higher priority than user-defined commands). 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). 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. Fixed preview command not being run with correct working directory on startup (e.g., when preview was on in vifminfo). Fixed completion for commands that follow "|" when they are preceded by commands with complicated syntax like :substitute. Fixed "|" not preceded with space being ignored as command separator for some commands. Fixed memory leak on `:highlight clear {file-specific-group}`. Fixed file-specific highlighting being added even when :highlight command contains syntax error. Fixed highlight group being partially updated by :highlight command with incorrect syntax. Fixed parsing of :highlight command when tabulation is used to separate arguments. Thanks to Robert Pergl (a.k.a. perglr). Fixed number of elements in a directory ("nitems") not being updated. Thanks to filterfalse. Fixed local filter not being applied to the view after q=. Thanks to filterfalse. Fixed hang of a remote instance after receiving at least two consecutive packages that cause an error message to be displayed. Thanks to filterfalse. Fixed absence of error on doing `--remote` to a server that doesn't exist. Fixed flickering on Windows. Thanks to Alexandre Viau and randomizedthinking. Fixed other view sometimes not being updated on scrolling via Ctrl-F/B keys in cases like compare view or when quickview is on. Thanks to Alexandre Viau. Fixed other view not being updated in visual mode in cases like compare view or when quickview is on. Fixed search highlight in menu not being reset after clearing the pattern. Fixed doubling of "%" on expanding environment variables in arguments of :commands. Thanks to filterfalse. Fixed canonicalization of paths that include entries that end with multiple dots. `/dir../..` was not turned into `/` since 0.8.2. Thanks to aleksejrs. Fixed part of dialog messages being still visible in quickview after dialog was closed. Thanks to Alexandre Viau. Fixed ruler not being displayed when cursor is on a fake entry in :compare view. Fixed crash due to linking to wrong version of libtinfo. Thanks to Ruslan Osmanov (a.k.a. rosmanov) and Chema Alonso Josa (a.k.a. nimiux). Fixed stdin stream not being closed for commands run for obtaining their output since previous release (e.g. `!read i%q` would wait for input). Also close it the same way on Windows too. 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. Fixed cursor marker in inactive window not being highlighted according to CmpMismatch highlight group in :compare mode. Fixed missing quote in an expression error message not displaying the broken string. Fixed syntax highlighting of strings in double quotes and comments in :let statements. Fixed status line showing information about previously selected file after clearing search pattern when 'incsearch' is on. Fixed status bar mode message not being changed from "-- VISUAL --" to "-- VISUAL (append) --" on pressing av in visual mode. Thanks to Paweł Smolak (a.k.a. psmolak). Fixed memory corruption on clearing user defined :commands from a user defined command. Thanks to Jose Riha (a.k.a. jose1711). Fixed selection issues in some terminals when in command-line mode. Thanks to Jose Riha (a.k.a. jose1711). Fixed slowed down directory traversal due to listing contents of directories internally. Thanks to Coco 17dec. Fixed assertion failure on parsing lists of expressions with broken syntax. Thanks to Jose Riha (a.k.a. jose1711). Fixed parsing state not being properly reinitialized, which could cause unstable parsing outcome for lists of expressions. Thanks to Jose Riha (a.k.a. jose1711). Fixed error messages from put operation being postponed until the next put operation. Got broken in 0.9. Fixed memory leak on d/D normal mode keys if deletion wasn't confirmed. Fixed confirmation not being requested on :delete. Thanks to anonymous at Vifm Q2A site. Fixed 'relativenumber' being effectively ignored in inactive pane on UI redraw from active pane. Thanks to filterfalse. Fixed bar (`|`) being treated as command separator in /pattern/ passed to :[un]select. Thanks to filterfalse. Fixed abbreviations of :commands with `!` or `?` as custom separator (e.g. `:s!a!b!`) being resolved incorrectly. Fixed bar (`|`) being treated as command separator in /pattern/ passed to :commands using custom separators (e.g., in `:s!//|//!`). Fixed bar (`|`) not being treated as command separator in commands which can take /pattern/ arguments. Fixed crash on feeding multi-byte string to :commands that fail to convert it to wide representation. Thanks to Jose Riha (a.k.a. jose1711). Fixed non-empty read-only directories not being deleted by :empty command. 0.9.1-beta to 0.9.1 (2018-02-05) Fixed :clone and :copy refusing to copy broken symbolic links, even though C and p keys copy them. Fixed C key not checking readability of a single unselected file, like :clone does. Fixed possible crash on `:highlight clear {pattern}` and highlights not being updated. Fixed reported free space on *nix. (make it consistent with what 'df' reports). Patch by Dmitry Frank (a.k.a. dimonomid). 0.9 to 0.9.1-beta (2018-01-22) Added "inode" sorting key, which sorts entries by inode number. Thanks to eco0414. Added retry/ignore/abort prompt for file copying and directory/file/symlink creation when 'syscalls' is on. Thanks to einhander. Added AuxWin highlight group for highlighting auxiliary parts of windows. Added 'millerview' option that enables cascading columns interface for the view. Thanks to sudo-nice. Added 'milleroptions' option that configures miller view. Added [r/]r/[R/]R normal mode shortcuts that map to :siblprev and :siblnext with and without wrapping correspondingly. Thanks to filterfalse. Added 'lsoptions' option that allows to get transposed grid in ls-like view. Thanks to Dmitry Frank (a.k.a. dimonomid). Added ability to remove filename-specific highlighting rules with `:highlight clear {pattern}`. Thanks to aleksejrs. Added completion of filename-specific highlight groups for :highlight command. 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 'previewprg' option, which can be used to override :fileviewer commands either temporarily or permanently. Thanks to svenn71. Added v:count and v:count1 builtin variables. They are assigned to count passed to : command. Added %x macro to 'rulerformat' (and thus to 'statusline') as new name for %-, which conflicts with alignment specification and requires explicit width specifier (%0-). Thanks to Marcos Cruz. Added :histnext/:histprev commands, which are analogous to Ctrl-I/Ctrl-O. Patch by Dmitry Frank (a.k.a. dimonomid). 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. Added `--remote-expr` command-line option, which gives ability to query state of an instance. Thanks to Marcin Kurczewski (a.k.a. rr-). Changed :filter command to accept pattern (//, ////, {} or {{}}). Thanks to rbong. Improved parsing of optional numbers in vifminfo. Thanks to Aris Fergadis (a.k.a. afergadis). Indicate preview created with %q with "Command: cmd". 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. Made :siblnext and :siblprev commands respect dot and name filters. Disabled spell checking of vifm files in Vim except for comments. H/M/L keys in ls-like view now account for columns. Made :siblnext and :siblprev accept [count] range. Thanks to filterfalse. Made :tree pick up list of files from custom view. Thanks to filterfalse. Do not go to start of line on Ctrl-U/Ctrl-D/Ctrl-F/Ctrl-B/G in ls-like view. Documented more details about 'vicmd' and 'vixcmd' options. Thanks to Sebastian Cyprych. Made :highlight update file-specific group on exact match of the pattern instead of appending new rule. Thanks to aleksejrs. Extend width of the cursor in ls-like view to the width of the cell. Thanks to Dmitry Frank (a.k.a. dimonomid). Don't trigger DirEnter event with previous directory on startup when list of files is specified on stdin. Thanks to filterfalse. 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. Duplicate status bar error in dialog that reports sourcing error. Will need to get rid of errors on status bar later. 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. Remove empty directories which are specified in 'trashdir' with %r and/or %u automatically on :empty. Thanks to Marcin Kurczewski (a.k.a. rr-). Fixed positioning cursor in directory :history when inside custom view. Thanks to filterfalse. Fixed compilation of modes/view.c when build is configured with `--disable-extended-keys`. Thanks to Bearcat M. Şándor (a.k.a. bearcatsandor). Fixed crashes discovered via fuzzing, most of which require rather unusual kind of input. Fixed running commands with arguments on Windows when 'shell' isn't cmd.exe. Fixed ".." not being preserved in path loaded into custom view. Thanks to filterfalse. Fixed directory size in status line. Patch by Dmitry Frank (a.k.a. dimonomid). Fixed extra width of inactive cursor in ls-like view when 'classify' contains Unicode characters. Fixed stopping of put operation after copying symbolic link that's broken on destination. Thanks to filterfalse. Fixed formatting of root directory in custom view, it displayed too many slashes. Thanks to filterfalse. Fixed not recording last visited directory on leaving custom view. Thanks to filterfalse. Fixed displaying of wild menu popup when status bar is more than single line in height. Fixed weird view scrolling after zO (hard to notice) and Ctrl-A/X. Fixed assertion failure on renaming files with Ctrl-A/Ctrl-X when cursor is positioned on certain file from the range. Fixed a "race" with file system when we could load outdated file list and thus miss some file system updates. Fixed hardware cursor blinking in view for interactive queries. Fixed handling Tab and Shift-Tab on search prompt as if they are command prompts. Fixed horrible flickering of multiline status bar for interactive queries. Fixed :normal command resetting selection. Thanks to filterfalse. Fixed consuming 100% of CPU on certain pattern of running background processes. Thanks to petRUShka. Fixed losing error message from a short-lived background processes when long-lived one is present. Fixed centering title of attributes change dialog (cp normal mode command) for non-ascii file names. 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 CWD of the process not matching current view after vifm picked up change in file system. Patch by Daniel Mueller (a.k.a. d-e-s-o). Fixed cloning of files like `.name` to produce `.name(1)` instead of `(1).name`. Thanks to filterfalse. 0.9-beta to 0.9 (2017-06-18) Escape $ and ` in %" macros on *nix systems. 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. Do not add extra slash to path on picking files in the root. Thanks to filterfalse. Properly escape newline when passing things into shell. Thanks to filterfalse. View current directory on ".." for quickview/view mode only if no viewer matches such entry. Expand macros in :[un]select !{command}. Thanks to Michael Corvin. Update the other view after file deletion (that file might be visible there too). Execute startup commands in directory of current pane. Fixed ruler being updated when it shouldn't even be visible. Thanks to filterfalse. Fixed incorrect existence check for files that end with forward slash on *nix. Thanks to filterfalse. Fixed treating `--select -` as `-` on command-line. Thanks to filterfalse. Fixed ignoring `-` when `--no-configs` is specified. Thanks to filterfalse. Fixed choosing files in custom views with --on-choose. Fixed redrawing view after loading custom list in case when cursor is positioned on ".." entry. Thanks to filterfalse. Fixed restoring of excluded items from custom view if local filter isn't empty. Thanks to filterfalse. Fixed incorrect cursor positioning on removing elements from custom view with local filter. 0.8.2 to 0.9-beta (2017-06-04) Removed -Werror in tests from non-developer builds. Added tree view. Thanks to filterfalse and Kornel. Added :tree command that converts current view into a tree. 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 CmpMismatch highlight group for highlighting mismatched files on side-by-side comparison. Added %Iu and %IU macros, which are %u and %U equivalents, but work better if external command is interactive and changes terminal state. 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-). 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 'dotfiles' (local) option, which exposes dot files filter as an option. Thanks to filterfalse. Added %q macro that redirects command output into quick view. Thanks to svenn71. Added shell completion for bash and zsh. Patches by filterfalse. 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 :copen command to restore last menu that supports navigation. Thanks to Sassan Haradji (a.k.a. sassanh). Added % key to menu mode, which navigates to [count]-th percent of the list. Added 'caseoptions' option that enables more fine-grained control over case sensitivity. Thanks to Alexandru Geana (a.k.a. alegen). 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 :screen! form that enables terminal multiplexers support (instead of toggling it as :screen does). Thanks to Marcos Cruz. Added do and dp keys to compare views for applying changes in files. Thanks to filterfalse. Added %f 'statusline' macro that inserts relative path of the entry, which might be useful for non-regular views. Thanks to filterfalse. Added meaning to [count] of cp shortcut, which is now processed as numerical argument for non-recursive `chmod` command. Thanks to sudo-nice. Added 'sizefmt' option that configures formatting of human-friendly size. Thanks to sudo-nice. 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. 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. Changed size formatting to round from zero (matches behaviour of e.g. `ls`). Enable restoring files from trash from custom views. View current directory on ".." for quickview/view mode. Thanks to filterfalse. Make :put, :touch and :mkdir accept [line] range, which can be used to specify target position in tree-view. Thanks to filterfalse. Enable cancellation of tree preview construction. Thanks to filterfalse. Partially return progress report for menus. Was disabled by introduction of null byte heuristic. Accept paths in :touch, not just file names. Thanks to filterfalse. Consider trailing slash for directories or symbolic links that point to directories in 'classify' patterns by file name (e.g., this works now: `[::*/::]`). Do not resolve symbolic links in directory preview. Thanks to filterfalse. getpanetype() got new value ("tree") to indicate tree-view. Thanks to filterfalse. Disallow applying :chmod on ".." entry. Disallow moving/copying/linking files into custom view (put is forbidden, so makes sense to forbid these too). Disallow selecting ".." entry with :select command. Display path to the conflicting file in conflict resolution dialog. Provide better messages on i/o errors with 'syscalls'. Thanks to Behrooz. Remove background commands from the :jobs list when corresponding processes get terminated by a signal. Use <exe file location>/data/colors as global storage of color schemes on Windows. Thanks to r44083. Don't disable preview on `--remote --select` if it doesn't hide updated pane. Thanks to Marcin Kurczewski (a.k.a. rr-). Handle terminal resize on Windows 10. Thanks to randomizedthinking. Escape first tilde in paths that go to the shell. Thanks to Marius Schmidl. 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. Read error output of background commands independently of main thread (prevents blocking of tools which produce huge amount of output). Thanks to Stas Malavin. Limited maximum height of message popup, just print how many lines we're skipping. 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. 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-). Resolve symbolic link for listing associated programs from desktop-files. Thanks to filterfalse. Don't move cursor off "../" before start of local filtering. Thanks to filterfalse. Put hardware cursor according to current mode and cursor within it. Thanks to Tyler Spivey. Made search consider trailing slash for directories and symbolic links that point to directories. Thanks to filterfalse. Made IPC unit more fault-tolerant regarding inability to create files. Thanks to filterfalse. Make temporary rename files accessible only by the user. Thanks to aleksejrs. Better handling of setting 'fillchars' to incorrect or excessive value. Prevent clearing filters on zM if there were no zO preceding it. Thanks to sudo-nice. Work around :drop command being disabled in the plugin. Thanks to Phil Runninger. 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-). Improved sorting performance in the presence of huge amount of symbolic links. Thanks to Marcin Kurczewski (a.k.a. rr-). Properly recover from invalid/strange UNC root on Windows. Don't end up with empty filelist. Fixed redirecting stdout of background commands to /dev/null, which could be unwritable descriptor. Thanks to c02y. Fixed inconsistent file name demangling on moving files from trash in custom view. Fixed decreasing number of selected files after zd operation. Fixed wrong whole value completion of string list options if entered value contains a comma (,). Fixed displaying of previous status bar message on 'hlsearch' 'noincsearch' when match occurs. Thanks to filterfalse. Fixed incorrect completion of non-first option name of the :set command. Fixed assertion failure on file rename of specific pattern (renaming files 1, 2 via `:rename 2 3` is the shortest example). Thanks to aleksejrs. Fixed rejecting to clone files in custom view, when name is specified explicitly (form without arguments was properly disabled before). Fixed changing attributes of files in custom views on Windows. Fixed counting selected files after `:invert s` if there is ".." entry. Fixed :pushd and :dirs in custom views. Fixed ruler update on `--remote --select`. Thanks to Marcin Kurczewski (a.k.a. rr-). Fixed small leak after aborting on name conflict. 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 concatenation of error lists without separator (newline). Thanks to Behrooz. Fixed possible memory leak on querying file mime-type (when it wasn't obtained). Fixed buffer overflow on obtaining file mime-type. Thanks to Abdó Roig-Maranges (a.k.a. aroig). Fixed previewing symbolic links, which not always were resolved to their target (even reachable one). Thanks to Abdó Roig-Maranges (a.k.a. aroig). Fixed bogus "fuse mount was cancelled" message on %FOREGROUND mount failing. Fixed determining location of distributed files on Windows (help file and sample vifmrc weren't installed). Thanks to r44083. Fixed drawing file list in single-pane layout when 'scrollbind' set (parts of the other view were visible when 'relativenumber' is set). Thanks to filterfalse. Fixed resetting custom view title to "(null)" when loading another custom view in the same pane failed. Fixed restoring custom list on removing or changing local filter when 'incsearch' is off. Fixed losing original custom list of files after failed load of new custom list if local filter isn't empty. Fixed some blinking on redrawing screen when middle border isn't visible. Fixed cloning of broken links. Fixed assertion renaming of file into name of broken link. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed F, f, ; and , keys in visual mode. Fixed detection of too-small-terminal state. Fixed memory leak of forgotten history entries after going back in history. Fixed updating progress when performing operations on empty files. Fixed selection of current file on cancelled go or gp. Thanks to filterfalse. Fixed treating characters like š and ć (with low Unicode values, just above 0x100) as functional keys on input. Thanks to granderil. Fixed recursive permanent removal of directories on Windows when 'syscalls' isn't set, which could fail for no reason. Fixed inconsistency of using environment variables from different sources (internal state versus runtime). Thanks to Jochen Schweizer (a.k.a. durcheinandr). Fixed n/N not restarting search in custom views. Fixed full path patterns ({{globs}} and //regexp//) not working with file highlighting in :highlight. Thanks to granderil. Fixed view columns when column with dynamic alignment is not the first one. Fixed :pwd in custom views to make it display main directory (didn't display anything). Thanks to filterfalse. Fixed :noremap, which didn't accept ! and didn't reject less than two arguments. Fixed backslash in arguments for :*[un]map commands (required \ to be written as \\). Thanks to filterfalse. Fixed use of uninitialized memory on parsing commands that end with backslash. Fixed 'wordchars' parsing to process range end as inclusive. Thanks to filterfalse. Fixed 'wordchars' parsing to handle non-ascii input without memory violation. Fixed incorrect 'sort' state after :restart. Thanks to sudo-nice. Fixed possible skewing of relative files positions in history by :restart. Fixed off-by-one error on reducing history size, which could led to loosing last directory history element. Fixed parsing of 'classify' when it includes an entry with empty prefix. Thanks to filterfalse. Fixed navigation from menus on Windows. Fixed tilde expansion and expansion of environment variables when checking command existence. Thanks to sudo-nice. Fixed displaying separator in `:*map prefix` menus. Thanks to nicodebo. Fixed truncation of file names of length NAME_MAX in some cases. Thanks to aleksejrs. Fixed crash due to assertion on answering y/n/Enter/Ctrl-C in prompt dialog that doesn't provide such options. Thanks to aleksejrs. Fixed inconsistent behaviour of :EditVifm in plugin with regard to "[No Name]" buffer. Thanks to Phil Runninger. Fixed operations which involve changing current working directory on Windows when path includes non-latin characters. Thanks to khaoos-abominable. Fixed processing of non-latin characters provided in command-line options on Windows. Fixed processing of environment variables containing non-latin characters on Windows. Fixed printing ^L character for --choose-dir on Windows. Thanks to Phil Runninger. Fixed updating CWD on switching views. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed plugin in versions of Vim where :argadd without argument doesn't work. Thanks to eco0414. 0.8.2-beta to 0.8.2 (2016-07-16) Added support for matchit to filetype plugin. Patch by filterfalse. Fixed processing of root directory (completion, :cd). Thanks to filterfalse. Fixed completion of commands after :!. Thanks to filterfalse. Fixed formatting/wording/outdated notes in documentation. Patches by filterfalse. 0.8.1a to 0.8.2-beta (2016-07-02) Added highlighting of search matches in menus. Added :noh[lsearch] command to menu mode. Added quick shortcuts to dialogs. Patch by oo-. 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 description of builtin keys to :map menus. Added SuggestBox highlight group for key suggestion box. Added :write command to menus, that writes all menu lines into specified file. Thanks to gtors. Added support of patterns to 'classify' option, so that files can now be decorated based on their names. Thanks to elricbk. Added "filelist" parameter to :sync! that enables synchronization of custom view. Thanks to filterfalse. 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 negation to patterns with explicitly specified type (surrounded by {} or //). Put exclamation mark to invert pattern match. Thanks to Marcos Cruz. Added :select and :unselect commands. Thanks to filterfalse, Russell Urquhart and Marcos Cruz. Added chooseopt() builtin function that retrieves various parameters of file choosing. Thanks to Von Welch. Added mime type patterns ([!]<list-of-globs>). Thanks to Ross Hadden (a.k.a. rosshadden). Added %z 'statusline' macro that inserts text of a short tip picked at random. Thanks to qinghao (a.k.a. haobug). 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. 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. Added cancellation (handling of Ctrl-C) for quick view and view mode loading. Thanks to kalterfive. Added completion of :wincmd argument. Added indication of wrong pattern and absence of matches to command-prompt for interactive search/filtering. Changed order of initialization to perform autocommands before startup commands on launch. Changed type of 'confirm' option. Now it's a set that picks which operations should be confirmed. Thanks to Losiara and mvucBmM0. Changed ga/gA effect on ".." entry to calculate size of current directory. Thanks to aleksejrs. Do not reset completion on terminal resize. Expand environment variables for :edit. Thanks to filterfalse. Don't print just table header on `:cabbr something`, print message that no matches found instead. Display <c-h> as <bs> only at the beginning of key sequence. Better terminal buffer title for plugin in neovim. Thanks to randomizedthinking. Enabled wildmenu for menus. Skip UTF-8 BOM for file preview. Allow suffixes and prefixes in 'classify' to be of up to eight characters in length. Thanks to elricbk. Use original (before custom view) cursor position on :sync! in custom views. Thanks to filterfalse. Never add parent entry (..) to very custom view (%U). Thanks to filterfalse. Removed caret escaping on Windows... Thanks to Reva Revadigar. Silently ignore tries to remove parent entry (..). Thanks to aleksejrs. A bit better delete confirmation messages with number of files to be deleted. Improved syntax highlighting of patterns. Automatically update custom view entries on rename of their parent directory in the same custom view. Some corrections of when completion happens for :find and :grep. 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). Fixed kind of a duplicate of first history element on =. Fixed displaying size for symbolic links to directories on changing views and determining whether they point to a directory in custom views. Fixed backward search in menus, which was performed in the opposite direction. Fixed hanging on sudden terminal loss. Thanks to aleksejrs. Fixed crash on using extremely long function name. Fixed overwriting files after editing destination file name. Thanks to rbong. Fixed querying file information on 64-bit Windows. Thanks to santhoshr. Fixed crash on very long option value on :set. Thanks to aleksejrs. Fixed displaying non-latin characters in LHS of mapping in map menus. Thanks to filterfalse. Fixed updating view columns after local options synchronization via :sync!. Thanks to filterfalse. Fixed possible crash on Windows on displaying job bar (e.g. after :empty). Thanks to Reva Revadigar. Fixed escaping on Windows when opening files via :edit. Fixed UTF8 <-> UTF16 conversion on Windows, which didn't always work (on surrogate characters it seems). Thanks to Reva Revadigar. Fixed possible unexpectedly long timeouts when waiting for a key on Windows (due to limitation of pdcurses). Fixed displaying of wide (CJK) characters in pdcurses on Windows. Thanks to Reva Revadigar. Fixed functioning on architectures on which `char` is unsigned by default. Thanks to Ondrej Novy (a.k.a. onovy). Fixed unconditional resetting of executable permission when using cp dialog. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed updating view columns on leaving very custom view (%U) which set sort option. Thanks to filterfalse. Fixed remote feature on cygwin. Thanks to Cosmin Popescu (a.k.a. cosminadrianpopescu). Fixed search match highlighting of non-ascii characters in right aligned file names. Fixed capturing output of external applications on Windows 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). Fixed completion of command-line of this format: `:!~/...`. 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. Fixed possible issues with escaping on retrieving file type/mime-type using `file` utility. Thanks to filterfalse. Fixed cutting off path prefix from :!~/path/exec when 'fastrun' is on. Fixed putting unmatched %[ into status line at wrong position. Fixed incorrect work with symbolic links in paths to custom view entries, on completion of paths, changing directory via :cd or :sync, processing arguments of :mkdir, :bmarks, :delbmarks, :colorscheme, :clone. Fixed weird completion effects for :colorscheme, :sync!, :delbmark, :bmark!. Fixed changing owner/group in custom views. Fixed small memory leak on using %u/%U with :grep, :find or :locate. Fixed possible off cursor after cmdline insertions of text with wide characters via Ctrl-X combinations or dot completion. Fixed quite strange behaviour if command-line is too fill the whole screen (it's less strange now, resized to maximum). 0.8.1 to 0.8.1a (2016-02-10) Added c key to menus that inserts parts of menu line into command-line. Thanks to filterfalse. Added { and } keys to normal and visual modes. They act similar to ( and ), but always consider whether entry is a file or directory. Thanks to octos. Apply local filter on picking element of `:history filter` menu. Added --disable-build-timestamp option to configure script to perform reproducible build. Thanks to Hendrik Jaeger (a.k.a. henk). Display more meaningful message on failure to extract option name (unknown option: string). Handle register specified for gs normal mode command. Select files listed in that register. Thanks to filterfalse. More accurate parsing of bar not surrounded with whitespace. Be consistent with regard to when local state is changed and do not reset neither local options nor local filter on entering/leaving custom view. Thanks to filterfalse. Disallow adding duplicated filetype/fileviewer entries (just ignore them as they wouldn't be used due to order priority anyway). Expand tilde in first argument of :bmark! command. Thanks to Marcos Cruz. Truncate menu titles that don't feet the screen. Thanks to aleksejrs. Fixed redrawing message dialog when 'relativenumber' option is on. Thanks to aleksejrs. Fixed resetting status bar contents on displaying message dialog. Fixed parsing background mark after quote (as in `:put " &`). Fixed using plugin in neovim, which has broken `system()` and :! commands. Thanks to Artur Shaik (a.k.a. artur-shaik). Fixed polluting screen of server with messages about invalid arguments. Fixed duplicated filetype entries in vifminfo. Thanks to aleksejrs. Fixed switching views via :wincmd. Thanks to fogine. Fixed executing commands on new view after switching it (related to sequences of commands separated via bar symbol). Fixed --with-dyn-x11 configuration option, which failed to enable dynamic use of the library. Thanks to Badalisc and Hendrik Jaeger (a.k.a. henk). Fixed handling of doubled commas on reading/writing filetypes from/to vifminfo. Fixed displaying of extra file line in quick view when 'tuioptions' doesn't contain "p" flag. Thanks to aleksejrs. Fixed description of 'sort' to reflect rename of "type" into "dir". Thanks to Marcos Cruz. Fixed tab completion for single-executable Windows build, which didn't work in the last release and could cause crash. Thanks to Reva Revadigar. Fixed memory leak on resolving symlinked path on Windows. Thanks to Hendrik Jaeger (a.k.a. henk). Fixed TUI glitches in the form of borders after shrinking terminal to smallest possible height and restoring it back. Fixed processing of path regexps for filetypes when operating on selection. Thanks to aleksejrs. Fixed running multiple files in custom view. 0.8.1-beta to 0.8.1 (2016-01-17) Added summary to builtin tree implementation. Thanks to aleksejrs. Added more filetype definitions into sample vifmrc. Thanks to aleksejrs. Added 'title' option to control whether title of terminal should be set. Enabled by default if old title can be restored. Thanks to Svyatoslav Mishyn (a.k.a. juef). Case insensitive completion of autocommand name for :autocmd command. Allow /**/ in :autocmd pattern to match end of the path. Thanks to aleksejrs. Don't trigger DirEnter on exiting custom-view (when we technically stay in the same directory). Thanks to aleksejrs. Somewhat align options in conflict resolution dialog. Patch by Svyatoslav Mishyn (a.k.a. juef). Copy timestamps and permissions on merging directories. Thanks to willemw12. Less blinking on resorting. Annoying if directory is resorted from autocommand. Fixed reopening controlling terminal across users. Thanks to aleksejrs. Fixed :autocmd being not whole line command (was terminated by |). Thanks to aleksejrs. Fixed possible crash on writing vifminfo file on exiting. Fixed memory corruption on handling empty matches of searches in view mode. Thanks to filterfalse. Fixed secondary column of very custom view (%U). Thanks to filterfalse. Fixed reopening terminal for output, read-only mode somehow caused hangs. Thanks to aleksejrs. Fixed possible (effectively) hang on reading directory change events. Fixed parsing of commands which names are not followed by spaces with regard to pipe symbols (|). Thanks to aleksejrs. Fixed extending second :tr argument, which could cause failure in build with assertions. Thanks to octos. 0.8 to 0.8.1-beta (2016-01-02) Turned remote commands back on by default after their rewrite using named pipes instead of insecure UDP sockets. Removed vifmrc-converter. It's been around for four years and not needed any more. Thanks to filterfalse. Removed contents of autoconf.sh, autoreconf covers what was there (there is a notice in that script now about it just in case). Thanks to Hendrik Jaeger (a.k.a. henk). Changed 'fusehome' default from temporary directory to data directory (that is $XDG_DATA_HOME/.local/share/fuse/ or $VIFM/fuse/ depending on which parent directory exists, the second one exists by definition, but first might not). Thanks to aleksejrs and to Hendrik Jaeger (a.k.a. henk). Added :winc[md] command-line command. Thanks to fogine. Added layoutis() builtin function that answers queries about current interface configuration. Thanks to fogine. Added paneisat() builtin function that answers queries about current pane position. Thanks to fogine. Added %pc macro that splits preview command in two pices: preview command and clear command. Thanks to Tomek K. (a.k.a. TomiCode). Added set of :*Vim commands to vifm run from Vim plugin, which overrule initial :*Vifm command behaviour. Thanks to Ross Hadden (a.k.a. rosshadden). Added special treatment for "*" as value of 'slowfs', which might be useful in case of very slow handling of requests to mounts enumeration. Patch by Cosmin Popescu (a.k.a. cosminadrianpopescu). Added handling of "-" command-line argument specified in place of directory path as instruction to read list of files from stdin. Added B key to menus, which acts like b, but creates unsorted (very custom) view. Thanks to filterfalse. Added match numbers to search messages on status bar. Patch by Cosmin Popescu (a.k.a. cosminadrianpopescu). Added exclamation mark to :shell to suppress spawning new teminal multiplexer pane. Patch by Cosmin Popescu (a.k.a. cosminadrianpopescu). Added fileext sorting key, which sorts files by extensions and directories by name. Patch by Cosmin Popescu (a.k.a. cosminadrianpopescu). Added :setl[ocal] and :setg[lobal] commands to manage values of local options that are specific to current directory and are reset on directory change, similar to local options of Vim. Added zr normal mode key to reset local filter. Thanks to filterfalse. Added named bookmarks (paths are associated with tags). This adds :bmark, :bmarks, :bmgo and :delbmarks command-line commands. Also there is new "bmarks" value for 'vifminfo'. Thanks to Schmalzhaf Stefan. Added handling of dd in :trashes, :trashes? and :lstrashes, which either deletes an item in trash or empties trash. Thanks to Svyatoslav Mishyn (a.k.a. juef). Added dynamic view column alignment (specified by "*", just like "-" for left alignment). Patch by Cosmin Popescu (a.k.a. cosminadrianpopescu). Added --server-list and --server-name command-line options that enumerates names of currently running vifm servers and sets name of target/this instance respectively. Added optional %u and %U macros to 'findprg', 'grepprg', and 'locateprg' that allow immediate redirection of command output into custom view without opening a menu. Thanks to filterfalse. Added builtin directory preview. Thanks to Damian Ariel Perticone and Alexandre Viau. Added :pu[t] command that inserts files into current directory. Thanks to mvucBmM0. Added --with-sanitize=basic|thread|leak option to configure script. Added "more" mode that is used to handle status bar content that doesn't fit on the screen. Thanks to Bruce Hunsaker (a.k.a. hunsakerbn) and Svyatoslav Mishyn (a.k.a. juef). Added 'dirsize' option to control how size of directories is displayed in file views. This enables one to see number of files in a directory rather than its size. Thanks to Martin Fischer. Added missing script that's necessary for %s macro in GNU screen. Was lost for a long time. Added retry/ignore/abort prompt for file/directory removal when 'syscalls' is on. Thanks to Robert Sarkozi. Added "nitems" sorting, which sorts by number of items in a directory. Thanks to filterfalse. Added getpanetype() builtin function that retrieves type of current pane. Thanks to filterfalse. Added 'iooptions' option to configure file system operations. Contains only "fastfilecloning" for btrfs so far. Thanks to aleksejrs. Added "v" key to menu mode that loads current contents into quickfix list of editor (Vim compatible one is assumed). Thanks to filterfalse. Added && and || operators to expression parser. Thanks to filterfalse. Added autocommands (DirEnter event and :au[tocmd] command). Thanks to filterfalse. Added 'sortgroups' option and "groups" sorting key, which allow sorting by parts of file names. Thanks to aleksejrs. Added "nlinks" sorting key to display number of hard links to a file on *nix systems. Thanks to filterfalse. Added 'deleteprg' option, which specifies program to run on files that are permanently removed. Added inline comments to allow less verbose commenting in configuration. Added :elseif command. Thanks to filterfalse. Added :set foo+=bar syntax for string options (append value). Added &option syntax for :let command. Added optional argument for --logging parameter that specifies path to startup log. Thanks to Cosmin Popescu (a.k.a. cosminadrianpopescu). Added handling of "%u" in trash specification on *nix, which is replaced with real user ID. Thanks to Regis. Changed default value of 'trashdir' on *nix again, this time to "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash". This way it's safer for privacy, although using %r is not very safe in general. Thanks to Regis. Do not finish argument parsing after finding --help or --version, continue and validate the rest of command-line. Thanks to Svyatoslav Mishyn (a.k.a. juef). Warn about --remote command being disabled at build-time. Thanks to Svyatoslav Mishyn (a.k.a. juef). Make --select option more prominent in documentation. Thanks to Svyatoslav Mishyn (a.k.a. juef). Accept [count] for "h" and "gh". Normalize surrounding spaces in menu and dialog titles. Work around compilation on systems where MAX_ARG_STRLEN is defined, but unusable. Thanks to Marcin Juszkiewicz (a.k.a. hrw), Michel Normand and Michael Vetter (a.k.a. jubalh). Document %= for 'statusline' and 'rulerformat'. Proper recovery from loading of color scheme unsupported by the terminal at startup. Thanks to Svyatoslav Mishyn (a.k.a. juef). Automatically create ~/.vifm/scripts containing small README file if the directory doesn't exist on startup. Thanks to fogine. Consider control message when deciding width for a dialog, also don't let it disappear on narrow terminals. Provide conflict resolution options in a dialog rather than on the command-line, which is hard to read with so many options. Choose "middle" of the list of even length closer to the top (M key). Thanks to Svyatoslav Mishyn (a.k.a. juef). Update cursor position on file disappearing in more predictable way. Use the closes file to the previously active one that still exists. Thanks to ranousse. Make :set, :filter and :normal zo (and alike) in vifmrc affect all views, thus obsoleting use of :winrun or :windo for this purpose (they still work, the new way is a simpler and more obvious one). This is related to commands executed during vifmrc processing (not those in the right-hand side of mappings, commands, etc.). Display lower bound on item count in status bar progress messages (e.g. on :grep). Do not shrink progress dialog (only make it wider), this is more predictable and easier to follow. Thanks to Robert Sarkozi. More hints for Debian-based systems on installation. Thanks to Bernhard Grotz. Expand "~" in menus on navigation. Use `-f` on calling editor instead of `--nofork` (should be more universal). Thanks to kazufukurou. Changed default colorscheme to invert colors of the current line. Display directory size on Windows more correctly. Lower minimum supported terminal width and height from 30x10 to 20x5. Preserve file timestamps on copying files with 'syscalls' on. Thanks to mvucBmM0. Employ inotify on GNU/Linux for more precise watching directories for changes. Display incomplete file name on rename instead of failing with error on Unicode conversion issues. Assume UTF-8 sequences can be broken. Thanks to Svyatoslav Mishyn (a.k.a. juef). Check file system sensitivity on OS X. Thanks to loongw. Allow 'shell' to specify a shell argument on *nix. Thanks to loongw. Make "p" in 'tuioptions' affect padding in quick view and view mode. Documented difference between paths in menu with and without trailing slash. Thanks to filterfalse. Save location before loading custom view into view directory history. Thanks to filterfalse. Invalidate directory size (calculated via ga/gA) if noticed that directory was changed. This affects all parent directories as well, way easier to see what needs recalculation after file moving/removal. Ctrl-W | and Ctrl-W _ now can set window size to given count. Thanks to filterfalse. Make sure confirmation dialog doesn't appear for background operations. Display confirmation on ":delete! &" before initiating the operation. Somewhat more informative error titles on issues during file operations. Made setting title inside terminal multiplexers (when terminal type is "screen*") work. Make use of file cloning feature of btrfs when possible and enabled in 'iooptions'. Thanks to aleksejrs. Changed plugin to do not depend on location of vifm. g:vifm_home is ignored from now on. Thanks to aleksejrs. Rewrote expression parser to prevent side-effects from occurring until syntax is checked. Put right-hand side of user-defined commands into separate scope of if-else-endif expressions. This prevents affecting of regular input by malformed user-defined command. Fixed resetting "vborder" of 'fillchars' after it has been set to something (as in `:set fillchars=vborder:\* fillchars&`). Fixed crash after color scheme load failure possible in scenarios where file name specific highlights are used. Fixed use of uninitialized value which could affect whether pattern is matches whole path or only its name part. Fixed tests failures when run with root privileges. Thanks to Ondrej Novy (a.k.a. onovy). Fixed running backgrounded commands with non-latin characters on Windows (that end with " &", should be OK to just drop it on Windows and get correct behaviour on 0.8). Thanks to Stas Malavin. Fixed running of executables with spaces in paths on Windows with cmd. Thanks to Stas Malavin. Fixed choosing user vs. default shell on Windows (was reversed), related to %S, %i and alike macros. Fixed losing view sorting on failed attempt to load custom view. Thanks to filterfalse. Fixed not restoring 'sort' value on leaving unsorted custom view. Fixed possible crash on startup when 'vifminfo' includes "options". Thanks to Aurelio Sanabria (a.k.a. Sufrostico). Fixed checking for symbolic link target on target change commands in custom view. Fixed slashes type on Windows on loading custom view with relative paths. Fixed unstable extension sorting for dot files. Patch by Cosmin Popescu (a.k.a. cosminadrianpopescu). Fixed check for availability of FUSE mount point. Thanks to fogine. Fixed small memory leak and possible corruption after :sync! localopts. Fixed checking for changes in charset options on :set (without arguments), used to print unchanged options as if they were changed. Fixed estimation text in dialog (was almost single line). Fixed recovery after a try to assign ill-formed value to 'viewcolumns' option. Fixed unintentional filters resetting on menu navigation to paths that have trailing slash. Fixed losing name of controlling terminal on reopening it. Thanks to Dennis Hamester. Fixed one command in sample vifmrc, which is not supported in Windows version. Thanks to Alexandre Viau. Fixed possible vifminfo shrinking (some data were removed from it) if an error occurs during initialization. Fixed highlight not being updated after file rename. Fixed possible hang during startup on Windows after removal of last visited directory. Fixed running background commands on Windows that require shell expansions. Fixed swapped absolute/relative link creation on :alink/:rlink commands. Patch by MadMaverick9. Fixed dialog box redraw in menu after terminal resize. Fixed leaving background threads in zombie state. Fixed check for broken link existence in custom views (were dereferenced). Fixed missing check for duplicated source file names in custom views on file operations. Thanks to filterfalse. Fixed navigation to broken link from a menu. Fixed group completion for :chown command. Fixed cursor positioning in custom view with identically named files on local filter updates. Fixed restoring selection in custom view in presence of identically named files. Thanks to filterfalse. Fixed navigation to file in custom view in presence of identically named files there. Thanks to filterfalse. Fixed remapping of builtin keys that are followed by selectors (e.g. `:nnoremap d y`). Thanks to mvucBmM0. Fixed 'chaselinks' causing invalid path resolution on going directory up (".."). Thanks to filterfalse. Fixed :mkdir! on absolute paths, used to create relative paths anyway. Thanks to filterfalse. Fixed `:cd one two` to use current directory as base for both relative paths. Thanks to filterfalse. Fixed ranges for :yank. Thanks to Marius Schmidl. Fixed enabling sorting on loading regular custom view after very custom view. Fixed turning of very custom view into sorted one after :restart. Fixed memory leak related to :colorscheme command. Fixed redraw of invisible pane on :sync! on single-pane mode. Thanks to filterfalse. Fixed Ctrl-W _ in top panel, which hid the bottom panel completely. Thanks to filterfalse. Fixed crash on copy-like operations that move several files into subdirectory of another view. Thanks to Marius Schmidl. Fixed running external commands when custom view is active and vifm is running inside GNU screen. Fixed running vifm on Windows 10. Thanks to th1rdey3. Fixed leaking memory on collecting error messages on file operations via system calls. Fixed navigation back in history from custom view. Fixed tokens mangling inside strings ('!=' turned into '='). Fixed creation of intermediate directories on merging directories. Thanks to willemw12. Fixed inconsistency in processing | escapes for whole line commands (e.g. for :!). Fixed incorrect treating of files with colons in their names for menus and custom views. Thanks to aleksejrs. Fixed not squashing double commas in description of :file[x]type commands. Fixed ".." item of a custom view having empty directory (can be seen via File Info dialog). Thanks to filterfalse. Fixed small leak on :write (on exit too, but leaks before exit don't matter). Fixed processing if-statements with multiple else branches. Fixed accepting non-alpha first character for environment variable name in :let command. Fixed completion of &-terms, which didn't always list all found matches. Fixed silent (effectively) ignoring of incomplete regexp argument (as in :filter/something, this is different from :s/a). Fixed forgetting of broken symbolic links that went into trash. Fixed silent ignoring of unmatched quote among :set arguments. Fixed picking wrong partition for deletion under symlinked paths. Thanks to aleksejrs. 0.8-beta to 0.8 (2015-07-09) Added handling of Ctrl-L to sort dialog. Thanks to filterfalse. Added device id (major and minor numbers) to file info dialog. Added script to update timestamps, so that build system won't be regenerated without real reason. One might want to run it when building from git checkout, which doesn't preserve correct timestamps. Append unused space in view columns to the last one with percent sizing type if any. Thanks to fogine. Drastically increased performance of custom view composing. Be more accurate when deciding whether view displays graphics, particularly rely on %px and %py, because %pw and %ph might be useful for text viewers as well. Thanks to Svyatoslav Mishyn (a.k.a. juef). Less flicker on preview window update. Clean occasional graphics leftovers after disabling preview. Ignore file decorations ('classify') on sorting custom views. Thanks to filterfalse. Do not invoke vifmrc-converter to update color scheme names if no color schemes were found. Display 2822 date without time zone in file info. Thanks to Svyatoslav Mishyn (a.k.a. juef). Disallow creating user-defined command with "?" or "!" suffix if this would hide builtin command. Redefining commands without suffixes is not allowed, thus this shouldn't be allowed too. Better "all" pseudo-option parsing and support of resetting it. Do not display same path twice in detailed progress information (after both "file" and "from"). Shorten paths in "file" and "from" in progress dialog. Sync approximate and accurate forms of progress dialogs. Fixed pane titles update on switching panes. Fixed build on OpenBSD. Patch by Brian Callahan (a.k.a. ibara). Fixed redrawing of dialogs requested via startup commands. Thanks to filterfalse. Fixed removal of original directories during merging with 'syscalls' on. Thanks to willemw12. Fixed directory merging when 'syscalls' is off. Thanks to willemw12. Fixed option completion to do not provide completion for "noall" or "invall", which isn't valid. Fixed dialog message centering which could be off by one. Fixed work on OpenBSD (at least to some degree that curses implementation there allows). There are still some troubles with non-ascii characters. Thanks to hofheinz. Fixed possible constant view reload when built on some systems. Thanks to hofheinz. Fixed error reporting on builtin function argument parsing in rhs of :let expression. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed truncating viewed file on 'wrap', 'tabstop' > 2 and line wrapping caused by tabulation. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed copying of fifo, socket and device files with 'syscalls' enabled. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed compilation with musl. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed build on FreeBSD. Thanks to bsdmp. Fixed not drawing local colorscheme once after setting global one. Fixed priority of abbreviations for user-defined commands with trailing "!" or "?", which shouldn't be preferred over corresponding builtin abbreviation. Fixed "(n + 1) of n" in detailed progress dialog. Fixed infinite loop or crash on empty match on search in view mode (e.g. on /$). Fixed crash/leak on processing of background jobs. Thanks to Christian Fillion (a.k.a. cfillion). Fixed several memory access errors and leaks. 0.7.8 to 0.8-beta (2015-06-19) Removed per-view last search pattern. Don't worry, you probably won't even notice it: this doesn't affect regular use case, rather more exotic one, which is hard to notice. Map <c-h> and <bs> to different key codes. Thanks to fogine. Added <lt> angle bracket notation (less-than character, '<'). Thanks to filterfalse. Added K mapping to Vim plugin (quick navigation to documentation, e.g. from vifmrc). Patch by filterfalse. Aligned columns in :jobs menu. Added 'chaselinks' option to automatically expand all symbolic links in path of a view (might not work on Windows). Thanks to filterfalse. Added %FOREGROUND FUSE mounting option, which supersedes %CLEAR and fixes issue with passing input to FUSE mounter. Thanks to Johannes (a.k.a. johannesmeng). Added %[ and %] macros for status line/ruler. Thanks to ranousse. Added single-argument form of :file[x]type and :fileviewer commands that lists (in menu mode) currently registered patterns that match specified file name. Added filename specific highlight. Thanks to Ink (a.k.a. inknoir), filterfalse and Michael Maddern (a.k.a. madders). Added dircolors -> vifm conversion script. Thanks to Ink (a.k.a. inknoir), Hendrik Jaeger (a.k.a. henk) and Michael Maddern (a.k.a. madders). Added F key to less-like (file view) mode, which acts similar to `tail -F` or F key in less. Thanks to Daniel Dettlaff (a.k.a. dmilith). Added 'mintimeout' option. It enables controlling responsiveness on external events by Vifm. Thanks to hofheinz. Added Ctrl-X / (slash) key to command-line mode that inserts last search pattern into current cursor position. Thanks to filterfalse. Added custom views, which contrary to regular views can contain files that do not belong to the same directory. Added b key to menu mode that creates custom view filled with menu items filtering out those that are not paths. Added zd normal and visual modes key to exclude items from custom views. Added %u and %U macros to redirect command output directly into custom view. The second one allows for more customization of file list, which is absence of sorting for now. Thanks to filterfalse. Added --delimiter command-line option. Configures delimiter string on writing out list of paths (like on `-f` switch). Thanks to Jeet Sukumaran (a.k.a. jeetsukumaran). Added --choose-files and --choose-dir command-line switches to specify output location for names of selected files or last visited directory respectively. Thanks to Jeet Sukumaran (a.k.a. jeetsukumaran). Added :cq[uit] command to exit with non-zero exit code and also abort directory choosing. Thanks to Jeet Sukumaran (a.k.a. jeetsukumaran). Added --on-choose command-line switch to execute a command on selection rather than opening it. Thanks to Ross Hadden (a.k.a. rosshadden). Added system() builtin function that executes command via shell and returns its output. Added Ctrl-] command-line key to trigger abbreviation expansion. Added 'wordchars' option to specify which characters in command-line mode should be considered as part of a word. Thanks to filterfalse. Added command-line mode abbreviations and :cabbrev, :cnoreabbrev and :cunabbrev commands to manage them. Thanks to filterfalse. Added per-file overwrite confirmation on directory merging. Thanks to willemw12. Added optional per-file progress in dialog mode activated by hitting "i" while operation is being performed. Added OS X version of sample vifmrc file. Now this one will be used on first run on OS X. Thanks to Larry Hynes (a.k.a. larryhynes). Added --enable-coverage option to configure script. Added ^= operation for charset options. Added job bar that displays backgrounded file operations if any. Thanks to geo909. Added JobLine highlight group for the job bar. Added :redr[aw] command to force immediate redraw. Thanks to filterfalse. Added search match highlight for file names. Thanks to Svyatoslav Mishyn (a.k.a. juef) and willemw12. Added fallback to use "XDG Base Directory Specification" when failed to find configuration in other places. Thanks to Miodrag Tokić (a.k.a. loonies). Added %px, %py, %pw and %ph macros that describe location and dimensions of preview area to use in external commands. Thanks to Stephano (a.k.a. cao). Added lookup for mandoc on *nix to perform manual page to plain text transformation. Thanks to Svyatoslav Mishyn (a.k.a. juef). Added :trashes? to display sizes of each non-empty trash directories. Thanks to Svyatoslav Mishyn (a.k.a. juef). Added global configuration {prefix}/etc/vifm/vifmrc and color schemes {prefix}/etc/vifm/colors/*. Thanks to astrell and Michael Vetter (a.k.a. jubalh). Added one more light color scheme to assets (in two variations astrell-root and astrell-user). Thanks to astrell. Added regexp patterns to :file[x]type and :fileviewer commands. Thanks to filterfalse. Added full path patterns ({{globs}} and //regexp//). Thanks to astrell. Added detailed list of errors when 'syscalls' is used. Thanks to willemw12. Added .vifm extension to color schemes (initial rename is performed automatically). Thanks Michael Vetter (a.k.a. jubalh). Allowed having multiple file viewers with same rules for choosing them at run-time as for file associations. Thanks to filterfalse. Added "p" to 'shortmess' option to control tilde shortening of paths in view titles. Thanks to Martin Fischer. Changed default value of 'trashdir' from "$VIFM/Trash" to "%r/.vifm-Trash,$VIFM/Trash". Thanks to Joseph LP (a.k.a. ootput). Made calculation of directory size visible in :jobs menu. Made tests less dependent on environment. Thanks to Hendrik Jaeger (a.k.a. henk). Removed unnecessary command existence checks from vifm.vim. Thanks to filterfalse. Auto-resize position field on the status bar to fit the text. Thanks to ranousse. Switch to utf-8 internal representation of paths on Windows. This fixes issues when file name encoding doesn't match system encoding. Thanks to Stas Panteleev. Made leaving wrong (unexpectedly removed) directory more robust. Thanks to willemw12. Significantly reduced amount of work performed by Vifm in idle state. Thanks to hofheinz. Made message dialogs interact better with everything else on the screen. E.g. redraw properly after terminal resize. United last pattern of :substitute command with search history. Thanks to filterfalse. Made configure script lookup curs_set in libtinfo. Redirect both standard output and error streams from viewers (already was the case for Windows). Don't lose previously saved filter on repeated resetting (pressing zO twice in a row caused previous filter values to be lost). Extended :sync command to support selective synchronization (user can choose among location, cursor position, local options and filters). Thanks to filterfalse. Automatically install sample vifmrc and help file on first start on Windows. Redraw UI on resize during file operation when 'syscalls' is set. Quit fast on --help/--version. Thanks to Svyatoslav Mishyn (a.k.a. juef). Parse paths that start with plus sign as command-line arguments more carefully (don't treat them as startup commands). Moved checks for build-time tools existence from Makefile to configure script. Report signal that killed Vifm when that happens. Thanks to Svyatoslav Mishyn (a.k.a. juef). Report error on wrong expression in :if statement and misplaced :else/:endif on file sourcing. Define $VIFM_FUSE_FILE environment variable for external commands to communicate path to file used to initiate FUSE mounting of directory we're in. Thanks to astrell. Allow non-printable characters to be arguments of :commands. Thanks to filterfalse. Prevent inserting odd characters on terminal resize while in command-line mode. Throw away dead directories in directory histories on merging vifminfo files. Otherwise clearing such directories on :history is almost useless. Display calculated size of directory for symbolic links that point to it. Handle commands that are too long to be passed directly to the shell by breaking them into list of arguments if possible. Thanks to filterfalse. Install AUTHORS, COPYING, ChangeLog, INSTALL, NEWS, README and TODO to {prefix}/share/doc/vifm. Install color schemes to {prefix}/share/vifm/colors. Otherwise these are not available after installation. Break ties on case insensitive sort deterministically. Dynamic dialog dimensions (minimum %30 percent of the screen rather than screen-wide all the time). Thanks to Svyatoslav Mishyn (a.k.a. juef). Try harder to start in valid directory (go upwards if last visited one doesn't have search permission) or leave the one that's not available anymore. Do not depend on UTF-8 locale on making plain text version of documentation. Thanks to Svyatoslav Mishyn (a.k.a. juef). Normalized sorting keys/view column names: "type" -> "dir", display real mode in octal for "mode", make "type" actually display file type (as "mode" did before). Thanks to Michal Belica (a.k.a. beli-sk). Complete `clear` subcommand of :highlight. Parse output of mandoc version of apropos in :apropos. Thanks to Svyatoslav Mishyn (a.k.a. juef). Error on wrong combinations of macros and background mark in commands. No more unjustified inconsistency in processing macros in :! and :file[x]type commands. Thanks to Miodrag Tokić (a.k.a. loonies). Manual page fixes/improvements. Thanks to Svyatoslav Mishyn (a.k.a. juef). Wrapped option names with single quotes in the man page to make it easier to search for options by their names. Display error on failed conversion to Unicode (say if file name includes broken UTF-8 sequence). Thanks to Svyatoslav Mishyn (a.k.a. juef). Do not move cursor on trying to go one directory up in root of the file system. Thanks to Martin Fischer. Fixed search messages in menus (nth time...). Fixed automatic finishing in some situation when no terminal is available. Thanks to tYGjQCsvVI. Fixed crash on navigation to end of line in command-line mode. Thanks to Christian Fillion (a.k.a. cfillion). Fixed quite rare UI glitch right after updating 'classify'. Fixed UI glitch related to considering 'classify' option for ".." entry in directories without files. Fixed 'lsview' layout calculation for non-ascii names, which used too much space. Fixed 'lsview' entry highlight minor glitch related to symbolic links to directories. Fixed `:help` (no arguments) when 'vimhelp' is on and automatically installed Vim documentation is used. Thanks to ranousse. Fixed occasional file skipping on moving files from trash directory. Fixed gf normal mode key on following symbolic links that target files by path that has symbolic links to directories. Thanks to filterfalse. Fixed failing with error on changing case (gu*/gU*) when target file exists. Fixed undesired file removal on overwriting them with themselves (data loss after confirmation of overwriting files when destination matches source). Thanks to Сергей Соловьёв (Sergej Soloviov). Fixed parsing of %E without field width in 'statusline'. Thanks to willemw12. Fixed 'syscalls' documentation, which inverted its meaning. Thanks to willemw12. Fixed current file number in progress message on moving files across file systems when 'syscalls' is on. Thanks to filterfalse. Fixed memory leak related to list of filetypes. Fixed unexpected path resolution on Windows under path containing symbolic links. Fixed case change renames on Windows when 'syscalls' is set. Fixed file name case change undoing/redoing on Windows. Fixed view background update on ":highlight Win ...". Thanks to hofheinz. Fixed nesting of if-else statements with file sourcing. Thanks to filterfalse. Fixed segmentation faults on displaying binary files in menu mode. Fixed counting number of filtered out files. Local filter reset number of files filtered out by other filters. Thanks to filterfalse. Fixed exponential percent sign escaping on command line completion. Thanks to filterfalse. Fixed percent sign escaping on completion with no input (e.g. :cd <tab>). Fixed absence of "Z" drive in :volumes menu on Windows. Thanks to obtroston. Fixed invalid FUSE mounter exit code on OS X and added lookup for `fusermount` command availability (should use `umount` on OS X). Thanks to Michael Maddern, a.k.a. madders. Fixed compilation on systems where __USE_BSD is defined and WEXITSTATUS() uses compound literals. Thanks to Jeet Sukumaran (a.k.a. jeetsukumaran). Fixed missing "r" characters on generating vifm-help.txt file on some systems. Thanks to Jeet Sukumaran (a.k.a. jeetsukumaran). Fixed current line highlight glitch on scrolling in ls-like view. Fixed completion of file names which start with a space. Fixed command execution in network share on Windows. cmd.exe fails for UNC paths, trick it by running command in temporary directory. Thanks to Robert Sarkozi. Fixed UI glitch when one could notice cursor blinking in the view while typing search pattern on the command-line with 'incsearch' being set. Fixed crash on :sync! when filters of two panels differ and resulting number of files is not the same. Thanks to filterfalse. Fixed navigation to the bottom of the screen with non-zero 'scrolloff', which lifted cursor when it shouldn't. Fixed inconsistency in running :!commands where %i, %m, %M or %S caused command to be executed with default system shell (/bin/sh) rather than with 'shell'. Thanks to filterfalse. Fixed completion of executables by full paths after :!. Thanks to filterfalse. Fixed menu drawing after commands like ":win something !cmd%m". Thanks to filterfalse. Fixed "[a]ppend" shortcut for name conflict resolution, which was still using "p" from older "a[p]pend". Fixed sorting change in ls-like view with empty 'viewcolumns'. Thanks to filterfalse. Fixed estimation calculation on file putting after cancellation. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed wrong single character drawing in ls-like view. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed displaying ls-like view as list of dots after :restart. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed title UI glitch with disappearing last character on disabled side borders. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed small view title glitch in CJK directories. Fixed some command-line cursor positioning issues related to non-printable characters. Fixed crash on starting command-line completion with Shift-Tab after stopping on completion item with lower number during previous completion. Fixed last space trimming in user defined commands (quite unusual use case). Thanks to filterfalse. Fixed *nix 'shell' default, was "sh", but as kernel doesn't perform search is $PATH, it would never work. Luckily $SHELL is defined everywhere, so this probably didn't cause any trouble. Fixed background mark truncation for :commands in user-defined commands. Fixed ":vs .." which used to use wrong base directory. Fixed gU, gu and ignore case name sort on filenames with non-latin characters. Fixed missing error messages related to command parsing on sourcing files. Thanks to Damian Ariel Perticone. Fixed placing right aligned ellipsis for CJK characters in one case. Fixed assertion on including "type" in 'viewcolumns' value. Thanks to Michal Belica (a.k.a. beli-sk). Fixed writing current color scheme as the default one, should use builtin colors instead. Thanks to Karol M. Langner (a.k.a. langner). Fixed running filetype commands with background mark and no macros. Thanks to Martin Fischer. Fixed displaying <c-j> in :map menu (it's new line, which was treated in a special way). Thanks to fogine. 0.7.8-beta to 0.7.8 (2014-10-25) Added ga and gA keys to visual mode. Thanks to geo909. Added "[S]kip all" conflict resolution option. Thanks to Miodrag Tokić (a.k.a. loonies). Highlight "highlight clear". Returned accidentally lost "Merge all" (from message only) conflict resolution message. Made "make clean" remove "tags" files for Vim documentation generated during build. Thanks to Hendrik Jaeger (a.k.a. henk). Taught ga/gA commands to handle selection. Thanks to geo909. More accurate scheduling of view updates. Updated how tags are generated on build. Thanks to Hendrik Jaeger (a.k.a. henk). Updated sample vifmrc file. Fixed extension extraction for column view (wasn't consistent with filename modifiers). Thanks to ranousse. Fixed navigation to filtered-out files (e.g. from menus). Cursor wasn't moved to the file. Fixed parsing of ":cmd &|cmd" pattern on the command-line. Fixed error handling regarding vifmrc-converter. Thanks to Hendrik Jaeger (a.k.a. henk). Fixed dumping Default colorscheme with regard to OtherLine highlight group. Fixed ignoring just installed sample vifmrc on first run. Fixed cursor update in inactive view (say, after ga/gA finished). 0.7.7 to 0.7.8-beta (2014-10-11) Removed ltmain.sh script, which is part of libtool, which is not used anymore. Thanks to Hendrik Jaeger (a.k.a. henk). Added executable() builtin function that checks whether executable exists at given path or in one of directories listed in $PATH. Added one more :if command example to documentation. Thanks to John Magolske. Added more human-friendly (xterm-like) names for 256 colors. Thanks to Michael Vetter (a.k.a. jubalh). Added i and I flags to :filter command to control filter case sensitivity. Thanks to filterfalse. Added filter flags to output of :filter? command and formatted output as a table. Added cancellation (handling of Ctrl-C) for FUSE mounting (but not unmounting). Added multiblock "selection" (in quotes because it's also block deselection and inversion of selection for completeness). Thanks to ranousse, Michelle Bonk (a.k.a. unixtechie). Added av normal mode shortcut that activates selection amending mode. Added/updated av/v/V visual mode keys to switch type of current visual mode. Added Ctrl-G key to visual selection amending mode, which switches kind of amending (append/remove/invert). Added ":highlight clear" to reset to builtin colors. This balances change in resetting color scheme to default one. Useful for building color schemes that are partially based on the builtin one. Added full command names to the manual page to ease searching them. Thanks to y2kbugger. Added 'syscalls' boolean option. It makes Vifm prefer to perform file-system operations with external applications on rather then with system calls. {EXPERIMENTAL}, {WORK-IN-PROGRESS}. The option will be eventually removed. Mostly *nix-like systems are affected. Added implementation for directory and file removal, copying, moving, file, directory and symbolic link creation with system calls. Advanced stuff like ACL is not supported at least not at the moment. Available only if 'syscalls' option is set. Added 'cdpath' option. Thanks to Bruce Hunsaker (a.k.a. hunsakerbn). Added progress for file system operations. Available only if 'syscalls' option is set. Added =pattern special form of user-defined command that sets local filter to the given value (alike "/pattern" and "filter value"). Thanks to filterfalse. Added "[a]ppend the end" conflict resolution option (appends the rest of file, e.g. if previous operation was terminated). Available only if 'syscalls' option is set. Thanks to Sergei Shilovsky. Added OtherLine highlight group for cursor of inactive pane. Thanks to Svyatoslav Mishyn (a.k.a. juef). Added 'tuioptions' option. Controls padding of file lists in panels and visibility of side borders. Thanks to Bruce Hunsaker (a.k.a. hunsakerbn) and Svyatoslav Mishyn (a.k.a. juef). Added 'fillchars' option. Configures fill character for vertical borders. Thanks Svyatoslav Mishyn (a.k.a. juef). Added Vim plugin directory to share/vifm/vim on `make install`. Thanks Svyatoslav Mishyn (a.k.a. juef). Added has() builtin function that checks whether particular property is enabled (two properties for now: "unix" and "win"). Thanks to filterfalse. Added logical NOT unary operator ("!"). Added function name completion on command-line. Added file renaming filetype plugin for Vim. It displays list of original file names in a vertical split. Thanks to Factorial Prime. Added file additional mail filetype plugin for Vim. It allows one to pick attachments via Vifm on <localleader>a shortcut. Thanks to Pavneet Arora. Added merge all option for name conflict resolution. Same as "merge", but remember the choice for future conflicts of directories. Thanks to willemw12. Highlight environment variables in :source command. Do not highlight option names in the right-hand side of assignments of :set command. Highlight numbers and all operators (most were missing) in expressions. Highlight wrapped :! commands properly. Various syntax highlight improvements related to handling of command arguments. Make Vim plugin use cmd.exe as default shell on Windows. Thanks to Jonathan Da Silva. Provided additional repository for Vim plugin (see the README for URL). Documented how to use 256 colors in :highlight command. Thanks to Michael Vetter (a.k.a. jubalh). Rewrote trash content removal with system calls in background thread to omit unportable invocation of shells. It's also visible in :jobs menu. Thanks to lyuts and ckester. Ignore trailing whitespace after background mark (" &") in command-line mode. Made :filter command consider trailing slash for symbolic links that point to directories. Thanks to filterfalse. Do not reset selection on navigating to a mark in current directory. Thanks to filterfalse. Display error on encountering unknown values assigned to 'sort' option. Allowed use of :filter syntax in user-defined filter commands (e.g. "command conf filter/.*\.cfg$/"). Do not reset color scheme to default one on :restart if another existing one is stored in vifminfo file. Allowed tabulation to be used as arguments separators in command-line commands. Thanks to y2kbugger. Renamed "default color scheme" to "primary color scheme" in documentation to avoid confusion. Separate visual selection marks ('<' and '>'), which allows to restore it via "gv" in both panes. Thanks to filterfalse. Reset search results on toggling 'hlsearch' to apply new option value on the next search query (/, ?, n, N). Include regular expression in search error message that says that it's wrong. Avoid displaying useless search messages (those that user can't see, but that are shown in :messages). Implement "(" and ")" keys for "perms" and "type" sorting keys. Thanks to filterfalse. Smart paths completion that allows completion of quoted arguments (both ' and " types of quotes) and considers argument type context by performing escaping when needed. Documented environment variables used by vifm separately as usually done in documentation for other applications. Made +/- operands after semicolon in command-line range adjust base range end position rather than base cursor position as Vim does. Thanks to filterfalse. Documented connection between local filter and 'incsearch'. Thanks to filterfalse. Repeat search with last used search pattern on empty pattern of the search mode. Automatically remove non-existent directories from directory history on :history command to speed up future operations (this clean up is very cheap on composing menu). Optimized speed of checking existence of a directory (important on displaying directory history). Skip nonexistent directories on Ctrl-O/Ctrl-I. Extended 'slowfs' option format to allow path prefixes (in particular, it's useful for autofs). Thanks to Евгений Жаров (a.k.a. ezharov). Renamed configure.in to configure.ac. Thanks to Hendrik Jaeger (a.k.a. henk). Made it possible to hide Vifm's documentation from Vim when it's not run by Vifm's :help command. Thanks to ranousse. Separated Vifm's vimdoc from plugin documentation. Do not store temporary messages of command-line in history (progress messages). Hidden misleading error message from git during successful build. Made expand() builtin function expand environment variables. Thanks to filterfalse. Do not show dead entries in :lstrash menu. Hide files from previously used trash directories in :lstrash. Thanks to filterfalse. Changed "overwrite all" key from "a" to "O" for consistency. Thanks to willemw12. Fixed odd creation of ~/.vifm/Trash directory even when it's redefined in vifmrc using 'trashdir' option. Fixed segmentation fault on running vifm with single argument if restored cursor is in the right pane. Thanks to Svyatoslav Mishyn (a.k.a. juef). Fixed visual glitch for long wide character (CJK) file names with disabled cropping. Thanks to anonymous from linux.org.ru. Fixed trash emptying when csh-like shell is in use. Thanks to lyuts. Fixed "$APPDATA/Vifm" directory existence check for Vim plugin on Windows. Thanks to Jonathan Da Silva. Fixed running external commands with long titles inside terminal multiplexers. Invoked shell in current directory. Fixed processing of marks command followed by anything in right-hand side of a mapping. Thanks to filterfalse. Fixed a minor UI glitch with drawing rightmost character position of the stat window after startup. Fixed segmentation fault during startup in a small terminal on OS X. Thanks to Daniel Dettlaff (a.k.a. dmilith). Fixed right aligned cropping for CJK (e.g. viewcolumns={name}..,{} could print one more character position or fail due to assertion). Fixed unexpectedly broken compilation on FreeBSD. Thanks to Daniel Dettlaff (a.k.a. dmilith). Fixed view update after :restart in some cases. Thanks to filterfalse. Fixed UI glitches and most of flickering of the TUI on :restart. Fixed check for wrong color number in :highlight. Thanks to y2kbugger. Fixed :highlight command recovery. Thanks to y2kbugger. Fixed :!! command, seems to be not working for a while. Fixed segmentation fault on no view history and ":set autochpos" in vifmrc. Thanks to ranousse. Fixed small visual multiline status bar update issue. Thanks to ranousse. Fixed non-updated single character of status line for multiline status bar. Fixed processing file names with sharp sign for some shells. Thanks to Flaviu Tamas (a.k.a. flaviut). Fixed message about wrong search pattern regular expression. Fixed Ctrl-C detection, false positives occurred on resizing terminal (both come as signals into program). Fixed some small issues and UI glitches related to 'lsview' and 'viewcolumns' options. Fixed operations with directories that have very long names. Fixed stripping special sequences from vifm-help.txt on OS X. Thanks to Stephen L. Holtz (a.k.a. stephenholtz). Fixed ga and gA commands for files bigger than 4 GiB on 32-bit operating systems. Thanks to filterfalse. Fixed some buffer overrun bugs discovered on OS X and made tests more BSD-utils friendly. Fixed segmentation fault on Alt-. command in command-line mode (since 0.7.7). Fixed wrong single file selection after applying local filter (also wrong number of selected files on status bar). Thanks to filterfalse. Fixed tracking of files in trash on Windows. Thanks to filterfalse. 0.7.7-beta to 0.7.7 (2014-05-16) Improved documentation on :file[x]type commands and time sorting keys. Thanks to Stas Malavin. Updated zenburn color scheme (by Svyatoslav Mishyn, a.k.a. juef). Fixed drawing "*" mark for cursor in inactive pane. Thanks to Svyatoslav Mishyn, a.k.a. juef. Fixed selecting file on navigation from menus with filelists. Fixed processing of backward slashes in menus with filelists on Windows. Fixed navigation to menu items with full paths on Windows. Thanks to Robert Sarkozi. Fixed following overwrite all option on file operation conflict resolution. Thanks to Stas Malavin. 0.7.6 to 0.7.7-beta (2014-04-30) Added Ctrl-W z key to normal and view modes, which closes preview pane or view modes. Thanks to filterfalse. Added %A macro to 'findprg' and 'grepprg' options, which is expanded to unmodified list of arguments. Thanks to Robert Sarkozi. Added handling of paths with backward slashes for :find/:locate/:grep/%M menus on Windows. Thanks to Robert Sarkozi. Added sample light color scheme. Patch by Daniel R. (a.k.a. reicheltd). Added :lstrash command-line command, which displays list of files in trash. Thanks to Sergei Shilovsky. Added :trashes command-line command, which lists all non-empty trash directories. Thanks to Sergei Shilovsky. Added cancellation handling for file system operations and invocations of external applications (works best on *nix systems). Thanks to Milan Svoboda, a.k.a. tex. Added "type" key to the 'sort' option to allow controlling grouping of directories. Thanks to Daniel R. (a.k.a. reicheltd). Added &option syntax for expressions (returns value of an option). Added <nop> angle bracket notation. Thanks to filterfalse. Added 'number', 'relativenumber' and 'numberwidth' options to control displaying of file numbers. Thanks to filterfalse and greye. Added "gf" (go to file) and "e" (open in editor) keys to :grep, :find, :locate and user menu with navigation (%M macro). Added --enable-remote-cmd switch to configure script disabled by default, as current implementation of the feature is insecure. Thanks to astrell. Added Ctrl-X a/c/d/e/m/r/t/= keys to command-line mode that insert parts of file names and values of filters (see related documentation). Thanks to ranousse and filterfalse. Added %n macro which suppresses using of terminal multiplexer in a command (user-defined :command, :!command or :file[x]type action). Added sample dark solarized color scheme (provided by Stéphane, a.k.a. istib). Added zenburn color scheme (provided by Svyatoslav Mishyn, a.k.a. juef). Extended 'trashdir' to handle list of path, some of which can specify location of trash directories local to each mount point. Thanks to smpolymen and Sergei Shilovsky. Extended parser to support integer number constants and unary minus and plus operators. Extended parser to support <, <=, >= and > comparison operators for strings and integers. Treat semicolon (";") as a valid range separator for command-line commands. Allow empty ranges for command without name (as in :4). Don't reset view selection on :if and :else commands. Optimized file name comparison on sorting. Improved documentation on bookmarks (documented special bookmarks). Don't select parent directory automatically for local filter. Thanks to filterfalse and jtbm37. Display error message when :delmarks! is followed by arguments. Made bookmarks merging smarter by storing timestamps. Removing bookmarks now works as expected. Bookmarks overwriting by another instance shouldn't happen anymore. Thanks to Michael Maddern, a.k.a. madders. Disabled command-line commands auto-completion in local filter prompt. Allowed disabling quickview while its pane is hidden. Display value of local filter in the output of :filter? command. Handle backspace in preview window as a terminal. Thanks to Svenn Are Bjerkem, a.k.a. svenn. Do not use terminal multiplexer for internal edit operations (editing of file names or command-line). Skip empty and whitespace only error messages, they are of no use. Highlight environment variables in :unlet command. Thanks to filterfalse. Fixed file descriptor leak on finishing background tasks. Thanks to anonymous from linux.org.ru. Fixed displaying of search messages in menus. Fixed check for whether temporary files with list of file names is changed during bulk rename operation. Thanks to Daniel R (a.k.a. reicheltd). Fixed reset of charset options (like 'cpoptions'), which could result in segmentation faults. Fixed memory leaks on :restart command. Fixed format arguments parsing on displaying "Invalid expression" error message for :echo and :execute commands. Fixed overwrite of previously visited directory on view update (made `:cd -` and '' useless after, for instance, switching panes). Fixed error message on navigating to a wrong bookmark. Fixed possible removing files at destination on restoring files from trash manually. Fixed ignoring command-line commands that entered by a mapping: ignore only commands entirely entered by a mapping, not finished by one. Thanks to Евгений Жаров (a.k.a. ezharov). Fixed segmentation failure when invalid bookmark name is used with quote command as a motion. Fixed processing of some forms of nested :if statements. Fixed segmentation fault for operating systems that have gigantic maximum length of argument list. Thanks to Jiri Wiesner. Fixed situation when oldest elements of histories were not available even though they were present in vifminfo file. Fixed number of selected files after ":invert s" command. Thanks to filterfalse. Fixed q= which displayed history of search by mistake. Thanks to filterfalse. Fixed merging directories on delete then paste. Fixed wrong file name cropping on moving/copying files from trash. Thanks to kazufukurou. Fixed extra escaping on prompt filename completion on Windows. Fixed drawing of hidden view in explore mode over active one. Thanks to filterfalse. Fixed missing title of quickview pane after entering view mode (e.g. with Ctrl-W W). Fixed titles update when one of panes is in view mode (active and inactive highlighting wasn't always right). Fixed segmentation fault caused by uninitialized type field of filelist entry (shared directory in virtual machine in this case). Thanks to Milan Svoboda, a.k.a. tex. Fixed navigation to non-readable directories from a menu. Fixed selection borders UI glitch. Thanks to Svyatoslav Mishyn, a.k.a. juef. Fixed issues discovered by cppcheck, Clang static analyzer and Coverity scan tools. Fixed updating terminal title for some environments. Thanks to filterfalse. Fixed extending filetypes that are missing macro on Windows when cmd.exe shell is used. Thanks to Daniel Polanco, a.k.a. dlpolanco. Fixed work with filenames contining special symbols on Windows with cmd.exe shell. Thanks to Daniel Polanco, a.k.a. dlpolanco. Fixed testing whether application uses GUI on Windows when path contains spaces. Fixed crash on a sequence of :let/:unlet statements. Thanks to filterfalse. 0.7.6-beta2 to 0.7.6 (2013-10-31) Removed check for stdscr from the configure. Thanks to jtbm37. Made command name column of the :command menu automatically expand for long names. Thanks to MadMaverick9. Provided better error messages on entering view mode. Made local filter work when 'incsearch' is not set. Fixed partial displaying of binary data in view mode. Fixed displaying of non-printable characters in preview and view mode. Fixed redrawing ruler on terminal resize while being in explore mode. Fixed small drawing issue with menu lines containing Control+x characters. Fixed search result highlighting of view mode on line edges. Fixed backward search in view mode for the first line. Fixed view mode highlighting for multi-byte characters. Thanks to filterfalse. Fixed segmentation fault on exploring same file in both views. Thanks to filterfalse. Fixed unexpected view redraw on :sync command with view mode active in the other pane. Thanks to filterfalse. 0.7.6-beta to 0.7.6-beta2 (2013-10-24) Made building for Windows64 platform possible. Consider initial filter inversion value in user defined filter command. Thanks to filterfalse. Several minor fixes/updates in documentation and sample vifmrc. Thanks to filterfalse. Display error after sourcing file with unmatched :if/:endif statements. Thanks to filterfalse. Fixed displaying of barely visible false error messages on the status bar on some rename operations. Fixed running executables without specifying their extension on Windows. Thanks to filterfalse. Fixed viewing of files with custom viewers on Windows. Thanks to filterfalse. Fixed issues with reading files on Windows. Thanks to Robert Sarkozi. 0.7.5 to 0.7.6-beta (2013-10-17) Added "f" flag to 'cpoptions' option. It controls initial state of filename filter inversion for :filter[!] {regex} command (in other words, it inverts meaning of exclamation mark). Thanks to filterfalse. Added helptags for 'cpoptions' flags in documentation in Vim format. Added --with-curses-name=NAME option to the configure script to allow specifying name of the curses library to link against. Thanks to Russell Urquhart. Added "Globs" section to the documentation. Added 'aproposprg', 'findprg', 'grepprg' and 'locateprg' options to specify external commands format. Added optional argument for :invert command. Thanks to filterfalse. Added editing command-line using Vim (like command window in Vim). Thanks to filterfalse. Added Ctrl-G command-line key to start editing command-line in external editor (for editing command, search pattern and new file names). Added q:, q/, q? and q= normal and visual modes keys (except q=, which is defined for normal mode only) to prompt for command-line in external editor. Added local to directory temporary file name filter. Thanks to Alexandre Viau and filterfalse. Added "=" normal mode key, which activates file name filtering. Added "fhistory" to 'vifminfo', which controls storing of local filter history. Added "=" and "filter" values for :history command, to show history of local filter. Added integration with tmux. Thanks to Seth VanHeulen (a.k.a. svanheulen). Added merge option for name conflict resolution, which allows merging two directories overwriting files with matching names. Added desktop entry file. Thanks to Richard Benson. Updated application icon. Thanks to Richard Benson for making it. Updated config.guess and config.sub files to their latest versions. Thanks to Hendrik Jaeger (a.k.a. henk). Removed deprecated acconfig.h file. Thanks to Hendrik Jaeger (a.k.a. henk). Replace compile symbolic link with actual file. Distinguish files and directories in filename filter by appending a slash to names of directories. Use last search pattern as filename filter when :filter command gets an empty argument (:filter//, :filter"", :filter''). Thanks to filterfalse. Don't complete commands like :filter, :tr, :substitute, etc. Match only filename against global in :fileviewer instead of full path. Removed check for WINDOW type in curses.h from configure script (didn't work for OS X and cygwin). Thanks to filterfalse. Updated syntax file to ignore non-sense characters in front of some commands (e.g. :set, :let, :highlight). Thanks to filterfalse. Updated syntax file to highlight arguments of the :execute command as expressions. Updated syntax file to highlight arguments of all map and for :command commands smarter than before. Filter in case insensitive way on Windows. Updated syntax file to highlight <home>. Thanks to filterfalse. Updated syntax file to highlight <home> and environment variables in argument list of the :cd command. Thanks to filterfalse. Updated syntax file to highlight :normal when it's not first in the line and treat its arguments as command-line if it starts with a colon. Thanks to filterfalse. Updated syntax file to do not highlight anything inside quoted strings except when they are part of an expression. Remove escape-codes from generated plain-text documentation on cygwin. Thanks to filterfalse. Do not reset selection on search when 'hlsearch' is reset. Thanks to filterfalse. Preserve current cursor position on view resort. Don't let completion of the :history command eat all available memory. Made all Ctrl-W x keys available in view mode. Thanks to filterfalse. Expand environment variables in values of the 'fusehome' and 'trashdir' options. Thanks to filterfalse. Provided more adequate reaction on setting 'trashdir' variable to wrong value. From now on not absolute paths for the 'fusehome' options are rejected. Separated file name filter into manual and automatic mainly for convenience. Use AC_GNU_SOURCE macro in configure.in, which is the correct way to request for GNU extensions across various operating systems. Check whether current directory is writable on :mkdir command. Check destination path existence before changing directory to it on :sync command. Consider 'classify' option on displaying file name in the status bar. Don't overwrite directory stack stored in vifminfo on exit unless it was changed in current session. Better error messages on application run failure on Windows. Don't wait finishing of GUI applications on Windows. Thanks to Robert Sarkozi. Store cancelled prompt input in prompt history. Better order of command-line command checks. Show better error message on unmatched quotes in command arguments. Force split-view when two paths are specified on command-line. Thanks to filterfalse. Corrected view switching when vifm gets only one argument on command-line (didn't switch if pane was already at specified path). Process [count] passed to gUU, gU<selector>, gUgU, gu<selector>, guu and gugu commands. Changed meaning of the R key in view mode from redrawing view to reloading it preserving scroll position. Thanks to Robert Sarkozi. Documented how | is treated on command line by some commands. Thanks to Roger Bongers. Increased performance of (re)loading content for view mode. Thanks to Robert Sarkozi. Fixed configuration when set_escdelay() function is not available. Thanks to Russell Urquhart. Fixed building when wcscasecmp() and wcsncasecmp() functions are not available (just don't use those functions). Thanks to Russell Urquhart. Fixed reserving of about 1 GiB piece of memory on 256-color terminals. Fixed hanging on previewing files with long lines and code highlighting. Fixed running of executable with symbols that require escaping in their name (*nix only). Fixed terminal hang after executing several external commands in a row. Thanks to filterfalse. Fixed "No matches..." message for :apropos command, which accessed freed memory. Fixed displaying of search results message for different combinations of 'wrapscan' and 'hlsearch' options states. Fixed real/potential issues discovered using Coverity scanner. Fixed search of the first element in file list when displaying of parent directory is disabled. Fixed small memory leak in expression parser. Fixed local options after startup (could be loaded for wrong pane). Thanks to filterfalse. Fixed fails on using absolute path to executables when 'fastrun' option is on. Thanks to MadMaverick9. Fixed running external commands with 'fastrun' option set, in case when there are more than one executable with given name. Fixed cursor position of the other view after switching quick view off right after startup. Fixed storing directories passed as command-line parameters in directory history. Thanks to filterfalse. Fixed compilation for systems, where coreutils doesn't support -n flag. 0.7.5-beta to 0.7.5 (2013-05-10) Better Makefile for tests. Thanks to Hendrik Jaeger (a.k.a. henk). Make running tests of color manager depend less on type of terminal. Thanks to Hendrik Jaeger (a.k.a. henk). Don't link against libdl when it's not used. Thanks to Hendrik Jaeger (a.k.a. henk). Commit src/Makefile.in file as it is (do not remove odd trailing whitespace characters), it could cause issues with automated building. Thanks to Hendrik Jaeger (a.k.a. henk). Set locale for tests that rely on it explicitly. Thanks to Hendrik Jaeger (a.k.a. henk). Don't accept arguments to the :help command when 'vimhelp' option is off. Pause on Windows on failed execution of a help command. Thanks to filterfalse. Pause on Windows, when executing of shell command fails. Resize terminal window back to its original size after :help on Windows. Thanks to filterfalse. Fixed generation of vifm-help.txt file on Windows (all occurrences of the "[m" sequence were removed). Thanks to Sebastian Cyprych. Fixed cd'ing to a directory after showing "Directory Access Error" message. Fixed mapping of <c-h> and <bs> on Windows. Thanks to filterfalse. Fixed Tab key description in documentation, the part related to 'cpoptions' flag. Thanks to filterfalse. Fixed potential issues pointed out by clang static analyzer. Fixed calling Vim on :help command without arguments on Windows. Thanks to filterfalse. Fixed calling Vim on :help command with 'vimhelp' option turned off and a path with spaces in vifm's configuration directory. Thanks to filterfalse. Fixed resetting of 'lines' and 'columns' options to their default values. Thanks to filterfalse. 0.7.4b to 0.7.5-beta (2013-04-22) Added Gentoo ebuild. Thanks to Oleg Gordienko (a.k.a. gordio). Added parsing of escape codes in the preview pane. Added parsing of escape codes in explore (less-like) mode. Added "perms" sorting key on *nix (proposed by Daniel Dettlaff, a.k.a. dmilith). Added sample color schemes (proposed by Daniel Dettlaff, a.k.a. dmilith). Added expand() builtin function to expand macros (thanks to Sebastian Cyprych for the use case). Allowed exclamation mark for the :sync command (to force synchronization of cursor position when used without arguments). Added macros that are expanded to register's content (thanks to Florian Baumann, a.k.a. derflob). Added 'shortmess' option and its first flag: "T" to shorten long status bar messages. Added --without/[with]-dyn-X11 flag to the configure script to control static/dynamic linking against libX11 library. Thanks to Hendrik Jaeger (a.k.a. henk) for the idea. Don't use libtool in build process on *nix platforms (thanks to Merovius). Less-like mode now highlights multiple matches in a line. Less-like mode is now updated immediately when one changes 'wrap' option. Don't redraw file list for explore window on resize. Less updates for window in explore mode on resize. Don't fallback to default colors on try to switch to a colorscheme, which is not supported by terminal. Made 'slowfs' option actually work on OS X (thanks to Daniel Dettlaff, a.k.a. dmilith). Made :execute process its arguments just like :echo command (thanks to Daniel Dettlaff, a.k.a. dmilith, which made me discover old behaviour). Save dot files filter state in vifminfo (thanks to Daniel Dettlaff, a.k.a. dmilith). Slightly updated plugin related documentation. Don't store last command-line command for the dot normal mode command between sessions. Also it doesn't depend on command-line history anymore and can be used with completely disabled history. Changed the way title of the permissions dialog is composed. Fixed configuration on OS X and FreeBSD because of unavailable mntent.h header and strverscmp() function. Thanks to Daniel R. (a.k.a. r1chelt) and Daniel Dettlaff (a.k.a. dmilith). Fixed configuration when libmagic is not available, but selected (tried to check its symbols). Fixed configuration on OS X when libncursesw is installed as libncurses. Now configure script checks for libncurses if libncursesw is not found. Thanks to Daniel R. (a.k.a. r1chelt). Fixed vifminfo file update on Windows (wasn't updated at all). Fixed "Press return..." message appearing always on OSX (yes, again; hope this is final fix). Thanks to Daniel R. (aka r1chelt). Fixed buffer overflow on composing very long list of sorting keys. Thanks to Christoph (a.k.a. informationen). Fixed reading very long lines from vifminfo file. Thanks to Christoph (a.k.a. informationen). Fixed displaying of very long lines correctly in explore mode when 'wrap' is off. Fixed displaying of very long lines correctly in menu mode. Fixed using of extra memory for menu items that are read from other program's output. Fixed segmentation fault on adding new elements to history after decreasing 'history' option. Thanks to Oleg Gordienko (a.k.a. gordio). Fixed determining of executable files on Windows (particularly parsing the last item of $PATHEXT environment variable). Fixed message displayed on invalid search pattern in explore mode. Fixed highlighting of search results that cross virtual line boundary in explorer mode when wrapping is on. Fixed file preview pane update on Ctrl-W X. Fixed segmentation fault on < or g keys in explore mode when file is fully visible. Fixed displaying of last lines in explore mode with wrapping turned on for texts that contain characters taking more than one character position. Fixed displaying of pane title for paths that contain characters taking more than one character position. Fixed displaying of bookmark menu for paths that contain characters taking more than one character position. Fixed displaying of status line for file names that contain characters taking more than one character position. Fixed displaying of menus for lines that contain characters taking more than one character position. Fixed screen update after v in explore mode. Fixed Ctrl-W H/J/K/L keys in less-like mode activated by <s-tab>. Fixed Ctrl-W H/J/K/L/X keys in normal mode when explore mode is active in the other pane. Fixed initial cursor position in the :colorscheme menu. Fixed mappings of sequences containing non-ascii characters (thanks to ksandr1v). Fixed strange behaviour of Ctrl-U on top of file list in visual and normal modes. Fixed a bug with loading multiline commands containing bars ('|') from a vifmrc file (thanks to Sebastian Cyprych). Fixed a bug with trailing characters on loading multiline commands containing bars ('|') from a vifmrc file. Fixed a very small issue with positioning of cursor mark in the other pane, which happened after starting vifm with another size of the terminal. Fixed a macro expansion in command-line on Windows when 'shell' is set to "cmd" (thanks to Sebastian Cyprych). Fixed a typo in configure.in file, which didn't allow to specify custom location of curses library. Fixed setting of value of $CPPFLAGS in configure.in, which didn't allow to specify custom location of curses library. Fixed cursor position right after entering fuse mount point when old cursor position is recalled from history and view has too few rows. Fixed occasional reset of cursor color to default after pane switching operations. Fixed displaying of search results message when 'incsearch' option is on. Fixed destination file name existence on rename operation. Fixed very rare crash on :chmod (thanks to Marton Balazs, a.k.a. balmar). Fixed chmod on files with long names (they were truncated and appended by ellipsis). Fixed processing of incomplete escape sequences in command-line (used to crash vifm). Thanks to Denis Protivenskiy. 0.7.4a to 0.7.4b (2013-01-21) Removed screen title forcing for shell commands. Fixed 'z' (thus 'Z') register, which was unavailable (apparently since 0.6.3). Fixed using of register name argument in :yank command (was ignored). Fixed error message on command errors in user defined command-line commands (e.g. on `:foo` after `:command foo :bar`). Fixed displaying of title of the other pane in one view mode. Fixed displaying of file names in Chinese and other languages that can have characters taking more than one position on the screen. Fixed command-line cursor positioning for Chinese and other languages that can have characters taking more than one position on the screen. Fixed segmentation fault on :colorscheme command with no color schemes installed. Fixed enumeration of colorschemes for some file systems. Fixed handling of doubled single quote in single quoted command argument. Fixed small bug with sorting numbers with and without leading zeroes. Fixed applying of 'classify' option to symbolic links to directories. Fixed running of external commands using screen on l or Enter key in the normal mode. Fixed Meta-. on Windows (didn't work because of pdcurses). Fixed `:cd ........` command on Windows (looks more like a Windows issue). Fixed silent ignoring issues on running executables on Windows. Fixed races on writing vifminfo file. 0.7.4 to 0.7.4a (2012-10-22) Don't redraw statbar until end of :restart command. Don't ignore wrong number of arguments in function calls, show an error. Don't build sources separately for tests. Better processing of count given to "!!" normal mode command. Handle integer overflow of huge count correctly. Make commands like d2d, y2y and D2D work as in Vim. Use linux native console specific settings if $TERM ends with "linux" (not only equals it). Check TMPDIR, TEMP, TEMPDIR and TMP environment variables to determine location of directory for temporary files. Made processing of value of 'fusehome' option more error prone. Fixed autotools configuration files. Fixed terminal size resetting after :restart. Fixed 'dotdirs' option on Windows. Fixed repetition of `bar` in `foo | bar` on "." command. Fixed segmentation faults on passing to big count to DD, dd or yy normal mode commands. Fixed displaying of filenames with non-latin characters in the view on Windows. 0.7.3a to 0.7.4 (2012-10-18) Removed compile-time compatibility mode (the compatibility-mode switch), now "f" flag in 'cpoptions' does the same. Replaced gl normal mode mapping for Windows with gr because of conflict. Added Ctrl-W H/J/K/L normal mode keys. Added status bar messages for :apropos, :find and :locate commands. Added 'viewcolumns' local option to control view columns. Added completion for :set option=<tab> even for options without variants. Added Ctrl-T handling in command line to swap characters. Added Meta-. handling in command line to paste last parts of previous commands. Added --without/[with]-X11 configure script option. Added 'lsview' option to control ls-like view look. Added gh, gj, gk and gl keys for normal and visual modes. Added 0, ^ and $ keys for normal and visual modes, which also work as selectors in normal mode. Added %E 'statusline' option macro, which means size of all selected files or current file, if no files are selected. Added light versions of color names. Added mapping commands for view and menu modes. Added :echo command. Added support for builtin functions and filetype() as the first one. Added support for `==` and `!=` operators. Added :if, :else and :endif commands. Added man pages for vifm-pause script and vifmrc-converter. Added :normal command. Added 'dotdirs' option to control displaying of "../" directory. Added "t" flag to 'cpoptions' option. Added 'classify' option to set prefixes and suffixes for different file types. Try the rest of the programs for an association when the default isn't found. Allow paths in :file[x]type command that contain spaces to be doublequoted on Windows. Escape pipe character during :file completion. Expand macros for user defined commands. Changed relative path base for :split and :vsplit commands. Complete only directory names for :split and :vsplit commands. Check current view of other pane on leaving FUSE mount directory an don't unmount if that file system is still in use. Complete :set for short and full option names like Vim does (e.g. 'so' should be expanded to 'sort', not only 'scrolloff'). Reduce delay between terminal resize and TUI redrawing. Check for used curses symbols in ./configure script. Check for libpthread presence in ./configure script. Check for pthread.h header and all its required elements in ./configure script. Check for magic.h header and required libmagic functions in ./configure script. Check for regex.h header and all functions, macro and types connected with it in ./configure script. Check for GTK headers and all related in ./configure script. Check for socket related headers and function in ./configure script. Check for a bunch of system headers, types and functions in ./configure script. Flicker less on :restart command. Don't show Ctrl-C part in information message boxes where it doesn't make sense. Remove automatically generated files on `make clean`. Don't pause on '0' after Ctrl-W (count cannot start with zero). Multiply counts in front and in the middle of commands with Ctrl-W (as Vim does). Multiply counts in front of command and its selector (as Vim does). Reduced memory consumption of view histories. Fixed background bold (light) colors in linux native console. Fixed segmentation fault on running vifm with one path in the argument list. Fixed directory content update on chain execution of several commands in mappings. Fixed partial drawing of file list over status line after expanding one line status bar to multiple lines. Fixed artifacts with bottom of the TUI after shrinking multiline status bar to one line. Fixed file overwriting issue. Fixed appearance of an empty filename in the :marks menu. Fixed filter resetting on following bookmarks. Fixed mapping of <c-h>. Fixed "Press return..." message appearing always on OSX. Fixed segmentation fault on :move command with path containing slash. Fixed segmentatino fault on :restart during prompt history load. Fixed eternal looping on "(" or ")" in normal or visual mode and iname sort. Fixed segfault on `:set all=` completion try. Fixed displaying of 'columns' and 'lines' option values. Fixed ga and gA over sshfs. Fixed small issues with other pane position and mark update on startup and terminal resizing. Fixed extra slash in :registers menu for files in root directory. Fixed file viewer matching when symbolic link target is a directory. Fixed checks for required headers in ./configure script. Fixed checks for required functions in ./configure script. Fixed check for git command presence in src/Makefile.am. Fixed cursor position in menus, when 'scrolloff' is set. Fixed utf-8 issue in :marks menu. Fixed dd in :commands menu. Fixed invoking of menus from command-line (with -c or + argument). Fixed Ctrl-F and Ctrl-B in menus again (they probably didn't work correctly ever until now). Fixed unexpected file list drawing on switching between panes in one pane mode with view active. Fixed small issue with sorting files with numbers in names on *nix. Fixed parsing of double single quote in single quoted strings. Fixed description of installation to $HOME in the INSTALL file. Fixed assignment of empty value to a option of set type. Fixed small memory leak on restoring files from trash and putting files. Fixed small memory leak related to :messages command. Fixed small memory leak related to implicit single file selection. 0.7.3 to 0.7.3a (2012-06-23) Added a section about color schemes to the documentation. Added checks for correct value of 'tabstop' option. Added checks for correct value of 'timeoutlen' option. Expand tilde in the second argument of :colorscheme command. Better completion for :colorscheme command. Forbid relative paths in :colorscheme command until vifm is completely loaded. Documented that %m, %M, %s, %S and %i have bigger priority than &. Documented that %m, %M, %s, %S and %i are mutually exclusive. Allowed whitespace after option name in :set command. Documented treating of whitespace around option names in :set command. Reset value of 'columns' option to real number of columns. Reset value of 'lines' option to real number of lines. Reset value of 'scrolloff' option to zero on attempt to assign a negative value to it. Faster Ctrl-W x, Ctrl-W o, Ctrl-W s, Ctrl-W v, Ctrl-W =, Ctrl-W <, Ctrl-W >, Ctrl-W -, Ctrl-W +, Ctrl-W |, Ctrl-W _. Faster redraw on terminal resizing. Faster execution of `:set sort=foo sortorder sortnumbers` in vifmrc. Made file filtering using regular expressions work faster (matters when directory contains several thousands files). Draw quickview on startup only once. Faster redrawing of status bar with "-- VISUAL --" message after "Press Enter message". Show correct number of selected files in visual mode after n and N keys. Pass range given to alias to an aliased command. Fixed unexpected resetting of dot filter on following mark to root directory. Fixed loading file associations from vifminfo. Fixed small memory leak on displaying :file menu. Fixed saving of x file associations to vifminfo. Fixed segmentation fault on :file command on files without associations and vifm built with --enable-desktop-files. Fixed going to top of selection after Ctrl-A/X, C, i and zf in visual mode if visual mode was activated at least once before that. Fixed compilation with ncurses prior to 5.7 version. Fixed compilation warnings about unused result of fscanf. Fixed merging of directory history in vifminfo file (loosed relative positions of directories absent in history of running instance). Fixed history size issue, when real histories size diverged with the value of 'history' option. Fixed displaying of non-latin characters when panel width is only one character. Fixed selection of ../ directory on gv key. Fixed visual selection of the first file in the root directory. Fixed memory leak on `:[ncv]map foo`. Fixed restoring of file name filters. Fixed restoring of cursor position in the other view if quick view was opened too. Fixed selection of files on search in visual mode with 'incsearch' option turned off or n and N keys regardless of 'incsearch' state. Fixed search repeat in visual mode. Fixed search update with 'incsearch' on Ctrl-<x> keys in search prompt. 0.7.2 to 0.7.3 (2012-06-03) Removed possibility of moving items in :file menu. Removed empty line from :file menu for case when vifm was configured with --disable-desktop-files flag. Added description for :filetype, :filextype and :fileviewer commands. Added --enable-desktop-files (enabled by default) configure option. Added completion for :touch command. Added macros expanding for :mkdir command. Added macros expanding for :touch command. Added completion for :clone command. Added completion for :copy, :move, :alink and :rlink commands. Added completion for :mkdir command. Added completion for :split and :vsplit commands. Added completion for :rename command. Added size of file in bytes in file info mode (Ctrl-G). Added "Y" key to visual mode as an alias for "yy". Added :finish command to use in sourced scripts. Added %i macro to completely ignore output of external commands. Added notes about automatic FUSE mounts to the documentation. Added Ctrl-L handling in file info (Ctrl-G) mode. Added vifm version and last modification date to vim documentation file. Added q key to close menus. Leave leading zeros on Ctrl-A/X commands. Check coreutils version on configuring to omit using of -n option with coreutils of versions prior to 7.1. Allow bookmarking of host names on Windows (e.g. //ZX-SPECTRUM). Show host's root in history menu (e.g. //ZX_SPECTRUM). Made :fileviewer command work on Windows. Open selected directories with l or Enter keys. Changed the way 'fastrun' works. Replace home directory with the tilde in terminal title. Improved :let command (allowed using of expressions at the right side of the statement). Properly handle when user alters PATH environment variable using :let command. Now vifm removes scripts ($VIFM/scripts/**) from PATH for :shell command. Less blinking of the screen in various scenarios. Corrected status bar messages about failed search. Use common search history for normal, visual and menu modes. Save last typed but not executed command in command-line mode (this also includes searches). Better handling of multiline messages in status bar. Increased directory modification stamp precision on *nix. Documented ./configure script options in the INSTALL file. Fixed bug with running Ctrl-A/Ctrl-X commands on directories. Fixed undoing of previous operation on error in current one. Fixed updating of views when they are in view mode. Fixed bug with failed assertion on not complete macro. Fixed error reporting on Ctrl-A/Ctrl-X commands on selection. Fixed work of Ctrl-A and Ctrl-X commands on selection. Fixed small issue with tabs in quick view and 'nowrap'. Fixed displaying of wrong drive paths in history menu ("d:" or "c:"). Fixed bug with plugin and parenthesis. Fixed getting list of associated programs using .desktop files when the file utility is used to obtain mime-type of a file. Fixed result of applying :p filename modifier in root of file system. Fixed opening of tagged (selected) symbolic links to a directory. Fixed problem with leaving socket alive on crash. Fixed compilation using cygwin. Fixed memory errors connected with Ctrl-A and Ctrl-X commands. Fixed using of uninitialized memory on :substitute. Fixed global substitution of patterns beginning with a caret. Fixed :cd (so and :pushd) with absolute path as second argument. Fixed case insensitive renames using :rename command on Windows. Fixed message about failed rename operation. Fixed renaming of files on Windows (sometimes files could be moved). Fixed infinite loop of filter inverting. Fixed adding of ellipsis into view title when it's actually don't needed. Fixed handling of equal sign after variable names in :unlet command. Fixed automatic refresh of view on Windows. Fixed displaying of cached directory size. Fixed trash elements duplication in vifminfo file. Fixed memory corruption if :restart command is called from key mapping. Fixed deadlock issue that caused vifm to freeze after running external commands in certain cases. Fixed wrong resizing of file info mode. Fixed saving of partially typed search pattern with 'incsearch' on. Fixed searching in visual mode with 'incsearch' on. Fixed artifacts at the bottom of screen on FUSE mountings. Fixed check for file existence on file running. Fixed running 'vicmd' on :rename and similar commands with ending \s+&. Fixed appearing of cursor in stat line on resize with active wildmenu. Fixed unexpected appearing of wildmenu on terminal resizing. Fixed running when /etc/mtab file doesn't exist. Fixed compiling with file tool (libmagic) of version 4.21 or older. Fixed work of ga/gA commands with huge files on Windows. Fixed terminal freezing on Ctrl-Z in vim launched from vifm. Fixed blinking of file list in the menu mode while working with command line with 'hlsearch' and 'incsearch' set. Fixed clearing of selection on search cancel in menus with 'hlsearch' and 'incsearch' set. Fixed selection of created directory on `:mkdir! dir1/dir2`. Fixed case of letters of Ctrl-W combinations in the documentation. Fixed copying of vifm-help.txt and sample vifmrc to ~/.vifm directory. 0.7.1 to 0.7.2 (2012-02-19) Added --select command line argument. Added g:vifm_exec_args variable for the plugin. Added write permissions to current directory on :touch. Added 'rulerformat' option. Added 'statusline' option. Added optional argument for the :sync command. Added support for character classes in globals. Added <esc>. Added support for running :cmap, :nmap and :vmap with one argument. Added :u filename modifier for UNC computer name (Windows only). Added --remote command line argument. Added recursive mode for :rename command. Added 'columns' and 'lines' options. Added :let and :unlet commands to work with environment variables. Added $VIFM and $MYVIFMRC environment variables. Added embedded icon on Windows. Added file properties dialog on Windows. Added file attributes in status bar and file info view. Added ctrl-w p, ctrl-w b and ctrl-w t normal mode keys. Added :windo and :winrun commands. Added 'trashdir' option. Restore terminal title on exit. Reset dot and filename filters if they hide bookmarked file. Show "Sorting directory..." message only for big directories on Windows. Now vifm will add all subdirectories of ~/.vifm/scripts to PATH. Made vifm react faster on external changes. Change console title on Windows. Made determining of home directory on Windows more intelligent. Better check for old-style color schemes file. Mention cterm :highlight command argument in generated color scheme files. Changed square brackets in yes/no of confirmation dialog. Made 'sortnumbers' work on Windows. Avoid unnecessary directory view updates on Windows (like after C key). Allow using of backward slashes in :rename command on Windows. Let :s and :gs filename modifiers change slash type on Windows. Never change active view on :restart command. Properly quit vifm on console closing on Windows. Removed odd sorting keys on Windows. Allowed using of macros with :clone command. Set left panel as active with one path passed as an argument. Fixed bug with fixed-length buffer for :grep command (when many files are selected). Fixed completion of ":set sort" (didn't complete 'sortnumbers' and 'sortorder'). Fixed several memory overflows and leaks. Fixed "Change" time, which is "Creation" time on Windows. Fixed creation of Trash dir if it doesn't exist in ~/.vifm/. Fixed status bar message after Ctrl-A/Ctrl-X on Windows. Fixed bug with drawing extra character after file list redraw (e.g. on za). Fixed bug with segfault on running background operation (e.g. :copy &). Fixed compilation on Mac OS X. Fixed running gvim on commands like :rename. Fixed renaming on Windows when only letter case is changed. Fixed terminal title blinking on startup. Fixed status bar attributes for searching. Fixed view update when 'incsearch' is on and user removes and types again one character. Fixed blinking of number of selected files on Escape key in search mode with 'hlsearch' turned on. Fixed redrawing of other view on 'sortnumbers' option toggle. Fixed misleading message about pattern not found on first search using n or N keys. Fixed bug with going to upper bound of visual selection. Fixed bug with :rename and 'vicmd' (or 'vixcmd') option with backgrounding. Fixed bug with :rename and screen support turned on. Fixed picking view on which ctrl_w+* keys operate in view mode. Fixed Ctrl-U/D/F/B keys in visual and menu modes one again. Fixed a typo in status bar message after :mkdir. Fixed sorting with ignoring case. Fixed read-only file removal on Windows. Fixed adding of "(1)" to name passed to :clone. Fixed messages about background operations in :jobs menu. Fixed %S macro and no command output. Fixed filtering of selected files with special symbols in their name. Fixed title in permission change dialog and files with long names. Fixed leaving inexistent directory on Windows. Fixed :empty command on Windows. Fixed delay after pressing Escape on *nix and ncurses. Fixed viewing of file with end-of-lines different from standard on running system. Fixed navigation to file (e.g. after :touch) when 'scrolloff' isn't 0. Fixed segfault on small window on Windows. Fixed bug with unfinished :s or :gs filename modifier. Fixed dumb black screen on :shell command after :screen when vifm is not running inside screen. 0.7.0 to 0.7.1 (2011-11-15) Added 'scrollbind' option. Added 'wrapscan' option. Added 'incsearch' option. Added support for more angle bracket notations in mappings (<bs>, <tab>, <s-tab>, <home>, <end>, <left>, <right>, <up>, <down>, <pageup>, <pagedown>, <del>, <delete>, <m-a>, <m-b>, ..., <m-z>). Added :split! to toggle between only and split view. Added :file <command beginning> to quick run one of associated commands. Added '(' and ')' keys for normal and visual modes. Added g:vifm_exec variable for the plugin. Added backgrounding of :copy, :move and :delete commands. Added Ctrl-n (j) and Ctrl-p (k) keys. Added 'cpoptions' option. Added 'laststatus' option. Added year in the file info dialog (on Ctrl-G). Added :delete!. Added <s-f1>, ..., <s-f12>, <a-f1>, ..., <a-f12>, <c-f1>, ..., <c-f12>, only for Windows. Added kind of portable mode on Windows. Added support for :substitute command without arguments. Added horizontal splitting of views (changed :split command, added :vsplit command, changed Ctrl-w s mapping). Added Ctrl-w j and Ctrl-w k keys. Added Ctrl-w <, Ctrl-w >, Ctrl-w + and Ctrl-w - keys. Added Ctrl-w | and Ctrl-w _ keys. Added completion of environment variables (:cd, :pushd, :! and :!!). Added support for using environment variables as :cd or :pushd arguments. Added Ctrl-A and Ctrl-X keys (normal and visual modes). Added <a-X> as synonyms for <m-X> (where X is a key). Added notation to run internal vifm commands from user defined commands. Added angle bracket notation <c-s-X> and <s-c-X> as synonyms for <c-X>. Added Ctrl + Alt + letter combinations, only for *nix. Added view mode (see documentation). Added e key for normal mode. Added -c <command> and +<command> command line arguments. Added :source command. Added zh, zl, zH and zL keys for the menus (horizontal scrolling). Added ftdetect plugin for vim (now there is no need for modelines or changing .vimrc). Added more tags to the documentation in vim-help format. Added ZQ and ZZ keys to close menus and dialogs. Added 'tabstop' option. Added support of [count] for / and ?. Added :execute command. Make macros expand to paths with forward slashes on Windows. Clean selection after i key in normal mode. Don't clear terminal title on exit. Warn about symbolic links are not available. Make 'ignorecase' and 'smartcase' affect f and F. Don't show current file as selected after executing a :command and resizing terminal while it works. Show progress message (e.g. on :copy) after terminal is resized. Don't use position in the view on ' key, when 'autochpos' is off. Better check if directory was changed on Windows. Made ga and gA work in background. Don't change file extension on cloning. Better cW command. Show all shares on Windows (including private ones). Move cursor to clone of current file after file cloning. Smarter file name generation on cloning. Made i key work in visual mode. Allowed question mark for :mark command (to prevent bookmark overwriting). Made C command accept count. Made some messages about operations more correct. Allowed arguments for plugin's commands. Allowed exclamation mark for :view command (to prevent view closing). Fixed bug with stat window in the menu mode (for example after n of N keys). Fixed bug with disappearing of number of selected files in visual mode. Fixed leaving visual mode on cp key. Fixed clearing selection after :file menu. Fixed asterisk as first character in a global. Fixed running of user defined commands in the background. Fixed running external commands on Windows when 'shell' is 'cmd.exe'. Fixed bug with displaying bookmarks in the :marks menu on Windows. Fixed bug with saving bookmarks to vifminfo file. Fixed directory copying on Windows XP. Fixed permission check on copying files from a network on Windows. Fixed copying files from a network on Windows. Fixed removing of directories on Windows (at least on XP). Fixed plugin on Windows. Fixed a/c/m file time on Windows. Fixed displaying of local chars in C-G dialog on Windows. Fixed command-line shortcuts with Alt key and pdcurses library. Fixed redrawing in the :only mode. Fixed algorithm of finding vifm configuration directory on Windows. Fixed setting of numeric bookmarks (0-9). Fixed displaying of local chars in other window's title on Windows. Fixed check of directory write permissions on Windows. Fixed pausing on :!! on Windows. Fixed completion after // on Windows. Fixed quick view of files (printed "Cannot open file" sometimes). Fixed bug with processing keys (functional on Windows XP in particular). Fixed bug with showing quick view after :only command. Fixed <m-X> with pdcurses. Fixed some bugs with UNC paths on Windows. Fixed displaying of local chars in the wild menu on Windows. Fixed parsing path arguments on Windows. Fixed small issue with sorting directory names. Fixed some issues with shell escaping. Fixed bug with showing name conflict message 2nd time. Fixed viewing files with UNC paths on Windows. Fixed bug with applying :s or :gs filename modifiers several times. Fixed loading long histories (search, prompt or command) from vifminfo file. Fixed gf command on Windows. Fixed some issues with zt/zb and 'scrolloff' in menus. Fixed copying of hidden and system files on Windows. Fixed Ctrl-C handling on Windows. 0.6.3 to 0.7.0 (2011-09-29) Removed :cmdhistory command. Use :history cmd or :history :. Removed 'savelocation' option. Use set vifminfo+=dhistory. Removed support of startup file, all commands will be moved to vifmrc. Removed '<,'> range from command line in visual mode (all work without this range, because files are selected). Removed CURR color from color schemes (was unused). Returned Change dialog. Added 'wildmenu' option. Added 'ignorecase' option. Added 'smartcase' option. Added support for multi line commands in startup file. Added 'hlsearch' option. Added abbreviations for :set options. Added check for broken links of selection on :edit. Added gf command (find link destination). Added :mark command. Added :delmarks command. Added :comclear command. Added :unmap, :cunmap, :nunmap and :vunmap commands. Added :noremap, :cnoremap, :nnoremap and :vnoremap commands. Added :filetype and :fileviewer commands. Added 'vifminfo' option. Added :filextype command. Added 'shell' option. Added 'vixcmd' option. Added :find command. Added broken link color to color schemes. Added top line and status line colors to color schemes. Added al command for symbolic links with absolute paths. Added rl command for symbolic links with relative paths. Added g:vifm_term variable for the plugin. Added :substitute command (for quick file rename operations). Added filename modifiers (:p, :~, :., :h, :t, :r, :e, :s and :gs). Added gs command to work with t selection like gv with visual mode selection. Added cl command to modify symbolic link target. Added :restart command. Added %M macro. Added prompt (cw, co, cg, name conflicts) history. Added :grep command. Added vifmrc syntax and filetype files for Vim. Added 'd' state for execute flags in permission dialog. Added search and prompt history to :history command. Added argument completion for :history command. Added 'autochpos' option. Added --no-configs argument. Added :tr command. Added q key to permissions, sort and fileinfo dialogs. Added 'timeoutlen' option. Added gu and gU commands (and their variations). Added :clone command. Added :copy command. Added :move command. Added :alink and :rlink commands. Added 'scrolloff' option. Added support for using ':' instead of '=' in :set command. Added Ctrl-_ command-line key to reject completion. Added :volumes command (only for MS-Windows). Added :version command as another name for :vifm. Added FIFO color to color scheme. Added color scheme color for error messages in status bar. Added :mkdir command. Added :touch command. Added support of question mark for :colorscheme command. Added :highlight command. Added 'gdefault' option. Added black hole register ("_). Added UNC names support (MS-Windows). Added TopLineSel highlight group. Added :chmod command. Added :chown command. Added macros that are expanded to paths enclosed in double quotes (%"c, %"C, %"f, %"F, %"b, %"d and %"D) Added completion for co and cg commands. Added %S macro. Added completion for cw and cW commands. Added 'slowfs' option. Added :messages command. Added gl normal mode key (only for MS-Windows). Added support for :set all. Added support for :set command without arguments. Now spaces between option name and '?' or '!' are allowed in :set command. Handle multi line output of :set command (for example, ":set confirm? fastrun?"). Corrected size units to be like in *nix utilities (KB = 1000, K = 1024...) Update more items on ga and gA. Changed file size format. Sort completion items. Shift-Tab command line key to perform completion in reversed order. Now vifm also accepts paths to files as the startup arguments. Let user go through directories with execute access, but no read access. Now users can place scripts for vifm to ~/.vifm/scripts, vifm modifies it's PATH environment variable to let user run scripts without specifying full path. Changed format of :delete and :yank (:cmd reg count). :filter?, :invert? and :screen? to display state. Made :display and :registers accept argument (like in Vim). Now vifm understands user name after tilde in paths. Made filetype understand star as in globals. Changed format of ~/.vifm/vifmrc and ~/.vifm/vifminfo files. Removed duplicates from command and directory history. Made C handle selection, check read permission and work in visual mode. Made /, ?, n and N work in visual mode. Moved file name from quick view window to view title. Made directory history persistent (when 'vifminfo' contains dhistory). Made command line history persistent (when 'vifminfo' contains chistory). Made search history persistent (when 'vifminfo' contains shistory). Made :locate and :find without arguments repeat last search. Changed the way l key handles selection. Made dirstack persistent (when 'vifminfo' contains dirstack). Made :! accept ranges. Made l key work in visual mode. Made registers persistent (when 'vifminfo' contains registers). Documented which commands accept ranges. Made :cd and :pushd accept two arguments or an exclamation mark. Made :set command understand &. Show search matches in the menus. Made :split accept path. Made Ctrl-W in command line mode work like in Vim. Made 'vicmd' and 'vixcmd' understand & at the end. Don't quit when terminal is too small (print message and ignore input). Better ranges (added support for '+' and '-'). Handle %m, %M and %s in the :! command. Modified pushd to accept empty argument list. Made :dirs menu interactive. Now <c-?> keys can be used in mappings. Now case of color names in the colorscheme file is ignored. Documented command line keys. Handle color schemes with too many colors for terminal right. Made :apropos command accept empty argument list. Made :rename accept a list of new file names. Ownership is not preserved on copy operations anymore. Made F, f, ;, comma, n and N commands accept count. Better 'sort' option (support of multiple sort keys, added iname key). Let user use short forms of user-defined commands with "!". Made ':set option' equivalent to ':set option?' for all types of options except boolean. Made 'history' option control search, command line and prompt histories. Modify terminal emulator title. Fixed bug with name conflict of files and directories in the Trash. Fixed bug with broken symbolic links in the Trash. Fixed bug with stat_win in the menus. Fixed D<selector> when 'confirm' enabled. Fixed '< and '> after Enter key in visual mode. Fixed ga and gA bug with root directory size. Fixed bug with ":1 command". Fixed bug with gv in visual mode when '< and '> are undefined. Fixed bug with 'sortnumbers'. Fixed bug with f, F, comma and ;. Fixed bug with invalid value of %f for :udf. Fixed bug with shrinking of status bar. Fixed bug with displaying "1024 K". Fixed command line resizing in the menu mode. Fixed bug with :view and infinite loop. Fixed zR. Fixed color schemes problems. Fixed vifm freezing. Fixed bug with bookmarks. Fixed bug with undolist. Fixed :rename. Fixed cursor position after leaving directory mounted with FUSE_MOUNT2. Fixed Ctrl-D, Ctrl-U, Ctrl-F and Ctrl-B (made them work like in vim). Fixed utf8 characters treating on Ctrl-W and similar. 0.6.2 to 0.6.3 (2011-07-20) Added another format for filetype (FUSE_MOUNT2). Added %CLEAR FUSE mount parameter (see vifmrc for details). Added %c and %C macros (current file of current and other directories, not selected file or files). Added :rename command. Added undo list (u, Ctrl-R and :undolist commands; 'undolevels' option). Added small FAQ. Added gA command (like ga, but forces update). Added support for whole line comments (that start with double quote symbol). Added 'sortnumbers' option (natural sort of (version) numbers in filenames). Added :dirs command (shows directory stack). Added 'savelocation' option (start vifm in the last visited directory) which is off be default thus returning old behaviour when vifm is started with no argument. Added 'followlinks' option. Added 'fusehome' option. Added 'history' option. Added dialog to ask user about backwards range in command. Added primitive logging. Added :TabVifm command in Vim plugin. Added 'confirm' option. Added gv command for visual mode. Added :restore command. Added !! and !<selector> normal mode commands. Enter key in visual mode will leave it saving selection. Visual mode now remembers direction of the last selection. Let builtin keys be remapped. Don't cancel file renaming if user presses backspace and line is empty. Don't change directory on unsuccessful FUSE mount. Don't change cursor position of other directory after disabling quick view. Hide file group and owner names when they collide with message about filtered files. Don't show error message when trying to delete something from Trash directory. Don't replace escape sequences for :! and :!! commands. Use only executables for :!./ completion. Complete :pushd like :cd. Now location of panes is saved in ~/.vifm/vifminfo instead of ~/.vifm/vifmrc Don't filter anything when filter is set to an empty string. Show message when :delcommand is called with no arguments. Handle broken links. :edit command can accept arguments now. :map don't affect command line mode, but :map! does. Let ranges modify %f macro for user defined commands. Skip spaces between numbers in range and a command. Skip colons and spaces at the begging of cmdline command. Filter string is empty by default now. Made f and F work with wide characters. | after ! means pipe, not command separator. | after com means pipe, not command separator. Made option parser handle quotes. Mapped Ctrl-W, S to :split. Made :cd - work like in shell. Now filter regular expression can be enclosed in slashes. Don't add additional spaces before %f, %F, %c and %C macros. Don't try to :cd into directory if we cannot. Leave visual mode when leaving cmdline mode started from visual mode. <up>, <down> keys to move through history like in Vim. No more cycling in history. Don't loose input when going through history. Rename files in Trash (to avoid name conflicts). Don't terminate background processes on vifm exit. Remove files that are in the Trash on :empty command from all registers. Don't ignore Ctrl-Z. Don't clear screen on shellout. Handle Ctrl-U, Ctrl-D, Ctrl-E, Ctrl-Y, H, L, M, zz, zt, zb, <num>g and <num>G in the menus. Let %, f, F, ;, comma and ' be used as selectors in normal mode. <num>%, zb, zt, zz, <num>gg, <num>G, Ctrl+e, Ctrl+y, Ctrl+d, /Ctrl+u, f, F, ;, comma and ' in visual mode. Replaced pauseme script with vifm-pause. Replace /home/login by ~ in the view title. Handle multiple files in Vim plugin. Improved user mappings (mapping on k in k<letter> and k<selector>). Made : in normal mode accept count. Update " register on each yank/delete operation. Fixed %F, accidentally broken in v0.6.2. Fixed segmentation fault on %f or %F expanding. Fixed bug with Ctrl+W, X and quick view. Fixed bug with yanking the ".." directory (it shouldn't be possible). Fixed %b macro (added space between file names). Fixed directory leaving after FUSE error (go to mounted file, not just up). Fixed bug with selection and segmentation fault. Fixed reaction on Ctrl+C for error messages from background processes. Fixed ga command (skip symbolic links). Fixed processing of files with percent sign in their name. Fixed memory leak in directory stack module. Fixed bug when options from startup file were not applied after startup. Fixed bugs with color schemes. Fixed problem when vifm hanged without terminal. Fixed bug about truncation of the last character with selection and :e %f. Fixed some bugs with files with single and double quotes in their names. Yes, again. Fixed bug with sorting symbolic links by name. Fixed bug with losing selection before running command from visual mode. Fixed bugs with registers and segmentation fault. Fixed :d command, it is an abbreviation to :delete now. Fixed bug with :n Fixed bug with selecting last file in the view in visual mode. Fixed but with :delcommand. Fixed redraw of fileinfo dialog. Fixed some bugs with filters. Fixed :cmap. Fixed expanding of %d and %D macros in commands (quotes, again). Fixed refreshing after some commands. Fixed commands like :'<'>!echo %f Fixed one number ranges for command line commands (:2d, :4y). Fixed bug with too small inner buffer for shell commands. Fixed skipped range number (it should mean current position). Fixed p (it should move files from trash, not copy them). Fixed bug with user commands and exclamation mark. Fixed running of commands from :cmdhistory menu. Fixed execution of FUSE mount commands from :file menu. Fixed zb in normal mode (when pos < number on lines in a view). Fixed map menus (added user commands). Fixed recursion in user mappings. Fixed opening files containing spaces in their names using Vim plugin. Fixed command line size when initial message doesn't fit in one line. 0.6.1 to 0.6.2 (2011-06-19) Added map menus (run :cmap, :vmap, :nmap commands without arguments). Added :cmdhistory command. Added 'fastrun' option. Added o and O keys for Visual mode (go to other end of selection). Added gv normal mode command. Added support for spaces and functional keys in mappings (<space> and <f0> - <f63>). Added mimetype to fileinfo dialog. Added %b command macro. Made filetype menu editable. Restore SIGINT (Ctrl+C) default behaviour on shellout. Replace escape sequences in quick view output with ^foo. Give options if a file already exists in destination directory. Implemented :colorscheme command. Unmount all FUSE mounts on exit. Implemented :vifm command. More verbose --version (and -v) output. Added Ctrl+C key handling to error message dialog. Implemented :yank command. Made command completion work with marks. Use file command when GTK+ and libmagic are disabled. Made :cd %D work. Better error messages. Use ga command results to sort by size. Fixed '< and '> marks handling. Fixed :!./ completion. Fixed paths in config.c to work with non standard install prefix. Fixed a bug with ':!!echo foo'. Fixed some title related small bugs. Fixed terminal resize when error message visible. Fixed yy when compatibility mode is off. Fixed some bugs with files with quotes in their names. Fixed segmentation fault on FUSE mount. Fixed missed status bar messages. 0.6 to 0.6.1 (2011-06-11) Added :set command. Added caching for results of ga command. Don't reload pane on ctrl-c or escape, just clean selection. Store commands separated by | as one history item. Don't add duplicates into command history. Don't add commands from startup file and mappings to command history. Use ! with :quit or :x to discard configuration changes. Use checksum to determine if configuration file has been modified. :write! will write config even if no setting was changed. Always save pane locations on exit except on :q!, :quit! and ZQ. Don't switch active pane on Ctrl+W X. Fixed bug with sorting (using sort type of invalid pane). Bug Fix. Don't change selected items on terminal resize. Fixed a couple of segmentation faults on unsuccessful FUSE mount. Fixed n and N commands (used to repeat wrong search pattern). Fixed a bug with relative paths in arguments. 0.5 to 0.6 (2011-06-10) Added :wq command. Added ZZ and ZQ commands. Added Ctrl+D and Ctrl+U commands. Added zb, zt and zz commands. Added Ctrl+E and Ctrl+Y commands. Added Ctrl+W W, Ctrl+W O, Ctrl+W V and Ctrl+W X commands. Added i command to force file opening even for executables. Added IEC abbreviations. Added Ctrl+U, Ctrl+N, Ctrl+P, Ctrl+K, Ctrl+W, Meta+F and Meta+B in command line mode. Added Home and End keys support in command line mode. Added backward search (?). Added :map, :nmap, :cmap, :vmap commands. Added co (change owner), cg (change group) and cp (change permissions) commands. Added utf8 support. Added support for motions with d and y commands. Added startup file. Added f, F, ; and <comma> normal mode commands. Added group to stat line. Added custom viewers for files. Added D normal mode command (deletes files omitting trash directory). Added P normal mode command (moves yanked files). Added :write command (write config file) with alias :w. Added progress messages for putting and deleting. Added users command completion for :delcommand and :command. Added a, s and S file selectors. Added --enable-extended-keys and --enable-compatibility-mode configure options. Added Ctrl+o and Ctrl+i normal mode commands to traverse through history. Added ! and !! completion. Added support for multiple commands per line (with | as delimiter). Added ga command (calculate directory size). Added cW command (change only name of file and leave old extension). Added :pushd and :popd commands. Added detection of file handlers with GTK+ or libmagic and .desktop files (it works only for :file command). Added C command (clone file). Changed keys input handling. Changed force dot files appear at the beginning of file list. Changed command line length limit. Changed history of visited directories. Changed ascending/descending sort for all types of criteria. Changed behavior of filename cell in stat line (automatic expands now). Changed :cd completion to use only directories. Changed permissions dialog to work with selected files. Fixed segmentation fault caused by newwin. Fixed segmentation fault caused by bookmarks menu. Fixed now view is updated after several commands. Fixed bug with empty command line. Fixed file renaming. Fixed ranges handling. Fixed behavior of n and N commands for different search directions. Fixed filename completion. Fixed user commands completion. Fixed memory allocation for history. Fixed work with registers. Fixed bug with disappearing pane cursor (for example after shellout). Fixed bug when trailing slash wasn't cut from directory name on macro expanding. Fixed running executables with spaces in their names. 0.4 to 0.5 (2009-08-07) Changed the file size to a human friendly notation. Added ascending and descending sort types. Changed the way symbolic directories are handled. Fixed possible buffer overflow in colorschemes. Fixed transparency in colorschemes. Changed writing to vifmrc file to query user if they would like to overwrite a file that has been modified. Added filetype settings for mounting files with fuse-zip. Pauseme script was changed to report errors. Command line input now accepts wide characters and tab completion now cycles through all possible matches. ncursesw is now required to build vifm. 0.3a to 0.4 (2008-06-16) Color schemes added - required a change to the vifmrc file. UTF-8 support Quick view of current file with :view command. Hopefully fixed bug when starting vifm with a directory on the command line. Changed executable file to check for filetypes. If you have vifm set to not run executable files, it will now first check for a filetype setting and if present will use the program you set to open the file. If no filetype is set it will open the file in vi. Fixed delete command when dd in :com window. 0.3 to 0.3a (2005-08-17) Files with % in the name should work now. The symlinks in the tarball were replaced with the actual scripts. 0.2 to 0.3 (2005-07-18) Added error message for shell commands that are too long. Added :split, :only for one window view. Added :ls command for screen and %s macro. Added . to repeat last command. This currently only works with :commands. When deleting or putting files the process is backgrounded but it now waits for the process to return so that the changes show up quicker in the file lists. Removed the code to change the xterm title. User commands and the builtin commands now work with <Tab> expansion. :! and :!! now work with tab expansion. Changed waitpid to a loop. Removed the timing thread. Redirected error messages of processes run in the background. :jobs command shows menu of backgrounded processes. :!! segfault fixed by Dmitry Suzdalev. Readline like expansion of files now escapes the filename. Fixed menu scrolling bug when the menu list was the same size as window rows. 0.1 to 0.2 (2003-05-06) File names are now escaped before going to the shell. The menus are now searchable with / or ? and basic commands :45 or :quit. The current position was changed to a solid bar instead of an arrow. Basic readline file completion. Command and pattern history. Colors are now configurable. cw can be used to rename files. Added a keys pressed window in the status bar to show the first d of dd, numbers for 12G or 33j movement commands, and first y of yy. User commands are now sorted in alphabetical order so that they may be used in the shortest form that does not match another command. The :command parsing was rewritten. The default action on an executable file was changed to a configurable option. The default is now to view the file instead of executing it. New :commands :locate command uses locate. :apropos command - shows list of man pages in menu window. :sync command - changes the other panel to the same directory as the current panel. New Key bindings Normal mode: M - move to the middle of the window. L - move to the bottom of the window. H - move to the top of the window. V - switch to visual mode. Y - yank the currently selected files. Visual mode: M - select from the current position to the middle of the list. L - select from the current position to the bottom of the list. H - select from the current position to the top of the list. The bookmarks code was rewritten. The automatic updating of the file lists was rewritten.