Sigueme en Twitter
«Anterior | Siguiente»

3 Características indispensables de Vim

13/05/2007

Suelo ser de aquellos que prueban cada nuevo editor que va saliendo, de esos que cambian de gustos cada 3 días, pero por alguna razón siempre regreso arrastrandome a usar Vim.

Estas son algunas cosas que considero indispensables para programar:

1. Tabs!

Algo de lo que renegaba mucho antes de que saliera la versión 7, es que Vim no tuviera soporte para tabs, me era muy molesto tener que abrir varias instancias o usar screen, pero todo eso se mejoro con la salida de Vim 7, los comandos básicos para manejar tabs son:

:tabfind archivo – abre archivo en un nuevo tab
:tabnext – pasa al siguiente
:tabprevious – pasa al anterior
:tabnew – abre un nuevo tab
:tabmove n – mover el tab a la posición n

Obviamente es tedioso escribirlos completos, aunque el modo de comandos tenga autocompletado, por eso lo mejor es hacer un mapping de ellos, con combinaciones de teclas que recuerdes facilmente.

Mi mapping va de esta manera (en el archivo ~/.vimrc).

map ,t :tabnew
map ,1 :tabprevious
map ,2 :tabnext
map ,f :tabfind
map ,m :tabmove
map ,n :tabnew

Por lo tanto solo escribo ,t para un nuevo tab o ,f para buscar un archivo y asi sucesivamente.

Tabs en Vim

2. Autocompletar

Este es un indispensable en cualquier editor, otra de las grandes cosas por las que me quejaba antes de Vim 7 es que no tenia un autocompletado con una lista seleccionable y simplemente no me parecia funcional (a pesar de que el moy me alegara lo contrario).

De igual manera puedes incluir esto en tu .vimrc y listo

function! Mosh_Tab_Or_Complete()
if col(’.')>1 && strpart( getline(’.'), col(’.')-2, 3 ) =~ ‘^\w’
return “\
else
return “\
endfunction

:inoremap =Mosh_Tab_Or_Complete()
:set dictionary=”/usr/dict/words”

Tu autocompletar quedara asi:

Autocompletar en Vim

3. Sesiones

Soy uno de esos que termina frecuentemente con 5 o 6 archivos abiertos al final del dia y me cuesta valiosos minutos llegar al dia siguiente y acordarme en lo que estaba trabajando exactamente, por eso para mi las sesiones son indispensables, en Vim 7 puedes guardar sesiones para lo que gustes y donde gustes.

:mksession! archivo – te guarda tu estado actual en archivo
:source archivo – te restaura el estado que este guardado en archivo

Nuevamente, son comandos largos y somos webones, asi que hago un mapping sencillo:

map ,s :mksession! ~/.vim/.session
map ,r :source ~/.vim/.session

Con ,s grabo el estado actual, que archivos tengo abiertos y con ,r recargo el estado de la ultima sesión que guarde.

Mas sencillo no se puede!


Hay 6 comentarios:

  1. 13/05/2007zodman dice:

    Execelente add to my delicius :)

  2. 13/05/2007BlacKNasH dice:

    :) thanks, implementare el 3er punto n_n . muy bueno

  3. 14/05/2007pablasso dice:

    no hay de que :)

  4. 14/05/2007meneame.net dice:

    Características indispensables de Vim

    En este artículo comentan 3 de mis características preferidas de Vim, cómo activarlas modificando el .vimrc y cómo utilizarlas: las pestañas, el autocompletado y las sesiones.

  5. 14/05/2007xiam dice:

    Esos maps me laten! :).

  6. 25/04/2008Mimadeo dice:

    Vaya… pues yo el tema de las sesiones lo llevo usando desde la version 6.
    Las tabs no me acaban de convencer, prefiero usar :b fichero.
    Lo que si que mola es lo del autocompletado inteligente al estilo eclipse :D

Escribe tu comentario:

¿Escribiste código? [+]

Para hacerlo más legible puedes utilizar la etiqueta <pre>.
Ejemplo: <pre lang="php" line="1"> código </pre>
  • El atributo lang indica el lenguaje de programación.
  • El atributo line indica desde donde comienza la numeración.


  Los mas frikis pueden suscribirse a los comentarios por RSS.