Plantillas y configuraciones para VIM
En templates.vim podemos bajarnos un plugin para el Vim que hará que, cuando programemos, podamos tener siempre las cabeceras y estructuras personalizadas de manera automática sin tener que ponerlas manualmente.
Una vez descargado ejecutamos Vim y desde la línea de comandos del propio programa escribimos:
:so /PathDondeHemosGuardadoElPlugin/templates.ar.vim
Esto nos creará
~/.vim/plugins/templates.vim
y un directorio en
~/.vim/templates
con ejemplos de plantillas para html, sh, y perl.
Podemos también añadir nuestras propias plantillas, por ejemplo, para Python creando un archivo, dentro del mismo directorio, llamado python con el contenido:
#!/usr/bin/env python # -*- coding: UTF-8 -*- # vim: ai ts=4 sts=4 et sw=4 # Autor: Aquí vuestro Nombre # Rev: $Rev # ------------------------------------------------------------------- if __name__ == "__main__": pass
Configuraciones útiles de VIM para Python
| Setting | Abbr. | Explicación |
| tabstop=4 | ts | Tabular para sangrar cuatro espacios es el estilo de codificación preferido en Python (y muchos más), aunque algunos están en desacuerdo. Con esto se presupone queremos un sangrado de 4-espacios. |
| shiftwidth=4 | <> | Permite usar las teclas < y > desde el modo visual de VIM para bloquear regiones con o sin sangria. |
| smarttab | sw | Con smarttab la opción de "shiftwidth" se convierte en válida para insertar s en lugar del "tabstop" al principio de línea. Puede ser redundante para muchos, pero alguna gente prefiere tener su tabstop=8 a efectos de compatibilidad cuando carga ficheros, pero el shiftwidth=4 para un estilo de codificación mejor. |
| expandtab | et | Inserta espacios en lugar del caracter cuando pulsamos la tecla . Es el método preferido de codificación de Python, dado que es especialmente sensible a los problemas con los sangrados que suelen ocurrir cuando cargamos ficheros de diferentes editores con diferentes configuraciones de tabulación, y también cuando cortamos/pegamos entre aplicaciones (p.ej. email/noticias). Es más seguro y más portable usar espacios para sangrar. |
| softtabstop=4 | sts | A la gente le gusta usar el carácter real de tabulador en lugar de los espacios porque luego es más fácil usando la tecla de retroceso (BACKSPACE) o de suprimir (DELETE), desde que el sangrado está usando espacios nos costará cuatro retrocesos para borrarlo. Usando softtabstop, sin embargo, hace que VIM vea múltiples espacios como tabstops, y así hace lo correcto y borra cuatro espacios (asumiendo lo hayan configurado a 4). |
| autoindent | ai | Muy doloroso vivir sin él (sobretodo en Python). Cuando pulses RETURN se creará una nueva línea, y ésta quedará alineada/sangrada como la anterior |
Recuerda. Puedes usar el comando :help command desde VIM para obtener más información.
Más complicado:
Sangría elegante
La siguiente línea configura el modo smartindent para los ficheros *.py.
Significa que después de escribir línea que comienzan con cualquiera de las palabras clave de la lista (ie. def, class, if, etc) la siquiente línea se sangrará automáticamente al siguiente nivel:
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
Otra forma sería crear una clave que detecte cuando escribes dos puntos (:) seguido de un RETURN (), y que añada un al final.
im : :
Tras los espacios en blanco
A mucha gente le gusta eliminar los espacios en blanco extra al final de las líneas. Aquí teneis una forma de hacerlo mientras guardas tu fichero.
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
Fuentes:
Python and Vim OpenChemist.net
nemrac @ 23:09

Meneame
del.icio.us

