La configuraciĆ³n para Vim definitiva

Seguramente todos debĆ©is conocer Vim, a mi parecer el mejor editor de texto para GNU/Linux. Las primeras veces que usĆ© Vim me pareciĆ³ muy complicado, pero desde que administro el servidor dedicado de mi blog personal, se ha convertido en mi editor por defecto, incluso para programar, en este artĆ­culo veremos cĆ³mo aplicar la configuraciĆ³n definitiva para Vim gracias a un repositorio que encontrĆ© en GitHub.

Como es habitual en el mundo del software libre, Vim posee una gran capacidad de configuraciĆ³n y personalizaciĆ³n. AsĆ­ que decidĆ­ buscar en la red configuraciones que facilitaran la tarea de programar y me topĆ© con un repositorio en GitHub creado por Amix, que durante 8 aƱos ha estado usando y modificando Vim para obtener un vimrc definitivo. El repositorio en cuestiĆ³n lo podĆ©is encontrar aquĆ­, veamos cĆ³mo instalarlo.

En el proceso de instalaciĆ³n serĆ” necesario usar Git, si no estĆ”s acostumbrado a este programa puedes echar un vistazo a esta chuleta de comandos para Git

VersiĆ³n bĆ”sica o versiĆ³n ā€œAwesomeā€

Es posible elegir entre dos versiones, una bĆ”sica que no instalarĆ” ningĆŗn plugin, u otra mucho mĆ”s completa que harĆ” de Vim un editor muy potente.

Para instalar la bƔsica basta con ejecutar el comando siguiente:

$ git clone git://github.com/amix/vimrc.git ~/.vim_runtime
$ sh ~/.vim_runtime/install_basic_vimrc.sh

Y para la avanzada o ā€œAwesomeā€:

git clone git://github.com/amix/vimrc.git ~/.vim_runtime
sh ~/.vim_runtime/install_awesome_vimrc.sh

El vimrc para la versiĆ³n ā€œAwesomeā€ es como sigue:

set runtimepath+=~/.vim_runtime

source ~/.vim_runtime/vimrcs/basic.vim
source ~/.vim_runtime/vimrcs/filetypes.vim
source ~/.vim_runtime/vimrcs/plugins_config.vim
source ~/.vim_runtime/vimrcs/extended.vim

try
source ~/.vim_runtime/my_configs.vim
catch
endtry

Para aƱadir nuestras propias configuraciones hemos de editar el fichero ~/.vim_runtime/my_configs.vim.

Editar la configuraciĆ³n por defecto

En la instalaciĆ³n el esquema de colores por defecto se establece a peaksea, es posible cambiar los colores usados para resaltar la sintaxis por Vim editando el fichero ~/.vim_runtime/my_configs.vim y aƱadiendo la siguiente lĆ­nea:

colorscheme peaksea

Hay que reemplazar peaksea por cualquiera de estos otros 3 esquemas de colores:

  • solarized
  • pyte
  • ir_black

Posibles problemas con el fondo transparente

Es posible que al instalar esta configuraciĆ³n para Vim perdamos el fondo transparente de la terminal y veamos vim de la siguiente forma:

La configuraciĆ³n para Vim definitiva

Para solucionar el problema es necesario aƱadir las siguientes lƭneas al archivo ~/.vim_runtime/my_configs.vim:

hi NonText ctermfg=18 ctermbg=NONE cterm=NONE
hi Normal ctermfg=16 ctermbg=NONE cterm=NONE
hi Special ctermfg=Yellow ctermbg=NONE
hi Comment ctermfg=DarkYellow ctermbg=NONE
hi Constant ctermfg=Blue ctermbg=NONE
hi Number ctermfg=Yellow ctermbg=NONE
hi LineNr ctermfg=DarkGrey ctermbg=NONE
hi PreProc ctermfg=Green ctermbg=NONE
hi Statement ctermfg=Cyan ctermbg=NONE
hi Type ctermfg=Cyan ctermbg=NONE
hi Error ctermfg=Red ctermbg=NONE
hi Identifier ctermfg=Magenta   ctermbg=NONE
hi SpecialKey ctermfg=Cyan ctermbg=NONE
hi NonText ctermfg=Blue ctermbg=NONE
hi Directory ctermfg=Blue ctermbg=NONE
hi MoreMsg ctermfg=Green ctermbg=NONE
hi Title ctermfg=Magenta ctermbg=NONE
hi WarningMsg ctermfg=Red ctermbg=NONE
hi DiffDelete ctermfg=Blue ctermbg=NONE

Lo cual elimina el fondo negro (ctermbg=NONE) de todas las palabras clave del lenguaje de programaciĆ³n y de los sitios en los que no haya texto (NonText).

Estos parĆ”metros se basan en el esquema de colores peaksea, simplemente he modificado el atributo ctermbg para establecer el color de fondo a ninguno. Si elegĆ­s otro esquema de colores deberĆ©is buscar su configuraciĆ³n por defecto, copiarla y pegarla en vuestra configuraciĆ³n estableciendo ctermbg a NONE

Otras modificaciones

Personalmente me gusta resaltar la lĆ­nea actual con la siguiente apariencia:

hi CursorLine guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD
hi CursorColumn guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD

Tras aplicar todos estos cambios, el aspecto de Vim es el siguiente:

La configuraciĆ³n para Vim definitiva21

ConclusiĆ³n

Este ha sido mi primer artĆ­culo como colaborador en DesdeLinux, espero que os haya resultado de utilidad. ĀæConocĆ­ais esta configuraciĆ³n para Vim?. ĀæQuĆ© personalizaciones le habĆ©is hecho? Dejad un comentario!.


Deja tu comentario

Tu direcciĆ³n de correo electrĆ³nico no serĆ” publicada. Los campos obligatorios estĆ”n marcados con *

*

*

  1. Responsable de los datos: Miguel Ɓngel GatĆ³n
  2. Finalidad de los datos: Controlar el SPAM, gestiĆ³n de comentarios.
  3. LegitimaciĆ³n: Tu consentimiento
  4. ComunicaciĆ³n de los datos: No se comunicarĆ”n los datos a terceros salvo por obligaciĆ³n legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu informaciĆ³n.

  1.   elav dijo

    Yo era de los que aborrecƭa VIM, decƭa que era un editor de texto para Pulpos.. pero de un tiempo para acƔ lo uso mƔs que Nano (el otro editor, no el eNano de nuestra comunidad) xDD

    1.    Alejandro Alcalde dijo

      A mi me pasaba un poco igual que a tĆ­, viendo que Vim era algo mĆ”s complicado usaba Nano, hasta que me esforcĆ© por acostumbrarme a Vim y se convirtiĆ³ en mi editor por defecto. Saludos!

      1.    elav dijo

        AsĆ­ es.. por cierto, un placer tenerte por acĆ”.. Bienvenido!

        1.    Alejandro Alcalde dijo

          Gracias, espero poder contribuir con artĆ­culos de calidad. Saludos!

    2.    elhui2 dijo

      Yo siempre use Vi, ahi modificaba mis scripts COBOL (mi primer trabajo a los 17) xD nunca use otro por pereza pero me acomode muy bien, y tienen atajos increibles!
      Saludos.

    3.    Manuel de la Fuente dijo

      Pues que yo sepa los dos son Nanos y son Editores, asĆ­ que sigo sin saber a cuĆ”l usas… o quizĆ”s tambiĆ©n a ambos los usas. xD

      1.    eliotime3000 dijo

        El GNU Nano es un software, mientras que el nano que estĆ” en esta comunidad es un alias de una persona.

  2.   nano dijo

    Dejen de usar mi nombre coƱo, se gasta xD

    1.    elav dijo

      El eNano con Windows XP.. WTF?

      1.    nano dijo

        Estaba en la uni u.u

        1.    Ɓngel Isaac Pizano dijo

          Ā”Pretextos!, Ā”Te fuiste al lado oscuro! XD
          Y con respecto al post… Creo que debo de aprender a usar Vim o_o

          1.    eliotime3000 dijo

            Yo estoy tanto en Windows Vista como en Debian Wheezy, asĆ­ que no se quejen si comento con Google Chrome 30 (en realidad, es Chromium 30) con Vista.

        2.    eliotime3000 dijo

          I know that feel, bro.

    2.    eliotime3000 dijo

      Por algo es que cuando hablo de GNU Nano, escribo GNU Nano (no nano a secas por la ambigĆ¼edad que genera tu alias).

  3.   Leo dijo

    Solo los que son suficientemente dignos pueden usar Vim (lo cual no me incluyo).
    Es re-complicado, pero es obvio que es mejor editor, todos hablan muy bien de Ć©l.

  4.   abimaelmartell dijo

    Yo tengo rato usando VIM, aqui les dejo mi config que uso en Ubuntu y OSX
    https://github.com/abimaelmartell/dotfiles

  5.   Rots87 dijo

    yo no entiendo a vim… he intentado pero siempre vuelvo a nano la falta de costumbre supongo pero me cuesta šŸ™

    1.    elav dijo

      CrĆ©eme, cuando te adaptas se hace indispensable. Eso de poder copiar/mover/cambiar texto, borrar o editar texto en columna.. en fin, cuando no se tiene interfaz grĆ”fica VIM es genial.. y aĆŗn con interfaz grĆ”fica es genial šŸ˜€

      1.    petercheco dijo

        Cuando no hay entorno lo mejor es MC (Midnight commander)

      2.    Giskard dijo

        Yo hago todo eso en Geany. No veo por quĆ© aprender cosas complicadas. Siempre he pensado que es el software el que debe adaptarse a los seres humanos y no al revĆ©s. Pero bueno, el mundo es libre… por el momento.

        1.    RAW-Basic dijo

          QuĆ© tal?.. ..tengo que disentir con tu comentario.. ..no me parece justo que pienses de forma generalizada que un determinado software no se adapte a Ā“los seres humanosĀ“.. ..simplemente porque las necesidades y perspectiva de cada uno..varĆ­a, y en algunos casos mucho..

          Para algunos lo mejor es el editor nano, yo no lo soporte ni para el mƔs mƭnimo cambio.. ..algunos les gusta geany, ninjaIDE, eclipse..y yo prefiero alguno u otro dependiendo el caso.. ..otros emacs, yo Vi..

          Cosas que parecen complicadas de aprender, aunque no siempre, suelen tener sus beneficios.. ..para altos volĆŗmenes de datos de un archivo, y me refiero a realmente altos (TBs)..algunos editores ni te lo dejarĆ­an abrir.. ..y con Vi no sĆ³lo lo podrĆ­a abrir..sino que podrĆ­a hacer un manejo complejo a travĆ©s de expresiones regulares..

          Tan sĆ³lo mi opiniĆ³n.. ..espero sepas entender..

          1.    Giskard dijo

            A ver, en casi todos los editores que he usado guardas con Ctrl+S (Save) y sales con Ctrl+Q (Quit). Y te mueves con la convenientes teclas de cursores que tienen unas flechitas. Dime cĆ³mo se hace en vim? šŸ˜‰
            Entiendo tu opiniĆ³n, tranquilo.

          2.    RAW-Basic dijo

            Em.. ..simple.. ..para moverte lo podĆ©s hacer tanto con las flechitas..como con las teclas ‘HJKL’..normal en los vi-like..

            Para guardar y salir ‘:wq’.. šŸ˜‰

            Dale una oportunidad a aprender a manejarte con vim.. ..con pero probarlo por una semana..sĆ³lo usando vim.. ..cuando aprendas las herramientas, la rapidez que te proporciona es inmensa..

  6.   Yukiteru dijo

    TendrĆ© que probarlo con la mente abierta, porque la verdad las veces que le he invocado para realizar alguna ediciĆ³n simplemente me desespera, y termino usando nano.

  7.   freebsddick dijo

    yo feliz con emacs

    1.    eliotime3000 dijo

      En eso te apoyo, ya que GNU Emacs es prƔcticamente una navaja suiza a la hora de editar textos y scripts. Si uno quiere googlear o administrar su correo. Emacs con un par de plugins lo puede hacer y bien.

    2.    pandev92 dijo

      Yo feliz con monodevelop

      TROLLING OFF

  8.   RAW-Basic dijo

    Wenas.. ..primero que nada, buenĆ­simo que te hayas decidido a aportar..y mĆ”s aĆŗn con semejante post.. ..muchas gracias!!..

    Hace tiempo que venĆ­a buscando algo semejante..para empezar a utilizar mĆ”s seguido Vim.. ..aunque siempre usĆ© Vi.. ..para proyectos grandes, lo ideal es tener una buena config y acomodarse en Vim.. ..de nuevo, gracias.. ..y nos seguimos leyendo.. šŸ˜‰

  9.   eliotime3000 dijo

    TendrĆ­a que instalar Vim antes de emitir un juicio ciego. Por ahora estoy usando GNU Nano y GNU Emacs.

  10.   David GĆ³mez dijo

    La configuraciĆ³n esta genial Alejandro… Sin embargo, los esquemas de colores estĆ”n terribles. No se si depronto conoces donde se pueden encontrar esquemas de colores mĆ”s atractivos. A mi personalmente me gusta mucho el esquema Twilight de Textmate.

    1.    Alejandro Alcalde dijo

      Si no te gustan ninguno de los esquemas de colores que vienen en el repositorio, puedes probar a instalar cualquier otro, o modificar los colores a tu gusto editando estos los valores de ctermfg.

      hi NonText ctermfg=18 ctermbg=NONE cterm=NONE
      hi Normal ctermfg=16 ctermbg=NONE cterm=NONE
      hi Special ctermfg=Yellow ctermbg=NONE
      hi Comment ctermfg=DarkYellow ctermbg=NONE
      hi Constant ctermfg=Blue ctermbg=NONE
      hi Number ctermfg=Yellow ctermbg=NONE
      hi LineNr ctermfg=DarkGrey ctermbg=NONE
      hi PreProc ctermfg=Green ctermbg=NONE
      hi Statement ctermfg=Cyan ctermbg=NONE
      hi Type ctermfg=Cyan ctermbg=NONE
      hi Error ctermfg=Red ctermbg=NONE
      hi Identifier ctermfg=Magenta ctermbg=NONE
      hi SpecialKey ctermfg=Cyan ctermbg=NONE
      hi NonText ctermfg=Blue ctermbg=NONE
      hi Directory ctermfg=Blue ctermbg=NONE
      hi MoreMsg ctermfg=Green ctermbg=NONE
      hi Title ctermfg=Magenta ctermbg=NONE
      hi WarningMsg ctermfg=Red ctermbg=NONE
      hi DiffDelete ctermfg=Blue ctermbg=NONE

      Saludos.

  11.   Ender Fletcher dijo

    Que tal. buen articulo. seria bueno publicar algo sobre como sacarle provecho a esta config. Para aquellos usuarios no tan expertos en vim como yo šŸ™‚

  12.   juank dijo

    Muy interesante y agradecido, mejora bastante el uso de vim, pero como colocas los numeros de las lineas?, es lo unico que no he logrado conseguir.

    Gracias por el aporte

    1.    David dijo

      :set number

      1.    RAW-Basic dijo

        Abreviado ‘:set nu’ .. ..y para sacarlo ‘:set nonu’ šŸ˜‰

    2.    Alejandro Alcalde dijo

      Yo uso esta:

      :set nocompatible ruler laststatus=2 showcmd showmode number

      Y para resaltar la lĆ­nea actual es necesario :set cursorline.

      Se me olvidĆ³, un saludo.

  13.   kik1n dijo

    Vim, la mejor arma para un usuario de Linux&Unix. Lo mejor de todo, puedes moldear a tu gusto vim, el mio es un IDE de C/C++, NERDTree.

  14.   seachello dijo

    Buen aporte!

    Yo sin ser un usuario experto y sin sacarle todo el jugo que tiene vim, he llegado a acostumbrarme bastante y lo uso como editor principal. Creo que lo mejor para empezar a acostumbrarse, ya que puede llegar a desesperar al principio, es realizar el tutorial que viene con el programa (usar el comando Ā«vimtutorĀ»). AsĆ­ lo hice yo y me ayudĆ³. Mientras lees el tutorial usas vim a la vez.

  15.   Ezequiel dijo

    Hola comunidad, yo uso vim y como muchos de ustedes me resulta una herramienta infaltable para mi trabajo. QuerĆ­a aportar un tip muy Ćŗtil para manejar la instalaciĆ³n de plugins. La herramienta se llama Ā«pathogenĀ». Este plugin maneja los paths para los diferentes plugins, haciendo que la instalaciĆ³n y desinstalaciĆ³n de los mismos sean muy sencillos. Si usĆ”s vim, tenĆ©s que utilizar esta herramienta. Otro tip: en la pĆ”gina vimbits.com hay un montĆ³n de maps y configuraciones muy interesantes. Y para los que utilicen Python, les recomiendo el plugin python-mode. Espero que les sirva como a mĆ­.
    Usemos Linux.
    šŸ™‚

  16.   Dante Mdz. dijo

    Aun no he usado Vim, me esta dando mucho curiosidad. Tengo que probarlo, pero Ā”Ya!

  17.   Mauricio dijo

    Concuerdo con mucho aqui.

    Recuerdo, que los primeros dias intentaba usar vim y siempre lo dejaba, porque me parecia complicado usarlo, hasta que un dia empeze a hecharle ganas y pude entender un poco su funcionamiento.

    Desde ahi, se combirtio en mi editor de texto favorito, cuando tengo que editar un archivo rapido en la consola.

    Por cierto, buen articulo.

    1.    Alejandro Alcalde dijo

      Gracias, me alegra que haya sido un artĆ­culo interesante.

      Saludos.

  18.   Dry0Gut dijo

    … muy bueno el post, me gusta mucho vim lo uso para programar pues para configurar arch siempre he tenido algunas dificultades pero es cuestion de practica. Este post a dia de hoy no esta desactualizado.

    Saludos!!!

  19.   Dry0Gut dijo

    que tal, tengo el problema que este enlace esta roto, alguien me podria decir cual esta funcionando ahora. Por el momento estoy probando unos que recomiendan pero quisiera saber su opinion… Gracias!!

    Saludos!!!

  20.   Dry0Gut dijo

    source ~/.vim_runtime/vimrcs/plugins_config.vim

  21.   Dry0Gut dijo

    … he tenido problemas con el archivo de registro del plugin yankring al intentar crear el archivo de registro yankring_history_v2.txt. Alguna idea que me puedan facilitar de como solucionarlo…

    Saludos!!

  22.   Anonymous dijo

    Me gusta tu blog.
    Solo quiero decirte que tienes los enlaces a las imagenes rotos.