Viene de
Quick Reference
La siguiente tabla da una referencia rápida con lo que soporta el vi (generalmente el vi tiene los mismo comandos en diferentes sistemas):
Obs: Los comandos comienzan por : y termina con return, preste atención a la tecla de Mayúsculas porque los comando difieren sin está apretada o no
Para empezarvi file edita file
vi -r file edita la última versión salvada de file (recupera)
vi + n file edita y pone el cursor en la línea n
vi + file ídem pero a la última línea
vi file1 ... filen edita file1 a filen, despues de salvar file1, presione n para la siguiente
vi + /str file edita y sitúa el curso en la línea que contiene str
Salvar y Salir
ZZ o :wq o :x salva y sale
:w file salva en file, si no existe file salva en la actual
:w! salva y no controla la protección de escritura
n,mw file salva desde la línea n a la m en file
n,mw>> file añade desde n a m al final de file
:q sale (si hay cambios no lo ejcuta el comando)
:q! sale (si hay cambios los descarta)
Q permite pasar al ex (:vi retorna)
:e! reedit el archivo actual, descarta los cambios
Comandos de status
:.= imprime línea actual
:= imprime nº de líneas en el archivo
Ctrl-g imprime status del archivo
:l (ele) imprime los caracteres especiales de la línea actual
Insertar
a append
A append después del final de la línea
i insert
I insert antes del cominezo de la línea
o inserta un línea nueva (abajo)
O inserta una línea nueva (arriba)
Ctrl-V char inserta el char (válido para insertar caracteres de control)
:r file lee file e inserta después de la línea actual
:nr file ídem pero inserta después de la línea n
Undoing
u undo último comando
U Restaura la línea al estado original
"np Retrive el n-esimo delete (hasta 9 max)
n repite el último / o ? (búsqueda)
N Ídem anterior pero en orden inverso repite la última (bísqueda)
, ídem anterior pero en orden inverso
. repite el último cambio de texto
Posicionamiento del cursor
{ Marca las secciones cuando está en la primera columna
[[ Hacia atras y principo de sección
]] hacia adelante y principo de sección
Movimientos del cursor
k arriba
j abajo
h izquierda
l (ele) o Space derecha
w o W siguiente palabra (Mayúscula ignora puntuación)
b o B palabra previa
e o E fin palabra
0 o | 1º columna
$ ultimo caracter en la línea
+ o Return 1º caracter de la línea
- 1º caracter no blanco de la línea
G última línea
G$ último caracter
nG linea n
( comienzo de sentencia
) cominezo de sgte sentencia
{ Comienzo de párrafo
} Comienzo de párrafo sgte
Borrar
<- o Ctrl h borra caracter en modo insertar
Ctrl w borra palabra en modo insertar
Crtl x borra texto insertado en modo insertar
nx borra n caracteres incluyendo el de la posición del cursor
nX borra n caracteres previos al cursor incluido
D borra desde posición actual al fin de línea
ndw borra n palabras
Búsqueda
% busca el comienzo de () [] {}
fchar busca hacia adelante char
Fchar busca hacia atrás char
tchar busca hacia delante linea actual
Tchar busca hacia atrás linea actual
/str busca string
?str busca string hacia atrás
:set ic ignore case
:set noic no ignore case
Copiar
nyy o nY copia n líneas en el buffer desde la actual
p print las líneas de buffer en la posición del cursor
P ídem pero antes del cursor