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 b1d2684773f636e2b37b3e231cf72098da6c8f71

Better wording for visual mode description in docs
Should just be more readable, the actual contents is essentially the
same as before.
Author: xaizek
Author date (UTC): 2026-03-19 18:58
Committer name: xaizek
Committer date (UTC): 2026-03-21 13:54
Parent(s): d22dc53fe2b1ddcf136316d1ddd583dad7560098
Signing key: 99DC5E4DB05F6BE2
Tree: 03d54af5049c1b965070c2df0b4733c1666f1dda
File Lines added Lines deleted
ChangeLog 3 0
data/man/vifm.1 25 21
data/vim/doc/app/vifm-app.txt 24 23
File ChangeLog changed (mode: 100644) (index 7f4b4b4cf..0e2b0109a)
107 107 Rewrote documentation about command-line ranges to make it complete and Rewrote documentation about command-line ranges to make it complete and
108 108 more readable. Thanks to CaptainFantastic. more readable. Thanks to CaptainFantastic.
109 109
110 Improved wording in documentation describing general behaviour of visual
111 mode.
112
110 113 Fixed 'trashdir' with "%r" on BSD-like systems (those with getmntinfo() Fixed 'trashdir' with "%r" on BSD-like systems (those with getmntinfo()
111 114 instead of getmntent() API). The regression was apparently introduced in instead of getmntent() API). The regression was apparently introduced in
112 115 v0.9.1-beta. Thanks to sublimal. v0.9.1-beta. Thanks to sublimal.
File data/man/vifm.1 changed (mode: 100644) (index 2093fe199..fd401bea6)
... ... plain selection as it is in Vim;
936 936 selection editing submode. selection editing submode.
937 937 .RE .RE
938 938
939 Both modes select files in range from cursor position at which visual mode was
940 entered to current cursor position (let's call it "selection region"). Each of
941 two borders can be adjusted by swapping them via "o" or "O" keys and updating
942 cursor position with regular cursor motion keys. Obviously, once initial cursor
943 position is altered this way, real start position becomes unavailable.
944
945 Plain Vim-like visual mode starts with cleared selection, which is not restored
946 on rejecting selection ("Escape", "Ctrl-C", "v", "V"). Contrary to it,
947 selection editing doesn't clear previously selected files and restores them
948 after reject. Accepting selection by performing an operation on selected
949 items (e.g. yanking them via "y") moves cursor to the top of current selection
950 region (not to the top most selected file of the view).
951
952 In turn, selection editing supports three types of editing (look at status bar
953 to know which one is currently active):
939 Both submodes select files in the range (let's call it "selection region")
940 from the cursor position at which visual mode was started to the current
941 cursor position. Either end of the range can be adjusted by switching the
942 active one via `o` or `O` keys and then updating cursor position
943 via regular cursor motion keys. After the initial cursor position is altered
944 in this way it cannot be restored.
945
946 Plain Vim-like visual mode starts by clearing any selection. If the mode is
947 then aborted (via `Escape`, `CTRL-C`, `v` or `V`),
948 the original selection is not restored automatically. Contrary to it,
949 selection editing preserves previously selected files and restores them in
950 case the mode is aborted. Accepting selection by performing an operation on
951 the selected items (e.g., by yanking them via `y`) moves the cursor to
952 the top of the current selection region, not to the top-most selected file of
953 the view.
954
955 Selection editing submode supports three types of editing (the status bar
956 indicates which one is currently active):
954 957 .RS 2 .RS 2
955 958 .IP \- 2 .IP \- 2
956 append \- amend selection by selecting elements in selection region;
959 append \- amends selection by selecting elements in the selection region;
957 960 .IP \- 2 .IP \- 2
958 remove \- amend selection by deselecting elements in selection region;
961 remove \- amends selection by deselecting elements in the selection region;
959 962 .IP \- 2 .IP \- 2
960 invert \- amend selection by inverting selection of elements in selection \
961 region.
963 invert \- amends selection by inverting selection of elements in the \
964 selection region.
962 965 .RE .RE
963 966
964 No matter how you activate selection editing it starts in "append". One can
965 switch type of operation (in the order given above) via "Ctrl-G" key.
967 No matter how activated, selection editing starts with "append" operation
968 active. The operations can be cycled through (in the order given above) via
969 `CTRL-G` key.
966 970
967 971 Almost all normal mode keys work in visual mode, but instead of accepting Almost all normal mode keys work in visual mode, but instead of accepting
968 972 selectors they operate on selected items. selectors they operate on selected items.
File data/vim/doc/app/vifm-app.txt changed (mode: 100644) (index ed40d1ebf..efd8d4bd7)
... ... Visual mode has two generic operating submodes:
808 808 - plain selection as it is in Vim; - plain selection as it is in Vim;
809 809 - selection editing submode. - selection editing submode.
810 810
811 Both modes select files in range from cursor position at which visual mode was
812 entered to current cursor position (let's call it "selection region"). Each of
813 two borders can be adjusted by swapping them via |vifm-v_o| or |vifm-v_O| keys
814 and updating cursor position with regular cursor motion keys. Obviously, once
815 initial cursor position is altered this way, real start position becomes
816 unavailable.
817
818 Plain Vim-like visual mode starts with cleared selection, which is not restored
819 on rejecting selection (|vifm-v_Escape|, |vifm-v_CTRL-C|, |vifm-v_v|,
820 |vifm-v_V|). Contrary to it, selection editing doesn't clear previously
821 selected files and restores them after reject. Accepting selection by
822 performing an operation on selected items (e.g. yanking them via |vifm-y|)
823 moves cursor to the top of current selection region (not to the top most
824 selected file of the view).
825
826 In turn, selection editing supports three types of editing (look at status bar
827 to know which one is currently active):
828 - append - amend selection by selecting elements in selection region;
829 - remove - amend selection by deselecting elements in selection region;
830 - invert - amend selection by inverting selection of elements in selection
831 region.
832 No matter how you activate selection editing it starts in "append" activated.
833 One can switch type of operation (in the order given above) via
811 Both submodes select files in the range (let's call it "selection region")
812 from the cursor position at which visual mode was started to the current
813 cursor position. Either end of the range can be adjusted by switching the
814 active one via |vifm-v_o| or |vifm-v_O| keys and then updating cursor position
815 via regular cursor motion keys. After the initial cursor position is altered
816 in this way it cannot be restored.
817
818 Plain Vim-like visual mode starts by clearing any selection. If the mode is
819 then aborted (via |vifm-v_Escape|, |vifm-v_CTRL-C|, |vifm-v_v| or |vifm-v_V|),
820 the original selection is not restored automatically. Contrary to it,
821 selection editing preserves previously selected files and restores them in
822 case the mode is aborted. Accepting selection by performing an operation on
823 the selected items (e.g., by yanking them via |vifm-y|) moves the cursor to
824 the top of the current selection region, not to the top-most selected file of
825 the view.
826
827 Selection editing submode supports three types of editing (the status bar
828 indicates which one is currently active):
829 - append - amends selection by selecting elements in the selection region;
830 - remove - amends selection by deselecting elements in the selection region;
831 - invert - amends selection by inverting selection of elements in the
832 selection region.
833 No matter how activated, selection editing starts with "append" operation
834 active. The operations can be cycled through (in the order given above) via
834 835 |vifm-v_CTRL-G| key. |vifm-v_CTRL-G| key.
835 836
836 837 Almost all normal mode keys work in visual mode, but instead of accepting Almost all normal mode keys work in visual mode, but instead of accepting
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