Segunda parte y última de la guía rápida sobre vi.
Uso avanzado del editor vi
Modos de abrir el editor
vi temp.log Edita el fichero temp.log, y si no existe lo crea.
vi temp1.log temp2.log Edita el fichero temp1 y luego el temp2
vi +$ temp.log Edita el fichero temp.log y nos posiciona al final del archivo
vi +60 temp.log Abre el fichero temp.log y nos posiciona en la linea 60
vi +/server Edita el fichero y coloca el cursor en la primera posición de la palabra «server»
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
Copiar y pegar
Y o yy copiar línea
P pegar antes del cursor
p pegar después del cursor
yw copiar palabra
y$ copiar de cursor a fin de línea
«ayy o «aY copiar línea en buffer llamado ‘a’
‘a’ «ayw copiar palabra en buffer llamado
«ap pegar desde buffer ‘a’, a la derecha del cursor
«aP pegar desde buffer ‘a’, a la izquierda del cursor
«bdd borrar línea y guardar en buffer ‘b’
«bdw borrar palabra y guardar en buffer ‘b’
Búsqueda
/str buscar hacia adelante cadena de caracteres ‘str’
?str buscar hacia atrás cadena de caracteres ‘str’
fc buscar el siguiente caracter ‘c’ en la línea
Fc buscar el anterior caracter ‘c’ en la línea
tc ir al caracter anterior al siguiente ‘c’
Tc ir al caracter posterior al precedente ‘c’
n repetir último comando / o ?
N repetir último comando / o ? para el otro lado
; repetir el último comando f, F, t, o T
, último comando f, F, t, o T para el otro lado
Modo Texto.
BS(<-) borrar caracter hacia la izquierda
ESC pasar a modo comando
Modo última línea.
:q salir si no hubo cambios
:q! salir sin guardar cambios
:w guardar cambios
:w temp guardar cambios en archivo temp
:wq guardar y salir
:r temp2 insertar un archivo (agrega al archivo abierto ,el contenido de temp2)
:e temp2 editar un nuevo archivo llamado temp2
:e! temp2 editar un nuevo archivo temp2 ,pero sin salvar el fichero abierto actualmente
:r! comando insertar salida de comando 8por ejemplo :r! ls , insertaria el resultado del comando ls en el archivo)
:shell salir al shell ,sin guardar nada, una vez en la consola se puede volver al editor ,al mismo fichero abierto, escribiendo exit.
Mover
:$ mueve a última línea
:10 mueve a línea 10
:20 mueve a línea 20
Opciones
:set cambio de opciones
:set showmode mostrar modo actual de vi
:set noshowmode no mostrar modo actual de vi
:set nu mostrar números de línea
:set nonu no mostrar números de línea
Referencias:
página man/info de vim.