xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit b3f7ae6eaba148b3bdef6eb25f5551657eb3624e

Wrap lines in the latest NEWS file section
Author: xaizek
Author date (UTC): 2015-07-08 13:59
Committer name: xaizek
Committer date (UTC): 2015-07-09 13:28
Parent(s): dd2ec7f3aa768159b162bb62fdf3d8b065ca01d4
Signing key:
Tree: 52e24a19a3601d24f75c8a4fc65c76fd75e4b47c
File Lines added Lines deleted
NEWS 134 60
File NEWS changed (mode: 100644) (index f3c93127e..cff7c0b07)
... ... Main changes:
50 50 - XDG specification support. - XDG specification support.
51 51
52 52 File operations: File operations:
53 - added per-file overwrite confirmation on directory merging (thanks to willemw12);
53 - added per-file overwrite confirmation on directory merging (thanks to
54 willemw12);
54 55 - added detailed list of errors when 'syscalls' is used (thanks to willemw12). - added detailed list of errors when 'syscalls' is used (thanks to willemw12).
55 56
56 57 Key bindings: Key bindings:
57 - 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);
58 - added b key to menu mode that creates custom view filled with menu items filtering out those that are not paths;
58 - added F key to less-like (file view) mode, which acts similar to `tail -F` or
59 F key in less (thanks to Daniel Dettlaff, a.k.a. dmilith);
60 - added b key to menu mode that creates custom view filled with menu items
61 filtering out those that are not paths;
59 62 - added zd normal and visual modes key to exclude items from custom views; - added zd normal and visual modes key to exclude items from custom views;
60 - optional per-file progress in dialog mode activated by hitting "i" while operation is being performed.
63 - optional per-file progress in dialog mode activated by hitting "i" while
64 operation is being performed.
61 65
62 66 :set command and options: :set command and options:
63 - added 'chaselinks' option to automatically expand all symbolic links in path of a view (might not work on Windows) (thanks to filterfalse);
64 - added 'mintimeout' option. It enables controlling responsiveness on external events by Vifm (thanks to hofheinz);
65 - added 'wordchars' option to specify which characters in command-line mode should be considered as part of a word (thanks to filterfalse);
67 - added 'chaselinks' option to automatically expand all symbolic links in path
68 of a view (might not work on Windows) (thanks to filterfalse);
69 - added 'mintimeout' option. It enables controlling responsiveness on external
70 events by Vifm (thanks to hofheinz);
71 - added 'wordchars' option to specify which characters in command-line mode
72 should be considered as part of a word (thanks to filterfalse);
66 73 - added ^= operation for charset options; - added ^= operation for charset options;
67 74 - added %[ and %] macros for 'statusline'/'ruler' (thanks to ranousse); - added %[ and %] macros for 'statusline'/'ruler' (thanks to ranousse);
68 - added "p" to 'shortmess' option to control tilde shortening of path in view titles (thanks to Martin Fischer);
69 - changed default value of 'trashdir' from "$VIFM/Trash" to "%r/.vifm-Trash,$VIFM/Trash" (thanks to Joseph LP, a.k.a. ootput);
70 - 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);
71 - united last pattern of :substitute command with search history (thanks to filterfalse).
75 - added "p" to 'shortmess' option to control tilde shortening of path in view
76 titles (thanks to Martin Fischer);
77 - changed default value of 'trashdir' from "$VIFM/Trash" to
78 "%r/.vifm-Trash,$VIFM/Trash" (thanks to Joseph LP, a.k.a. ootput);
79 - normalized sorting keys/view column names: "type" -> "dir", display real mode
80 in octal for "mode", make "type" actually display file type (as "mode" did
81 before) (thanks to Michal Belica, a.k.a. beli-sk);
82 - united last pattern of :substitute command with search history (thanks to
83 filterfalse).
72 84
73 85 Command-line mode: Command-line mode:
74 - added :highlight {pattern} for filename specific highlight (thanks to Ink, a.k.a. inknoir, filterfalse and Michael Maddern, a.k.a. madders);
75 - added :cabbrev, :cnoreabbrev and :cunabbrev commands to manage command-line mode abbreviations (thanks to filterfalse);
76 - added Ctrl-X / (slash) key to that inserts last search pattern into current cursor position (thanks to filterfalse);
86 - added :highlight {pattern} for filename specific highlight (thanks to Ink,
87 a.k.a. inknoir, filterfalse and Michael Maddern, a.k.a. madders);
88 - added :cabbrev, :cnoreabbrev and :cunabbrev commands to manage command-line
89 mode abbreviations (thanks to filterfalse);
90 - added Ctrl-X / (slash) key to that inserts last search pattern into current
91 cursor position (thanks to filterfalse);
77 92 - added Ctrl-] key to trigger abbreviation expansion; - added Ctrl-] key to trigger abbreviation expansion;
78 - added single-argument form of :file[x]type and :fileviewer commands that lists (in menu mode) currently registered patterns that match specified file name;
79 - added :cq[uit] command to exit with non-zero exit code and also abort directory choosing (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran);
80 - added :trashes? to display sizes of each non-empty trash directories (thanks to Svyatoslav Mishyn, a.k.a. juef);
81 - added regexp patterns to :file[x]type and :fileviewer commands (thanks to filterfalse);
93 - added single-argument form of :file[x]type and :fileviewer commands that
94 lists (in menu mode) currently registered patterns that match specified file
95 name;
96 - added :cq[uit] command to exit with non-zero exit code and also abort
97 directory choosing (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran);
98 - added :trashes? to display sizes of each non-empty trash directories (thanks
99 to Svyatoslav Mishyn, a.k.a. juef);
100 - added regexp patterns to :file[x]type and :fileviewer commands (thanks to
101 filterfalse);
82 102 - added :redr[aw] command to force immediate redraw (thanks to filterfalse); - added :redr[aw] command to force immediate redraw (thanks to filterfalse);
83 - allow non-printable characters to be arguments of :commands (thanks to filterfalse);
84 - extended :sync command to support selective synchronization (user can choose among location, cursor position, local options and filters) (thanks to filterfalse).
103 - allow non-printable characters to be arguments of :commands (thanks to
104 filterfalse);
105 - extended :sync command to support selective synchronization (user can choose
106 among location, cursor position, local options and filters) (thanks to
107 filterfalse).
85 108
86 109 Completion: Completion:
87 110 - complete `clear` subcommand of :highlight. - complete `clear` subcommand of :highlight.
88 111
89 112 Angle bracket notation: Angle bracket notation:
90 - added <lt> angle bracket notation (less-than character, '<') (thanks to filterfalse);
91 - map <c-h> and <bs> to different key codes (thanks to fogine). This is caused by inconsistency among terminals, map to both keys and it should work everywhere.
113 - added <lt> angle bracket notation (less-than character, '<') (thanks to
114 filterfalse);
115 - map <c-h> and <bs> to different key codes (thanks to fogine). This is caused
116 by inconsistency among terminals, map to both keys and it should work
117 everywhere.
92 118
93 119 Macros: Macros:
94 - 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);
95 - 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);
96 - no more unjustified inconsistency in processing macros in :! and :file[x]type commands (thanks to Miodrag Tokić, a.k.a. loonies).
120 - added %px, %py, %pw and %ph macros that describe location and dimensions of
121 preview area to use in external commands (thanks to Stephano, a.k.a. cao);
122 - added %u and %U macros to redirect command output directly into custom view.
123 The second one allows for more customization of file list, which is absence
124 of sorting for now (thanks to filterfalse);
125 - no more unjustified inconsistency in processing macros in :! and :file[x]type
126 commands (thanks to Miodrag Tokić, a.k.a. loonies).
97 127
98 128 Scripting: Scripting:
99 - added system() builtin function that executes command via shell and returns its output;
129 - added system() builtin function that executes command via shell and returns
130 its output;
100 131 - added full path patterns ({{globs}} and //regexp//) (thanks to astrell); - added full path patterns ({{globs}} and //regexp//) (thanks to astrell);
101 - report error on wrong expression in :if statement and misplaced :else/:endif on file sourcing.
132 - report error on wrong expression in :if statement and misplaced :else/:endif
133 on file sourcing.
102 134
103 135 Color scheme: Color scheme:
104 136 - added JobLine highlight group for the job bar. - added JobLine highlight group for the job bar.
105 137
106 138 Configuration: Configuration:
107 - added fallback to use "XDG Base Directory Specification" when failed to find configuration in other places (thanks to Miodrag Tokić, a.k.a. loonies);
108 - added global configuration {prefix}/etc/vifm/vifmrc and color schemes {prefix}/etc/vifm/colors/* (thanks to astrell and Michael Vetter, a.k.a. jubalh).
139 - added fallback to use "XDG Base Directory Specification" when failed to find
140 configuration in other places (thanks to Miodrag Tokić, a.k.a. loonies);
141 - added global configuration {prefix}/etc/vifm/vifmrc and color schemes
142 {prefix}/etc/vifm/colors/* (thanks to astrell and Michael Vetter, a.k.a.
143 jubalh).
109 144
110 145 Performance: Performance:
111 - significantly reduced amount of work performed by Vifm in idle state (thanks to hofheinz);
146 - significantly reduced amount of work performed by Vifm in idle state (thanks
147 to hofheinz);
112 148 - quit fast on --help/--version (thanks to Svyatoslav Mishyn, a.k.a. juef); - quit fast on --help/--version (thanks to Svyatoslav Mishyn, a.k.a. juef);
113 - throw away dead directories in directory histories on merging vifminfo files. Otherwise clearing such directories on :history is almost useless.
149 - throw away dead directories in directory histories on merging vifminfo files.
150 Otherwise clearing such directories on :history is almost useless.
114 151
115 152 Menus and dialogs: Menus and dialogs:
116 153 - made calculation of directory size visible in :jobs menu; - made calculation of directory size visible in :jobs menu;
117 - parse output of mandoc version of apropos in :apropos (thanks to Svyatoslav Mishyn, a.k.a. juef).
154 - parse output of mandoc version of apropos in :apropos (thanks to Svyatoslav
155 Mishyn, a.k.a. juef).
118 156
119 157 TUI (Text User Interface): TUI (Text User Interface):
120 - added search match highlighting for file names (thanks to Svyatoslav Mishyn, a.k.a. juef, and willemw12);
121 - added job bar that displays backgrounded file operations if any (thanks to geo909);
158 - added search match highlighting for file names (thanks to Svyatoslav Mishyn,
159 a.k.a. juef, and willemw12);
160 - added job bar that displays backgrounded file operations if any (thanks to
161 geo909);
122 162 - redraw UI on resize during file operation when 'syscalls' is set; - redraw UI on resize during file operation when 'syscalls' is set;
123 163 - redraw UI on resize when dialog is active; - redraw UI on resize when dialog is active;
124 - dynamic dialog dimensions (minimum %30 percent of the screen rather than screen-wide all the time) (thanks to Svyatoslav Mishyn, a.k.a. juef);
125 - auto-resize position field on the status bar to fit the text (thanks to ranousse).
164 - dynamic dialog dimensions (minimum %30 percent of the screen rather than
165 screen-wide all the time) (thanks to Svyatoslav Mishyn, a.k.a. juef);
166 - auto-resize position field on the status bar to fit the text (thanks to
167 ranousse).
126 168
127 169 Documentation: Documentation:
128 170 - manual page fixes/improvements (thanks to Svyatoslav Mishyn, a.k.a. juef); - manual page fixes/improvements (thanks to Svyatoslav Mishyn, a.k.a. juef);
129 - wrapped option names with single quotes in the man page to make it easier to search for options by their names.
171 - wrapped option names with single quotes in the man page to make it easier to
172 search for options by their names.
130 173
131 174 Packaging: Packaging:
132 - added one more light color scheme to assets (in two variations astrell-root and astrell-user) (thanks to astrell);
133 - added lookup for mandoc on *nix to perform manual page to plain text transformation (thanks to Svyatoslav Mishyn, a.k.a. juef);
134 - 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);
135 - 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);
136 - added .vifm extension to color schemes (initial rename is performed automatically) (thanks Michael Vetter, a.k.a. jubalh);
137 - 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;
175 - added one more light color scheme to assets (in two variations astrell-root
176 and astrell-user) (thanks to astrell);
177 - added lookup for mandoc on *nix to perform manual page to plain text
178 transformation (thanks to Svyatoslav Mishyn, a.k.a. juef);
179 - added OS X version of sample vifmrc file. Now this one will be used on first
180 run on OS X (thanks to Larry Hynes, a.k.a. larryhynes);
181 - added dircolors -> vifm conversion script (thanks to Ink, a.k.a. inknoir,
182 Hendrik Jaeger, a.k.a. henk, and Michael Maddern, a.k.a. madders);
183 - added .vifm extension to color schemes (initial rename is performed
184 automatically) (thanks Michael Vetter, a.k.a. jubalh);
185 - install AUTHORS, COPYING, ChangeLog, INSTALL, NEWS, README and TODO to
186 {prefix}/share/doc/vifm. Install color schemes to
187 {prefix}/share/vifm/colors. Otherwise these are not available after
188 installation;
138 189 - made configure script lookup curs_set in libtinfo; - made configure script lookup curs_set in libtinfo;
139 190 - moved checks for build-time tools existence from Makefile to configure script; - moved checks for build-time tools existence from Makefile to configure script;
140 - made tests less dependent on environment (thanks to Hendrik Jaeger, a.k.a. henk).
191 - made tests less dependent on environment (thanks to Hendrik Jaeger, a.k.a.
192 henk).
141 193
142 194 Only on Windows: Only on Windows:
143 195 - automatically install sample vifmrc and help file on first start; - automatically install sample vifmrc and help file on first start;
144 - switch to utf-8 internal representation of paths. This fixes issues when file name encoding doesn't match system encoding (thanks to Stas Panteleev).
196 - switch to utf-8 internal representation of paths. This fixes issues when
197 file name encoding doesn't match system encoding (thanks to Stas Panteleev).
145 198
146 199 Major fixes: Major fixes:
147 - fixed undesired file removal on overwriting them with themselves (data loss after confirmation of overwriting files when destination matches source) (thanks to Сергей Соловьёв (Sergej Soloviov));
148 - fixed crash on navigation to end of line in command-line mode (thanks to Christian Fillion, a.k.a. cfillion);
149 - fixed `:help` (no arguments) when 'vimhelp' is on and automatically installed Vim documentation is used (thanks to ranousse);
200 - fixed undesired file removal on overwriting them with themselves (data loss
201 after confirmation of overwriting files when destination matches source)
202 (thanks to Сергей Соловьёв (Sergej Soloviov));
203 - fixed crash on navigation to end of line in command-line mode (thanks to
204 Christian Fillion, a.k.a. cfillion);
205 - fixed `:help` (no arguments) when 'vimhelp' is on and automatically installed
206 Vim documentation is used (thanks to ranousse);
150 207 - better handling of case related operations; - better handling of case related operations;
151 208 - fixed ":vs .." which used to use wrong base directory; - fixed ":vs .." which used to use wrong base directory;
152 - fixed assertion on including "type" in 'viewcolumns' value (thanks to Michal Belica, a.k.a. beli-sk);
209 - fixed assertion on including "type" in 'viewcolumns' value (thanks to Michal
210 Belica, a.k.a. beli-sk);
153 211 - better FUSE handling on OS X (thanks to Michael Maddern, a.k.a. madders). - better FUSE handling on OS X (thanks to Michael Maddern, a.k.a. madders).
154 212
155 213 Vim-plugin: Vim-plugin:
156 - added K mapping to Vim plugin (quick navigation to documentation, e.g. from vifmrc). Patch by filterfalse.
214 - added K mapping to Vim plugin (quick navigation to documentation, e.g. from
215 vifmrc). Patch by filterfalse.
157 216
158 217 Other changes: Other changes:
159 - 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);
160 - 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);
161 - added --on-choose command-line switch to execute a command on selection rather than opening it (thanks to Ross Hadden, a.k.a. rosshadden);
162 - added %FOREGROUND FUSE mounting option, which supersedes %CLEAR and fixes issue with passing input to FUSE mounter (thanks to Johannes, a.k.a. johannesmeng);
163 - 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;
164 - better handling or unexpectedly unavailable directories on startup and while running (thanks to willemw12);
165 - 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);
166 - allowed having multiple file viewers with same rules for choosing them at run-time as for file associations (thanks to filterfalse);
167 - redirect both standard output and error streams from viewers (already was the case for Windows);
168 - 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).
218 - added --delimiter command-line option. Configures delimiter string on
219 writing out list of paths (like on `-f` switch) (thanks to Jeet Sukumaran,
220 a.k.a. jeetsukumaran);
221 - added --choose-files and --choose-dir command-line switches to specify output
222 location for names of selected files or last visited directory
223 respectively (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran);
224 - added --on-choose command-line switch to execute a command on selection
225 rather than opening it (thanks to Ross Hadden, a.k.a. rosshadden);
226 - added %FOREGROUND FUSE mounting option, which supersedes %CLEAR and fixes
227 issue with passing input to FUSE mounter (thanks to Johannes, a.k.a.
228 johannesmeng);
229 - removed per-view last search pattern. Don't worry, you probably won't even
230 notice it: this doesn't affect regular use case, rather more exotic one,
231 which is hard to notice;
232 - better handling or unexpectedly unavailable directories on startup and while
233 running (thanks to willemw12);
234 - define $VIFM_FUSE_FILE environment variable for external commands to
235 communicate path to file used to initiate FUSE mounting of directory we're
236 in (thanks to astrell);
237 - allowed having multiple file viewers with same rules for choosing them at
238 run-time as for file associations (thanks to filterfalse);
239 - redirect both standard output and error streams from viewers (already was the
240 case for Windows);
241 - handle commands that are too long to be passed directly to the shell by
242 breaking them into list of arguments if possible (thanks to filterfalse).
169 243
170 244 See change log for full list of changes and by whom they were suggested. See change log for full list of changes and by whom they were suggested.
171 245
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master