Tutorial basico de vi

Tutorial basico de vi

Vi es editor de texto por excelencia en linux, cualquier servidor del mundo con algun linux tiene el vi instalado.

Muchos programadores (generalmente los viejos, cof cof Cesar cof cof), usan vi como IDE, pero como vimos en otro post, no es algo que merezca mi reconocimiento.

Para entender vi tenemos que saber que hay 3 modos, insertar/reemplazar, consola y visual. Para poder editar el texto como en cualquier editor, tenemos que ingresar en este modo, y lo hacemos con la tecla insert o la tecla i.

Modo Insert

En este modo podemos movernos igual que lo hacemos con el notepad, nano, gedit y otros editores. Con las flechas nos desplazamos, para un lado, en este modo voy a destacar el uso de ctrl +d y ctrl + i, para tabular para un lado o para el otro, hay otras combinaciones que se pueden ver en el manual que se pueden descargar abajo, y en la chuleta.

Modo Consola

Cuando queremos acceder al modo consola lo hacemos con la tecla “esc”.Aca podemos salir ingresando la combinacion “:q”, guardar con “:w”, guardar y salir con “:x”, tambien podemos forzar los comandos con el simbolo !, si hicimos algun cambio en el archivo y no queremos guardarlo al salir, forzamos esta salida con “:q!”, los camandos van sin las comillas (“).

En este modo tenemos mil opciones, pero voy a destacar las comunes.

* Buscar una palabra:

/palabra a buscar

con la tecla n (siempre en modo consola), buscamos el siguiente resultado de la busqueda.

* Buscar y reemplazar un texto.

:1,$ s/palabra_a_buscar/palabra_a_reemplazar/g

Cuidado que aca le estamos diciendo que busque de la linea uno hasta la ultima, si quieren pueden decirle que lo haga desde la linea 23, hasta la 48.

* Copiar pegar, y borrar una linea

Para copiar una linea usamos la tecla “y” dos veces, y para pegarla la tecla “p”.

* Para borrar una linea dos veces la tecla “d”.

Si nos equivocamos y queremos volver atras apretamos la tecla “u”.

Hay otras combinaciones mas pero estas son las que por lo menos yo mas uso.

Modo Visual

Este modo es util cuando queres seleccionar una porcion de texto, copiarla y pegarla o en la misma instancia del vi, o abrir otro archivo, y pegarla en otro vi.

nota: El modo copiar y pegar de Vi, es solo para vi, no sirve para copiarlo en otros editores.

La forma de hacerlo es desde el modo consola apretar la tecla “v”, con las flechitas seleccionamos el texto que queremos copiar, apretamos solo una vez la tecla “y”, volvemos a entrar en el modo de consola y apretamos la tecla “p”, si todo salio bien tiene que pegarse el texto que seleccionamos. Podemos probar copiar algo desde el modo visual, cerrar el vi, y volver a abrir otro archivo y pegar el texto que copiamos en el otro archivo.

Por ahora es el unico uso que le doy, por ahi se le puede dar otro, con vi nunca se sabe los limites.

Tip: Para pegar un texto , y que al pegarlo no se desindente, desde el modo consola escribimos “:se paste”.

Vi y PHP

Hay una version mejorada de vi, que es Vim (el paquete es vim-full, en .deb, y .rpm), desde vim podemos decirle que nos coloree el texto, que nos indente el texto automaticamente, que tabule con espacios y mil cosas mas, podemos decirles que nos busque si la funcion esta en el archivo y la autocomplete, etc.

Si nosotros abrimos un archivo con extension diferente a .php, y no lo colorea automatiamente como archivo php podemos decirle que lo interprete como tal muy facilmente ejecutando desde el modo consola del vim “:se ft=php”, no solo para los php, sino para casi cualquier lenguaje. Al ejecutar este comando automaticamente se nos colorea el texto.

Vim usa un archivo de configuracion que se encuentra en el home de cada usuario, ese archivo se va a ejecutar cada vez que se ejecute el vim, ahi podemos decirle, que nos indente por cuatro espacios, que reemplaze las tabulaciones por espacios, que nos muestre el numero de lineas, etc. Para editar este archivo desde el shell ingresamos el siguiente comando.

$ vim ~/.vimrc

o

$vim /home/nobre_usuario/.vimrc

En mi archivo de configuracion tengo las siguientes configuraciones

set ts=4                “tabstops are 4 (for all code)
set sw=4              “shiftwidth is 4
set expandtab       “Reemplaza los tabs por espacios
set showmatch      “briefly jump to matching brackets
set showmode       “the mode we’re in

Desde este archivo se puede hacer infinidad de cosas, realmente de todo, pero con esto creo que es suficiente.

Para complementar la info voy a dejarles un manual para descargar de vim, y una chuleta para el uso.

Descarga | Manual de vim

Descarga | Chuleta de vim