miércoles, 2 de octubre de 2013

Tutorial Vim

Vim y es un editor de texto tipo consola muy poderoso,solo que las personas que están acostumbradas a las interfaces de Gtk,Tk,Qt o cualquier otro,se les puede hacer raro como usarlo.

En esta entrada se pretende entender como funciona y dejar de depender  de las interfaces gráficas,ya que un editor de tipo consola como este o como nano,joe se pueden usar en shell,osea desde una conexión ssh o desde la tty lo que nos vendrá muy bien en distintas situaciones.

Como dije aprenderemos como usarlo como editor por defecto,o preferido,ya que tiene grandes ventajas.

Programar scripts para el sistema desde la shell,cuando no tengamos entorno de escritorio.

Configurar el sistema cuando no tengamos entorno de escritorio,muy bueno para instalaciones de linux como gentoo,arch o FreeBSD.

Otra cosa que es muy propia para mi es que al usar este editor sin extensiones de lenguaje,aprenderemos mas a programar,esto lo digo y es muy propio porque cuando usamos un IDE,solo ponemos una letra y tab y nos autocompleta toda la sintaxis de una orden del lenguaje de programacion(claro ejemplo java en IDE),tal vez sea mas practico a la hora de velocidad,pero siento que hace a uno mas flojo.

Como dije vamos a aprender lo básico,hay algunas cosas mas practicas para cuando ya sabemos la básico,lo cual podemos verlo en este enlace.

Tutorial

Primero que nada debemos instalarlo en nuestro sistema

Ubuntu/Debian

sudo apt-get install vim

Gentoo

sudo emerge -av vim

FreeBSD

sudo pkg_add -rv vim

Son los sistemas que uso,para otros solo usen el comando de instalación de su sistema.

Ahora podemos iniciar a usarlo de dos maneras:

Abrimos una terminal(si estamos usando un entorno de escritorio).

La primera es desde su propio explorador ya que tiene un explorador propio,podemos escribir:

vim ~

Y nos abre su explorador en nuestro home,pero eso es un poco mas avanzado asi que nos concentraremos en la otra forma.

Si entraron con el comando anterior,para salir:

ZZ

La segunda es usar el explorador de archivos de bash(unix) con los comandos cd,ls,etc.

Nos damos locación en una carpeta,por ejemplo:

cd ~/Documentos

Y escribimos vim.

Al hacer esto veremos una pantalla como esta:



Ahí estaremos en modo comando,en el cual teclearemos todos los comandos que veremos.

Para comenzar a escribir tecleamos:

i

Esto es lo mas común a la hora de iniciar un nuevo archivo.

Para guardar nos ponemos en modo comando de nuevo de la siguiente manera:

boton esc

o

ctrl + c

Luego escribimos:

:wq nombre archivo

Por ejemplo si quisiéramos que se llamara hola.lua,lo haríamos así:

:wq hola.lua



Bien ahora los comandos de manejo de archivo:

:w => Salvar (posibilidad de añadir nombre del fichero).

:q => Quitar(si no tocamos).

:q! => Quitar(si tocamos), no guarda los cambios.

ZZ => Salvar y quitar.

:wq => Salvar y quitar(posibildad de añadir nombre del fichero).

:w! => Salva(en archivos de solo lectura),esto lo vimos en los permisos de unix,podemos quitarle los permisos de escritura desde bash con chmod -w archivo.

Ahora que ya tenemos un archivo,la próxima ves podemos abrir el archivo así:

vim hola.lua # ejemplo de archivo


Ahora estamos en modo comando,podemos comenzar a escribir con i,como arriba pero tenemos mas opciones:

Escribe me refiero a donde puedes comenzar a escribir.

i => Escribe antes de la letra señalada.


I => Escribe al principio de la linea señalada.


a => Escribe después de la letra señalada.


A => Escribe al final de la linea señalada.


o => Crea una nueva linea para escribir.


O => Crea una nueva linea para escribir(antes).

De esa manera podemos comenzar a escribir de una buena manera.

Vim cuenta con la función undo,algo que es inestable en nano,lo cual es muy bueno ya que nos permite deshacer los cambios que hayamos hecho,para ello escribimos en modo comando la letra:

u

Eso seria lo que seria ctrl + z,ahora lo contrario que es lo que seria ctrl + y,lo hacemos escribiendo en modo comando un punto:

.

También contamos con opciones de borrado en modo comando:

x =>  Para borrar el carácter siguiente a donde esta la letra señalada,seria el equivalente a supr.

X => Para borrar el carácter antes de  le letra señalada,seria el equivalente a del.

Y también tenemos opciones de copy and paste,en modo comando:

dd => Corta la linea señalada.

P => Pega una linea antes.

p => Pega una linea despues.

yy => Copia la linea señalada.

También podemos copiar o cortar varias lineas,solo debemos señalarlas antes,por ejemplo cortar 5 lineas:

5dd

o cortar 3:

3yy

Esto también vale para x(para cortar palabras).

Por ejemplo cotar una palabra de 3 letras:

3x

O borrar cualquier palabra se puede en modo comando con:

dw => Se borrara la palabra señalada.

Algo que también es muy bueno en vim es que nos podemos dirigir a una linea en especifico,por ejemplo si programamos un script y nos da error en la linea 345,solo tenemos que hacer esto para dirigirnos a ella:

En modo comando:

:345

Podemos poner cualquier numero de linea del archivo,pero también contamos con caracteres especiales:

:$ => Final del archivo.

:0 => Principio del archivo.

En nano por ejemplo es muy fácil buscar algo en un archivo con ctrl + w,en vim solo tenemos que escribir esto en modo comando:

/palabra_a_buscar

Por ejemplo buscar funciones en un script en python,como en python las funciones se declaran con la palabra def seguida de un espacio,hacemos lo siguiente:

/def\s


Aquí buscamos la palabra def seguida de un espacio(\s en regex es espacio),cuando tengamos la palabra presionamos enter,y la busca si no la encuentra nos dirá,si encuentra mas de una nos desplazamos con la tecla:

n => A la siguiente coincidencia.

El comando anterior busca hacia adelante de donde estamos con el cursor de vim,si queremos buscar hacia atrás usamos el  signo ?:

?def\s

Si queremos buscar desde la primera linea estemos donde estemos, usamos primero el simbolo ^,que quiere decir inicio:

/^def\s

Por ultimo,si queremos remplazar una palabra podemos usar este comando que es al estilo perl:

:linea_inicio,linea_final, s/palabra/remplazo/g

La g del final se usa para que recorra toda la linea,si queremos remplazar la palabra en todo el archivo usamos:

:1,$ s/palabra/remplazo/g

Por ejemplo remplazar print,por say en un script en perl:

:1,$ s/print/say/g

Faltan muchísimas cosas ya que vim es un editor con mucha potencia,por ejemplo insertar texto mezclando archivos,convertir a hexadecimal,octal,etc ejecutar ordenes de la shell,encriptar,etc,pero de momento es todo :D.

No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.