2011-01-05 13 views

Respuesta

6

Probablemente será más fácil volver a formatear el uso de expresiones regulares en primer lugar:

:%s/;/;\r/gc
:%s/}/}\r/gc
:%s/{/{\r/gc
etc

para insertar la tubería de retorno después; o {}.

(si tiene la suficiente confianza o el archivo está a tiempo, no utilice c le pedirá una confirmación para cada partido)

Una vez que el archivo se divide en diferentes líneas, puede utilizar gg=G para obtener la sangría correcta.

Por lo que yo sé que no es posible dividir una línea en múltiples líneas, ya sea con o GQ =

+0

Eso es genial. ¡Gracias! – Rafid

+1

':% s/\ ([;} {] \)/\ 1 \ r/gc' es más conveniente. – zsrkmyn

0

sería bueno poner estas acciones en una función, por lo que el trabajo más simple.

function! FormatJavaScript() 
    :%s/;/;\r/gc 
    :%s/}/}\r/gc 
    :%s/{/{\r/gc 
endfun 
map <F2> <esc>:call FormatJavaScript()<cr> 

una mejora adicional de la función sería poner un espacio, por lo que la función actúa sobre él, en lugar de actuar sobre el archivo completo, que no recuerda en este momento. Echaré un vistazo a "comando de ayuda", ¿podría alguien ayudarme con esto?

3

Hay un complemento vim que permite formatear su código desde dentro de vim (con solo presionar un botón). Se llama vim-formato automático y se puede dowload aquí:

https://github.com/Chiel92/vim-autoformat

que integra los programas de formateo de código externas en vim. Por ejemplo, si desea formatear el código de JavaScript, solo necesita instalar el programa js-beautifier (se explica en el repositorio), y todo funciona, sin tener que configurar nada.

Cuestiones relacionadas