1. LINUX Básico
TAKASHI SUGASAWA
LINUX Básico (4. Editor vi) 1
2. Programa del curso
1. Introducción a LINUX
2. Operación básica de LINUX
3. Operación de archivos y directorios
4. Editor vi
5. Comprensión del sistema de ficheros
6. Shells(1)
7. Shells(2)
8. Shells(3)
9. Otros comandos
LINUX Básico (4. Editor vi) 2
3. LINUX Básico
4. Editor vi
Índice
4.1 Introducción a vi
4.2 Operación básica
LINUX Básico (4. Editor vi) 3
4. 4.1 Introducción a vi
(1) ¿Qué es vi?
• “vi” es un editor de texto.
Para crear o modificar los archivos de texto.
datos, notas, informes, programas, etc.
• “vi” es el editor de texto estándar de UNIX
(LINUX).
• Todos los sistemas UNIX (LINUX) tienen una
copia de “vi”.
En verdad que “vi” acompañado con RedHat LINUX es
“vim”, un clon de “vi” mejorado.
• “vi” funciona en el terminal de caracteres.
Podemos utilizar “vi” en el terminal de “telnet”.
LINUX Básico (4. Editor vi) 4
5. 4.1 (2) ¿Por qué tenemos que aprender vi?
• “vi” no es amable.
– “vi” es orientado a comandos y no tiene menús.
– “vi” sólo utiliza teclado, no podemos usar mouse.
– LINUX tiene otros editores mucho más manejables.
Pero,
• “vi” es muy seguro.
– “vi” es tan común en el mundo UNIX/LINUX.
– “vi” es el único editor que es seguro que vas a
encontrar en cualquier sistema UNIX/LINUX.
– “vi” funciona en cualquier terminal.
– En ocasiones, en el momento crucial, “vi” puede
ser el único editor disponible.
→ Es importante saber la operación mínima de
“vi”
LINUX Básico (4. Editor vi) 5
6. 4.2 Operación básica
(1) Modos de “vi”
“vi <nombre de archivo>”
“i”, “a”, etc.
Arrancar Modo de Modo de
Salir comandos entrada
“ZZ”, “:q!” “ESC”
Por los comandos
Cada tecla tiene un Puede insertar texto en
que empiezan con
significado, y se puede el documento en la
el letra “:”, es
desplazar el cursor, posición actual del
siempre necesario.
copiar, pegar, mover, cursor
borrar, etc.
“vi” tiene estos 2 modos. Tenemos que cambiar el modo frecuentemente.
Este punto es diferente de otros editores de ahora, y un poco difícil al
principio.
LINUX Básico (4. Editor vi) 6
7. El archivo es existente
4.2 (2) Arranque de “vi” → Modificar el archivo.
El archivo es inexistente
(22) vi Un editor de texto → Crear un archivo nuevo.
(ej.) vi <nombre_del_archivo>
[usr001@linuxpc usr001]$ vi archivo1
inexistente
~
~ cursor
~
~
~
~
~
~
Indica la ~ vacío
línea de ~
~
buffer ~
vacío ~
~
~
~
~
"archivo1" [New File]
LINUX Básico (4. Editor vi) 7
8. 4.2 (3) Entrada del texto
[1] Cambiar el modo al de entrada (teclear “i”)
[2] Entrar el texto.
Entrada del texto
Para introducir el texto, tenemos que cambiar el modo.
Primero tecleamos "i", y después entramos el texto así.
~
~
~
~
~
~
~ Al teclear “i”,
~
~ el modo ha
~ cambiado supr
~
~
-- INSERT --
En “vi” de RedHat LINUX (vim), podemos usar las teclas de dirección,
retroceso y supresión, a cualquier hora como otros editores.
En “vi” original, es diferente. Sola tecla de retroceso es disponible. No
podemos desplazar el cursor libremente en este modo.
LINUX Básico (4. Editor vi) 8
9. es mejor que acostumbremos
4.2 (4) Salida de “vi” a teclear “ESC” antes de
Teclear “ESC” entrar un comando.
En el modo de comandos, ejecutamos un comando siguiente.
Salir
ZZ (o :wq) Guardar cambios y salir de “vi”.
:q! salir de “vi” sin guardar los cambios.
Comandos son sensibles a mayúsculas y minúsculas.
“vi <nombre de archivo>”
“i”, “a”, etc.
Arrancar Modo de Modo de
Salir comandos entrada
“ZZ”, “:q!” “ESC”
LINUX Básico (4. Editor vi) 9
10. 4.2 (5) Acceso al modo de entrada
Acceso al modo de entrada
i Insertar antes del cursor.
a Insertar después del cursor.
o Insertar una nueva línea debajo de la actual.
O Insertar una nueva línea encima de la actual.
r Reemplazar un solo carácter.
‘i’: Insertar aquí
‘a’: Insertar aquí
‘O’: Insertar aquí
123
abcdefgh
‘o’: Insertar aquí
123 el cursor
LINUX Básico (4. Editor vi) 10
11. 123 123
abcde456fgh abcdef456gh
123 123
‘i456’ ‘a456’
123
abcdefgh Ahora está en el
123 modo de comandos.
el cursor
‘o456’ ‘O456’
123 123
abcdefgh 456
456 abcdefgh
123 123
LINUX Básico (4. Editor vi) 11
12. Ahora está en el
modo de comandos.
123
abcdefgh ‘rF’ 123
abcdeFgh
123 123
el cursor
LINUX Básico (4. Editor vi) 12
13. 4.2 (6) Movimientos del cursor
Movimientos del cursor
/ h/ un carácter hacia la izquierda.
/ l / un carácter hacia la derecha.
/ k un carácter hacia arriba.
/ j un carácter hacia abajo.
$ al fin de la línea.
0 al principio de la línea.
1G a la primer línea de la archivo.
G / 0G a la último línea de la archivo.
12G a la línea numero 12.
LINUX Básico (4. Editor vi) 13
14. 4.2 (7) Borrar
Borrar
x Borrar el carácter bajo el cursor.
5x Borrar 5 caracteres desde el carácter bajo el cursor.
dd Borrar la línea bajo el cursor.
3dd Borrar 3 líneas bajo el cursor.
Supresión de un carácter acdefgh
‘x’
abcdefgh
el cursor ‘5x’
agh
Supresión de múltiples caracteres
LINUX Básico (4. Editor vi) 14
15. 123
Supresión de una línea 456
‘dd’ ABCDEFGH
789
123
abcdefgh
456
ABCDEFGH el cursor
789 ‘3dd’ 123
789
Supresión de múltiples líneas
LINUX Básico (4. Editor vi) 15
16. 4.2 (8) Cortar y pegar
Pegar
P Pegar antes del cursor.
p Pegar después del cursor.
Traslado de caracteres
123
abcdefgh
456 el cursor 123
ah
‘6x’ 4bcdefg56
‘P’
123
ah
456
movimiento ‘p’
del cursor 123
ah
45bcdefg6
LINUX Básico (4. Editor vi) 16
17. Traslado de una línea.
123
abcdefgh
456
ABCDEFGH el cursor 123
789 456
abcdefgh
‘dd’ ABCDEFGH
123
‘P’ 789
456
movimiento 123
ABCDEFGH
del cursor
789 ‘p’ 456
ABCDEFGH
abcdefgh
789
LINUX Básico (4. Editor vi) 17
18. Traslado de múltiples líneas.
123
abcdefgh
456
ABCDEFGH el cursor
123
789 ABCDEFGH
abcdefgh
‘2dd’ 456
123
‘P’ 789
ABCDEFGH
movimiento 123
789
del cursor ‘p’ ABCDEFGH
789
abcdefgh
456
LINUX Básico (4. Editor vi) 18
19. 4.2 (9) Copiar y pegar
Copiar
yl Copiar el carácter bajo el cursor.
6yl Copiar 6 caracteres desde el carácter bajo el cursor.
yy Copiar la línea bajo el cursor.
4yy Borrar 4 líneas bajo el cursor.
Copia de caracteres
123
abcdefgh
456 el cursor 123
abcdefgh
‘6yl’ 4bcdefg56
‘P’
123
abcdefgh ‘p’ 123
456
movimiento abcdefgh
del cursor 45bcdefg6
LINUX Básico (4. Editor vi) 19
20. Copia de una línea.
123
abcdefgh
456 123
ABCDEFGH el cursor
abcdefgh
789 abcdefgh
456
‘yy’ ABCDEFGH
123
‘P’ 789
abcdefgh
456 movimiento
ABCDEFGH del cursor ‘p’ 123
abcdefgh
789 456
abcdefgh
ABCDEFGH
789
LINUX Básico (4. Editor vi) 20
22. 4.2 (10) Búsqueda
Búsqueda
/str buscar la palabra ‘str’ posterior al cursor.
?str buscar la palabra ‘str’ anterior al cursor.
n repetir la última búsqueda.
N repetir la última búsqueda en dirección contraria.
Búsqueda de una palabra “abc”.
a ab abc ‘n’ a ab abc
abcd abcde abcd abcde
el cursor ‘/abc ’ ‘N’
a ab abc a ab abc
abcd abcde abcd abcde
‘n’ ‘N’
a ab abc a ab abc
abcd abcde abcd abcde
LINUX Básico (4. Editor vi) 22
23. 4.2 (11) Entrada y Salida
Entrada y salida
:w Guardar los cambios.
:w arch Guardar los cambios en el archivo ‘arch’.
:r arch Insertar un archivo ‘arch’.
:r! com Insertar la salida del comando ‘com’.
Inserción del archivo.
123 ‘:r arch123’ 123
abcdefgh abcdefgh
456 1
el cursor 22
333
456
archivo “arch123”
1
22
333
LINUX Básico (4. Editor vi) 23
24. Inserción del salida del comando.
123 ‘:r! date’ 123
abcdefgh abcdefgh
456 sáb ago 14 15:03:53 ECT 2004
el cursor 456
LINUX Básico (4. Editor vi) 24
25. 4.2 (12) Otros comandos
Otros En “vim”, podemos
deshacer múltiples
J Unir la línea actual y la siguiente.
veces.
u Deshacer última acción.
U Deshacer todos los cambios en una línea desde que se posicionó el cursor
en ella.
. Repetir el último comando.
:shell Salir al shell (vuelve con exit).
:.= Mostrar el número de línea en que se halla en cursor.
123
‘J’ 123
abcdefgh 456
abcdefgh
456
el cursor
LINUX Básico (4. Editor vi) 25
26. 4.2 (13) Repetición de los comandos
Si tecleamos un numero antes del comando, se ejecute el
comando múltiple vez de su selección.
‘5iabc”ESC”’ abcabcabcabcabc
el cursor
LINUX Básico (4. Editor vi) 26
27. Comandos de “vi”
Salir
ZZ (o :wq) Guardar cambios y salir de “vi”.
:q! salir de “vi” sin guardar los cambios.
:q Salir si no hubo cambios.
Acceso al modo de entrada
i Insertar antes del cursor.
I Insertar al principio de la línea.
a Insertar después del cursor.
A Insertar al fin de la línea.
o Insertar una nueva línea debajo de la actual.
O Insertar una nueva línea encima de la actual.
r Reemplazar un solo carácter.
R Sobrescribir el texto.
cc Reemplazar la línea.
cw Reemplazar la palabra.
C o c$ Reemplazar hasta el fin de la línea.
c0 Reemplazar desde el principio (4. Editor vi)
LINUX Básico de la línea. 27
28. Movimientos del cursor
/ h/ un carácter hacia la izquierda.
/ j / un carácter hacia la derecha.
/ k un carácter hacia arriba.
/ l un carácter hacia abajo.
$ al fin de la línea.
0 al principio de la línea.
^ al primer carácter no blanco de la línea.
[Enter] al principio de la siguiente línea.
w al principio de la siguiente palabra o signo de puntuación.
W al principio de la siguiente palabra ignorando signos de puntuación.
b al principio de la palabra o signo de puntuación previo al cursor.
B al principio de la palabra previa ignorando signos de puntuación.
e al fin de la siguiente palabra o signo de puntuación.
E al fin de la siguiente palabra ignorando signos de puntuación.
1G a la primer línea de la archivo.
G / 0G a la último línea de la archivo.
12G a la línea numero 12.ásico (4. Editor vi)
LINUX B 28
29. H a la primera línea de la pantalla.
M a la mitad de la pantalla.
L a la línea final de la pantalla.
^f Una pantalla adelante.
^b una pantalla atrás.
^d Media pantalla adelante.
^u Media pantalla atrás.
% al paréntesis que aparea.
Borrar
x Borrar el carácter bajo el cursor.
dd Borrar la línea bajo el cursor.
dw Borrar desde el cursor al fin de la palabra.
db borrar desde el cursor al principio de la palabra.
d$ / D Borrar desde el cursor al fin de la línea.
d0 Borrar desde el cursor al principio de la línea.
dG Borrar desde la línea bajo el cursor hasta el fin del archivo.
LINUX Básico (4. Editor vi) 29
30. Pegar
P Pegar antes del cursor.
p Pegar después del cursor.
Copiar
yl copiar el carácter bajo el cursor.
yy Copiar la línea bajo el cursor.
yw Copiar desde el cursor al fin de la palabra.
yb Copiar desde el cursor al principio de la palabra.
y$ Copiar desde el cursor al fin de la línea.
y0 Copiar desde el cursor al principio de la línea.
yG Copiar desde la línea bajo el cursor al fin del archivo.
Búsqueda
/str buscar la palabra ‘str’ posterior al cursor.
?str buscar la palabra ‘str’ anterior al cursor.
n repetir la última búsqueda.
N repetir la última búsqueda en dirección contraria.
LINUX Básico (4. Editor vi) 30
31. fc Buscar el siguiente carácter 'c' en la línea.
Fc Buscar el anterior carácter 'c' en la línea.
; repite el último comando f, F
, repite el último comando f, F en dirección contraria.
Entrada y salida
:w Guardar los cambios.
:w arch Guardar los cambios en el archivo ‘arch’.
:r arch Insertar un archivo ‘arch’.
:r! com Insertar la salida del comando ‘com’.
Otros
J Unir la línea actual y la siguiente.
u Deshacer última acción.
U Deshacer todos los cambios en una línea desde que se posicionó el cursor
en ella.
. Repetir el último comando.
:shell Salir al shell (vuelve con exit).
:.= Muestra el número de línea en que se halla en cursor.
LINUX Básico (4. Editor vi) 31
32. ¡ Muchas gracias por su atención !
¡ Hasta pronto !
En la próxima hora, vamos a aprender “5. Comprensión
del sistema de ficheros”.
LINUX Básico (4. Editor vi) 32