Pregunta

¿Cuál es la manera más sencilla de aumentar o disminuir la sangría de un gran bloque de código en vi?

¿Fue útil?

Solución

En vim (no estoy seguro si esto también se aplica a usted), usa >> para sangrar una línea. Al igual que con casi todos los comandos en vim, escriba un número antes de que el comando se ejecute varias veces. Entonces, para sangrar las siguientes 50 líneas, escriba 50>>.

Otros consejos

Autoidentificación:

Para un bloque {} utilizo el comando: = iB (con el cursor dentro del bloque para identificar)

Para volver a identificar un archivo completo, uso gg=G

Ahora para aumentar o disminuir la ideación en un bloque, debe seleccionarlo (uso el comando viB ) y luego hacer > > o < < y si desea repetir la ideación simplemente use el punto .

También recuerde establecer su configuración de ideación con

: set shiftwidth = NUMOFSPACES

y

: set softtabstop = NUMOFSPACES

Márcalo, luego usa > y < ;.

Si su código está entre llaves, coloque el cursor en una de las llaves y use >% o <%.

Otro comando útil es, una vez que sangra con '<' o '>', use '.' para repetir el comando hasta que esté alineado como lo desee.

Además, puede mirar http://vim.wikia.com/ para obtener consejos sobre esto tipo de cosas.

Por defecto en el modo insertar, puede utilizar Ctrl-T y Ctrl-D para de-/intención de la línea actual.

presione v para ir al modo visual y la flecha hacia abajo para seleccionar todo el bloque, luego 12 > >

use dos paréntesis angulares (" < < " o " > > " ) para una línea hacia la izquierda o hacia la derecha con caracteres de ancho de desplazamiento. Puede hacer esto con los indicadores comunes de rango de línea: & Quot;: m, n & Quot ;, corsé / paréntesis / emparejamiento de pares, etc.

O " < " ;, luego un indicador de movimiento, luego otro " < " ;.

O " < 12 < " desplaza las siguientes 12 líneas a la izquierda.

: 50,100 >

Sangrará las líneas 50 a 100 una vez

: 50,100 > >

Sangrará las líneas 50 a 100 dos veces

también funciona con < y < < etc.

Primero encuentre los números de línea de las líneas de inicio y final utilizando el comando Control-g. Que estos sean m y n . Supongamos que deseamos sangrar números de línea m a n por 5 espacios. Luego, el siguiente comando hace el trabajo,

:m,ns/^/     /g 

Para disminuir la sangría, primero convierta todas las pestañas a (digamos 4) espacios.

:m,ns/\t/    /g

Entonces, digamos que deseamos eliminar 3 espacios de las líneas numeradas m a través de n .

:m,ns/^   //g
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top