*usr_02.txt* Para Vim version 7.2. Último cambio: 2007 Feb 08 MANUAL DE USUARIO DE VIM - por Bram Moolenaar Primeros pasos en 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 lo que sigue. |02.1| Ejecutar Vim por Primera Vez |02.2| Insertando texto |02.3| Movimiento |02.4| Eliminando caracteres |02.5| Deshacer y Rehacer |02.6| Otros comandos de edición |02.7| Salir |02.8| Encontrar ayuda Capítulo siguiente: |usr_03.txt| Movimiento Capítulo anterior: |usr_01.txt| Sobre los manuales Contenidos: |usr_toc.txt| ============================================================================== *02.1* Ejecutar Vim por primera vez Para ejecutar Vim, introduce este comando: > gvim file.txt En UNIX puedes introducir este comando en cualquier consola. Si estás bajo windows, abre un consola MS-DOS e introduce el comando. En ambos casos, Vim comienza editando un archivo llamado file.txt. Ya que es un archivo nuevo, obtienes un ventana vacía. Así es como tu ventana deberá aparecer: +---------------------------------------+ |# | |~ | |~ | |~ | |~ | |"file.txt" [New file] | +---------------------------------------+ ('#" es la posición del cursor.) La líneas con tilde (~) indican líneas que no se hallan en el archivo. En otras palabras, cuando Vim se queda sin archivo que mostrar, muestra líneas con tilde. En la parte de abajo de la pantalla, un mensaje muestra que el archivo se llama file.txt y que estás creando un archivo nuevo. La información del mensaje es temporal y otra información la sobreescribirá. EL COMANDO VIM El comando gvim hace que el editor cree una nueva ventana para la edición. Si usas el comando: > vim file.txt la edición ocurre dentro de la ventana de llamada. En otras palabras, si estás dentro de una xterm, el editor usa tu ventana xterm. Si estás usando una consola MS-DOS bajo windows, la edición ocurrirá dentro de esta ventana. El texto en la ventana tendrá el mismo aspecto en ambas versiones, pero con gvim tiene características extra, como una barra de menú. Veremos más sobre esto posteriormente. ============================================================================== *02.2* Insertando texto El editor Vim es un editor modal. Esto significa que el editor se comporta de manera diferente, dependiendo del modo en el que estés. Los dos modos básicos se denominan modo Normal y modo Insertar. En modo Normal, los caracteres que introduzcas son comandos. En modo Insertar, los caracteres insertando son texto. Ya que acabas de iniciar Vim estará en modo Normal. Para iniciar el modo Insertar introduce el comande "i" (i de Insertar). Entonces podrás introducir texto. Éste será introducido en el archivo. No te preocupes si cometes errores; puedes corregirlos después. Teclea esto para introducir la siguiente quintilla: > iA very intelligent turtle Found programming UNIX a hurdle Tras teclear "turtle" presiona la tecla para comenzar una nueva línea. Por último, presiona la tecla para salir del modo Insertar y volver al modo Normal. Ahora tienes dos líneas de texto en tu ventana de Vim: +---------------------------------------+ |A very intelligent turtle | |Found programming UNIX a hurdle | |~ | |~ | | | +---------------------------------------+ ¿EN QUÉ MODO? Para ver en que modo estás, teclea el siguiente comando: :set showmode Comprobarás que cuando introduces dos puntos, Vim mueve el cursor a la última línea de la ventana. Allí es donde introducirás comandos con dos puntos (comandos que comienzan con dos puntos). Finaliza el comando presionando la tecla (todos estos comandos se finalizan de este modo). Si ahora pulsas el comando "i" Vim mostrará --INSERT-- en la parte de abajo de la ventana. Esto indica que estás en modo Insertar. +---------------------------------------+ |A very intelligent turtle | |Found programming UNIX a hurdle | |~ | |~ | |-- INSERT -- | +---------------------------------------+ Si presionas para volver al modo Normal la última linea 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, que se produce al olvidar en qué modo estás o por teclear accidentalmente un comando que cambia de modo. Para volver al modo Normal, no importa el modo en el que estés, presiona la tecla . En algunas ocasiones, tendrás que presionarlo dos veces. Si Vim emite un pitido, entonces estás de vuelta en el modo Normal. ============================================================================== *02.3* Movimiento Una vez en el modo Normal, puedes moverte usando éstas teclas: h izquierda *hjkl* j abajo k arriba l derecha En un principio, puede parecer que estos comandos han sido elegidos arbitrariamente. Después de todo, ¿quién ha visto usar l para 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 central en tu mano derecha. En otras palabras, estos comandos están situados donde puedes teclearlos de manera más rápida (especialmente cuando escribes con diez dedos). Nota: También puedes mover el cursor usando las flechas. Si lo haces, sin embargo, ralentizas considerablemente la edición, ya que para ello tendrás que desplazar tu mano desde las letras a las flechas del teclado. Teniendo en cuenta que debes hacerlo cientos de veces cada hora, esto puede llevar 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á en la izquierda, l en la derecha y j apunta hacia abajo. En un esquema: > k h l j La mejor manera de aprender estos comandos es usándolos. Usa el comando "i" para insertar algunas líneas de texto más. Luego usa las teclas hjkl para moverte e insertar palabras. No te olvides de presionar para volver al modo Normal. El |vimtutor| es una buena manera de aprender haciendo. Para usuarios japoneses, Hiroshi Iwatani sugiere lo siguiente: Komsomolsk ^ | Huan Ho <--- ---> Los Angeles (Río amarillo) | v Java (la isla, no el lenguaje de programación) ============================================================================== *02.4* Eliminando caracteres Para eliminar un carácter, pon el cursor encima 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: +---------------------------------------+ |intelligent turtle | |Found programming UNIX a hurdle | |~ | |~ | | | +---------------------------------------+ Ahora puedes insertar texto nuevo, por ejemplo tecleando: > iA young Esto comienza a insertar (la "i"), inserta las palabras "A young", y sale del modo insertar (el final). El resultado: +---------------------------------------+ |A young intelligent turtle | |Found programming UNIX a hurdle | |~ | |~ | | | +---------------------------------------+ ELIMINANDO UNA LÍNEA Para eliminar una línea entera usa el comando "dd". La siguiente línea se moverá hacia arriba para rellenar el hueco: +---------------------------------------+ |Found programming UNIX a hurdle | |~ | |~ | |~ | | | +---------------------------------------+ ELIMINANDO UN SALTO DE LÍNEA En Vim puedes unir dos líneas, lo que significa que el salto de línea entre ellas es eliminado. El comando "J" hace esto. Coge estas dos líneas: A young intelligent ~ turtle ~ Mueve el cursor a la primera línea y pulsa "J": A young intelligent turtle ~ ============================================================================== *02.5* Deshacer y Rehacer Supón que eliminas demasiado. Puedes teclearlo de nuevo, pero una manera más fácil existe. El comando "u" deshace la última edición. Echa un vistazo a esto en acción: Tras usar "dd" para eliminar la última línea, "u" la devuelve. Otra más: 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. Esa última eliminación quitó la g, por lo que el 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 sigue: ung intelligent turtle ~ oung intelligent turtle ~ young intelligent turtle ~ young intelligent turtle ~ A young intelligent turtle ~ Nota: Si tecleas la "u" dos veces, y el resultado es que obtienes el mismo texto de vuelta, es que tienes Vim configurado para que sea Vi-compatible. Mira aquí para solucionarlo: |not-compatible|. Este texto asume que trabajas en "El Modo Vim". Quizá quieras usar el viejo modo Vi, pero entonces tendrás que observar las pequeñas diferencias. REHACER Si deshaces de más, puedes pulsar CTRL-R (rehacer) para revertir el comando precedente. 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, que el comando "u" deshace y el CTRL-R rehace. Esto puede resultar confuso. No te preocupes, con "u" y CTRL-R puedes ir a cualquier situación anterior. Más sobre esto en la sección |32.1|. ============================================================================== *02.6* Otros comandos de edición Vim tiene una larga lista de comandos para cambiar texto. Mira en |Q_in| y debajo. Aquí hay 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 en turtle. Ahora teclea: > a!!! para añadir tres signos de exclamación después de la e en turtle: and that's not saying much for the turtle!!! ~ ABRIR UNA NUEVA LÍNEA El comando "o" crea una nueva línea vacía debajo del cursor y pone Vim en modo insertar. Puedes introducir el text de 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 exclamaciones 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. ============================================================================== *02.7* Saliendo Para salir, usa el comando "ZZ". Este comando escribe el archivo y sale. Nota: Al revés que muchos otros editores, Vim no hace un archivo de seguridad automático. Si escribes "ZZ", tus cambios son comprometidos y no hay vuelta atrás. Puedes configurar el editor Vim para que haga copias de seguridad, ver |07.4|. DESCARTANDO 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 echar a perder todos los cambios. Es: > :q! No te olvides de presionar para finalizar el comando. Para aquellos de vosotros interesados en los detalles, las tres partes de este comando son los dos puntos (:), que entra en 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 una estupidez, pero ya soy mayorcito y sé lo que hago." Si quieres continuar editando con Vim: El comando ":e!" vuelve a cargar la versión original del archivo. ============================================================================== *02.8* 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 . Si tu teclado tiene tecla 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 fueron muy vagos) 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 entro barras verticales (por ejemplo, |help|). Esto indica 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 terminología Vim para hiperenlace es etiqueta o "tag". Por lo tanto, CTRL-] salta a la localización del tag dado por la palabra bajo el cursor.) Tras unos cuantos saltos, quizá quieras volver atrás. CTRL-T (saltar hacia atrás en la pila) te devuelve a la posición precedente. CTRL-O (saltar hacia la posición anterior) también funciona bien aquí. Mira |29.1| para detalles sobre el uso de etiquetas. Para obtener ayuda sobre un tema concreto, usa el siguiente comando: > :help {subject} 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 las comandos de modo normal. 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 quieres ayuda para la versión en modo insertar del 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 corchetes angulares. 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-summary* > :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 Normal "abc". > :help CTRL-B < Tecla de control en el modo Normal. > :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 < Opción línea de comandos "-tema". > :help +tema < Característica de Vim compilada "+tema'. > :help NombreDeEvento < Evento de Autocomando "NombreDeEvento". > :help digraphs.txt < El principio del archivo de ayuda "digraph.txt". De forma similar para cualquier otro archivo de ayuda. > :help patrón < Buscar un patrón de ayuda que comience con "patrón". Repetir para otros. > :help patrón < Ver todas las posibles concordancias del patrón para ayuda.> :helpgrep patrón < Buscar entre todos los archivos de ayuda el patrón "patrón". Salta a la primera coincidencia. Sala a las siguientes con: > :cn < siguiente coincidencia > :cprev :cN < anterior coincidencia > :cfirst :clast < primera o última coincidencia > :copen :cclose < abrir/cerrar la ventana "quickfix" (arreglos rápidos); pulsa para ir al elemento bajo el cursor. ============================================================================== Capítulo siguiente: |usr_03.txt| Movimiento Copyright: ver |manual-copyright| vim:tw=78:ts=8:ft=help:norl: