Vi es un editor de texto muy usado en el ambiente de Gnu/Linux, asi que en el laburo lo uso todo el tiempo y de vez en cuando me pasa que me olvido algun que otro comando y entro a Google a buscar “comandos vi” y siempre encuentro una pagina nueva.
Esta ultima vez encontre una web que tenia los comandos que siempre uso, entonces en esta oportunidad se me ocurrio postearlo aqui, en mi blog para tenerlo de facil acceso y para que ustedes si les pasa lo mismo sepan rapidamente donde encontrarlos.
Comandos:
General
Para iniciar el “vi” teclea: vi
Si quieres también abrir un archivo: vi + nombre_del_archivo
Para iniciar el modo de comandos: tecla [esc]
Para salir del “vi” y grabar los cambios: ZZ o :wq
Para salir sin grabar los cambios: :q!
Si un número precede a cualquiera de los comandos del “vi” indicará las veces que éste se repetirá.
Recuerda que debes respetar la diferencia entre mayúsculas y minúsculas de los comandos.
Movimientos del cursor
h |
movimiento hacia la izquierda (backspace). |
j |
movimiento hacia abajo. |
k |
movimiento hacia arriba. |
l |
movimiento a la derecha. (barra espaciadora). |
[enter] |
movimiento hacia el principio de la siguiente lÃnea. |
$ |
mueve el cursor hacia el último caracter de la lÃnea. |
0 |
mueve el cursor al primer caracter de la lÃnea. |
^ |
mueve el cursor al primer caracter no blanco de la lÃnea. |
w |
movimiento hacia el principio de la siguiente palabra o signo de puntuación. |
W |
movimiento hacia el caracter siguiente después de un espacio. |
b |
movimiento al principio de la palabra o signo de puntuación previo al cursor. |
B |
movimiento al principio de la palabra previa ignorando signos de puntuación. |
e |
movimiento al final de la siguiente palabra o signo de puntuación. |
E |
movimiento al final de la siguiente palabra ignorando los signos de puntuación. |
H |
mueve el cursor al principio de la pantalla. |
M |
mueve el cursor a la mita d de la pantalla. |
L |
mueve el cursor al final de la pantalla. |
Movimientos de pantalla
G |
movimiento hacia la última lÃnea del archivo. |
nG |
movimiento hacia la lÃnea número “n”. |
z+ |
mueve la lÃnea actual al tope de la pantalla. |
z |
mueve la lÃnea actual a la mitad de la pantalla. |
z- |
mueve la lÃnea actual al fondo de la pantalla. |
^F |
mueve una pantalla hacia adelante. |
^B |
mueve una lÃnea hacia atrás. |
^D |
mueve hacia delante media pantalla. |
^U |
mueve hacia atrás media pantalla. |
^R |
refresca dibuja la pantalla ( no trabaja con terminales tipo VT100). |
^L |
refresca la pantalla. (no trabaja con terminales de Televideo). |
Nota: “^” significa que tienes que oprimir simultáneamente la tecla [Control]
Insertar
r |
reemplaza un solo caracter. |
R |
lo mismo que “r” pero en repetidas ocasiones, se desactiva presionando de nuevo [esc]. |
i |
inserta un caracter un lugar antes del cursor. |
a |
inserta un caracter después del cursor. |
A |
inserta un caracter al final de la lÃnea. |
o |
inserta una nueva lÃnea y desplaza el cursor. |
O |
inserta una nueva lÃnea sin desplazar el cursor. |
Cc |
cambia una lÃnea. |
ncc |
cambia “n” número de lÃneas. |
Borrar
x |
borra el caracter que se encuentra bajo el cursor. |
dd |
borra la lÃnea en donde se encuentra el cursor. |
dw |
borra la palabra que se encuentra a la derecha del cursor. |
db |
borra la palabra que se encuentra a la izquierda del cursor. |
D |
borra el resto de la lÃnea. |
Copiar
yy |
copia la lÃnea en donde se encuentra el cursor, ésta puede ser “pegada” utilizando el comando “p”, el cual |
|
puede ser precedido por un número para “pegarlo” varias veces. |
Pegar
P |
“pega” antes del cursor. |
p |
“pega” después del cursor. |
Buscar
? |
encuentra una palabra anterior al cursor. |
/ |
encuentra una palabra posterior al cursor. |
n |
repite la última búsqueda. |
f |
encuentra un caracter en la misma lÃnea donde se encuentra el cursor (hacia atrás). |
F |
encuentra un caracter en la misma lÃnea donde se encuentra el cursor (hacia adelante). |
t |
encuentra un caracter en la lÃnea donde está el cursor (hacia adelante) y se detiene un caracter antes de él. |
T |
encuentra un caracter en la lÃnea donde está el cursor (hacia atrás) y se detiene un caracter antes de él. |
; |
repite el último comando de búsqueda (f, F, t, T). |
Otros comandos
. |
repite el último comando. |
u |
deshace el último comando ejecutado. |
U |
deshace todos los comandos utilizados en la misma lÃnea. |
xp |
borra el caracter bajo el cursor e inserta el siguiente en su lugar (cambio de lugar). |
J |
une la lÃnea en uso con la siguiente lÃnea. |
^G |
muestra el número de lÃnea. |
: |
sale al shell de UNIX. |
:e# |
edita archivo alterno cuando existen 2 archivos abiertos. |
% |
si existe un paréntesis, llave, o signos de mayor o menor “qué” el cursor brincará hacia él (hacia adelante). |
mx |
marca la lÃnea en uso con el caracter “x”. |
‘x |
encuentra la lÃnea marcada con el caracter “x”. |
NOTA: Las marcas son internas y no se graban en el archivo.
Insertar archivos
:r nombre_del_archivo |
Copia el archivo después del cursor en el archivo que se está utilizando. |
Grabar
:w |
graba el archivo actual sin salir del “vi”. |
:q |
sale del “vi” sin grabar. |
:wq |
graba y sale del “vi”.
|
😡 |
sale del “vi” grabando. |
Mover
:n |
movimiento hacia la lÃnea número “n”. |
:$ |
movimiento hacia la última lÃnea del archivo |