Trabajo mucho con el modo de bloque visual, que encuentro realmente útil para cambios rápidos en muchas líneas.
Pero algo que estoy luchando por hacer es insertar una nueva línea como esta:
La selección se anota como []
:
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Presiono I
y puedo agregar texto para insertar antes de t
:
Some other text
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Cuando presiono <Esc>
me sale lo siguiente:
Some other text
Some other text
Some other text
Some other text
Some other text
Pero ahora, si presiono en <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: dado que funciona c
y r
no estoy seguro de por qué esto no funciona ...
insert-mode
visual-block
nobe4
fuente
fuente
Respuestas:
El bloqueo visual
I
no funciona así. Lo mejor que probablemente puede hacer es algo como lo siguiente.Resalte una columna en modo de bloque visual (con
[b]
un carácter resaltado como en su pregunta):Realice una sustitución en el área visual con
\%V
:Vim insertará el
'<,'>
para usted cuando presiona:
, por lo que no necesita escribir ese bit.Y el resultado:
Si necesita dividir líneas en un bloque visual a menudo, es probable que esté fácilmente disponible en su historial, y es posible que no necesite hacer nada más que resaltar, entonces
:<up><return>
.fuente
\%V
incluso si no es lo que quería, aceptaré esto (pero lo que quiero parece imposible de todos modos ^^)