¿ 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.
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.
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
Comando | Descripción | Ejemplo de uso (si aplica) |
---|---|---|
:w | Guarda el buffer en el fichero | -- |
:w [fichero] | Guarda el buffer en fichero (como un Save as...) | :w ~/ficherito |
:q | Salir de VIM | -- |
:q! | Salir de VIM sin guardar los cambios | -- |
:wq | Salvar y guardar | -- |
:u | Deshacer | -- |
Ctrl-R (^R) | Rehacer | -- |
:d ó :dN | Borrar 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]/g | Sustituye [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 |
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
No hay comentarios:
Publicar un comentario