¿Cómo soluciono la sangría de un archivo completo en Vi?

Resuelto mmcdole asked hace 15 años • 16 respuestas

En Vim, ¿cuál es el comando para corregir la sangría de todas las líneas?

Muchas veces copio y pego código en una terminal remota y todo se estropea. Quiero solucionar esto de una sola vez.

mmcdole avatar Feb 03 '09 12:02 mmcdole
Aceptado

=, el comando de sangría puede realizar movimientos. Entonces, ggpara obtener el inicio del archivo, =aplicar sangría Ghasta el final del archivo, gg=G.

Logan Capaldo avatar Feb 03 '2009 05:02 Logan Capaldo

Antes de pegar en la terminal, inténtalo :set pastey luego :set nopastecuando hayas terminado. Esto desactivará la sangría automática, el ajuste de línea y otras funciones que arruinan el pegado.

editar: Además, debo señalar que =normalmente se puede obtener un resultado mucho mejor que la sangría utilizando un programa externo. Por ejemplo, corro :%!perltidytodo el tiempo. astyle, cindent, etc. también se pueden utilizar. Y, por supuesto, puede asignarlos a una pulsación de tecla y asignar otros diferentes a la misma pulsación de tecla según el tipo de archivo.

derobert avatar Feb 03 '2009 05:02 derobert

El maestro de todos los comandos es

gg=G

¡Esto sangra todo el archivo!

Y a continuación se muestran algunos de los comandos simples y elegantes que se utilizan para sangrar líneas rápidamente en Vim o gVim.

Para sangrar todas las líneas debajo de la línea actual

=G

Para sangrar la línea actual

==

Para sangrar nlíneas debajo de la línea actual

n==

Por ejemplo, para sangrar 4 líneas debajo de la línea actual

4==

Para sangrar un bloque de código, vaya a una de las llaves y use el comando

=%
Sagar Jain avatar Aug 31 '2015 10:08 Sagar Jain