2009-09-10 24 views
10

¿Cómo se tabula un bloque de código, a la derecha hacia la izquierda, hacia arriba y hacia abajo?pregunta vim: tabbing un bloque de código

+0

http: // stackoverflow.com/questions/442302/tabbing-selected-section-in-vim –

+3

¿Qué quiere decir arriba y abajo? –

+0

dicen que tengo un bloque de código y quiero moverlo [unas pocas líneas] hacia abajo – vehomzzz

Respuesta

35

Mi manera favorita es seleccionar su bloque de código (con el modo de línea normal [V] normalmente), luego presione> o <.

Si desea tabular más de una vez, 2> o 3> repítalo.

Si no tabuló lo suficiente (o pestañas demasiado), escriba "gv" para volver a seleccionar su selección y vuelva a intentarlo.

Para mover un bloque de código, selecciónelo con el modo de línea real [V] y luego presione "d". Esta es la operación "Cortar".

Luego mueva el cursor al lugar que desea que vaya, y presione "p". Esta es la operación "Pegar".

También puede intentar tabular automáticamente un bloque de código seleccionándolo con el modo de línea real [V] y presionando "=".

+5

¿gv vuelve a seleccionar una selección previa? WOW, que es útil en sí mismo ... – vehomzzz

+5

Si el código no tiene la capacidad de tabulación suficiente, puede usar el comando dot '.' para repetir la última identificación ... – CMS

+0

Nunca supe sobre la sugerencia de gv, gracias ¡Para este! –

1

En el modo de comando:

>

Como cualquier otro comando que podría anteponer el número de línea que desea tienen que aplicar:

+ + >

Will "tab" 22 líneas.

Presione . si quiere "volver a la pestaña"

4

para sangrar el bloque interno que contiene el cursor, hacer: >iB para sangrar el bloque interno incluidas las llaves que encierran, hacer: >aB

Puede reemplazar '>' con '<' para sangrar a la izquierda.

Para autodefinir, presione == (o = si tiene texto resaltado).

1

Utilizo una práctica reasignación para el modo visual que permite sangrar el texto varias veces mientras se mantiene el texto seleccionado. Similar a cómo algunos IDEs le permiten seleccionar y presionar la pestaña (o la tecla Mayús) para sangrar.

Añadir lo siguiente a su .vimrc

" Pressing <or> will let you indent/unident selected lines 
vnoremap < <gv 
vnoremap > >gv 

También puede utilizar == tener vim tratar de determinar la sangría correcta de forma automática. Funcionará en cualquier línea de compra simplemente colocando el cursor allí y presionando == o puede hacer cosas extravagantes como seleccionar todo el archivo y presionar == para corregir todas las sangrías (funciona de maravilla en html generado por los editores de wysiwyg).

0

Sólo ve en modo de escritura visual v y luego usar el < o carácter> :)

Cuestiones relacionadas