MANUAL DE USUARIO DE VIM (Primeros pasos con Vim)

*usr_02.txt* Vim versión 7.2. Última modificación: 08 Feb 2007

MANUAL DE USUARIO DE VIM - por Bram Moolenaar

Primeros pasos con Vim

Este capítulo provee suficiente información para editar un archivo con vim. No bien ni rápido, pero podrás editar. Tómate un tiempo para practicar estos comandos, son la base de todo lo que sigue.

Ejecutar Vim por Primera Vez
Insertando texto
Moviendonos a lo largo y ancho de Vim
Eliminar caracteres
Deshacer y Rehacer
Otros comandos de edición
Salir
Encontrar ayuda



====================================================================

Ejecutar Vim por Primera Vez

Para ejecutar Vim, introduce este comando: >

gvim Archivo.txt

En UNIX puedes introducir este comando en cualquier consola y se abrirá la versión para Xwindows del editor. Si estás bajo windows, abre una ventana MS-DOS y escribe el comando.

En ambos casos, Vim comienza editando un archivo llamado Archivo.txt. Ya que es un archivo nuevo, obtienes un ventana vacía. Así es como tu ventana deberá aparecer:

("#" es la posición del cursor.)

Las líneas con tilde (~) indican líneas que no se encuentran en el archivo. En otras palabras, cuando a Vim no se le pasa como parámetro el nombre de un archivo o se le da el nombre de un archivo nuevo, muestra una tilde en cada línea vacía.

En la parte inferior de la pantalla, un mensaje muestra que el nombre del archivo es Archivo.txt y que es un archivo nuevo. La información del mensaje es temporal y otro mensaje informativo la sobreescribirá.

EL COMANDO VIM

El comando gvim hace que el editor cree una nueva ventana, (en mi caso una para las X), para la edición. Si usas el comando: >

vim Archivo.txt

la edición ocurre dentro de la misma consola. En otras palabras, si estás dentro de una xterm, el editor usa tu ventana xterm. Si estás usando una ventana MS-DOS bajo windows, la edición ocurrirá dentro de esta ventana. El texto mostrado en el editor tendrá el mismo aspecto en ambas versiones, pero con gvim se tienen algunas características extra, como lo es una barra de menú. Veremos más sobre esto posteriormente.

====================================================================

Insertando texto


N.del T. Una de las confusiones en las que caí cuando comenzaba con Vim, era que en este manual específicamente, se usan dos nombres, (esta es mi apreciación, y alguien que me corrija si me equivoco), para un mismo modo. Como nota aclaratoria el modo "Normal" y el modo "Comando" SON EL MISMO, (¡repito!, corrijan me si me equivoco), y para evitarle confusiones a alguien que recién empieza, llamare a este modo "MODO COMANDO" en lugar de "MODO NORMAL", además, suena mas lógico ¿no?; una vez aclarado el punto, prosigamos.

El editor Vim es un editor modal. Esto quiere decir que el editor se comporta de manera diferente, dependiendo del modo en el que se encuentre. Los dos modos básicos se denominan modo Comando y modo Insertar. En modo Comando, los caracteres que introduzcas son comandos. En modo Insertar, los caracteres escritos son texto.

Desde que Vim se inicia, automáticamente se pone en modo Comando. Para iniciar el modo Insertar introduce el comando "i" (i de insert, en ingles). Y listo, podrás introducir texto. Éste será almacenado en el archivo. No te preocupes si cometes errores; podrás corregirlos mas adelante. Teclea esto para introducir el siguiente texto: >

iA very intelligent turtle
Found programming UNIX a hurdle

Tras escribir "turtle" presiona la tecla <*Enter*> para comenzar una nueva línea. Por último, presiona la tecla <*Esc*> para salir del modo Insertar y volver al modo Comando. Ahora tienes dos líneas de texto en en el editor Vim:


¿EN QUÉ MODO ESTOY?

Para ver en que modo estás, teclea el siguiente comando:

:set showmode

Observa que cuando introduces dos puntos, Vim mueve el cursor a la última línea de la ventana. Allí es donde se introducen comandos con dos puntos (comandos que comienzan con dos puntos). Para ejecutar cualquier comando presiona la tecla <*Enter*> (todos estos comandos se finalizan de este modo).

Si ahora tecleas el comando "i" Vim mostrará --INSERT-- en la parte inferior de la ventana. Esto indica que estás en modo Insertar.



Si presionas <*Esc*> para volver al modo Comando la linea con el mensaje -- INSERT -- desaparecerá.
LA CONFUSIÓN DE LOS MODOS

Uno de los problemas para los que comienzan a usar Vim es la confusión de los modos, la cual se produce al olvidar en qué modo estás o por escribir accidentalmente un comando que cambia el modo. Para volver al modo Comando, sin importar el modo en el que te encuentres, presiona la tecla <*Esc*> . En algunas ocasiones, tendrás que presionarla dos veces. Si Vim emite un pitido, entonces ya estás en el modo Normal.

====================================================================

Moviendonos a lo largo y ancho de Vim

Una vez en el modo Comando, puedes moverte usando éstas teclas:

h - izquierda
j - abajo
k - arriba
l - derecha

En un principio, puede parecer que estos comandos han sido elegidos aleatoriamente. Después de todo, ¿quién ha visto usar l para mover algo a la derecha? De hecho, hay una buena razón para esto: Mover el cursor es una de las cosas más comunes que harás en un editor, y esta teclas están en la fila principal de tu teclado a tu mano derecha. En otras palabras, estos comandos están situados donde puedes teclearlos más rápido (especialmente cuando escribes con diez dedos).

Nota:
También puedes mover el cursor usando las flechas. Sin embargo, si así lo haces, harás considerablemente mas lenta la edición, ya que para ello tendrás que desplazar tu mano desde el teclado alfanumérico a las flechas del teclado. Teniendo en cuenta que debes hacerlo cientos de veces por hora, esto puede consumir un tiempo considerable.

Además, hay teclados que no tienen teclas de flechas, o que las colocan en lugares inusuales; por lo tanto, conocer el uso de hjkl ayuda en esas situaciones.

Una manera de recordar estos comandos es, que la h está a la izquierda, l a la derecha y j apunta hacia abajo. Esquematizando: >


k
h l
j


La mejor manera de aprender estos comandos es utilizándolos. Usa el comando "i" para insertar algunas líneas de texto. Luego usa las teclas hjkl para moverte e insertar palabras en algún otro lugar. No te olvides de presionar para volver al modo Comando. El vimtutor es una buena manera de aprender mediante ejercicios.
====================================================================

Eliminar caracteres


Para eliminar un carácter, coloca el cursor sobre dicho caracter y presiona "x". (Esto es una reminiscencia de los días de las máquinas de escribir, cuando se eliminaban caracteres escribiendo xxxx sobre ellos.) Pon el cursor en el comienzo de la primera línea, por ejemplo, y pulsa xxxxxxx (siete "x") para eliminar "A very ". El resultado debería ser:


Ahora puedes insertar de nuevo el texto, escribiendo: >

iA very <*Esc*>

Inicia el modo Insertar ("i"), inserta las palabras "A very ", y sale del modo Insertar (el final). El resultado:



ELIMINANDO UNA LÍNEA

Para eliminar una línea entera usa el comando "dd". La siguiente línea se moverá hacia arriba para llenar el espacio:



ELIMINANDO SALTOS DE LÍNEA

En Vim puedes unir dos líneas, lo que significa que el salto de línea entre ellas se ha eliminado. El comando "J" efectúa esta tarea.

Escribe estas dos líneas:

A young intelligent ~
turtle ~

Mueve el cursor a la primera línea y presiona "J":

A young intelligent turtle ~

==============================================================================
Deshacer y Rehacer

Supón que te emocionaste eliminando texto. Tienes dos opciones: puedes escribirlo todo de nuevo o usar una manera mas fácil. El comando "u" deshace la último que editaste. Ejemplo practico: Tras usar "dd" para eliminar la última línea, "u" la devuelve.

Otra forma: mueve el cursor a la A en la primera línea:

A young intelligent turtle ~

Ahora teclea xxxxxxx para eliminar "A young". El resultado es el siguiente:

intelligent turtle ~

Teclea "u" para deshacer la última eliminación. La última eliminación quitó la g, por lo que el comando deshacer la devuelve.

g intelligent turtle ~

El próximo comando "u" te devuelve el último carácter eliminado:

ng intelligent turtle ~

El próximo carácter "u" te devuelve la u, y así sucesivamente:

ung intelligent turtle ~
oung intelligent turtle ~
young intelligent turtle ~
young intelligent turtle ~
A young intelligent turtle ~

Nota:

Si presionas la "u" dos veces, y el resultado es que obtienes el mismo texto, quiere decir que tienes Vim configurado para que sea compatible con Vi. Para saber como solucionarlo lee el siguiente documento: |not-compatible|.

Este manual asume que trabajas "Como lo hace Vim". Quizá quieras usar el viejo modo Vi, pero entonces observaras algunas diferencias.

REHACER

Si igual te emocionaste eliminando, puedes teclear CTRL-R (rehacer) para revertir el comando anterior. En otras palabras, deshace el deshacer. Para ver esto en acción, presiona CTRL-R dos veces. El carácter A y el espacio desaparecerán:

young intelligent turtle ~

Hay una versión especial del comando deshacer, el comando "U" (deshacer línea). El comando deshacer línea, deshace todos los cambios realizados en la última línea editada. Teclear este comando dos veces deshace el "U" precedente.

A very intelligent turtle ~
xxxx Eliminar very

A intelligent turtle ~
xxxxxx Eliminar turtle

A intelligent ~
Restaurar línea con "U"
A very intelligent turtle ~
Deshacer "U" con "u"
A intelligent ~

El comando "U" es un cambio en sí mismo, el comando "u" deshace y CTRL-R rehace. Esto puede resultar confuso. No te preocupes, con "u" y CTRL-R puedes manejar cualquier situación. Más información en la sección |32.1|.

==============================================================================
Otros comandos de edición

Vim tiene una larga lista de comandos para modificar texto. Revisa |Q_in|. A continuación muestro algunos de uso frecuente.

AÑADIR

El comando "i" inserta un carácter antes del carácter bajo el cursor. Esto funciona bien; pero ¿qué ocurre si quieres añadir algo al final de la línea? Para ello necesitas insertar texto después del cursor. Esto se hace con el comando "a" (añadir).

Por ejemplo, para cambiar la línea:

and that's not saying much for the turtle. ~
a
and that's not saying much for the turtle!!! ~

Mueve el cursor sobre el punto al final de la línea. Pulsa "x" para eliminar el punto. El cursor estará situado ahora al final de la línea, en la e de turtle. Ahora escribe: >

a!!!<*Esc*>

para agregar tres signos de exclamación después de la e en turtle:

and that's not saying much for the turtle!!! ~

CREAR UNA NUEVA LÍNEA

El comando "o" crea una nueva línea vacía debajo del cursor y hace que Vim se ponga en modo Insertar. Y listo, puedes escribir texto en la nueva línea.

Supón que el cursor está en algún lugar de la primera de estas líneas:

A very intelligent turtle ~
Found programming UNIX a hurdle ~

Si ahora usas el comando "o" e introduces más texto: >

oThat liked using Vim

El resultado es:

A very intelligent turtle ~
That liked using Vim ~
Found programming UNIX a hurdle ~

El comando "O" (mayúscula) abre una nueva línea encima del cursor.

USAR UN MULTIPLICADOR

Supón que quieres moverte nueve líneas hacia arriba. Puedes teclear "kkkkkkkkk" o puedes teclear el comando "9k". De hecho, se puede emplear el multiplicador con muchos comandos. Anteriormente, en este capítulo, añadiste tres signos de exclamación al final de la línea con "a!!!". Otra forma de hacer esto es usar el comando "3a!". El multiplicador 3 hace que el comando que sigue triplique su efecto. De igual modo, para eliminar tres caracteres, usa "3x". El multiplicador siempre va delante del comando sobre el que se aplica.

==============================================================================
Salir

Para salir, usa el comando "ZZ". Este comando escribe el archivo y sale.

Nota:

A diferencia de muchos otros editores, Vim no hace un archivo de respaldo automático. Si escribes "ZZ", tus cambios son guardados y no hay vuelta atrás. Puedes configurar el editor Vim para que haga copias de seguridad, ver |07.4|.

DESCARTAR CAMBIOS

En ocasiones te darás cuenta de que tras una secuencia de cambios, estabas mejor donde comenzaste. No te preocupes; Vim tiene un comando para salir y desechar todos los cambios. El comando es: >

:q!

No te olvides de presionar <*Enter*> para ejecutar el comando.

Para aquellos que estén interesados en los detalles, las tres partes de este comando son: los dos puntos (:), inicia el modo Línea de Comandos; el comando "q", para salir; y el modificador de anulación (!). El modificador de anulación es necesario porque Vim se resiste a perder los cambios. Si solo escribieses ":q", Vim mostraría un mensaje de error y se negaría a salir:

E37: No write since last change (use ! to override) ~

Especificando el operador de anulación, estás diciendo a Vim "Sé que lo que hago parece estúpido, pero soy mayor de edad y sé lo que hago."

Si quieres continuar editando con Vim: El comando ":e!" vuelve a cargar la versión original del archivo.

==============================================================================
Encontrando ayuda

Todo lo que quieras saber puedes encontrarlo en los archivos de ayuda. ¡No tengas miedo a preguntar! Para obtener ayuda genérica usa el siguiente comando:

:help

También puedes usar la tecla <*F1*> . Si tu teclado tiene tecla <*Ayuda*> puede que funcione también.

Si no defines un tema, ":help" muestra la ventana de ayuda general. Los creadores de Vim hicieron algo muy inteligente (o muy al hay se va) con el sistema de ayuda: Hicieron la ventana de ayuda una ventana normal de edición. Puedes usar todos los comandos normales de Vim para moverte por ella. Por lo tanto, h, j, k, l mueven hacia la izquierda, derecha, arriba y abajo.

Para salir de la ventana de ayuda, usa el mismo comando que usas para salir del editor: "ZZ". Esto sólo cerrará la ayuda, no saldrá de Vim.


A medida que leas el texto de ayuda, notarás que hay texto entre barras verticales (por ejemplo, |help|). Esto es un hiperenlace. Si sitúas el cursor en cualquier lugar entre las barras y presionas CTRL-] (saltar a etiqueta), el sistema de ayuda te llevará al tema indicado. (Por motivos que no corresponden a esta explicación, la definición Vim para un hiperenlace es una etiqueta o "tag". Por lo tanto, CTRL-] salta a la ubicación del tag definido por la palabra bajo el cursor.)


Tras unos cuantos saltos, quizá quieras retroceder. CTRL-T (retroceder en la pila) te devuelve a la posición anterior. CTRL-O (saltar hacia la posición anterior) también funciona bien aquí.

Ver |29.1| para detalles sobre el uso de etiquetas.

Para obtener ayuda sobre un tema concreto, usa el siguiente comando: >

:help {tema}

Para obtener ayuda sobre el comando "x", por ejemplo, introduce: >

:help x

Para averiguar cómo eliminar texto, usa el comando: >

:help deleting

Para obtener un índice completo de todos los comandos Vim usa: >

:help index

Cuando necesites obtener ayuda para los comandos control-carácter (por ejemplo, CTRL-A), debes escribirlo con el prefijo "CTRL-". >

:help CTRL-A

El editor Vim tiene muchos modos diferentes. Por defecto, el sistema de ayuda muestra los comandos del modo Comando. Por ejemplo el siguiente comando muestra la ayuda para el comando CTRL-H en modo normal: >

:help CTRL-H

Para identificar otros modos, se necesita un prefijo de modo. Si necesitas ayuda para la versión del modo Insertar de un comando, usa "i_". Para CTRL-H es el siguiente comando: >

:help i_CTRL-H

Cuando arranques el editor Vim, puedes usar diversos argumentos de línea de comandos. Todos ellos comienzan con guión (-). Para buscar lo que el argumento -t hace, por ejemplo, usa el comando: >

:help -t

El editor Vim tiene una serie de opciones que te permiten configurar y personalizar el editor. Si quieres ayuda para una opción, tienes que escribirla entre comillas simples. Para encontrar lo que hace la opción 'number' por ejemplo, usa el comando siguiente: >

:help 'number'

Puedes encontrar aquí la tabla con todos los prefijos de modo: |help-context|.

Las teclas especiales se escriben entre signos mayor y menor. Para encontrar ayuda sobre la flecha hacia arriba en modo Insertar, usa: >

:help i_

Si ves un mensaje de error que no entiendes, por ejemplo:

E37: No write since last change (use ! to override) ~

Puedes usar el código de error del principio para encontrar ayuda: >

:help E37

Resumen:
:help
Te aporta ayuda muy general. Desplaza el texto hacia abajo
para ver una lista con todos los archivos de ayuda, incluyendo
los añadidos (que no se distribuyen con Vim).
:help user-toc.txt
Índice de contenidos del manual de usuario.
:help :tema
Comando tipo "Ex" ("tema"), por ejemplo el siguiente:
:help :help
Ayuda sobre cómo obtener ayuda.
:help abc
Comando del modo Comando "abc".
:help CTRL-B
Tecla de control en el modo Comando.
:help i_abc
:help i_CTRL-B
Lo mismo pero en el modo Insertar.
:help v_abc
:help v_CTRL-B
Lo mismo pero en el modo Visual.
:help c_abc
:help c_CTRL-B
Lo mismo en modo línea de comandos.
:help 'tema'
Opción 'tema'.
:help tema()
Función "tema".
:help -tema


==============================================================================

No hay comentarios: