| File ChangeLog changed (mode: 100644) (index 44e20bc98..310a265da) |
| 70 |
70 |
Added detection of file handlers with GTK+ or libmagic and .desktop files |
Added detection of file handlers with GTK+ or libmagic and .desktop files |
| 71 |
71 |
(it works only for :file command). |
(it works only for :file command). |
| 72 |
72 |
|
|
|
73 |
|
Added C command (clone file). |
|
74 |
|
|
| 73 |
75 |
Changed keys input handling. |
Changed keys input handling. |
| 74 |
76 |
|
|
| 75 |
77 |
Changed force dot files appear at the beginning of file list. |
Changed force dot files appear at the beginning of file list. |
| File src/fileops.c changed (mode: 100644) (index d002142ce..76b3d95e1) |
| ... |
... |
yank_selected_files(FileView *view, int reg) |
| 178 |
178 |
|
|
| 179 |
179 |
for(x = 0; x < view->selected_files; x++) |
for(x = 0; x < view->selected_files; x++) |
| 180 |
180 |
{ |
{ |
| 181 |
|
if(view->selected_filelist[x]) |
|
| 182 |
|
{ |
|
| 183 |
|
char buf[PATH_MAX]; |
|
| 184 |
|
namelen = strlen(view->selected_filelist[x]); |
|
| 185 |
|
snprintf(buf, sizeof(buf), "%s/%s", view->curr_dir, |
|
| 186 |
|
view->selected_filelist[x]); |
|
| 187 |
|
append_to_register(reg, buf); |
|
| 188 |
|
} |
|
| 189 |
|
else |
|
| 190 |
|
{ |
|
| 191 |
|
x--; |
|
|
181 |
|
if(!view->selected_filelist[x]) |
| 192 |
182 |
break; |
break; |
| 193 |
|
} |
|
|
183 |
|
|
|
184 |
|
char buf[PATH_MAX]; |
|
185 |
|
namelen = strlen(view->selected_filelist[x]); |
|
186 |
|
snprintf(buf, sizeof(buf), "%s/%s", view->curr_dir, |
|
187 |
|
view->selected_filelist[x]); |
|
188 |
|
append_to_register(reg, buf); |
| 194 |
189 |
} |
} |
| 195 |
190 |
} |
} |
| 196 |
191 |
|
|
| |
| ... |
... |
put_files_from_register(FileView *view, int name, int force_move) |
| 957 |
952 |
return 1; |
return 1; |
| 958 |
953 |
} |
} |
| 959 |
954 |
|
|
|
955 |
|
void |
|
956 |
|
clone_file(FileView* view) |
|
957 |
|
{ |
|
958 |
|
char buf[PATH_MAX + NAME_MAX*2 + 4]; |
|
959 |
|
char *escaped; |
|
960 |
|
const char *filename; |
|
961 |
|
|
|
962 |
|
filename = get_current_file_name(view); |
|
963 |
|
if(strcmp(filename, ".") == 0) |
|
964 |
|
return; |
|
965 |
|
if(strcmp(filename, "..") == 0) |
|
966 |
|
return; |
|
967 |
|
|
|
968 |
|
if(view->dir_entry[view->list_pos].type == DIRECTORY) |
|
969 |
|
escaped = escape_filename(filename, strlen(filename) - 1, 1); |
|
970 |
|
else |
|
971 |
|
escaped = escape_filename(filename, strlen(filename), 1); |
|
972 |
|
snprintf(buf, sizeof(buf), "cp -pR %s %s_clone", escaped, escaped); |
|
973 |
|
background_and_wait_for_errors(buf); |
|
974 |
|
free(escaped); |
|
975 |
|
} |
|
976 |
|
|
| 960 |
977 |
/* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab : */ |
/* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab : */ |
| File src/fileops.h changed (mode: 100644) (index 476a67543..a31cc0229) |
| ... |
... |
void change_owner(FileView *view); |
| 54 |
54 |
void change_group(FileView *view); |
void change_group(FileView *view); |
| 55 |
55 |
/* Returns new value for save_msg flag. */ |
/* Returns new value for save_msg flag. */ |
| 56 |
56 |
int put_files_from_register(FileView *view, int name, int force_move); |
int put_files_from_register(FileView *view, int name, int force_move); |
|
57 |
|
void clone_file(FileView* view); |
| 57 |
58 |
|
|
| 58 |
59 |
#endif |
#endif |
| 59 |
60 |
|
|
| File src/normal.c changed (mode: 100644) (index b600f9d15..ac90ab75e) |
| ... |
... |
static void cmd_colon(struct key_info, struct keys_info *); |
| 76 |
76 |
static void cmd_semicolon(struct key_info, struct keys_info *); |
static void cmd_semicolon(struct key_info, struct keys_info *); |
| 77 |
77 |
static void cmd_slash(struct key_info, struct keys_info *); |
static void cmd_slash(struct key_info, struct keys_info *); |
| 78 |
78 |
static void cmd_question(struct key_info, struct keys_info *); |
static void cmd_question(struct key_info, struct keys_info *); |
|
79 |
|
static void cmd_C(struct key_info, struct keys_info *); |
| 79 |
80 |
static void cmd_F(struct key_info, struct keys_info *); |
static void cmd_F(struct key_info, struct keys_info *); |
| 80 |
81 |
static void find_F(int ch); |
static void find_F(int ch); |
| 81 |
82 |
static void cmd_G(struct key_info, struct keys_info *); |
static void cmd_G(struct key_info, struct keys_info *); |
| |
| ... |
... |
init_normal_mode(int *key_mode) |
| 251 |
252 |
curr = add_cmd(L"?", NORMAL_MODE); |
curr = add_cmd(L"?", NORMAL_MODE); |
| 252 |
253 |
curr->data.handler = cmd_question; |
curr->data.handler = cmd_question; |
| 253 |
254 |
|
|
|
255 |
|
curr = add_cmd(L"C", NORMAL_MODE); |
|
256 |
|
curr->data.handler = cmd_C; |
|
257 |
|
|
| 254 |
258 |
curr = add_cmd(L"F", NORMAL_MODE); |
curr = add_cmd(L"F", NORMAL_MODE); |
| 255 |
259 |
curr->type = BUILDIN_WAIT_POINT; |
curr->type = BUILDIN_WAIT_POINT; |
| 256 |
260 |
curr->data.handler = cmd_F; |
curr->data.handler = cmd_F; |
| |
| ... |
... |
selector_S(struct key_info key_info, struct keys_info *keys_info) |
| 666 |
670 |
keys_info->count = i; |
keys_info->count = i; |
| 667 |
671 |
} |
} |
| 668 |
672 |
|
|
|
673 |
|
/* Clone file. */ |
|
674 |
|
static void |
|
675 |
|
cmd_C(struct key_info key_info, struct keys_info *keys_info) |
|
676 |
|
{ |
|
677 |
|
clone_file(curr_view); |
|
678 |
|
} |
|
679 |
|
|
| 669 |
680 |
static void |
static void |
| 670 |
681 |
cmd_F(struct key_info key_info, struct keys_info *keys_info) |
cmd_F(struct key_info key_info, struct keys_info *keys_info) |
| 671 |
682 |
{ |
{ |
| File src/vifm-help.txt changed (mode: 100644) (index c5c6b22dc..10fdeae76) |
| ... |
... |
The basic vi key bindings are used to move through the files and popup |
| 21 |
21 |
cp change file permissions. |
cp change file permissions. |
| 22 |
22 |
cw change word is used to rename a file. |
cw change word is used to rename a file. |
| 23 |
23 |
cW change WORD is used to change only name of file (without extension). |
cW change WORD is used to change only name of file (without extension). |
|
24 |
|
C clone file. |
| 24 |
25 |
m [a-z][A-Z][0-9] to set bookmark |
m [a-z][A-Z][0-9] to set bookmark |
| 25 |
26 |
' letter to goto bookmark |
' letter to goto bookmark |
| 26 |
27 |
v start or stop visualy selecting files. This works with the j and k keys |
v start or stop visualy selecting files. This works with the j and k keys |
| File src/vifm.1 changed (mode: 100644) (index 15e806dd2..9683620b3) |
| ... |
... |
change file group. |
| 169 |
169 |
.BI cp |
.BI cp |
| 170 |
170 |
change file permissions. |
change file permissions. |
| 171 |
171 |
.TP |
.TP |
|
172 |
|
.BI C |
|
173 |
|
clone file. |
|
174 |
|
.TP |
| 172 |
175 |
.BI "[count]d[selector] or [count]dd in compatibility mode" |
.BI "[count]d[selector] or [count]dd in compatibility mode" |
| 173 |
176 |
moves the selected files to the trash directory. |
moves the selected files to the trash directory. |
| 174 |
177 |
.TP |
.TP |
| |
| ... |
... |
sets a new user command. |
| 219 |
222 |
will remove the command_name user command |
will remove the command_name user command |
| 220 |
223 |
.TP |
.TP |
| 221 |
224 |
.BI ":file [mime]" |
.BI ":file [mime]" |
| 222 |
|
popup menu of programs set for the file type of the current file. When argument passed, show programs set based on file mimetype. |
|
|
225 |
|
popup menu of programs set for the file type of the current file. When argument passed, show programs set based on file mimetype. Add ' &' at the end of command to run program in background. |
| 223 |
226 |
.TP |
.TP |
| 224 |
227 |
.BI ":fil regular_expression pattern" |
.BI ":fil regular_expression pattern" |
| 225 |
228 |
will filter all the files out of the directory listing that match the regular expression. |
will filter all the files out of the directory listing that match the regular expression. |
| File src/vifm.txt changed (mode: 100644) (index a0e4dcf96..fe0f31c89) |
| ... |
... |
co - change owner of file. |
| 171 |
171 |
cp - change file permissions. |
cp - change file permissions. |
| 172 |
172 |
cw - change word is used to rename a file. |
cw - change word is used to rename a file. |
| 173 |
173 |
cW - change WORD is used to change only name of file (without extension). |
cW - change WORD is used to change only name of file (without extension). |
|
174 |
|
C - clone file. |
| 174 |
175 |
dd - move selected file or files to ~/.vifm/Trash (if option USE_TRASH is set |
dd - move selected file or files to ~/.vifm/Trash (if option USE_TRASH is set |
| 175 |
176 |
otherwise delete) |
otherwise delete) |
| 176 |
177 |
d<selector> - like dd. |
d<selector> - like dd. |