Editor Vi

Notación Cambiar texto Juntar líneas Movimiento del cursor Introducción de texto
Repetición y deshacer Búsqueda Marcar texto Patrones Borrar y copiar texto
Salvar a archivo Comandos  Shell Macros Información de Status Otras notas

Notación:

Principio

Cambiar texto:

rcar Reemplazar el actual carácter por car.
Rtexto ESC Reemplazar el actual carácter/es por texto.
stexto ESC Sustituye el actual carácter por texto.
S o cc texto ESC Sustituye la actual línea por texto.
cwtexto ESC Sustituye la palabra actual por texto.
Ctexto ESC Cambia el resto de la línea actual por texto.
ccomando_movimiento_cursor texto ESC Cambia el texto entre la línea actual y el movimiento indicado por el comando texto.
xp interchange two letters az->za

Principio

Juntar líneas:

nJ Juntar las siguientes n líneas detrás de la actual, si se omite n, por defecto n=1.

Principio

Movimiento del cursor y la pantalla:

k o CTRL-p Arriba.
j o CTRL-j o CTRL-n Abajo.
h o CTRL-h o Backspace Izquierda
l o space Derecha.
w o W Va al principio de la siguiente palabra, W ignora puntuación.
b o B Va al principio de la anterior palabra, B ignora puntuación.
e o E Va al final de la siguiente palabra, E ignora puntuación.
n| Va a la n columna de la línea actual, por defecto 0 o | Primera columna.
^ Primer carácter no blanco en la línea actual.
$ Último carácter en la línea actual.
nG Línea n en el fichero, por defecto lleva a la última. G$ lleva al final del fichero.
( Volver al principio de una frase.
) Ir al principio de la siguiente frase.
{ Volver al principio del párrafo.
} Ir al principio del siguiente párrafo.
[[ Volver al principio de la sección
]] Ir al principio de la siguiente sección.
(* Las acciones se marcan poniendo { en la primera columna *)
nH Mueve el cursor a la línea n empezando desde arriba por defecto sube a la primera.
M Mueve el cursor al medio de la pantalla.
nL Mueve el cursor a la línea n desde el final, por defecto va a la última.
CTRL-e Mueve la pantalla una línea arriba.
CTRL-y Mueve la pantalla una línea abajo.
CTRL-u Mueve la pantalla media pantalla arriba.
CTRL-d Mueve la pantalla media pantalla abajo.
CTRL-b Mueve la pantalla una pantalla arriba.
CTRL-f Mueve la pantalla una pantalla abajo.
CTRL-i Refresca la pantalla.
nz Hace que la línea n sea la primera línea en el tope de la pantalla, por defecto n es la línea actual.
nz. Hace que la línea n sea la línea que este en centro de la pantalla, por defecto n es la línea actual.
nz- Hace que la línea n sea la última línea al final de la pantalla, por defecto n es la línea actual.

Principio

Introducción de texto:

a Añade después del cursor.
A Añade al final de la línea actual.
i Inserta antes del cursor.
I Inserta al principio de la línea actual.
o Inserta una línea debajo de la actual.
O Inserta una línea encima de la actual.
CTRL-v car Ignorar el significado especial de car, por ejemplo ESC.
:nr fich Lee un fichero y lo inserta al final de la línea n, si se omite n, es la actual línea.

Principio

Repetición y deshacer:

u Deshacer el anterior comando.
U Restaurar la línea actual a su estado original.
n Repetir la última búsqueda con / o ?.
N Igual que n pero de abajo arriba.
; (punto-y-coma) Repetir la última búsqueda f, F o T.
, (coma) Igual pero al revés.
. (punto) Repetir la última acción.
n<< o n>> Mover n línea a izquierda o derecha.
< o > Usado con un comando para mover el cursor para mover a la derecha y a la izquierda.

Principio

Búsqueda y búsqueda con reemplazamiento:

% Buscar el la "pareja" de ( ) [ ] { o }.
fcar Buscar hacia delante en la línea el carácter car.
Fcar Buscar hacia atrás en la línea el carácter car.
tcar Buscar hacia delante en la línea el carácter después de car.
Tcar Buscar hacia atrás en la línea el carácter después de car.
/cad Busca la cadena cad .
?cad Busca la cadena cad hacia atrás.
:n,ms/cad1/cad2/opt Busca desde la línea n hasta la m la cad1 y la sustituye por cad2 utilizando las opciones opt, que pueden ser, g global, c confirmar cambios y p para imprimir las líneas.
& Repetir el último comando s
:g/cad1/cmd Ejecutar el comando cmd en todas la líneas que contengan cad1.
:g/cad1/s/cad2/cad3 En las líneas donde se encuentre cad1 sustituir cad3 por cad2.
:v/cad/cmd Ejecutar cmd en aquellas líneas done no este cad.

Principio

Marcando texto:

m(a-z) Marca la actual línea con la letra correspondiente.
'(a-z) Mueve el cursor a la línea correspondiente.
' ' comillas o acentos graves ´ ´, mueve el cursor a la última / ? o G.

Principio

Patrones:

^ Principio de línea.
$ Fin de línea.
. Un carácter cualquiera.
/< Principio de palabra
/> Final de palabra.
[cad] Cualquier carácter de la cadena cad.
[^cad] Cualquier carácter excepto los de la cadena cad.
[a-n] Cualquier carácter entre a y n.
exp* Una o mas ocurrencias de exp.
\ Quita el significado especial de un carácter como \$ para $. Para conseguir \ se utiliza \\.

Principio

Borrado y copia de texto:

{"a}nyy o nY Coge n líneas y las pone en el buffer, por defecto n= línea actual en el buffer nombrado con el carácter a, opcional.
ycursor_cmd Coge las líneas desde el cursor actual hasta cursor_cmd.
{"a}ndd Borrar n líneas y las pone en el buffer, por defecto n= línea actual en el buffer nombrado con el carácter a.
{"a}p Pone el texto del buffer después del cursor.
{"a}P Pone el texto del buffer antes del cursor.

Principio

Salvar un archivo:

ZZ o :wq o :z Salva el fichero y sale de vi.
:w fich Salva el fichero con el nombre fich.
:w! fich Sobreescribe fich si existía.
:n,mw fich Escribe en fich las desde la línea n a la m.
:n,mw>>fich Añade a fich las desde la línea n a la m.
:q Salir de vi.
:q! Salir de vi sin preguntar.
:e! Volver a editar el fichero desde que se guardó la última vez deshaciendo cambios.

Principio

Comandos Shell:

:! comando Ejecuta un comando UNIX. Aquí % es el nombre del fichero actual, y # es el nombre del último fichero editado.
:!! Repite el último comando.
:r! comando Ejecuta y lee la salida de último comando.
:f fichero renombra el fichero.
:w!comando Manda el fichero actual como salida estándar y ejecuta el comando.
:cd dir Cambia el directorio.
:sh Lanza un sub-shell, para volver CTRL-d
:so fichero Lee y ejecuta el script fichero.
!cursor_pos cmd Ejecuta el comando cmd dándole como parámetros la línea que indica cursor _pos. ejemplo !}sort, va al principio de párrafo ejecuta sort y sustituye el párrafo por el texto ordenado.

Principio

Macros:

:map tecla seq_cmd Cada vez que se pulse tecla se ejecutará la secuencia de comandos seq_cmd . Sin parámetros muestra las teclas definidas.
:unmap tecla Borra la definición para tecla.
:ab cad cadena Cada vez que se introduce cad se sustituye por cadena. Sin parámetros muestra todas las definiciones.
:una cad Elimina la definición cad.
(* Cada vez que se hace una definición es válida para esa sesión, igual pasa cuando se cambia una opción de vi con :set, para que por defecto este presente utilizar el fichero de configuración .exrc *)
(* Para meter ESC en la definición poner CTRL-v ESC *)

Principio

Comandos de información o de estado:

:.= Imprime la línea actual.
:= Imprime el número de líneas en el fichero.
CTRL-p Muestra el nombre del fichero, número de línea actual, total de línea en el fichero, y porcentaje de la situación dentro del fichero.
:I Muestra los códigos especiales en la línea actual (tab ^l, \, del ^H, nueva línea $, pitido $, fin de línea ^L).

Principio

Otras notas:

Principio

© Web diseñado por Jesús Javier Olea Ros 
martes 25 de mayo de 1999

  1