miércoles, 2 de febrero de 2011

Comandos utiles del vi

Modo ex o última línea.

:q            salir si no hubo cambios
:q!           salir sin guardar cambios
:w            guardar cambios
:w arch1      guardar cambios en archivo arch1
:wq           guardar cambios y salir
:r arch2      insertar un archivo
:e arch2      editar un nuevo archivo
:e! arch2     idem sin salvar anterior
:r! comando   insertar salida de comando
:shell        salir al shell (vuelve con exit)

Mover

:1    mueve a línea 1
:15   mueve a línea 15
:$    mueve a última línea

Opciones

:set                cambio de opciones
:set nu             mostrar números de línea
:set nonu           no mostrar números de línea
:set showmode       mostrar modo actual de vi
:set noshowmode     no mostrar modo actual de vi

Reemplazo

La sintaxis del comando de búsqueda y reemplazo es la siguiente:
:,s///g
, indican líneas en el archivo; y son cadenas de caracteres o expresiones regulares; / es un separador, s (sustituir) y g (global) son letras de comando para el manejo de expresiones regulares.
:1,$s/Martes/martes/g
cambia Martes por martes en todo el archivo.
:.,5s/ayuda/&ndo/g
cambia ayuda por ayudando desde línea actual hasta la 5a. línea.
x borrar caracter bajo el cursor
dd borrar línea, queda guardada D borrar desde cursor a fin de línea dw borrar desde cursor a fin de palabra
d$ borrar desde cursor a fin de línea
d0 borrar desde cursor a principio de línea
Control de pantalla.
Ctrl-f una pantalla adelante
Ctrl-u media pantalla atrás

Ingreso en modo texto:

i    insertar antes del cursor
I    insertar al principio de la línea
a    insertar después del cursor
A    insertar al final de la línea
o    abrir línea debajo de la actual
O    abrir línea encima de la actual
R    sobreescribir (cambiar) texto

Borrar

x borrar caracter bajo el cursor
dd borrar línea, queda guardada D borrar desde cursor a fin de línea dw borrar desde cursor a fin de palabra
d$ borrar desde cursor a fin de línea
d0 borrar desde cursor a principio de línea