4/13/2008


Comandos básicos de Vi/Vim

.===============================.
|«««««« PRÓLOGO »»»»»»|
'==============================='

Vi es el editor estándar de los Sistemas Operativos de la familia Unix/Linux. En principio puede resultar un poco difícil,

sobre todo para los usuarios de Windows.Sin embargo, dado que es prácticamente el único editor que puedes encontrar

pre-instalado en cualquier PC o Servidor con Unix/Linux, aprender a usarlo es absolutmatamente indispensable.

.===============================.
1.=|«««««« INVOCACIÓN VI »»»»»»|
'==============================='

$vi------------------------Editar un texto sin nombre
$vi archivo----------------Editar un archivo (nuevo o no)
$vi archivo1 archivo2------Editar lista de archivos
$vi +n archivo-------------Editar archivo en la línea n
$vi +/txt archivo----------Editar archivo en la 1a línea donde aparece txt


.========================================.
2.=|«««««« MOVIMIENTOS DEL CURSOR »»»»»»|
'========================================'

Arriba----k
Abajo-----j
Derecha---h
Izquierda-l

0---------Inicio de línea
$---------Fin de línea
w---------Word: Avanzar palabra
b---------Back: Retroceder palabra
e---------End: Al final de palabra
H---------Home: Esquina sup. izq. de la ventana
L---------Last: Esquina inf. izq. de la ventana
crtl+u----Window up: Subir ventana
crtl+d----Window down: Bajar ventana
crlt+b----Page back: Retroceder página
crtl+f----Page forward: Avanzar página
nG--------Go: Salta a la línea n.
1G--------A la primera línea
$G--------A la última línea
fcar------Buscar en la línea el carácter car (hacia delante)
Fcar------Buscar en la línea el carácter car (hacia atrás)



.================================.
3.=|«««««« INSERTAR TEXTO »»»»»»|
'================================'
i---Insertar (delante del cursor)
I---Insertar al principio de la línea
a---Añadir (detrás del cursor)
A---Añadir al final de la línea
o---Insertar una línea debajo de la actual
O---Insertar una línea encima de la actual


.==============================.
4.=|«««««« BORRAR TEXTO »»»»»»|
'=============================='

x---Borrar caracter actual
X---Borrar caracter anterior
dd--Borrar línea actual
D---Borrar hasta final de línea
dw--Borrar palabra


.===============================.
5.=|«««««« CAMBIAR TEXTO »»»»»»|
'==============================='

rcar--Reemplazar el caracter actual por car
R-----Reemplazar texto desde la posición del cursor
s-----Substituir el caracter actual por texto a insertar
S-----Substituir la línea actual
C-----Cambiar hasta el final de la línea
cw----Cambiar palabra
J-----Unir a la línea actual la siguiente


.================================.
6.=|«««««« COPIAR Y PEGAR »»»»»»|
'================================='

yy----Copiar en el buffer la línea actual
nyy---Copiar en el buffer n líneas desde la actual
p-----Pega el buffer detrás del cursor
P-----Pega el buffer delante del cursor


.=====================================.
7.=|«««««« BUSCAR Y SUBSTITUIR »»»»»»|
'======================================'

%-------------------Busca el caracter delimitador ( ) [ ] { } que balancea el actual (Dentro de un entorno salta al

delimitador inicial)
/ExpReg-------------Busca hacia delante la expresión regular ExpReg
?ExpReg-------------Busca hacia atrás la expresión regular ExpReg
n-------------------Repite la última búsqueda
N-------------------Repite la última búsqueda en el sentido contrario
:s/txt/txt2---------Substituye el texto txt por txt2 la primera vez que aparece en la línea
:s/txt/txt2 /g------Substituye todas las apariciones de txt por txt2 en la línea
:m,n s/txt/txt2 /g--Substituye en el rango de líneas [m,n]


.====================================.
8.=|«««««« REPETIR Y DESHACER »»»»»»|
'====================================='

.---Repetir último comando de actualización (Borrado/Inserción/Cambio)
u---Deshacer último comando de actualización
U---Deshacer todos los cambios en la línea actual


.====================================.
9.=|«««««« COMANDOS DEL SHELL »»»»»»|
'====================================='

:sh-----------Invoca un nuevo shell. Al salir continua la edición
:!CmdShell----Ejecuta un comando del sistema operativo
:r!CmdShell---Ejecuta un comando del S.O. e inserta su salida en la posición del cursor
:!!-----------Repite el último comando ejecutado en un shell


.===========================================.
10.=|«««««« OPERACIONES CON ARCHIVOS »»»»»»|
'==========================================='

:w----Graba las modificaciones efectuadas en el archivo
:w----archivo Escribe el texto actual en archivo (Sólo si no existía)
:q----Salir (si no hay cambios)
:q!---Salir (sin grabar)
:wq---Guardar cambios y salir
:x----Guardar cambios y salir
ZZ----Guardar cambios y salir


.==========================================.
11.=|«««««« ESTADISTICAS DE ARCHIVO »»»»»»|
'=========================================='

:=------Muestra el número total de líneas del archivo
:.=-----Muestra el número de línea actual
crtl+G--Muestra el nombre del archivo, línea actual, número total de líneas y porcentaje recorrido del archivo.


.======================================.
12.=|«««««« OPCIONES DE ENTORNO »»»»»»|
'======================================'

:set opción-----Activa la opción de vi correspondiente
:set noopción---Desactiva la opción de vi correspondiente

all-------Muestra todas las opciones y sus valores
number----Muestra numeración de líneas
list------Muestra caracteres de control
ic--------Ignora mayúsculas/minúsculas en las búsquedas

Fuente

3 comentarios:

Marcos said...

Participa con tu blog en Windows VS Linux


Te escribo este e-mail para notificarte que se acaba de abrir la página http://www.windows-linux.net, nos gustaría que participaras con los artículos de tu blog http://linuxandcomputerscience.blogspot.com , nos parecen muy interesantes , tu no tendrías que hacer nada tan solo seguir escribiendo en tu blog.

Si nos dices que si nosotros conectamos tu rss y tus articulos apareceran con un brebe resumen y un link hacia tu página, donde esta el articulo.

Espero que te interese un saludo desde windows-linux.net

Mimadeo said...

Muy interesante.
De hecho, algunos trucos de Vim que comentas no los conocía.
Yo también he creado una página con los trucos o combinaciones de tecla que más utilizo.
Te dejo el enlace por si puede ser de tu interés:
Trucos Vim

Mimadeo said...

Perdón, me confundí con el enlace.
El enlace correcto es: Trucos Vim

Saludos.