miércoles, octubre 31, 2012

vim:breve ejemplo de uso de opciones locales

Una particularidad que tiene vim es que permite el uso de opciones locales. Éstas solo afectan al buffer o a la ventana actual. A esta configuración podemos acceder a través de setlocal. No todas las opciones de configuración globales tienen reflejo en las configuraciones locales de un buffer o ventana, pero podemos ver que variables soporta si en la ventana de comandos introducimos setlocal all.

Puede combinarse estas opciones con los autocomandos que se ejecutan automáticamente cuando se producen ciertos eventos. Un ejemplo es, si queremos activar el list mode y modificar las configuraciones del tabulador cuando trabajamos con un buffer donde está cargado un fichero de Python el cual vamos a identificar por su extensión. De esta manera:

if has("gui_running")

  au BufRead *.py setlocal list | 

    \ setlocal ts=2  |

     \ setlocal expandtab 

  au BufWinEnter *.py setlocal list |

    \ setlocal ts=2 |

    \ setlocal expandtab

  au BufLeave *.py setlocal nolist

endif


Este código en nuestro ~/.vimrc hará que cuando se cargue un fichero python (identficado por la extensión) activemos el list mode en los buffer que lo usen, usaremos un tabstop de dos espacios y sustituiremos los tabs por espacios. Como detalle, esto sólo se carga si estamos usando el vim en modo gráfico.


Technorati Tags:

No hay comentarios: