Nunca pensé que fuese a decir esto, pero increíblemente le estoy cogiendo el gusto al mejor editor que existe para el terminal en GNU/Linux: VIM.
Citando a Wikipedia:
Vim (del inglés Vi IMproved) es una versión mejorada del editor de texto vi, presente en todos los sistemas UNIX.
Su autor, Bram Moolenaar, presentó la primera versión en 1991, fecha desde la que ha experimentado muchas mejoras. La principal característica tanto de Vim como de Vi consiste en que disponen de diferentes modos entre los que se alterna para realizar ciertas operaciones, lo que los diferencia de la mayoría de editores comunes, que tienen un sólo modo en el que se introducen los órdenes mediante combinaciones de teclas o interfaces gráficas.
Soy de los que pensaba que este era un editor para «pulpos» o personas con más de 10 dedos, pues el simple hecho de tener tantos atajos de teclado, me hacía pensar que VIM era el «monstruo» de los editores en consola. La verdad es que desde ayer estoy aprendiendo a usarlo (aún con cosas muy básicas) pero me estoy acostumbrando, y lo peor (o mejor de todo) es que me está gustando demasiado.
Siempre me he sentido cómodo con el funcionamiento de nano, pero es cierto que este editor es demasiado básico. Cuando tenemos entorno gráfico se pueden hacer uso del cursor para copiar/pegar, pero cuando estamos en un TTY la cosa cambia. Esa es la primera ventaja que le encuentro a VIM. Otras de las características que me gustan son:
- Selección de texto en columnas.
- Resaltado de sintáxis.
- Resaltado de paréntisis, corchetes y llaves (por lo que se hace ideal para programar).
- Extremadamente potente, incluso cuando se interrumpe el fichero que estamos editando, nos permite recuperarlo posteriormente.
- Acá pueden ver muchas más…
El único editor de texto en consola (de los que conozco) que «se le acerca» a VIM es MCEdit, el editor de texto de MC. Pero nótese las comillas en la oración anterior. VIM incluso tiene un editor en GTK. Pero la idea de este post no es venderle o incitarles a que usen VIM, simplemente es una forma de decirles que es más fácil de usar de lo que realmente aparenta.
Tutorial básico de uso de VIM
Pensaba dejarle una serie de atajos de teclado, pero creo que se sería mucho más práctico si les mostrara como funciona mediante un ejemplo. Lo primero que haremos es instalar VIM si no lo hemos hecho ya, o si no viene por defecto en nuestra distribución favorita. Una vez instalado, abrimos un terminal y ponemos:
$ vim prueba.txt
Veremos algo como esto:
Ahora oprimimos la tecla I o la tecla Insert para pasar del modo comando al modo edición y comenzar a escribir. Escribimos cualquier cosa, si es posible, que tenga más de dos líneas. Yo por ejemplo puse:
Ahora bien, oprimimos la tecla ESC para salir del modo edición, nos movemos al principio del documento con las flechas del teclado y oprimimos la tecla V. Se fijarán que abajo dice ahora VISUAL. Con la flecha de abajo vamos marcando todo el texto que escribimos. Cuando lo tengamos todo seleccionado, oprimimos la tecla Y. Una vez hecho esto, verán que abajo nos indica la cantidad de líneas copiadas.
Ahora nos movemos un poco más abajo y oprimimos la tecla P. Cada vez que la oprimamos, se pegará el mismo texto. Si en vez de la tecla Y oprimimos la tecla X, el texto que seleccionamos se cortará. Lo podemos volver a pegar con la tecla P.
Ahora vamos a guardar el documento de prueba. Oprimimos ESC si estamos en modo de edición y escribimos :w, o sea, dos puntos y una W. Esto lo que hace es escribir o guardar lo que estamos haciendo. Si posteriormente escribimos :q saldremos del editor. Si lo que queremos es guardar y cerrar, escribimos .
Ahora un último truco. Supongamos que sin querer se nos cierra el terminal y perdemos el documento. Lo que tenemos que hacer es volver a escribir:
$ vim prueba.txt
y nos saldrá algo como esto:
Si se fijan al final tenemos una serie de opciones. En este caso oprimimos la tecla R para recuperar el documento anterior, luego nos pedirá que oprimamos ENTER y listo, podemos seguir donde nos quedamos. Ahora, si por casualidad le damos a la tecla E (editar de todas formas) también podemos recuperar el documento escribiendo :recover, y nos saldrá algo como esto:
En este caso mi opción es escribir el número 1 y listo, queda recuperado nuevamente nuestro trabajo.
Si quieres usar VIM de forma más fácil, entonces podrías instalar GVIM, que es lo mismo usando librerías Gtk para el uso de Menús y otras opciones que le facilitan el trabajo al usuario.
Incluso, hay una extensión para Firefox llamada Vimperator, que nos permite manejar el navegador como si de VIM se tratara
Y hasta aquí este HowTo, cualquier sugerencia o dato es bienvenido para que todos aprendamos más cosas útiles sobre VIM.
Yo usaría Gvim, aunque no vi el resaltado de sintaxis y hubiese sido bueno que pusieras imágenes de algún texto en HTML a ver como es todo eso. Me voy a poner a trabajar con Vim y luego hago uno de esos análisis a fondo como hice con Gedit… dame una semana y lo tengo.
Si quieres ver como funciona el resaltado de sintaxis pues te dejo un par de ejemplos.
ompldr.org/vZTRlYg
ompldr.org/vZDd3cw
Y en un link de mas abajo un monton de esquemas para dejarlo mas agradable visualmente. xP
Saludos.
Muy bueno el tutorial de vim, ojala que mas adelante se haga uno, un poco mas avanzado o algunos trucos mas, que se puede hacer con esta herramienta ;),
por el momento a meterme ahora en este mundo de vim
De momento me quedo con emacs, que últimamente me tiene cada vez mas atrapado, por otro lado vim se me hace muy difícil moverme entre el texto.
PD: ¡Felicitaciones! están de primeras en el Ranking.
+1
Los hombres usamos Emacs, sabelo!
Cuando empecé a leer «Nunca pensé que fuese a decir esto, pero increíblemente le estoy cogiendo el gusto al mejor editor que existe para el terminal en GNU/Linux…» pensé: excelente, descubrió Emacs!
En cambio resulta que el tipo sale con mariconadas 😛 las cosas que uno se encuentra por la net!
Ohh que machote. Supongo entonces que usas LFS, porque usar una distro con todo masticado supongo que también es una mariconada ¿no?
Hombre emacs me parece bastante más fácil que vim pero para gustos colores.
vimtutor es un tutorial interactivo muy bueno, está diseñado para ser completado en 25-30 minutos. muy recomendable!
apt-get install vimtutor
vimtutor
Eso seguro me sirve, tengo que trabajar en eso
Si, de hecho Vimtutor está genial…
Juga a este juego y entonces es cuando no dejarás de usar vim y aprenderás a usarlo tontamente, de verdad, vas a practicar mucho con este juego las cosas mas basicas de vim como el saber moverse bastante rapido.
http://vim-adventures.com/
No soy desarrollador, así que para lo que necesito: editar algun .conf o meter de vez en cuando las manos en algun pkbuild, con NANO me basta y me sobra. Una vez por probar abrí un archivo en VIM y no supe ni salir de allí.
Bastante basico para los que empiezan con vim, incluso yo pensaba que era un monstruo pero como todo, es solo cuestion de costumbre. xP
Dejo un monton de esquemas para los que quieran probar.
http://code.google.com/p/vimcolorschemetest/
Saludos.
@elav, te dejo mi vimrc para que uses alguna config que te sirva 😉
http://paste.desdelinux.net/4465
Gracias 😀
Te gusta provocar flames, ¿eh? Éste es probablemente el flame más antiguo 😛
PD: VI Rocks!
Excelente tutorial ! muchas gracias 😀
muy interesante :3
Siempre es bueno algo básico.
Es bueno saber de todo un poco, por si algún día lo necesitas, El sabio siempre valorará el sacrificio de su semejante.
Exelente tutorial pero sou nuevo en esto y no se como agregar al gvim el editor de brigthscript https://github.com/chooh/brightscript.vim.git podrian ayudarme