You are on page 1of 8

http://www.gentoo.org/doc/es/vi-guide.xml 1. Empezando Introduccin sta guia le ensear a usar vi, un potente editor visual.

Utilizando un mtodo especial basado en una hoja de trucos, este tutorial se ha escrito para convertirle en u n usuario hbil de vi sin que tenga que emplear mucho tiempo. En este tutorial, ap render como moverte, editar texto, usar el modo insertar, copiar y pegar texto as como usar extensiones importantes de vim como el modo visual y la edicin con mltip les ventanas. Si desconoce o no se siente cmodo usando vi, quizs quiera leer este tutorial y gan ar velocidad en uno de los ms populares y poderosos editores visuales para Linux/ UNIX Sobre esta gua... Hay una caracterstica de vi que hace difcil aprender su funcionamiento... vi tiene muchos comandos. Para usar vi de una forma efectiva, va a tener que memorizar u nos cuantos. sto puede llevarle tiempo, y uno de los objetivos de este tutorial e s no quitarle demasiado tiempo. As que, desde el principio, tenemos un reto -- Qu p odemos hacer para que recuerde un montn de comandos en poco tiempo? Para superar este reto, conforme vayamos avanzando en este tutorial, vamos a ir construyendo gradualmente una hoja de trucos para vi. Esta hoja va a contener to dos los comandos importantes de vi. Una vez haya completado este tutorial, podr a cudir a su hoja de trucos si ha olvidado un comando en particular. Conforme pase el tiempo, ir memorizando los comandos, y cada vez depender menos de la hoja de t rucos. Vas a aprender a utilizar vi de la forma ms rpida nunca conocida! El proceso de aprendizaje En sta guia voy a usar varias tcnicas para ayudarle a aprender. En primer lugar, v oy a describirle como funcionan ciertos comandos en particular, como era de espe rar. Despus, voy a pedirle que pruebe esos comandos directamente en vi (para que practique), entonces le pedir que apunte esos comandos en su hoja de trucos (para que pueda consultarlo ms adelante). Si quiere aprender vi rpidamente, es muy impo rtante que siga todos esos pasos. Probar un comando y transcribirlo despus a su h oja de trucos le ayudar a memorizar ese comando. Presentacin de vim Existen muchas versiones de vi. En esta gua voy a mostrarle cmo utilizar una versin de vi llamada vim. El editor vim es muy popular y tiene un montn de extensiones que hacen a vi mucho ms ameno (si en algn momento, enseo un comando especfico de vim , lo indicar). Si necesita instalar vim, puede obtenerlo en www.vim.org. Adems de una linea de comandos vi mejorada, vim tambin viene con gvim, un excelente editor en modo grfico que se puede configurar para usar las excelentes libreras GTK+ par a interfaces grficas de usuario. A continuacin se muestra una captura de pantalla de gvim tomada de mi sistema: Ilustracin 1.1: Captura de GVIM Fig. 1: screenshot Si es un novato, intente ejecutar gvim en su sistema. Usar vi en una GUI puede h acer la vida ms fcil a los principiantes. 2. Primeros pasos

Escoja un archivo Antes de usar vi para editar archivos, necesita saber como usar vi para moverse por un archivo. Existen muchos comandos de movimiento en vi, y vamos a ver unos cuantos. Para esta parte del tutorial, busque un archivo de texto que no tenga i mportancia y bralo en vi escribiendo: Listado de Cdigo 2.1: Cargar un archivo en vi $ vi mifichero.txt Si ha instalado vim, escriba vim mifichero.txt. Si prefiere usar gvim, teclee gv im mifichero.txt. mifichero.txt debe ser el nombre de un archivo de texto en su sistema. Dentro de vi Despus de que vi cargue, debera ver una parte del archivo de texto que carg en la p antalla. Felicidades -- est en vi! A diferencia de muchos otros editores, cuando v i arranca, est en un modo especial llamado modo comando. Esto significa que si pr esionas l en el teclado, en vez de introducir una l en la posicin actual del curs or, el cursor se va a mover un carcter a la derecha. En el modo comando, los cara cteres en tu teclado se usan para enviar comandos a vi, en lugar de introducir c aracteres literales en el texto. Uno de los tipos de comando ms importantes son l os comandos de movimiento; vamos a echarle un vistazo a algunos. 3. Movindose Movindose en vi, primera parte Cuando est en modo comando, puede usar las teclas h,j,k y l para mover el cursor a la izquierda, abajo, arriba y derecha respectivamente. Si esta usando una vers in moderna de vi, tambin puede usar las teclas de cursor para este propsito. Las te clas h,j,k y l son prcticas porque, una vez se haya acostumbrado a ellas, ser capa z de moverse por el archivo sin tener que mover sus dedos de la misma linea del teclado. Intentw usar h,j,k y l y las teclas de cursor para moverse por el archi vo de texto. Intente ahora apretar h hasta llegar al principio de una lnea. Obser ve que vi no mueve el cursor al final de la lnea anterior pulsando h. De la misma forma, no puede situar el cursor al principio de la siguiente linea llegando al final de la linea actual presionando l. Movindose en vi, segunda parte El editor vi posee atajos especiales para ir al principio o al final de la linea actual. Puede usar 0 (cero) para saltar al primer carcter de una linea, y $ para saltar al ltimo carcter. Prubelos y observe como funcionan. La gran cantidad de co mandos de movimiento que posee vi lo convierten en un excelente paginador (un "p ager" como los comandos more o less.) Usar vi como paginador tambin le ayudar a ap render todos los comandos de movimiento ms rpidamente. Tambin puede usar <CTR>F y <CTR>B para moverse una pgina adelante o atrs. Las versi ones modernas de vi (como vim) permiten tambin usar las teclas Repg y AvPag para e ste fin. Movindose entre palabras, primera parte Vi tambin le permite moverse una palabra a la derecha o a la izquierda. Para situ ar el cursor en el primer carcter de la siguiente palabra, pulse w. Para moverse al ltimo carcter de la siguiente palabra, pulse e. Para moverse al primer carcter d

e la palabra anterior, pulse b. Juegue con esto. Movindose entre palabras, segunda parte Despus de jugar un poco con los comandos de movimiento o cuenta de que vi considera palabras tipo foo-bar-oni, adas! sto es as por defecto: vi delimita las palabras tuacin. foo-bar-oni es, por lo tanto, considerada como r, - y oni. entre palabras, se habr dad como cinco palabras separ por espacios o signos de pun cinco palabras: foo, -, ba

A veces, este comportamiento es el que queremos, otras no. Afortunadamente, vi t ambin entiende el concepto de "palabra grande". Vi delimita las "palabras grandes " nicamente mediante espacios o saltos de lineae. sto significa que foo-bar-oni es considerada como cinco palabras vi, y a su vez, se considera una nica "palabra g rande" vi. Movindose entre palabras, tercera parte Para saltar hacia la siguiente "palabra grande" o hacia la anterior, utilice los comandos de movimiento entre palabras en maysculas. Use W para saltar hacia el p rimer carcter de la siguiente "palabra grande", E para saltar al ltimo carcter de l a siguiente "palabra grande", y B para saltar al primer carcter de la "palabra gr ande" anterior. Pruebe todos estos comandos y compare los resultados de los coma ndos de movimiento entre palabras con los de movimiento entre "palabras grandes" hasta comprender las diferencias. Movimientos mayores Nos queda por ver algunos comandos antes de empezar a realizar nuestra hoja de t rucos... Puede usar los caracteres ( y ) para moverse hacia el principio de la s iguiente frase o la anterior. Tambin puede usar { o } para saltar al principio de l prrafo actual o al del siguiente. Prubelo. 4. Saliendo Ya hemos descubierto los comandos bsicos de movimiento, pero todava quedan un montn de comandos que necesita conocer. Escribiendo :q saldr de vi. Si no funciona, se guramente se deber a que, de alguna forma, ha modificado el archivo accidentalmen te. Para decirle a vi que queremos salir y descartar todos los cambios, escribir emos :q!. En estos momentos debera estar en la lnea de comandos. En vi,cualquier comando que empiece por : se conoce como comando ex-mode. sto es as porque vi tiene un editor no visual integrado llamado ex. Puede usarse de una forma muy parecida a sed para hacer operaciones de modificacin desde la lnea. Adems , puede usarse para salir, como ya hemos visto. Si alguna vez presiona la tecla Q estando en modo comando, se iniciar el modo ex. Si le ocurre esto alguna vez, s e enfrentar cara a cara con un smbolo de lnea de comandos :, al pulsar la tecla Int ro, la pantalla entera se desplazar hacia arriba. Para volver al modo normal de v i, simplemente teclee vi y pulse Intro. 5. La Hoja de Trucos El principio de la hoja de trucos Hemos visto un montn de comandos, y ha llegado el momento de pasarlos a nuestra h oja de trucos. Para la hoja de trucos necesitars una hoja tipo folio US o A4 (pien se que vamos a poner una gran cantidad de informacin en ella!) A continuacin puede ver una foto de mi hoja de trucos despus de haber transcrito todos los comandos que hemos cubierto hasta ahora. Intente seguir mi diseo, si es posible, de forma que podamos poner todo en una sola hoja.

Ilustracin 5.1: Hoja de trucos Fig. 1: Primera parte de la hoja de trucos vi miscelneo Sigamos con nuestro aprendizaje rpido de comandos. En modo comando, puede saltar a una linea en concreto tecleando G. Para saltar a la primera linea de un ficher o, teclea 1G. Observe que G est en maysculas. Si quiere saltar a la siguiente ocurrencia de una cadena de texto en particular, teclee /<regexp> y presione enter. Substituya <regexp> por la expresin regular q ue est buscando. Si no sabe como usar expresiones regulares, no se preocupe -- es cribir /foo le llevar a la siguiente ocurrencia de foo. Solo tendr que tener cuida do cuando necesite referenciar literalmente los caracteres ^, ., $ o \. Para est os caracteres deber poner una barra invertida (\) como prefijo, y listo. Por ejem plo, /foo\.gif buscar la siguiente ocurrencia de "foo.gif". Para repetir la bsqueda hacia adelante, pulse n. Para repetir la bsqueda hacia atrs , teclee N. Como siempre, pruebe estos comandos en su propio editor vi. Tambin pu ede teclear // para repetir la ltima bsqueda. 6. Guardando y Editando Guardar y guardar como... Hemos aprendido como usar el comando ex :q para salir de vi. Si quiere salvar lo s cambios, teclee :w. Si lo que quiere es guardar los cambios en otro archivo, e scriba :w nombrearchivo.txt para guardarlo como nombrearchivo.txt. Si quiere gua rdar y salir, teclee :x o :wq. En vim (al igual que en otros editores vi avanzados, como elvis), puede tener mlt iples buffers abiertos a la vez. Para abrir un archivo en un una ventana nueva, escriba :sp nombrearchivo.txt. El fichero nombrearchivo.txt aparecer abierto para edicin en una nueva ventana dividida. Para cambiar de una ventana a la otra, tec lee <CTR>w<CTR>w (control-w dos veces). Cualquier comando :q, :q!, :w y :x que u se solo se aplicar a la ventana actualmente activa. Edicin simple Y lleg el momento de comenzar a aprender algunos de los comandos bsicos de edicin. Los comandos que vamos a cubrir en esta seccin se consideran simples porque le ma ntienen en modo comando. Los comandos "complejos" le ponen automticamente en modo insertar -- un modo que le permite introducir datos directamente desde el tecla do. Lo veremos en breve. Por el momento, sitese por encima de algn carcter y presione x varias veces. Ver que x elimina el carcter situado justo debajo del cursor. Ahora, mueva el cursor al medio de un prrafo dentro de su archivo de texto, y pulse J (en maysculas). Ver que el comando J indica a vi que junte la siguiente linea con el final de la linea actual. Ahora, sitese encima de un carcter y presione r, luego escriba un nuevo ca rcter; ver que el carcter original ha sido reemplazado. Para acabar, sitese en una l inea cualquiera del archivo y escriba dd. Observar que dd elimina la linea de tex to actual. Repitiendo y borrando Puede repetir cualquier comando de edicin pulsando la tecla .. Si experimenta un poco, ver que tecleando dd... elimina cuatro lineas, y J...... junta cuatro linea s. Como siempre, vi nos proporciona otro atajo til.

Para borrar texto, puede usar el comando d combinado con cualquier comando de mo vimiento. Por ejemplo, dw eliminar el texto desde la posicin actual del cursor has ta el comienzo de la siguiente palabra; d) eliminar hasta el final de la siguient e frase, y d} eliminar lo que queda de prrafo. Experimente un poco con el comando d y el resto de comandos de edicin hasta que se sienta cmodo con ellos. Deshacer! Ahora que ya hemos experimentado con el borrado, seria bueno aprender como desha cer cualquier cambio. Presionando u, la versin original de vi permita deshacer el l timo cambio. Las versiones ms actuales de vi, como vim, le permiten presionar u r epetidamente para ir deshaciendo los cambios que haya podido hacer. Pruebe a com binar algunos comandos d y u alternativamente. Actualizar la hoja de trucos Es el momento de actualizar la hoja de trucos! Despus de aadir los comandos que hem os aprendido hasta ahora, su hoja de trucos debera parecerse a sta: Ilustracin 6.1: Hoja de trucos con comandos de edicin Fig. 1: Hoja de trucos 7. Modo Insertar Hasta ahora, ha aprendido cmo moverse dentro de vi, realizar e/s de archivos y al gunas operaciones bsicas de edicin. De todas formas, todava no le he enseado como int roducir texto libremente! Lo he hecho intencionadamente, porque el modo insertar de vi es un poco complicado al principio. De todas formas, una vez se acostumbr e al modo insertar, su complejidad (y flexibilidad) se convertirn en una ventaja. Dentro del modo insertar de vi, podr introducir texto directamente en la pantalla de la misma forma que lo hace con otros editores visuales. Una vez haya introdu cido sus modificaciones, puede pulsar la tecla Escape volver al modo comando. Pa ra entrar en modo insertar, presione i o a. Al presionar i, su texto se insertar delante del carcter actual, y si pulsa a, su texto se aadir justo despus del carcter actual. Recuerde, debe presionar <ESC> para volver al modo comando. Ventajas del modo Insertar Vaya probando los comandos a e i. Pulse tanto a como i, escriba algo de texto, y luego pulse Escape para volver al modo comando. Despus de pulsar a o i, pruebe a pulsar <Intro>, y mire que ocurre. Pruebe tambin a usar las teclas de movimiento del cursor (flechas) y la tecla <Supr> para deducir el uso del modo insertar. U sando las teclas de movimiento del cursor y <Supr>, puede realizar bastantes tar eas de edicin sin tener que cambiar varias veces del modo comando al modo inserta r y viceversa. Opciones de Insertar Ahora mostraremos otras formas prcticas de acceder al modo insertar. Presione A ( en maysculas) para empezar a aadir texto al final de la lnea actual, independientem ente de la posicin actual del cursor en la lnea. De la misma forma, pulse I (mayscu la) para empezar a introducir texto al principio de la lnea actual. Pulse o para crear una nueva linea por debajo de la lnea actual, en la cual podr introducir tex to, y pulse O (mayscula) para crear una linea nueva por encima de la actual. Para reemplazar totalmente la linea actual con una nueva, teclee cc. Para reemplazar todo desde la posicin actual hasta el final de la linea, teclee c$. Para reempla zar todo desde la posicin actual hasta el principio de la lnea, teclee c0.

Adems de realizar una operacin especial, cada uno de estos comandos le pondr en mod o insertar. Despus de introducir su texto, pulse <Escape> para volver al modo com ando. Cambiar texto Hemos usado un poco el comando c (cambiar) cuando hemos tecleado cc, c0 y c$. cc es una forma especial de comando de cambio, similar a dd. Los comandos c0 y c$ son ejemplos de como usar el comando cambiar en combinacin con los comandos de mo vimiento. De la misma forma, c funciona de una forma parecida a d, excepto que st e le deja en modo insertar para que pueda entrar texto de reemplazo en la regin r ecin eliminada. Pruebe a usar varios comandos de movimiento con c y prubelos con s u archivo (pista: cW, ce, c(). 8. Comandos Combinados El editor vi se vuelve realmente potente cuando se comienza a utilizar comandos combinados (comandos "combo"), como por ejemplo, d{ y cw. Aparte de estos comand os, tambin puede combinar un nmero con cualquier comando de movimiento, as por ejem plo 3w indicar a vi que salte tres palabras a la derecha. Algunos comandos "combo " ms: 12b, 4j. Vi, adems de permitir combinaciones del tipo (nmero)(comando de movimiento), tambin permite combinar d o c con un nmero o con un comando de movimiento. As, d3w elimi nar las tres palabras siguientes, d2j eliminar la siguiente lnea y las dos siguient es, etc. Pruebe a combinar varios combos con c y d para ver lo potente y gil que puede ser la edicin con vi. Una vez asimile estos comandos, ser capaz de editar ar chivos a una velocidad increble. Actualizar la hoja de trucos Ahora, actualizaremos de nuevo la hoja de trucos. Ms o menos debera parecerse a es to: Ilustracin 8.1: Hoja de trucos con comandos combinados Fig. 1: Hoja de trucos Caractersticas de productividad Hasta ahora, hemos visto como movernos, guardar y salir, realizar ediciones y bo rrados simples y usar el modo insertar. Con todo sto en la hoja, debera poder usar vi para realizar casi cualquier tarea. Pese a sto, vi tiene ms comandos tiles. En sta seccin aprender a cortar, copiar, pegar , buscar, reemplazar y usar autoindentacin. Todas stas posibilidades ayudarn a que vi sea un poco ms divertido y productivo. Modo Visual La mejor forma para cortar y pegar es usar el modo visual, un modo especial que ha sido aadido en versiones modernas de vi, como vim y elvis. Puede considerar el modo visual como un modo de "resaltado de texto". Una vez que el texto queda re saltado, se puede copiar o eliminar, para que luego se pueda pegar. Si esta usan do gvim, puede resaltar el texto simplemente arrastrando el ratn con el botn izqui erdo presionado sobre una regin de texto determinada: Ilustracin 8.2: VIM con texto resaltado Fig. 2: Texto resaltado Adems, puede, entrar en modo visual pulsando v (que es la nica opcin que tendr si ut

iliza vi desde la consola). A continuacin mueva el cursor usando los comandos de movimiento (normalmente las teclas de movimiento), ver que puede resaltar una reg in de texto. Cuando la regin de texto que quiera est resaltada, estar lista para ser cortada o copiada. Si quiere copiar el texto, pulse y (que proviene del trmino ingls "yank"). Si est c ortando el texto, pulse d. Volver entonces al modo comando. Ahora sitese en la pos icin donde quiera insertar el texto copiado o cortado, y pulse P para insertar el texto antes del cursor, o p para insertarlo despus. Voil, el copiado/cortado se ha completado! Prubelo varias veces antes de avanzar a la siguiente seccin. Reemplazar texto Para reemplazar patrones de texto, usamos el modo ex. Si quiere reemplazar el pr imer patrn que aparece en la lnea actual, escriba :s/<regexp>/<reemplazo>/ y presi one <Intro>, sustituya <regexp> por el texto que desea reemplazar y <reemplazo> por la cadena de texto con el que lo va a sustituir. Para reemplazar todas las c oincidencias en la lnea actual, teclee :s/<regexp>/<reemplazo>/g y pulse Intro. P ara reemplazar todas las ocurrencias de un patrn en su archivo (que normalmente e s lo que quiere), escriba :%s/<regexp>/<reemplazo>/g. Si quiere realizar un reem plazo global, pero haciendo que vi le pida confirmacin de cada reemplazo, teclee :%s/<regexp>/<reemplazo>/gc (la c viene del ingls, "change", cambiar) y pulse <In tro>. Indentacin l editor vi incluye soporte para autoindentacin, ideal para editar cdigo fuente. La mayora de las versiones modernas de vi (p.e. vim) tendrn activado automticamente e l modo autoindentado cuando edite un archivo de cdigo fuente (por ejemplo un arch ivo .c). Cuando el autoindentado est activo, puede usar <CTR>d (control-d) para i ndentar un nivel hacia la izquierda y <CTR>t (control-t) para indentar a la dere cha un nivel. Si el autoindentado no se activa automticamente, puede hacerlo de f orma manual con el comando ex :set autoindent. Puedes tambin indicar a vi el tamao de cada tabulacin a su gusto mediante el comando :set tabstop; :set tabstop=4 es bastante popular. La hoja de trucos definitiva Y bien, ya hemos llegado al final de ste tutorial de vi! Una vez aada todos los com andos de edicin avanzada a tu hoja de trucos, debera quedar como la siguiente: Ilustracin 8.3: Hoja final de trucos Fig. 3: Hoja de trucos Tenga su hoja de trucos a mano, y empiece a usar vi para editar archivos y escri bir correos electrnicos. Use la hoja de trucos cuando la necesite; ver que en una semana se sabr casi todos los comandos de memoria y su productividad con vi llega r a su mximo. Si quieres usar vi como tu editor por defecto, utilice la orden eselect: Listado de Cdigo 8.1: Usar vi como editor por defecto ~# eselect editor list Available targets for the EDITOR variable: [1] /bin/nano [2] /bin/ed [3] /usr/bin/ex [4] /usr/bin/vi [ ] (free form)

~# eselect editor set 4 Setting EDITOR to /usr/bin/vi ... >>> Regenerating /etc/ld.so.cache... Run ". /etc/profile" to update the variable in your shell. Si quiere definir esto nicamente para su usuario en lugar de definirlo para todo el sistema, defina la variable EDITOR en su fichero ~/.bashrc: Listado de Cdigo 8.2: Definir vi como el editor por defecto del usuario ~$ vi ~/.bashrc (...) export EDITOR="/usr/bin/vi" Recursos A continuacin se muestran unos cuantos recursos que pueden resultarle tiles para a prender ms sobre vi: La pgina de los amantes de vi, un recurso excelente para todo aquello relacio nado con vi. La pgina de vim el lugar a acudir para todo aquello relacionado con vim. Si busca un buen libro, a la antigua, Learning the vi Editor, 6th Edition pu ede ser una buena decisin. Contiene buen material sobre vi y sus clones. Acerca de este documento La versin original de este artculo fue publicada por primera vez en IBM developerW oks, y es propiedad de Westtech Information Services. Este documento es una vers in actualizada del artculo original, y contiene varias mejoras realizadas por el E quipo de Documentacin de Gentoo.

You might also like