Como copiar um arquivo no netrw?

15

O diretório de trabalho atual é ./A/B/. Um documento vazio é aberto quando eu digito vime o netrw é aberto com o comando :e.A janela é dividida por vs.e eu posso navegar para o diretório de nível superior, ou seja ./A/,. Agora eu gostaria de copiar um arquivo a_file.jpgde ./A/B/para ./A/.

Eu tentei yyno arquivo de destino e pna janela de destino (diretório), mas ele não atingiu meu objetivo.

Existe alguma maneira de atingir o objetivo sem instalar plugins extras?

user3813057
fonte
1
Tente o seguinte: clique mtno diretório de destino no qual deseja fazer uma cópia de um arquivo (para marcá-lo; o caminho para a pasta deve aparecer no banner depois Copy/Move Tgt:), clique mfno arquivo que você deseja copiar para marcá-lo como bem, então pressione mcpara realmente executar a cópia.
Saginaw

Respostas:

18

Você não pode usar y, petc., para copiar arquivos no netrw - ele vem com seus próprios comandos. Veja :h netrw-mc:

MARKED FILES: COPYING                                           netrw-mc {{{2
            (See netrw-mf and netrw-mr for how to mark files)
                      (Uses the global marked file list)

Select a target directory with mt (netrw-mt).  Then change directory,
select file(s) (see netrw-mf), and press "mc".  The copy is done
from the current window (where one does the mf) to the target.

If one does not have a target directory set with netrw-mt, then netrw
will query you for a directory to copy to.

One may also copy directories and their contents (local only) to a target
directory.

Seu caso é simplificado, pois ./Aé o pai de ./A/B:

  1. Abra ./A/B, vá para a linha que tem ../,
  2. Marque com mt
  3. Vá para a linha com o arquivo que você deseja copiar.
  4. Pressione mfe depois mc.

Exemplo:

$ tree foo
foo
└── bar
    └── test

1 directory, 1 file
$ vim foo/bar

Agora:

  1. Vá para ..e pressione mt:

    insira a descrição da imagem aqui

  2. O cabeçalho será alterado para mostrar o destino atual:

    insira a descrição da imagem aqui

  3. Vá para o arquivo (aqui test) e pressione mf. É destacado para mim:

    insira a descrição da imagem aqui

  4. Pressione mc- o realce desaparece. Agora navegue até a pasta pai - o arquivo deve estar presente:

    insira a descrição da imagem aqui

muru
fonte
9

Eu faria isso no modo de linha de comando:

  • Selecione o arquivo que você precisa no netrw
  • Abra o comando da linha e digite - :!mv <C-R><C-F> ../<C-R><C-F>

Aqui, <C-R><C-F>insira o nome do arquivo sob o cursor, para que você não precise digitar o nome do arquivo.

Boris Serebrov
fonte
1
Muito legal. Não inclui o caminho completo se você atravessado em sua árvore no netrw ...
J0hnG4lt
3
  • Coloque o cursor ./(ou diretório no qual você deseja copiar), pressionemt
  • Coloque o cursor no arquivo que deseja copiar, pressione mfe mcdigite o nome do novo arquivo,enter
itsnikolay
fonte
Eu consegui(netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!$
Harry Moreno
solução para osx stackoverflow.com/questions/31811335/…
Harry Moreno
@HarryMoreno funcionou no meu osx iTerm2
itsnikolay