Могу ли я скопировать файл из одного экземпляра VIFM в другой?
У меня есть несколько запущенных экземпляров vifm
, Можно ли скопировать файл из одного экземпляра в другой (используя yy
)?
Спасибо!
1 ответ
Нет, ты не можешь сделать это легко. Экземпляры не разделяют свое состояние времени выполнения (в данном случае содержимое регистров), поэтому, когда вы делаете файл в одном из них, другие экземпляры не знают об этом.
В качестве обходного пути для случаев, когда вы действительно хотите это:
- (в экземпляре dst) Run
:write
сохранить текущее состояние вvifminfo
файл. - (в случае src) Сделайте yy, а затем
:write
, который объединит состояния двух экземпляров. - (в экземпляре dst) Run
:restart
перезагрузить состояние (это может принести больше, чем просто регистры) и сделать p.
Это не то, что я бы порекомендовал, но это должно работать и может быть приемлемым в некоторых случаях.
Define a map to save current file:
nmap Wf :!ls -1 %f | while read f ; do printf ":!cp %%s/%%s %%s\n" %d $f '%%d' ; done > ~/.vifm_tmp <cr>
And a second mapping that will source the temporary file:
nmap Pf :source ~/.vifm_tmp<cr>
To copy the file: Wf
in the first vifm instance then Pf
in the second instance. This works with multiple selected (tagged) files but does not work in visual mode.
You can also sync the source directory:
nmap Yd :!printf ":cd %%s\n" %d > ~/.vifm_tmp<cr>
nmap Pd :source ~/.vifm_tmp <cr>
then copy/paste between the panels of the same instance.