Vim (editor de texto)

Vim es un editor de texto muy versátil.

Instalación en Ubuntu/Debian

sudo apt-get install vim-gnome

Comandos básicos

Pulsa i o a para empezar a escribir!

esc vuelve al modo normal. En modo normal:

  • :w -> guardar
  • :q -> salir
  • :wq -> guardar y salir
  • :q! -> salir sin guardar (forzando sin guardar, aunque hayan habido cambios)
  • / -> buscar en documento
  • ? -> buscar en documento (hacia atrás)
  • :s/from/to -> sustituir primera aparición en la línea (nótese el formato regex)
  • :s/from/to/g -> sustituir en toda la línea (nótese el formato regex)
  • dd -> borra la línea donde se está
  • gg-> va a la primera línea

Configuración básica

La configuración por defecto es un tanto compleja, pero puede modificarse en el fichero .vimrc. Aquí configuraremos VIM con una trama de colores Mustang, y con comportamientos como CTRL+C para copiar y CTRL+V para pegar (véase behave mswin a continuación).

  1. Descarga el paquete de colores Mustang de: web oficial

  2. Crea ~/.vim/colors y mueve el paquete de colores:

    mkdir -p ~/.vim && mkdir -p ~/.vim/colors
    mv mustang_vim_colorscheme_by_hcalves.vim ~/.vim/colors/Mustang.vim
    
  3. Descarga e instala en ~/ el fichero de configuración básica (fuente):

    wget https://raw.githubusercontent.com/asrob-uc3m/tutoriales/master/assets/dotfiles/.vimrc -O ~/.vimrc
    

Configuraciones alternativas

  • Excerpts para forzar 80 columnas:

    • Set textwidth to 80, move to the start of the file (can be done with Ctrl-Home or gg), and type gqG. gqG formats the text starting from the current position and to the end of the file. It will automatically join consecutive lines when possible. You can place a blank line between two lines if you don't want those two to be joined together.
    • This solution is the key, but I most often find I want to reformat the rest of the current paragraph; for this behavior, use gq}.
  • Existen muchos plugins para convertir vim en un IDE completo:

    • Navegar a través de árboles de archivos: nerdtree
    • Autocompletado de estructuras y funciones a través de ctag, tutoriales: 1, 2