¿Cómo mantenerse en modo visual después de identificar por shift +> en vim?

18

Actual sale del modo visual después de sangrar una vez, lo cual es muy molesto.

new_perl
fuente
55
Para sangrar más de una vez, simplemente use la .tecla para repetir la última operación
barbaz
Utilizando . es bueno. Pero a veces necesita hacer una operación diferente con el código seleccionado después de indentig, como por ejemplo, yanking. Y tienes que seleccionar de nuevo, lo que apesta
Santi

Respuestas:

25

Puede usar el comando de modo normal gvpara resaltar la selección visual anterior. Por lo tanto, puede usar las siguientes asignaciones:

:vnoremap < <gv
:vnoremap > >gv

El :vnoremapcomando configura una asignación que funcionará solo en modo visual. Entonces, le REBINDING el <y >comandos del modo visuales para realizar el guión e inmediatamente volver a seleccionar la selección visual anterior.


fuente
44
No es correcto. Debería usar vnoremapporque se vmapasignará de forma recursiva y se rompería
texasbruce
3
@texasbruce: Funciona bien para mí con vmap, sin embargo, he editado la respuesta (y mi propio .vimrc) para usar vnoremap ya que obviamente es más seguro.
5

Usando el punto "." repetirá la sangría del texto seleccionado previamente si fue la edición más reciente del texto. Esto no vuelve a seleccionar el texto, pero hace el trabajo igual de bien.

Hannes
fuente