2012-05-15 15 views
8

Tengo section en file1 que se debe mover a file2. Normalmente haré esto seleccionando visualmente el bloque, eliminándolo, :wq desde file1, abra file2, luego pegue.Mover sección a archivo nuevo en vim

¿Hay una forma fácil de mover un bloque de texto de file a file2 sin cerrar vim?

Respuesta

5

Puede abrir su nuevo archivo en una división usando :sp newfile y luego eliminar el bloque como es normal desde su primer archivo. Luego, cambie a la otra división con ctrlw y w. Luego use p para poner el contenido eliminado en el otro archivo.

2

Puede abrir el archivo en un nuevo búfer.

simplemente abra el archivo a través de :e file2 y pegue el texto. Para moverse rápidamente entre los topes utilizan ya sea :e # o :b #

ver :help buffers para más información

2

Puesto que nadie mencionó que: se puede usar pestañas en su lugar.

  1. Seleccione su bloque.

  2. Eliminar con d

  3. Crear un nuevo buffer en una nueva pestaña con :tabnew newfile.name

  4. pegar y guardarlo con p y :w

  5. Puede volver con gT o cerca pestaña actual con :q

Personalmente utilizo buffers de uso más reciente, solo pestañas. Leer más sobre ellos en :help tabpage

20

alternativa:

  1. selección de escritura en archivo nuevo :'<,'>w file2

  2. vuelva a seleccionar y borrar con gvd

El primer paso se cubre en vimtutorLesson 5.3: SELECTING TEXT TO WRITE.

+2

Gran respuesta. Creo que este debería ser el correcto. – ifightcrime

+2

Alternativamente para agregar a un archivo use ': '<,'>! Cat >> other_file' – Frank

Cuestiones relacionadas