¿Cómo copio un archivo en netrw?

15

El directorio de trabajo actual es ./A/B/. Un documento vacío se abre cuando escribo vim, y la netrw se abre con el comando de :e.la ventana está dividida por vs., y puede navegar hasta el directorio de nivel superior, es decir, ./A/. Ahora me gustaría copiar un archivo a_file.jpgde ./A/B/a ./A/.

Intenté yyen el archivo de destino y pen la ventana de destino (directorio), pero no logró mi objetivo.

¿Hay alguna forma de lograr el objetivo sin instalar complementos adicionales?

usuario3813057
fuente
1
Pruebe lo siguiente: presione mtel directorio de destino en el que desea hacer una copia de un archivo (para marcarlo; la ruta de la carpeta debe aparecer en el banner después Copy/Move Tgt:), presione mfel archivo que desea copiar para marcarlo como bueno, luego presiona mcpara realizar la copia.
saginaw

Respuestas:

18

No puede usar y, petc., para copiar archivos en netrw; viene con sus propios comandos. Ver :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.

Su caso se simplifica ya que ./Aes el padre de ./A/B:

  1. Abrir ./A/B, pasar a la línea que tiene ../,
  2. Márquelo con mt
  3. Muévase a la línea con el archivo que desea copiar.
  4. Presione mf, y luego mc.

Ejemplo:

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

1 directory, 1 file
$ vim foo/bar

Ahora:

  1. Mover ..y presionar mt:

    ingrese la descripción de la imagen aquí

  2. El encabezado cambiará para mostrar el objetivo actual:

    ingrese la descripción de la imagen aquí

  3. Vaya al archivo (aquí test) y presione mf. Se destaca para mí:

    ingrese la descripción de la imagen aquí

  4. Presione mc- el resaltado desaparece. Ahora navegue a la carpeta principal; el archivo debe estar presente:

    ingrese la descripción de la imagen aquí

muru
fuente
9

Haría esto desde el modo de línea de comando:

  • Seleccione el archivo que necesita en netrw
  • Abra el comando la línea y escriba - :!mv <C-R><C-F> ../<C-R><C-F>

Aquí <C-R><C-F>inserta el nombre del archivo debajo del cursor, para que no tenga que escribir el nombre del archivo.

Boris Serebrov
fuente
1
Muy genial. No incluye la ruta completa si has atravesado tu árbol en netrw ...
J0hnG4lt
3
  • Active el cursor ./(o el directorio en el que desea copiar), presionemt
  • Establezca el cursor en el archivo que desea copiar, presione mf, luego mc, escriba el nombre del nuevo archivo,enter
itsnikolay
fuente
Tengo(netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!$
Harry Moreno
solución para osx stackoverflow.com/questions/31811335/…
Harry Moreno
@HarryMoreno funcionó en mi osx iTerm2
itsnikolay