103.8 - Edición básica de archivos
Importancia
3
Descripción
El candidato debe ser capaz de editar archivos de texto usando vi. El objetivo incluye la navegación en vi, los modos básicos de vi, así como insertar, editar, borrar, copiar y encontrar texto utilizando vi. También se incluye el conocimiento de otros editores de texto populares y saber establecer el editor predeterminado.
Áreas de conocimiento clave:
Navegar por un documento usando vi.
Entender y usar los modos de vi.
Insertar, editar, borrar, copiar y encontrar texto usando vi.
Conocimientos de Emacs, nano y vim.
Configurar el editor estándar.
Contenidos
Editor vi
vi
es un editor de texto modal, potente y ampliamente utilizado en sistemas Unix y Linux. Su nombre proviene de "visual" y es conocido por ser ligero y estar disponible por defecto en casi todos los sistemas Unix.
Tienes varias modalidades de funcionamiento
Modo Normal: En este modo, las teclas funcionan como comandos para mover el cursor, borrar texto, copiar y pegar, etc. Para entrar solo pulsa "
ESC
"Modo Inserción: Permite insertar texto en el archivo. Se entra en este modo con comandos como
i
(insertar antes del cursor) oa
(insertar después del cursor).Modo Línea de Comando: Permite realizar operaciones de archivo, búsqueda y reemplazo, y otras tareas mediante comandos iniciados con
:
.
Lo primero es empezar por secuencias de teclas ESC + ESC + ESC + :q!
-> Panic mode, cuidado, no usar Ctrl+Z ya que esto significa pausar el proceso, podemos seguir viendo con ps
. Este proceso se puede ver como un fichero abierto como .test.swp
en archivos ocultos
Tenemos tres tipos de trabajo:
Navegación
Inserción
Ejecución
🔥 Abrir vi
vi
Si el archivo no existe, vi
lo creará.
🎯 Navegación básica en el Modo Normal
h
→ Mueve el cursor a la izquierdal
→ Mueve el cursor a la derechaj
→ Mueve el cursor hacia abajok
→ Mueve el cursor hacia arriba
✅ Movimiento rápido:
w
→ Mueve al principio de la siguiente palabrab
→ Mueve al principio de la palabra anterior0
→ Mueve al principio de la línea$
→ Mueve al final de la líneaG
→ Salta al final del archivogg
→ Salta al principio del archivo:n
→ Salta a la línean
✨ Modo Inserción (Insert Mode)
Para entrar en modo inserción, usa uno de estos comandos:
i
→ Inserta antes del cursorI
→ Inserta al inicio de la líneaa
→ Inserta después del cursorA
→ Inserta al final de la líneao
→ Abre una nueva línea debajoO
→ Abre una nueva línea arriba
Para salir del modo inserción, presiona Esc
.
🛑 Eliminar texto
x
→ Borra el carácter bajo el cursordw
→ Borra una palabradd
→ Borra una línead$
→ Borra desde el cursor hasta el final de la líneadG
→ Borra desde la línea actual hasta el final del archivo
📝 Copiar, Cortar y Pegar
yy
→ Copia la línea actualy$
→ Copia desde el cursor hasta el final de la líneayw
→ Copia una palabrap
→ Pega después del cursorP
→ Pega antes del cursordd
→ Corta una línea
🔎 Búsqueda de texto
/palabra
→ Busca "palabra" hacia adelante?palabra
→ Busca "palabra" hacia atrásn
→ Repite la búsqueda en la misma direcciónN
→ Repite la búsqueda en dirección opuesta
💾 Guardar y salir
:w
→ Guarda el archivo:q
→ Salir:wq
→ Guarda y sale:q!
→ Salir sin guardar:x
→ Guarda y sale (similar a:wq
)
🌟 Deshacer y rehacer
u
→ DeshacerCtrl + r
→ Rehacer
🎯 Seleccionar texto (Modo Visual)
v
→ Selección de texto carácter por carácterV
→ Selección de texto línea por líneaCtrl + v
→ Selección por bloque (modo visual rectangular)
🔧 Editar múltiples archivos
Abrir varios archivos:
:n
→ Ir al siguiente archivo:prev
→ Ir al archivo anterior:buffers
→ Listar todos los archivos abiertos:buffer <n>
→ Ir al archivo númeron
🚀 Comandos avanzados
:!comando
→ Ejecuta un comando del sistema, por ejemplo:!ls
:r archivo.txt
→ Inserta el contenido de otro archivo.:g/palabra/d
→ Borra todas las líneas que contienen "palabra".:s/viejo/nuevo/g
→ Reemplaza "viejo" por "nuevo" en la línea actual.:%s/viejo/nuevo/g
→ Reemplaza en todo el archivo.
📚 Recursos adicionales
man vi
→ Manual oficial en la terminal
A continuación tienes una chuleta visual de algunos atajos pero te insto a probar el comando vimtutor
(viene instalado con vim
, sino instálalo de forma normal).
Aqui está la chuleta en texto de comandos de vi:
Last updated