-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
5433 lines (4657 loc) · 240 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
September 29, 2021
==================
Vifm v0.12
----------
New version makes textual preview asynchronous, provides support for 24-bit
colors, improves tree-view and introduces experimental Lua plugins support.
Thanks to everyone who tried out the beta.
Main changes:
- color schemes and preview now support 24-bit colors;
- depth of tree-view can now be limited and directories in it can be folded;
- textual preview of files is now done asynchronously;
- list of files can now be directly piped to programs via new macros;
- external editing now asks for a re-edit after a failure;
- status line can now take up several lines;
- new keys for controlling viewer while in view mode;
- view column separators;
- Vifm has received a more advanced, but currently experimental, extension
interface in a form of Lua plugins;
- new logo.
More detailed list of changes.
Core:
- added experimental Lua plugins support;
- added interactive re-editing of file names in external editor. Format now
supports comments for displaying last error and original file names (thanks
to Jose Riha, a.k.a. jose1711 and Diogo Lemos (a.k.a. dmlemos));
- started using quickview's cache in view mode;
- extended cache of viewer's output to contain multiple entries (initial
version of the cache was added to skip redrawing graphics);
- run background programs detached from a terminal (thanks to Miguel Madrid
Mencía, a.k.a. mimame).
File operations:
- added periodic forced flushing of data on copying data when 'syscalls' is set
(thanks to Matthias Braun, a.k.a. mb720).
Invocation:
- don't list inaccessible instances on --server-list.
Important fixes:
- fixed losing files as a result of executing ":copy! &" or ":move! &" when
both panes show the same directory (thanks to Hans Bieshaar);
- fixed copying of executable files not working on FreeBSD (thanks to
makijato);
- fixed inability to map escape sequences due to extended keys in terminfo
database (patch by M Kelly);
- fixed hang on using previewer that takes over control over the terminal (like
7z does to read password) (thanks to PRESFIL);
- fixed vifm-convert-dircolors dropping copies of entries that differ only by
case (thanks to flux242).
Normal and visual modes:
- added zx normal mode key to fold/unfold directories in tree views. The
implementation is not optimal at this moment though (thanks to filterfalse,
Ben Lu, a.k.a. ayroblu, RR0925 and Alexandre Viau).
Key bindings:
- added a and A view mode keys that switch to next and previous viewer of
current file correspondingly (thanks to j-xella);
- added i view mode key that toggles raw mode (ignoring of defined viewers)
(thanks to j-xella).
Command-line mode:
- added :plugins command that opens plugins menu;
- added :plugin command that manages plugins;
- added :st[op] command what behaves like Ctrl-Z. It's to be used in mappings
(thanks to GummyGun);
- added "depth=N" parameter to the :tree command (thanks to filterfalse);
- added "combine" pseudo-attribute to "cterm" parameter of :highlight command.
It changes behaviour from overwriting attributes of a parent highlight group
(within their hierarchy) to appending to it (thanks to Andrew Savchenko);
- added "gui", "guifg" and "guibg" parameters to :highlight command;
- added network mount and `subst` targets to :volumes menu (patch by Phil
Runninger);
- made :compare obey file name filters (patch by qsmodo);
- allow user-defined commands to include numbers in their names (thanks to
anonymous at Vifm Q2A site).
:set command and options:
- added %P macro to 'rulerformat' (and thus to 'statusline'), which expands to
All, Top, xx% or Bot to indicate position within the view (thanks to
iSeeU816);
- added 'previewoptions' option to allow tweaking graphics preview a bit
(thanks to Joshua Jensch, a.k.a., patroclos and flux242);
- added "toptreestats" value to 'previewoptions' option, which makes stats
appear before the tree (patch by qsmodo);
- added literal values to 'viewcolumns' option (thanks to Jose Riha, a.k.a.
jose1711, chelovechishko, DieSpinne and rwtallant13);
- added %N macro to 'statusline' option, which adds a line break and increases
height of the status line (thanks to Jose Riha, a.k.a. jose1711, qsmodo and
jcarreja);
- added "l" and "r" flags to the 'tuioptions' option. It controls truncation
of view titles (patch by qsmodo);
- added %c 'statusline' macro that displays size of current file-system (thanks
to Jose Riha, a.k.a. jose1711).
Macros:
- added %Pl and %Pz macros for redirecting list of files to standard input of
commands (thanks to PRESFIL);
- added %v macro for vertical splitting in terminal multiplexers (patch by
qsmodo).
File preview:
- allow exploring empty files or output of viewers (thanks to Andrew
Savchenko);
- implemented asynchronous previewing for textual and pass-through (think
sixel) viewers (thanks to StillSteal, laur89, Joshua Jensch, a.k.a. patroclos
and p-kolacz);
- detect broken links on preview and report them as such.
Color schemes:
- changed semantics of light* color groups to add bold attribute only for
terminals with less than 16 colors. Aligns the behaviour with Vim. Affects
you only if you relied on that implicit bold attribute (thanks to Jose Riha,
a.k.a. jose1711).
Menus and dialogs:
- added shortcuts for toggling flags in permissions dialog on *nix (patch by
qsmodo);
- added some additional information about instance to the :version/:vifm menu;
- made contents of map menus easier to comprehend by adding captions;
- include shortcut prefix in title of map menus;
- always display UID/GID in numeric form in File Info dialog (in parenthesis if
the id was resolved to a string).
TUI (Text User Interface):
- added support for direct/"true"/24-bit colors for ncurses 6.0 or later
(thanks to Anton Kochkov, a.k.a. XVilka and IvanBarsukov);
- added progress indication to the ruler of the view mode (corresponds to new
%P macro of 'rulerformat') (thanks to iSeeU816).
Documentation:
- document how %i macro affects background jobs.
Only on Windows:
- fixed :goto not working with backslashes (thanks to Grueslayer);
- fixed processing of keypad keys (thanks to Roland);
- fixed :empty leaving empty directories (thanks to Grueslayer).
Packaging:
- made it possible to build AppImage for Vifm (patch by michaellee8);
- fixed running tests as root user (thanks to Michka Popoff, a.k.a. iMichka);
- fixed an issue with packaging on one system (Linux in this case) and
building on the other (OS X) (thanks to chenrui333).
Vim-plugin:
- made :VifmCs of the plugin handle 24-bit colors.
Other changes:
- updated logo of the project (thanks to Hescalalu for making it).
See change log for the full list of changes and by whom they were suggested or
implemented.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
September 15, 2021
==================
Vifm v0.12 beta
---------------
New version makes textual preview asynchronous, provides support for 24-bit
colors, improves tree-view and introduces experimental Lua plugins support.
The beta stage will last about two weeks. In case any serious bugs are found
during this period, another beta version might be released.
Main changes:
- color schemes and preview now support 24-bit colors;
- depth of tree-view can now be limited and directories in it can be folded;
- textual preview of files is now done asynchronously;
- list of files can now be directly piped to programs via new macros;
- external editing now asks for a re-edit after a failure;
- status line can now take up several lines;
- Vifm has received a more advanced, but currently experimental, extension
interface in a form of Lua plugins.
More detailed list of changes.
Core:
- added experimental Lua plugins support;
- added interactive re-editing of file names in external editor. Format now
supports comments for displaying last error and original file names (thanks
to Jose Riha, a.k.a. jose1711 and Diogo Lemos (a.k.a. dmlemos));
- started using quickview's cache in view mode;
- extended cache of viewer's output to contain multiple entries (initial
version of the cache was added to skip redrawing graphics);
- run background programs detached from a terminal (thanks to Miguel Madrid
Mencía, a.k.a. mimame).
File operations:
- added periodic forced flushing of data on copying data when 'syscalls' is set
(thanks to Matthias Braun, a.k.a. mb720).
Invocation:
- don't list inaccessible instances on --server-list.
Important fixes:
- fixed losing files as a result of executing ":copy! &" or ":move! &" when
both panes show the same directory (thanks to Hans Bieshaar);
- fixed copying of executable files not working on FreeBSD (thanks to
makijato);
- fixed inability to map escape sequences due to extended keys in terminfo
database (patch by M Kelly);
- fixed hang on using previewer that takes over control over the terminal (like
7z does to read password) (thanks to PRESFIL);
- fixed vifm-convert-dircolors dropping copies of entries that differ only by
case (thanks to flux242).
Normal and visual modes:
- added zx normal mode key to fold/unfold directories in tree views. The
implementation is not optimal at this moment though (thanks to filterfalse,
Ben Lu, a.k.a. ayroblu, RR0925 and Alexandre Viau).
Key bindings:
- added a and A view mode keys that switch to next and previous viewer of
current file correspondingly (thanks to j-xella);
- added i view mode key that toggles raw mode (ignoring of defined viewers)
(thanks to j-xella).
Command-line mode:
- added :plugins command that opens plugins menu;
- added :plugin command that manages plugins;
- added :st[op] command what behaves like Ctrl-Z. It's to be used in mappings
(thanks to GummyGun);
- added "depth=N" parameter to the :tree command (thanks to filterfalse);
- added "combine" pseudo-attribute to "cterm" parameter of :highlight command.
It changes behaviour from overwriting attributes of a parent highlight group
(within their hierarchy) to appending to it (thanks to Andrew Savchenko);
- added "gui", "guifg" and "guibg" parameters to :highlight command;
- added network mount and `subst` targets to :volumes menu (patch by Phil
Runninger);
- made :compare obey file name filters (patch by qsmodo);
- allow user-defined commands to include numbers in their names (thanks to
anonymous at Vifm Q2A site).
:set command and options:
- added %P macro to 'rulerformat' (and thus to 'statusline'), which expands to
All, Top, xx% or Bot to indicate position within the view (thanks to
iSeeU816);
- added 'previewoptions' option to allow tweaking graphics preview a bit
(thanks to Joshua Jensch, a.k.a., patroclos and flux242);
- added "toptreestats" value to 'previewoptions' option, which makes stats
appear before the tree (patch by qsmodo);
- added literal values to 'viewcolumns' option (thanks to Jose Riha, a.k.a.
jose1711, chelovechishko, DieSpinne and rwtallant13);
- added %N macro to 'statusline' option, which adds a line break and increases
height of the status line (thanks to Jose Riha, a.k.a. jose1711, qsmodo and
jcarreja);
- added "l" and "r" flags to the 'tuioptions' option. It controls truncation
of view titles (patch by qsmodo);
- added %c 'statusline' macro that displays size of current file-system (thanks
to Jose Riha, a.k.a. jose1711).
Macros:
- added %Pl and %Pz macros for redirecting list of files to standard input of
commands (thanks to PRESFIL);
- added %v macro for vertical splitting in terminal multiplexers (patch by
qsmodo).
File preview:
- allow exploring empty files or output of viewers (thanks to Andrew
Savchenko);
- implemented asynchronous previewing for textual and pass-through (think
sixel) viewers (thanks to StillSteal, laur89, Joshua Jensch, a.k.a. patroclos
and p-kolacz);
- detect broken links on preview and report them as such.
Color schemes:
- changed semantics of light* color groups to add bold attribute only for
terminals with less than 16 colors. Aligns the behaviour with Vim. Affects
you only if you relied on that implicit bold attribute (thanks to Jose Riha,
a.k.a. jose1711).
Menus and dialogs:
- added shortcuts for toggling flags in permissions dialog on *nix (patch by
qsmodo);
- added some additional information about instance to the :version/:vifm menu;
- made contents of map menus easier to comprehend by adding captions;
- include shortcut prefix in title of map menus;
- always display UID/GID in numeric form in File Info dialog (in parenthesis if
the id was resolved to a string).
TUI (Text User Interface):
- added support for direct/"true"/24-bit colors for ncurses 6.0 or later
(thanks to Anton Kochkov, a.k.a. XVilka and IvanBarsukov);
- added progress indication to the ruler of the view mode (corresponds to new
%P macro of 'rulerformat') (thanks to iSeeU816).
Documentation:
- document how %i macro affects background jobs.
Only on Windows:
- fixed :goto not working with backslashes (thanks to Grueslayer);
- fixed processing of keypad keys (thanks to Roland);
- fixed :empty leaving empty directories (thanks to Grueslayer).
Packaging:
- made it possible to build AppImage for Vifm (patch by michaellee8);
- fixed running tests as root user (thanks to Michka Popoff, a.k.a. iMichka);
- fixed an issue with packaging on one system (Linux in this case) and
building on the other (OS X) (thanks to chenrui333).
Vim-plugin:
- made :VifmCs of the plugin fail when 'termguicolors' produces a 24-bit color
value (thanks to AtomToast).
Other changes:
- updated logo of the project (thanks to Hescalalu for making it).
See change log for the full list of changes and by whom they were suggested or
implemented.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
September 24, 2020
==================
Vifm v0.11
----------
New version finally updates format of vifminfo file unblocking changes like
persistent tabs, sessions and timestamp-based merging of histories. In
addition to that there were a number of improvements in user interface and
multiple performance-related improvements.
Thanks to everyone who tried out the beta.
Main changes:
- added persistent tabs;
- added sessions;
- new format of vifminfo file (old version is imported on first run);
- smarter merging of histories between runs that avoids dropping of new
entries;
- version of default color scheme for 256-color terminals;
- make tab labels customizable;
- try to keep ratio of pane sizes constant on resizes, restarts and tab
switching;
- various performance improvements.
More detailed list of changes.
Normal and visual modes:
- 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);
- improve navigation on gf key. Do fewer refreshes and disable filters to
make target visible.
Core:
- more sensible merging of histories from multiple instances in vifminfo file
(avoids dropping of new entries);
- 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;
- improve cursor positioning after file operations;
- made it possible to escape commas in patterns (as usual, by doubling)
(thanks to filterfalse).
Command-line mode:
- added :tabo[nly] command that closes all tabs but the current one;
- added :session and :delsession commands to manage sessions (thanks to Marcos
Cruz);
- 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);
- don't reset histories of views in inactive tabs on :restart;
- 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.
:set command and options:
- 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 "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 'sessionoptions' option, which is an alternative to 'vifminfo' for
session files;
- added 'tablabel' option that specifies format of a single tab's label when
non-empty (thanks to aleksejrs);
- added 'tabprefix' and 'tabsuffix' options that allow customizing tabline
separators (thanks to CoreCube);
- added "treeleafsparent" value to 'dotdirs' option (thanks to filterfalse and
Melandel);
- do not require "dhistory" to be present in 'vifminfo' for "savedirs" to
work.
Menus and dialogs:
- added rate and progress bar to progress dialog (patch by Alborz Jafari);
- added real (fully resolved) path to the File Info dialog (thanks to
Alexandre Viau);
- added number of hard links to the File Info dialog;
- abort menu, more or file information modes before processing remote commands
(thanks to kangshugang);
- deduplicate elements of the :file menu;
- make displaying of spaces in mappings more intelligent by using <space> at
the start or end of lhs or rhs.
File preview:
- improve handling of long or unknown escape sequences in previews (thanks to
bratekarate);
- use global color scheme for preview on the other pane ignoring its
directory-specific color scheme;
- invalidate textual quickview cache if it contains fewer lines than window
height and is incomplete.
TUI (Text User Interface):
- 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);
- prevent internally selected files (e.g., via a range of a :command) from
appearing selected in user interface (thanks to filterfalse);
- reduce width of top line when side borders are hidden (`set tuioptions-=s`)
(thanks to Svyatoslav Mishyn, a.k.a. juef);
- escape some characters as ^X in view and tab titles, custom menu titles, on
status line and in terminal title (thanks to filterfalse);
- 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 and menus produced using %m or %M macros (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);
- limit length of custom file list title to 80 character positions (thanks to
filterfalse).
Integration:
- detect being run under Wayland (relevant for :filextype commands) (thanks to
mhdzli);
- make 'title' option work in all terminals which contain "tsl" and "fsl"
capabilities (thanks to m-kru);
- update terminal title when in menus (thanks to filterfalse).
Color schemes:
- added HardLink highlight group for regular files with more than one hard
link (patch by Hans Bieshaar);
- 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).
Scripting:
- added v:jobcount builtin variable that provides number of active jobs
(number of lines in :jobs menu) (thanks to iSeeU816);
- added v:session builtin variable that provides name of current session or is
set to an empty string.
Configuration:
- added three MC-like shortcuts to sample vifmrc files (Alt-I, Alt-O and
Ctrl-U) (thanks to Hans Bieshaar);
- added global Default-256 color scheme to be used in terminals that support
256-color palette (automatically in sample vifmrc) (thanks to Shakil
Akhtar);
- create $VIFM/colors directory with default color scheme only on the first
run (thanks to ranousse);
- use mime-types in associations in sample vifmrc (thanks to Shakil Akhtar).
Performance:
- 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);
- 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);
- improve performance of mime-type detection by caching the results;
- make comparing files by contents (`:compare bycontents`) somewhat faster
(thanks to maxigaz);
- 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).
Vim-plugin:
- 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);
- multiple improvements of syntax highlighting.
Documentation:
- added references to "Menus and dialogs" section of documentation from
:commands and keys which open menus and dialogs detailed there;
- explicitly documented that macros are expanded in user defined commands
(thanks to gcmt);
- made documentation of :command more comprehensible;
- 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;
- documented how selection is handled on launching files (like on l or Enter
keys);
- improve documentation on "bycontents" of :compare (thanks to maxigaz);
- somewhat improved documentation on 'ignorecase' and 'smartcase' options
(thanks to filterfalse);
- fixed Vim version of the documentation lacking description of %p macro of
'findprg'.
Only on Windows:
- added basic support for using PowerShell (pausing doesn't work) (thanks to
Fang, a.k.a. peromage);
- display targets of .lnk-files in file information dialog;
- implemented capturing output of background applications (thanks to Gene
Zharov);
- follow targets of .lnk-files (thanks to Alexandre Viau);
- fixed 'chaselinks' (symbolic links weren't resolved);
- fixed creating symbolic links with 'syscalls' being turned on;
- fixed creating symbolic links with spaces in source or target paths;
- fixed Alt key combinations being broken since v0.9;
- fixed running non-cmd shells being broken by adding 'shellcmdflag' in
0.10.1;
- fixed issues with non-tiny 'shellcmdflag' (patch by Bas Bossink, a.k.a.
basbossink);
- 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).
Packaging:
- 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);
- clean up tests directory on "make clean" in the top of the tree.
Important fixes:
- 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 `:move subdir &` renaming file in the process and doing weird stuff to
multiple files (thanks to 45jqlakjrf87ayte7hy34ter4nguijauzl4eitk);
- fixed graphics preview not being cleared on switching tabs or starting
external applications (including on :shell);
- 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 dialogs not being visible when UI updates are silenced via <silent>
mappings;
- fixed panic on some redraw operations mixing with file operations during
terminal resizing (thanks to aca).
See change log for the full list of changes and by whom they were suggested or
implemented.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
September 10, 2020
==================
Vifm v0.11 beta
---------------
New version finally updates format of vifminfo file unblocking changes like
persistent tabs, sessions and timestamp-based merging of histories. In
addition to that there were a number of improvements in user interface and
multiple performance-related improvements.
The beta stage will last about two weeks. In case any serious bugs are found
during this period, another beta version might be released.
Main changes:
- added persistent tabs;
- added sessions;
- new format of vifminfo file (old version is imported on first run);
- smarter merging of histories between runs that avoids dropping of new
entries;
- version of default color scheme for 256-color terminals;
- make tab labels customizable;
- try to keep ratio of pane sizes constant on resizes, restarts and tab
switching;
- various performance improvements.
More detailed list of changes.
Normal and visual modes:
- 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);
- improve navigation on gf key. Do fewer refreshes and disable filters to
make target visible.
Core:
- more sensible merging of histories from multiple instances in vifminfo file
(avoids dropping of new entries);
- 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;
- improve cursor positioning after file operations.
Command-line mode:
- added :tabo[nly] command that closes all tabs but the current one;
- added :session and :delsession commands to manage sessions (thanks to Marcos
Cruz);
- 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);
- don't reset histories of views in inactive tabs on :restart;
- 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.
:set command and options:
- 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 "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 'sessionoptions' option, which is an alternative to 'vifminfo' for
session files;
- added 'tablabel' option that specifies format of a single tab's label when
non-empty (thanks to aleksejrs);
- added 'tabprefix' and 'tabsuffix' options that allow customizing tabline
separators (thanks to CoreCube);
- added "treeleafsparent" value to 'dotdirs' option (thanks to filterfalse and
Melandel);
- do not require "dhistory" to be present in 'vifminfo' for "savedirs" to
work.
Menus and dialogs:
- added rate and progress bar to progress dialog (patch by Alborz Jafari);
- added real (fully resolved) path to the File Info dialog (thanks to
Alexandre Viau);
- added number of hard links to the File Info dialog;
- abort menu, more or file information modes before processing remote commands
(thanks to kangshugang);
- deduplicate elements of the :file menu;
- make displaying of spaces in mappings more intelligent by using <space> at
the start or end of lhs or rhs.
File preview:
- improve handling of long or unknown escape sequences in previews (thanks to
bratekarate);
- use global color scheme for preview on the other pane ignoring its
directory-specific color scheme;
- invalidate textual quickview cache if it contains fewer lines than window
height and is incomplete.
TUI (Text User Interface):
- 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);
- prevent internally selected files (e.g., via a range of a :command) from
appearing selected in user interface (thanks to filterfalse);
- reduce width of top line when side borders are hidden (`set tuioptions-=s`)
(thanks to Svyatoslav Mishyn, a.k.a. juef);
- escape some characters as ^X in view and tab titles, custom menu titles, on
status line and in terminal title (thanks to filterfalse);
- 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 and menus produced using %m or %M macros (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);
- limit length of custom file list title to 80 character positions (thanks to
filterfalse).
Integration:
- detect being run under Wayland (relevant for :filextype commands) (thanks to
mhdzli);
- make 'title' option work in all terminals which contain "tsl" and "fsl"
capabilities (thanks to m-kru);
- update terminal title when in menus (thanks to filterfalse).
Color schemes:
- added HardLink highlight group for regular files with more than one hard
link (patch by Hans Bieshaar);
- 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).
Scripting:
- added v:jobcount builtin variable that provides number of active jobs
(number of lines in :jobs menu) (thanks to iSeeU816);
- added v:session builtin variable that provides name of current session or is
set to an empty string.
Configuration:
- added three MC-like shortcuts to sample vifmrc files (Alt-I, Alt-O and
Ctrl-U) (thanks to Hans Bieshaar);
- added global Default-256 color scheme to be used in terminals that support
256-color palette (automatically in sample vifmrc) (thanks to Shakil
Akhtar);
- create $VIFM/colors directory with default color scheme only on the first
run (thanks to ranousse);
- use mime-types in associations in sample vifmrc (thanks to Shakil Akhtar).
Performance:
- 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);
- 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);
- improve performance of mime-type detection by caching the results;
- make comparing files by contents (`:compare bycontents`) somewhat faster
(thanks to maxigaz);
- 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).
Vim-plugin:
- 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);
- multiple improvements of syntax highlighting.
Documentation:
- added references to "Menus and dialogs" section of documentation from
:commands and keys which open menus and dialogs detailed there;
- explicitly documented that macros are expanded in user defined commands
(thanks to gcmt);
- made documentation of :command more comprehensible;
- 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;
- documented how selection is handled on launching files (like on l or Enter
keys);
- improve documentation on "bycontents" of :compare (thanks to maxigaz);
- somewhat improved documentation on 'ignorecase' and 'smartcase' options
(thanks to filterfalse);
- fixed Vim version of the documentation lacking description of %p macro of
'findprg'.
Only on Windows:
- added basic support for using PowerShell (pausing doesn't work) (thanks to
Fang, a.k.a. peromage);
- display targets of .lnk-files in file information dialog;
- implemented capturing output of background applications (thanks to Gene
Zharov);
- follow targets of .lnk-files (thanks to Alexandre Viau);
- fixed 'chaselinks' (symbolic links weren't resolved);
- fixed creating symbolic links with 'syscalls' being turned on;
- fixed creating symbolic links with spaces in source or target paths;
- fixed Alt key combinations being broken since v0.9;
- fixed running non-cmd shells being broken by adding 'shellcmdflag' in
0.10.1;
- fixed issues with non-tiny 'shellcmdflag' (patch by Bas Bossink, a.k.a.
basbossink);
- 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).
Packaging:
- 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);
- clean up tests directory on "make clean" in the top of the tree.
Important fixes:
- 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 `:move subdir &` renaming file in the process and doing weird stuff to
multiple files (thanks to 45jqlakjrf87ayte7hy34ter4nguijauzl4eitk);
- fixed graphics preview not being cleared on switching tabs or starting
external applications (including on :shell);
- 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 dialogs not being visible when UI updates are silenced via <silent>
mappings;
- fixed panic on some redraw operations mixing with file operations during
terminal resizing (thanks to aca).
See change log for the full list of changes and by whom they were suggested or
implemented.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
July 29, 2019
=============
vifm v0.10.1
------------
This version provides additions and improvements for media management feature,
several enhancements related to text user interface, extra features to Vim
plugin thanks to merging in neovim-vifm plugin and various small changes.
Thanks to everyone who tried out the beta.
Main changes:
- added file preview to miller mode;
- added preview macro to directly output to terminal, which enables use of
Sixel graphics for previewing;
- added udisks2 backend to vifm-media script (bundled script for managing
media) and version of the script for OS X;
- updated code to make use of large amount of color pairs when available;
- functionality of previously separate neovim-vifm plugin got merged into the
main plugin;
- multiple improvements to :media menu;
- improved performance in several use cases (quickview, lots of unhighlighted
files, unnecessary cursor updates and redraws).
More detailed list of changes.
Command-line mode:
- added :cds command that navigates to path obtained by substitution in the
current path (thanks to j-xella);
- added :hideui command that hides interface to show previous commands'
output (thanks to dikiy);
- added one more invocation format of :colorscheme command, which picks the
first available color scheme that is supported by the terminal (thanks to
Jose Riha, a.k.a. jose1711);
- always preserve tabs on :restart (thanks to mwgkgk);
- refuse to compare directory against itself via :compare command (thanks to
Jose Riha, a.k.a. jose1711).
:set command and options:
- added fileroot view column, which displays full name of directories and
symbolic links to directories and only root of name for everything
else (thanks to chelovechishko);
- added 'shellcmdflag' option that allows customizing how shell is invoked.
Enables running it in interactive mode, which can make shell aliases and
functions work (thanks to Ink (a.k.a. inknoir), John Shea (a.k.a. coachshea)
and randomizedthinking);
- added L flag to 'shortmess' option to display only last directory in tab
line instead of full path (thanks to chelovechishko);
- added ^= operation for string list options (thanks to SearyBlue);
- added ^= operation for options of set kind;
- added rpreview: key to 'milleroptions' option that allows enabling preview
of files (thanks to Svadkos and Tom Jansen);
- added %p macro to 'findprg' option. It works as a mix between %a and %A
macros: usually contains arguments passed to :find command, but unlike %a
doesn't include any predicates (thanks to Sitaram Chamarty and Tuan Bui,
a.k.a. tuanbass);
- added "space" and "nospace" values to 'sizefmt' option (patch by
zsugabubus);
- do not add leading comma to string list options on set opt+=item;
- don't create trash directory on startup if 'trash' is off (patch by
zsugabubus).
Key bindings:
- improved <silent> to do not forcefully update screen after the mapping if no
screen updates were skipped.
Completion:
- complete user name in paths after initial tilde (e.g., :cd ~r<tab> =>
:cd ~root).
Macros:
- added %pd macro that makes preview output directly affect terminal
circumventing curses interface, which could be used to display sixel
images (thanks to Tom Jansen).
Color schemes:
- added OtherWin highlight group for highlighting inactive pane (thanks to
John Fred Fadrigalan, a.k.a. cevhyruz).
Menus and dialogs:
- added indication of entry's availability to :file, :file[x]type and
:fileviewer menus;
- added [ and ] bindings to :media menu that provide navigation between
devices (patch by zsugabubus);
- added decorations to :media menu (patch by zsugabubus);
- react to Enter in :media menu on device lines, mount on "not mounted" line
and do nothing otherwise (patch by zsugabubus);
- show empty lines in :media only if there is enough vertical space (patch by
zsugabubus);
- removed empty line from :file and similar menus for case when vifm was
configured with --disable-desktop-files flag (second time).
Scripting:
- added extcached() builtin function, which can be used to improve performance
of file queries by caching results of external commands (thanks to Matthias
Braun, a.k.a. mb720).
Invocation:
- try to preserve symbolic links in current path when starting vifm by
checking value of $PWD (thanks to Vigi).
Core:
- resolve symbolic links for mime-type matchers (thanks to Vigi);
- do not check for view changes while suggestions are visible. It can mess up
TUI, especially in combination with preview (thanks to ks1c).
File operations:
- preserve extended attributes on copying files (thanks to hutou);
- don't throw away errors that were ignored by the user, display them at the
end of operation;
- consume input during foreground file operations. Otherwise it remains
buffered and is processed after the operation is over, which might not be
the intent of the user;
- reduce number of options available on file conflict when source and
destination are the same to avoid confusion (options that overwrite do
nothing in this case) (thanks to aleksejrs).
File preview:
- do not complain about empty output of a graphics previewer for view mode;
- clear preview before displaying suggestions (thanks to ks1c).
TUI (Text User Interface):
- renamed filename filter to "permanent filter" consisting of
"explicit" (ex-manual) and "implicit" (ex-automatic) parts (thanks to
Sitaram Chamarty);
- changed file rename prompt to indicate whether full name or only its root is
being changed;
- try to determine widths of printed character more accurately;
- drop leading space implicitly added to time columns in views (thanks to
laggardkernel).
Integration:
- added info= field to parser of 'mediaprg' output. It provides custom
message for the media (patch by zsugabubus);
- added udisks2 backend to vifm-media script (bundled script for managing
media). Requires python and dbus module for it to be installed (because
udisks2 and dbus are too shitty to be used on command-line) (thanks to
Tykin);
- added FUSE_MOUNT3 filetype format, which is equivalent to FUSE_MOUNT, but
doesn't perform unmounting. Helpful to use something like avfs (thanks to
Jose Riha, a.k.a. jose1711);
- added vifm-media-osx script that is configured to be used (via 'mediaprg')
on OS X (patch by Von Welch);
- error stream from 'mediaprg' isn't considered anymore when deciding if
mounting/unmounting was successful. While technically an incompatible
change, it's unlikely to cause any issues;
- spawn 'mediaprg' in foreground to allow interactions with the user, like
providing a password (patch by zsugabubus);
- properly remove FUSE mount points if they are symbolic links;
- assume that any $TERM value that starts with "xterm-", "rxvt-" or "screen-"
supports terminal title (thanks to Matthias Braun, a.k.a. mb720).
Documentation:
- better documentation for TabLine and TabLineSel highlighting groups (thanks
to mwgkgk);
- clearer documentation/description for :*unmap commands and 'vicmd'/'vixcmd'
options (thanks to chelovechishko);
- improve documentation of patterns and globs (thanks to afsheenb);
- improved documentation on filters (thanks to Sitaram Chamarty);
- document more details about expansion of FUSE macros;
- make documentation of 'findprg' more readable.
Vim-plugin:
- added :Vifm command as an alias for :EditVifm (patch by rbong);
- added optional splitting of the embedded terminal (g:vifm_embed_split). Has
support for Vim's <mods> and <count> (patch by rbong);
- added option to synchronize working directory of the embedded instance of
vifm with the Vim host (g:vifm_embed_cwd) (patch by rbong);
- added ability to replace netrw with vifm (g:vifm_replace_netrw and
g:vifm_replace_netrw_cmd) (patch by rbong);
- added autodetection of *.vifm files as files with "vifm" filetype to the
plugin (patch by Anton Kochkov, a.k.a. XVilka).
Configuration:
- added example of using xsel to sample vifmrc file (thanks to chelovechishko);
- enabled 'vimhelp' in sample vifmrc file by default.
Performance:
- added caching to quickview for a single file to avoid fileviewer being called
more often than needed (thanks to agguser);
- try to avoid superfluous screen updates related to cursor position;
- remember when file doesn't match any file-specific highlighting groups for
better performance (thanks to Gomme Bidule);
- generate faster regular expressions by vifm-convert-dircolors (thanks to
Gomme Bidule).
Only on Windows:
- upgraded to PDCurses 3.8 (was 3.4) for Windows. This allows using 256 colors
inside ConEmu. Note that ConEmu has issues processing 256 colors on the last
line of the screen, so avoid using them for status line (thanks to dancread).
Other changes:
- don't error on trash creation failure due to read-only file system (patch by
zsugabubus).
Important fixes:
- fixed losing files on failed move operation. Source files were deleted
assuming they were copied successfully, even when errors regarding some of
them were ignored by the user (thanks to zsugabubus);
- fixed vifm not making use of large number of color pairs when they are
available (thanks to Jose Riha (a.k.a. jose1711) and Hans Petter
Jansson (a.k.a. hpjansson));
- fixed color pairs being exhausted on Windows when default color ends up being
used often, this caused highlighting to go awry (thanks to dancread);
- fixed textual output of graphical previewers not being displayed in view