insert-mode – Bloque visual insertar nueva línea

Pregunta:

Trabajo mucho con el modo de bloque visual, que encuentro realmente útil para cambios rápidos en muchas líneas.

Pero algo por lo que estoy luchando es insertar una nueva línea así:

La selección se indica como [] :

Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext

Presiono I y puedo agregar algo de texto para que se inserte antes de la t :

Some other text
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext

Cuando presiono <Esc> obtengo lo siguiente:

Some other text
Some other text
Some other text
Some other text
Some other text

Pero ahora, si presiono <CR> lugar del texto que quiero agregar, la nueva línea se inserta como se desea, pero no para las otras líneas. El resultado es el siguiente:

Some 
text
Some text
Some text
Some text
Some text

¿Sabes por qué esto no funciona?

Nota: puesto que trabaja para c y r No estoy seguro de por qué esto no está funcionando …

Respuesta:

Bloque visual I no funciona de esa manera. Lo mejor que probablemente pueda hacer es algo como lo siguiente.

Resalte una columna en el modo de bloque visual (con [b] indicando un carácter resaltado como en su pregunta):

aaa[b]bb
aaa[b]bb
aaa[b]bb
aaa[b]bb
cccccc

Realice una sustitución en el área visual con \%V :

:'<,'>s/\%V/\r/

Vim insertará el '<,'> cuando presione : por lo que no es necesario que escriba ese bit.

Y el resultado:

aaa
bbb
aaa
bbb
aaa
bbb
aaa
bbb
cccccc

Si necesita dividir líneas en un bloque visual con frecuencia, es probable que esté disponible en su historial y que no necesite hacer nada más que resaltar, entonces :<up><return> .

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım