Digamos que tengo un bloque de texto como este:
// Comentario1 // Comentario2 // Comentario3
Y quiero agregar cada una de estas líneas al final de 3 líneas de código correspondientes:
foo = 1; bar = 2; baz = 3;
Para que el resultado final sea
foo = 1; // Comentario1 bar = 2; // Comentario2 baz = 3; // Comentario3
¿Hay una manera fácil de hacer esto en Vim?
Respuestas:
Utilice el modo de bloque visual ( Ctrl+ v) para seleccionar un conjunto de líneas, entonces o bien yo dellos.
Luego, si seleccionó las líneas foo, bar, baz, use el modo de bloque visual nuevamente para seleccionar la primera columna de las líneas de comentarios y luego Shift+ pen su lugar (o si seleccionó las líneas de comentarios, seleccione la última columna de la barra foo líneas y pellos en su lugar.
Tener el truco de posicionamiento puede requerir un poco de práctica, pero cuando tengas la habilidad, estarás volando. Cuando haya seleccionado un bloque, también puede usar Shift+ Apara agregar, por ejemplo, espacios al bloque (al agregar, el nuevo texto solo aparecerá en la línea superior, pero cuando presione esc aparecerá mágicamente en todas las líneas seleccionadas) . Del mismo modo, Shift+ ihará lo mismo al comienzo del bloque seleccionado en cada línea.
Sin embargo, tendrás que limpiar las líneas vacías después.
También hay un gran episodio de vimcasts que muestra estas técnicas con más detalle.
fuente
:set ve=all
ser muy versátil. Yo personalmente uso el complemento UnconditionalPaste ( vim.org/scripts/script.php?script_id=3355 ) ya que se ajusta un poco mejor a mi necesidad.Bueno, si es fácil o no, dime. Navegue hasta
// Comment 1
, presionedd
para eliminar. Navegue a la línea confoo = 1;
y presionep
, para pegar debajo de la línea. Mueve hacia arribafoo
nuevamente y presionaJ
para unirte a la fila. Tadafuente
Lo siguiente hará exactamente lo que usted describe:
Dependiendo de lo que en realidad necesita hecho (en comparación con el ejemplo), en la práctica, puede ser que sea más sencillo para bloquear a seleccionar el bloque "// comment1", etc ( Ctrlv), tirón ( y), ir al final del código Bloquear y pegar.
fuente