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) o a (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

Si el archivo no existe, vi lo creará.


  • h → Mueve el cursor a la izquierda

  • l → Mueve el cursor a la derecha

  • j → Mueve el cursor hacia abajo

  • k → Mueve el cursor hacia arriba

✅ Movimiento rápido:

  • w → Mueve al principio de la siguiente palabra

  • b → Mueve al principio de la palabra anterior

  • 0 → Mueve al principio de la línea

  • $ → Mueve al final de la línea

  • G → Salta al final del archivo

  • gg → Salta al principio del archivo

  • :n → Salta a la línea n


Modo Inserción (Insert Mode)

Para entrar en modo inserción, usa uno de estos comandos:

  • i → Inserta antes del cursor

  • I → Inserta al inicio de la línea

  • a → Inserta después del cursor

  • A → Inserta al final de la línea

  • o → Abre una nueva línea debajo

  • O → Abre una nueva línea arriba

Para salir del modo inserción, presiona Esc.


🛑 Eliminar texto

  • x → Borra el carácter bajo el cursor

  • dw → Borra una palabra

  • dd → Borra una línea

  • d$ → Borra desde el cursor hasta el final de la línea

  • dG → Borra desde la línea actual hasta el final del archivo


📝 Copiar, Cortar y Pegar

  • yy → Copia la línea actual

  • y$ → Copia desde el cursor hasta el final de la línea

  • yw → Copia una palabra

  • p → Pega después del cursor

  • P → Pega antes del cursor

  • dd → Corta una línea


🔎 Búsqueda de texto

  • /palabra → Busca "palabra" hacia adelante

  • ?palabra → Busca "palabra" hacia atrás

  • n → Repite la búsqueda en la misma dirección

  • N → 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 → Deshacer

  • Ctrl + r → Rehacer


🎯 Seleccionar texto (Modo Visual)

  • v → Selección de texto carácter por carácter

  • V → Selección de texto línea por línea

  • Ctrl + 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úmero n


🚀 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).

Vim editor cheatsheet Fuente: sysexplore

Aqui está la chuleta en texto de comandos de vi:

Chuleta de vi

Y también por último tienes un juego sobre su funcionamiento: https://vim-adventures.com/

Last updated