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 c134bbe0c5d934e6f66ee92e1195c3e2afaba374

Pass range given to alias to an aliased command
So now after :command cp :copy %a
:%cp => :%copy %a
instead of
:%cp => :copy %a
Author: xaizek
Author date (UTC): 2012-06-23 16:16
Committer name: xaizek
Committer date (UTC): 2012-06-23 16:16
Parent(s): b3ecd0a1e75b8d849e431d4ac1af23c9778037c6
Signing key:
Tree: 5097fda0247b5c1e01592b66517eb5e213512eac
File Lines added Lines deleted
ChangeLog 2 0
data/vifm.1 8 2
data/vim/doc/vifm.txt 6 2
src/commands.c 4 3
File ChangeLog changed (mode: 100644) (index 4e26613aa..b6e66c8bf)
45 45
46 46 Show correct number of selected files in visual mode after n and N keys. Show correct number of selected files in visual mode after n and N keys.
47 47
48 Pass range given to alias to an aliased command.
49
48 50 Fixed unexpected resetting of dot filter on following mark to root Fixed unexpected resetting of dot filter on following mark to root
49 51 directory. directory.
50 52
File data/vifm.1 changed (mode: 100644) (index f512fba71..32b90e5a1)
1 .TH vifm 1 "June 12, 2012" "" "Vifm"
1 .TH vifm 1 "June 23, 2012" "" "Vifm"
2 2 .\" --------------------------------------------------------------------------- .\" ---------------------------------------------------------------------------
3 3 .SH NAME .SH NAME
4 4 .\" --------------------------------------------------------------------------- .\" ---------------------------------------------------------------------------
 
... ... will set search pattern.
905 905 will set file name filter. will set file name filter.
906 906 .TP .TP
907 907 .BI ":com[mand] cmd :commands" .BI ":com[mand] cmd :commands"
908 will set kind of alias for internal command (like in a shell).
908 will set kind of alias for internal command (like in a shell). Will pass range
909 given to alias to an aliased command, so running :%cp after
910 :command cp :copy %a
911 .br
912 equals
913 :%copy
914 .EE
909 915 .TP .TP
910 916 .BI ":[range]co[py][!?][ &]" .BI ":[range]co[py][!?][ &]"
911 917 copies files to directory of other view. With "?" vifm will open vi to edit copies files to directory of other view. With "?" vifm will open vi to edit
File data/vim/doc/vifm.txt changed (mode: 100644) (index 7e01cc825..e6512db3c)
1 *vifm.txt* For Vifm version 0.7.3 Last change: 2012 Jun 12
1 *vifm.txt* For Vifm version 0.7.3 Last change: 2012 Jun 23
2 2
3 3 Email for bugs and suggestions: <xaizek@lavabit.com> Email for bugs and suggestions: <xaizek@lavabit.com>
4 4
 
... ... The builtin commands are:
792 792 :com[mand] backup /pattern - will set search pattern. :com[mand] backup /pattern - will set search pattern.
793 793 :com[mand] name filter pattern - will set file name filter. :com[mand] name filter pattern - will set file name filter.
794 794 :com[mand] cmd :commands - will set kind of alias for internal command (like :com[mand] cmd :commands - will set kind of alias for internal command (like
795 in a shell).
795 in a shell). Will pass range given to alias to an aliased command, so
796 running :%cp after >
797 :command cp :copy %a
798 < equals >
799 :%copy
796 800
797 801 *vifm-:copy* *vifm-:co* *vifm-:copy* *vifm-:co*
798 802 :[range]co[py][!?][ &] - copies files to directory of other view. With :[range]co[py][!?][ &] - copies files to directory of other view. With
File src/commands.c changed (mode: 100644) (index 74c367203..c37ac911a)
... ... usercmd_cmd(const cmd_info_t *cmd_info)
3413 3413 if(len > 1) if(len > 1)
3414 3414 bg = expanded_com[len - 1] == '&' && expanded_com[len - 2] == ' '; bg = expanded_com[len - 1] == '&' && expanded_com[len - 2] == ' ';
3415 3415
3416 clean_selected_files(curr_view);
3417
3418 3416 if(expanded_com[0] == ':') if(expanded_com[0] == ':')
3419 3417 { {
3420 3418 int sm = exec_commands(expanded_com, curr_view, GET_COMMAND); int sm = exec_commands(expanded_com, curr_view, GET_COMMAND);
3421 3419 free(expanded_com); free(expanded_com);
3422 3420 return sm; return sm;
3423 3421 } }
3424 else if(flags == MACRO_STATUSBAR_OUTPUT)
3422
3423 clean_selected_files(curr_view);
3424
3425 if(flags == MACRO_STATUSBAR_OUTPUT)
3425 3426 { {
3426 3427 output_to_statusbar(expanded_com); output_to_statusbar(expanded_com);
3427 3428 free(expanded_com); free(expanded_com);
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