Usando Vim

Vim es un editor de texto en modo consola para sistemas Unix, es una versión mejorada del editor Vi (Vi IMproved). Aunque es algo difícil adaptarse a él al inicio, es bastante potente. En modo gráfico hay distintos editores de texto, algunos con más opciones que otros y siempre es posible lanzar en modo root algún editor de texto con interfaz gráfica, pero vale la pena saber su uso básico por si en alguna oportunidad por andar traveseando en la PC (ya saben, echando a perder se aprende) no podemos ingresar al modo gráfico y tenemos que editar un archivo de texto.

Vim funciona en dos modos (lo que hace que sea confuso al inicio): modo de comandos, que es el que está por defecto al arracar el programa, y el modo de inserción de texto.

Para ingresar a Vim, escribimos en consola vim (¿lógico no?) y nos creará un archivo sin nombre. También podemos abrir un archivo con el comando vim /directorio/nombre_archivo_existente (recuerden que si es que no tenemos los permisos necesarios sobre el archivo no podremos guardar los cambios, a no ser que entremos como root) o crear un archivo nuevo con vim /directorio/nombre_archivo_nuevo.

Se puede probar un excelente tutorial de vim, con ejemplos, escribiendo en consola vimtutor.

Comandos Básicos

Vim tiene bastantes comandos, no traten de aprenderse de memoria todos, con la práctica se habituarán a los que más usen (además, siempre pueden usar vimtutor). Para los comandos, se distinguen mayúsculas de minúsculas.

Como ya dije, al inicio nos encontramos en modo de comandos. Al ingresar a un archivo ya existente, nos desplazamos por él con las flechas direccionales.

:i pasa al modo de inserción de texto. En este modo el programa funciona como cualquier editor de texto normal, para volver al modo de comandos, se pulsa la tecla ESC. Para probar los comandos explicados a continuación, se tiene que estar en modo de comandos (pulsando ESC).

G (o con <SHIFT> + g) nos dirige al final del documento.

gg (pulsando dos veces g) vamos al inicio del documento.

:n <ENTER> mueve el cursor hasta la línea “n” del documento. Otra forma de hacerlo es con n <SHIFT>+g

<CONTROL>+g nos muestra el estado del archivo, su nombre y el número de línea en el que se está.

x borra el caracter que se encuentra en la posición del cursor.

ndd borra “n” líneas desde la posición del cursor, así, si queremos borrar tres líneas, escribimos 3dd. Si se omite el número borrará 1 línea.

ndw borra “n” palabras desde la posición del cursor hacia la derecha. Por ejemplo, si queremos borrar 3 palabras, escribimos: 3dw. Si se omite el número, borrará una palabra.

d$ borrará todas las palabras desde la posición del cursor hasta el final de la línea. Nótese que el símbolo a ingresar es el $ (dólar) así, si es que se está en un teclado en español, se tiene que ingresar d<SHIFT>+4.

cw borra los caracteres hasta el final de la palabra en donde se encuentra el cursor y pasa al modo edición.

c$ borra todas las palabras hasta el final de la línea y pasa al modo edición.

yy copia una línea de texto

p pega la última línea de texto copiada y borrada.u deshace el último comando ejecutado (undo).

r<letra> reemplaza la el caracter sobre el que está el cursor por “letra”.

U deshace los últimos comandos ejecutados en una línea.

<CONTROL>+R rehace los últimos comandos (redo).

/cadena busca “cadena” en el archivo y coloca el cursor en la primera ocurrencia. n realiza nuevamente la búsqueda anterior, moviendo el cursor hasta la siguiente ocurrencia.

?cadena similar al comando anterior, pero busca hacia atrás.

% busca los paréntesis (o corchetes o llaves) de cierre. Así, si es que se está en medio de una oración entre paréntesis, al pulsar % nos llevará al paréntesis de cierre. Es muy útil para programación.

Para reemplazar texto, tenemos algunas opciones:

:s/texto_a_reemplazar/texto_nuevo/ <ENTER> reemplazará la primera aparición de “texto _a_reemplazar” en la línea actual.

:s/texto_a_reemplazar/texto_nuevo/g <ENTER> reemplazará todas las apariciones de “texto _a_reemplazar” en la línea actual.

:#,#s/texto_a_reemplazar/texto_nuevo/g <ENTER> reemplazará todas las apariciones de “texto _a_reemplazar” entre dos líneas. #,# son los números de las dos líneas.

:%s/texto_a_reemplazar/texto_nuevo/g <ENTER> reemplazará todas las apariciones de “texto _a_reemplazar” en todo el documento.

:w guarda el archivo (si es que se tiene los permisos necesarios).

:w nombre_de_archivo guarda el archivo con el nombre dado.

:q sale del editor (siempre que no hayan cambios desde la última vez que se guardó el archivo)

:q! Fuerza la salida así se tengan cambios por guardar.

Es posible ejecutar comandos uno después del otro, por ejemplo:

:wq graba los cambios (w) y sale del editor (q).

No olviden que pueden practicar ingresando desde consola vimtutor

Entradas Relacionadas:
  • Si Microsoft hubiera diseñado Vi
  • Más huevos de pascua
  • Cómo descargar videos de Apple Movie Trailers
  • 2 Respuestas a “Usando Vim”


    1. 1 Joan Huaman

      hola, soy de Chorrillos, Lima - Peru
      tengo dos dias con el ubuntu, y para editar los archivos necesitaba aprender a usar vim antes lo habia usado en windows pero aqui es lo maximo gracias por el resumen de comandos me fueron de gran utilidad

    2. 2 Koki

      De nada Joan, vas a ver que Ubuntu es muy interesante…

    1. 1 El Módem » Blog Archive » Mined - Editor de texto en consola para GNU/Linux
      Dirección Pingback a 26 Ago, 2007, 10:28 pm

    Añade un Comentario