¿Cómo sangras> <sin salir del modo visual y perder tu selección actual?


16

A menudo tengo que sangrar manualmente, pero cuando entro en un modo visual, selecciono mis líneas para sangrar y presiono <o >, salgo del modo visual, lo quiera o no.

Preferiría tenerlo para mantenerme en modo visual y mantener intacta mi selección y posición del cursor.

¿Cómo puedo conseguir esto?


1
¿Hay alguna posibilidad de que una reasignación haga el truco? Algo como :vmap < <a?
Feffe

Respuestas:


19

Tengo esto en mi vimrc:

"keep visual mode after indent
vnoremap > >gv
vnoremap < <gv

Tenga en cuenta que también puede simplemente usar .(punto) para repetir la última acción de sangría.


Casi perfecto, guarde que mi cursor no se mueve con la fila.
Akiva

1
@ Akiva ¿Quizás quiera agregar un ^al final de esa asignación? es decir >gv^?
Martin Tournoij

2
El cursor parece moverse (o no) dependiendo de su posición con respecto al texto sangrado. No está claro para mí dónde desea que permanezca el cursor: en el mismo número de columna o en el mismo carácter. Además, ¿sabe que aún puede mover el cursor, por ejemplo j, con,, etc. k, lmientras está en modo visual?
VanLaser

2
Honestamente, acabo de poner <Right>Y <Left>después de los comandos, y eso funcionó bien.
Akiva

9

Sé que esta no es una solución automática, pero puede lograr esto usando gvdespués de la sangría visual.

Esto entrará en modo visual con la selección previa seleccionada, y su cursor en la última línea. Ver :h gvpara más información.


-2

Intenté agregar la siguiente asignación a mi vimrc:

vmap < <a
vmap > >a

Parece tener resultados interesantes, ¿tal vez eso es lo que estás buscando?

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.