jueves, 8 de noviembre de 2007

Capitulo 4: VIM básico

Conceptos básicos
¿ Como funciona VIM?
Modo edición
Modo comandos
Modo especial: Visual
~/.vimrc
Obtener ayuda


Conceptos básicos

A lo largo de la administración de un sistema Linux podemos toparnos con la necesidad de editar un fichero de configuración o algo parecido. Bien, en Linux hay muchos editores que pueden satisfacer nuestras necesidades (nano, pico, jedit...). En este capítulo NO vamos a cubrir una guerra típica "VIM vs. Emacs". Simplemente mostraremos un editor muy potente y queremos que con estas nociones cualquier usuario pueda beneficiarse de la potencia de VIM sin tener que entrar en muchos detalles ni en cosas complicadas.

Antes de nada vamos a introducir un poco sobre qué es VIM, de dónde viene y qué vamos a aprender en este capítulo.

VIM es un editor de textos para Linux. Es un derivado de VI, VIM significa VI iMproved, es decir, el mismo editor VI pero mejorado. Y en este capítulo aprenderemos a hacer un uso básico de este fabuloso editor.


¿Como funciona VIM?

VIM tiene dos grandes modos para funcionar, el modo de edición y el modo comandos. Para pasar del modo comandos (que es en el que se inicia VIM) al modo edición, pulsamos la tecla I o Insert. Para pasar del modo edición al modo comandos pulsaremos la tecla Esc.

Para iniciar VIM, haremos lo siguiente:

$ vim 

VIM iniciará en el 'Modo Edición' que explicaré en la siguiente sección.


Modo Edición

Este es el modo en el que podremos editar un texto, o crear uno nuevo... Si pulsamos la tecla I o InsertRe.Pág y Av.Pág. otra vez cambiaremos el modo Insert por el modo Replace. No creo que haya que explicar mucho las diferencias entre insertar texto o reemplazar el texto. Para movernos por el fichero podemos utilzar las flechas, Re.Pág y Av.Pág.


Notas: Para volver al modo comandos, sirve con pulsar la tecla Esc.

Modo comandos

Este es el modo más interesante de VIM, con él podemos hacer cosas muy curiosas, como por ejemplo, activar el resaltado de sintaxis, deshacer, abrir un nuevo fichero, guardar, etc..

En la siguiente tabla explicaré los comandos que pueden resultar más interesantes.

Tabla 4.1. Comandos más usuales en VIM

ComandoDescripciónEjemplo de uso (si aplica)
:wGuarda el buffer en el fichero--
:w [fichero]Guarda el buffer en fichero (como un Save as...):w ~/ficherito
:qSalir de VIM--
:q!Salir de VIM sin guardar los cambios--
:wqSalvar y guardar--
:uDeshacer--
Ctrl-R (^R)Rehacer--
:d ó :dNBorrar la línea corriente o borrar N líneas a partir de la actual.--
:syntax [ on | off ]Activa/Desactiva el resaltado de sintaxis:syntax on
:s/[patrón]/[reemplazo]/gSustituye [patrón] por [reemplazo] en la línea actual.s/hoal/hola/g
:![comando] [argumentos]Ejecuta [comando] pasándole los argumentos [argumentos] en el shell:!gcc -g -O0 -o prueba prueba.c
:+[número]Baja [número] líneas:+256
:-[número]Sube [número] líneas:-12
:[número]Va a la línea [número]:1207
:+/[patrón]Busca [patrón] en el documento:+/donde te metes


El modo especial: VISUAL

Para entrar a este modo tenemos que pulsar v en el modo comandos. Para salir de el pulsaremos Esc.

El modo VISUAL nos permitirá eliminar grandes bloques de texto sin tener que ir borrando línea a línea. Para ello entraremos en el modo VISUAL (pulsando v) y nos moveremos con los cursores para seleccionar el bloque que queremos eliminar. Una vez tenemos seleccionado el bloque, pulsamos Supr y ya está, VIM nos informará de que hemos eliminado un bloque de "n" líneas.


~/.vimrc

Vim cuenta con un fichero de configuración en ~/.vimrc que nos puede ser muy util para personalizar nuestro VIM. Cualquier comando de VIM se puede introducir en él. Además de esto, hay muchas opciones que pueden cambiarse y hasta sentencias condicionales (algo que queda fuera del alcance de este capítulo). Cualquier línea que comience con " (comillas) será ignorada por VIM. A esto lo llamamos comentarios.

Como ejemplo mostraremos como habilitar el resaltado de sintaxis para todos los ficheros que abra el lector:

" " "
" ~/.vimrc
" " "
"
" Activamos el resaltado de sintaxis
syntax on

" Activamos la barra de informacion
set ruler

" Desactivamos la compatibilidad con VI
set nocompatible

" El identado lo hace VIM
set autoindent

" Características especiales de VIM
if has("autocmd")
" Habilitamos características propias de cada tipo de fichero
filetype plugin indent on
" Volvemos a la última línea que habíamos editado.
" ( Juntar las 2 siguientes líneas en una )
autocmd BufReadPost * if line("'\"") > 0 &&
line ("'\"") <= line("$") | exe "normal g'\"" | endif endif "has("autocmd")

Obtener ayuda

Obviamente esta ha sido una introducción muy liviana a Vim. Pero ¡VIM es mucho más!. Y el mejor punto de partida es ejecutar vimtutor. Este comando lo que hace es ir guiándonos paso a paso y con ejemplos. Editando buffers (ficheros) preparados para el correcto aprendizaje de vim. Vim es muy grande, se pueden hacer muchas cosas con él. Es muy recomendable utilizar vimtutor para iniciarse en este gran editor.

No hay comentarios: