2010-03-02 5 views
7

Estoy usando mvim. Intento mapear claves para poder seleccionar elementos visualmente, luego puedo sangrar el código hacia adentro o hacia afuera. Sin embargo, mientras realiza un trabajo externo después de cada pulsación, se selecciona una línea más en la parte inferior. ¿Cuál es la solución?vim sangrando un bloque de código hacia adentro y hacia afuera

" Ctrl-x - move the block of visually selected code one tab right and keep visual mode alive 
" Ctrl-z moves the data in opposite direction 
" Usage : shift v and select multiple lines. then Ctrl x multiple times and 
" then Ctrl z multiple times 
vmap <C-x> >gv 
vmap <C-z> <gv 
+1

Es posible que desee consultar también esta pregunta relacionada: http://stackoverflow.com/questions/2332340/indenting-a-bunch-of-lines-in-vim –

Respuesta

16

¿Por qué te molestas cuando ya puedes hacer esto?

>> - aumento guión del bloque seleccionado

<< - disminución guión del bloque seleccionado

Esto hará que se pierda el foco. Si desea seguir sangrando solo escriba . para repetir la última acción. También puede escribir gv para volver a seleccionar su última selección.

Otra opción es seleccionar y escribir un número antes de sangrar, que es lo mismo que repetir el >> o << tantas veces como el número que escribió.

Cuestiones relacionadas