vi-1

Resumen de comandos vi
Invocaci´n de vi o $vi $vi $vi $vi $vi fichero fichero1 fichero2 ... +n fichero +/txt fichero Editar Editar Editar Editar Editar un texto sin nombre un fichero (Nuevo o no) lista de ficheros fichero en la linea n fichero en la 1a linea donde aparece txt

Movimientos del cursor ↑k

h

↓j

l

0 $ w b e

Inicio de linea Fin de linea Word: Avanzar palabra Back: Retroceder palabra End: Al final de palabra

H L ^u ^d ^b ^f nG 1G $G zRet zz zfcar Fcar

Home: Esquina sup. izq. de la ventana Last: Esquina inf. izq. de la ventana Window up: Subir ventana Window down: Bajar ventana Page back: Retroceder p´gina a Page forward: Avanzar p´gina a Go: Salta a la n-´sima linea e A la primera linea A la ultima linea ´ Hacer la linea actual la superior Hacer la linea actual la central Hacer la linea actual la ultima ´ Buscar en la linea el car´cter car (hacia delante) a Buscar en la linea el car´cter car (hacia atr´s) a a

(c) 2006, Arturo Gonz´lez Escribano a

Dpto. Inform´tica, Universidad de Valladolid a

vi-2 Marcas m(a-z) Marcar la linea actual con (a-z) ’(a-z) Mover a la marca (a-z) Insertar texto i I a A o O Insertar (delante del cursor) Insertar al principio de la linea A˜ adir (detr´s del cursor) n a A˜ adir al final de la linea n Insertar una linea debajo de la actual Insertar una linea encima de la actual

Borrar texto x X dd D dCmdMov dw Cambiar texto rcar R s S C cCmdMov cw J Reemplazar el caracter actual por car Reemplazar texto desde la posici´n del cursor o Substituir el caracter actual por texto a insertar Substituir la linea actual Cambiar hasta el final de la linea Cambiar hasta la posici´n del movimiento indicado o Cambiar palabra Unir a la linea actual la siguiente Borrar Borrar Borrar Borrar Borrar Borrar caracter actual caracter anterior linea actual hasta final de linea hasta la posici´n del movimiento indicado o palabra

Copiar y pegar CmdBorrado yy αyy yCmdMov p P Cortar (El ultimo borrado pasa autom´ticamente al buffer) ´ a Copiar en el buffer la linea actual Copiar en el buffer α lineas desde la actual Copiar en el buffer hasta la posici´n del movimiento indicado o Pega el buffer detr´s del cursor a Pega el buffer delante del cursor

"(a-z)CmdBorrado Cortar hacia el buffer de nombre (a-z) "(a-z)CmdCopiar Copiar hacia el buffer de nombre (a-z) "(a-z)CmdPegar Pegar desde el buffer de nombre (a-z)

(c) 2006, Arturo Gonz´lez Escribano a

Dpto. Inform´tica, Universidad de Valladolid a

vi-3 Buscar y substituir % /ExpReg ?ExpReg n N :s/txt/txt2 :s/txt/txt2 /g :α, βs/txt/txt2 /g Repetir y deshacer . u U Repetir ultimo comando de actualizaci´n (Borrado/Inserci´n/Cambio) ´ o o Deshacer ultimo comando de actualizaci´n ´ o Deshacer todos los cambios en la linea actual Busca el caracter delimitador ( ) [ ] { } que balancea el actual (Dentro de un entorno salta al delimitador inicial) Busca hacia delante la expresi´n regular ExpReg o Busca hacia atr´s la expresi´n regular ExpReg a o Repite la ultima b´ squeda ´ u Repite la ultima b´ squeda en el sentido contrario ´ u Substituye el texto txt por txt2 la primera vez que aparece en la linea Substituye todas las apariciones de txt por txt2 en la linea Substituye en el rango de lineas [α, β]

Comandos del shell :sh :!CmdShell :r!CmdShell !!CmdShell :!! :α, β!Cmd Invoca un nuevo shell. Al salir continua la edici´n o Ejecuta un comando del sistema operativo Ejecuta un comando del S.O. e inserta su salida en la posici´n del cursor o Ejecuta un comando del S.O. e inserta su salida en la posici´n del cursor o Repite el ultimo comando ejecutado en un shell ´ Ejecuta un comando del S.O. sobre el rango de lineas [α, β]

Operaciones con ficheros :rfichero :w :wfichero :w!fichero :α, βwfichero :efichero :n[ext] :rew[ind] :q :q! :wq :x ZZ Inserta el contenido de fichero debajo de la linea actual Graba las modificaciones efectuadas en el fichero Escribe el texto actual en fichero (S´lo si no exist´ o ıa) Escribe el texto actual en fichero Escribe el rango de lineas en fichero Descartar el texto actual y editar fichero Editar el siguiente fichero de la lista de argumentos Volver al primer fichero de la lista Salir (si no hay cambios) Salir (sin grabar) Grabar cambios y salir Grabar cambios y salir Grabar cambios y salir

(c) 2006, Arturo Gonz´lez Escribano a

Dpto. Inform´tica, Universidad de Valladolid a

vi-4 Control de comandos Esc ^l αCmd :α, βCmd Finalizar/Anular comando Refresca la pantalla Repite el comando α-veces Ejecuta el comando sobre el rango de lineas [α, β] (α y β pueden ser n´ mero, comandos de movimiento, marcas,...) u $ indica la ultima linea del fichero ´ . indica la linea donde est´ el cursor a

set opci´n o Activa la opci´n de vi correspondiente o set noopci´n Desactiva la opci´n de vi correspondiente o o all Muestra todas las opciones y sus valores ai Modo de autoindentaci´n o list Muestra caracteres de control nu[mber] Muestra numeraci´n de lineas o vb Sustituye el pitido por una indicaci´n visual o wrap Mostrar partidas las lineas que no caben en la pantalla ...

(c) 2006, Arturo Gonz´lez Escribano a

Dpto. Inform´tica, Universidad de Valladolid a