Editar archivos de texto en Linux con Vim y Nano

CompTIABeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás las habilidades fundamentales necesarias para utilizar dos editores de texto esenciales en Linux: vi/vim y nano. Estos son los editores de texto más utilizados en entornos Linux, cada uno con sus propias fortalezas y casos de uso.

Comenzarás con el editor de texto vi, una herramienta potente y omnipresente en sistemas tipo Unix. Aprenderás a crear archivos, ingresar texto usando el Modo de inserción (Insert Mode), guardar tu trabajo con comandos como :w y :wq, navegar usando teclas de movimiento, buscar texto y realizar operaciones básicas de edición como eliminar palabras.

En la segunda parte del laboratorio, explorarás nano, un editor más fácil de usar que es perfecto para principiantes. Descubrirás su interfaz intuitiva, aprenderás operaciones básicas de edición y entenderás cuándo elegir nano en lugar de vim para diferentes tareas.

Al finalizar este laboratorio, te sentirás cómodo usando ambos editores y entenderás qué herramienta es la más adecuada para diferentes escenarios en tu flujo de trabajo en Linux.

Crear un archivo e ingresar texto en el Modo de inserción

En este paso, aprenderás a usar el editor vi para crear un nuevo archivo de texto e ingresar texto. vi (y su versión moderna, vim) es un editor de texto potente y omnipresente en sistemas operativos tipo Unix. Funciona en diferentes modos, siendo los dos más básicos el Modo normal (para comandos) y el Modo de inserción (para escribir texto).

Primero, asegurémonos de que estás en el directorio de trabajo correcto. Todo el trabajo de este laboratorio se realizará en el directorio ~/project.

  1. Abre una terminal. El indicador (prompt) debería mostrar que estás en el directorio project. Puedes verificar la ruta completa con el comando pwd (print working directory).

    pwd
    

    Deberías ver la siguiente salida, confirmando tu ubicación:

    /home/labex/project
    

    Terminal mostrando el directorio actual

  2. Ahora, inicia el editor vi y crea un nuevo archivo llamado test.txt. Cuando ejecutes este comando, vi se iniciará y tomará el control de tu ventana de terminal.

    vi test.txt
    

    Tu terminal se limpiará y verás una pantalla con tildes (~) en el lado izquierdo. Estas indican líneas vacías. En la parte inferior de la pantalla, verás el nombre del archivo "test.txt" [New File]. Actualmente estás en el Modo normal.

  3. Para comenzar a escribir texto, necesitas cambiar al Modo de inserción. Presiona la tecla i en tu teclado.

    i
    

    Observa que en la parte inferior de la pantalla aparece -- INSERT --. Esto confirma que estás en el Modo de inserción y ahora puedes escribir texto directamente en el archivo.

  4. Ingresa la siguiente oración:

    Now is the time for all good men to come to the aid of their country.

    Editor vi mostrando texto insertado en modo de inserción

    En este punto, el texto que has escrito existe en el búfer de memoria del editor pero aún no se ha guardado en el disco. En el siguiente paso, aprenderás a guardar tu trabajo y salir del editor.

Guardar y cerrar el archivo usando :w y :wq

En este paso, aprenderás a guardar tus cambios y salir del editor vi. Estas acciones se realizan usando comandos en el Modo normal. Como actualmente estás en el Modo de inserción del paso anterior, primero debes regresar al Modo normal.

  1. Para cambiar del Modo de inserción al Modo normal, presiona la tecla Esc.

    Esc
    

    Notarás que el indicador -- INSERT -- en la parte inferior de la pantalla desaparece. Esto significa que ahora estás en el Modo normal, donde las pulsaciones de teclas se interpretan como comandos en lugar de entrada de texto.

  2. Ahora, guardemos el archivo. En el Modo normal, los comandos que van precedidos por dos puntos (:) se muestran en una línea de comandos en la parte inferior de la pantalla. Para escribir (guardar) el archivo, utilizas el comando :w.

    Escribe la siguiente secuencia y presiona Enter:

    :w
    

    Después de presionar Enter, vi escribirá el contenido del búfer en el archivo test.txt. Verás un mensaje de confirmación en la parte inferior, similar a este:

    "test.txt" [New] 1L, 79C written
    

    Este mensaje confirma que el archivo test.txt se guardó, conteniendo 1 línea y 79 caracteres.

  3. Finalmente, para salir de vi, puedes usar el comando :q para "quit" (salir). Un comando más común es :wq, que combina escribir el archivo y salir en una sola acción. Como ya estás en el Modo normal, escribe lo siguiente y presiona Enter:

    :wq
    

    Este comando guarda cualquier cambio final y luego cierra el editor vi, devolviéndote al indicador de shell en tu terminal. Tu terminal ahora debería mostrar el indicador de comandos habitual, y el archivo test.txt está guardado en tu directorio ~/project.

En este paso, practicarás algunos de los potentes comandos de navegación y búsqueda de vi. Estos comandos te permiten mover el cursor y encontrar texto de manera eficiente sin usar el ratón. Todas estas operaciones se realizan en el Modo normal.

  1. Primero, necesitas abrir el archivo test.txt nuevamente. Desde tu indicador de shell en el directorio ~/project, ingresa el siguiente comando:

    vi test.txt
    

    El editor se abrirá con el contenido del archivo mostrado. Es probable que el cursor esté al principio de la primera línea.

  2. Para asegurarte de que el cursor esté al principio del archivo, puedes usar el comando gg. Mientras estés en el Modo normal (presiona Esc si no estás seguro), escribe gg.

    gg
    

    El cursor saltará inmediatamente al primer carácter de la primera línea, que es 'N' en nuestro archivo.

  3. La forma principal de mover el cursor en vi es con las teclas h, j, k y l. Esta es una habilidad fundamental para cualquier usuario de vi.

    • h mueve el cursor un carácter a la izquierda.
    • l mueve el cursor un carácter a la derecha.
    • j mueve el cursor una línea hacia abajo.
    • k mueve el cursor una línea hacia arriba.

    Intenta presionar estas teclas para mover el cursor por la oración. Este método de navegación funciona en cualquier entorno de terminal.

  4. Ahora, busquemos texto. El comando / se utiliza para buscar hacia adelante en el archivo. Para buscar todas las apariciones de la letra 'a', sigue estos pasos: a. Asegúrate de estar en el Modo normal (presiona Esc). b. Escribe / seguido del carácter que deseas buscar, en este caso, a. Luego presiona Enter.

    /a
    

    El cursor saltará a la primera 'a' que encuentre después de la posición actual del cursor.

    c. Para encontrar la siguiente instancia del mismo término de búsqueda, simplemente presiona la tecla n (de "next" o siguiente).

    n
    

    Presiona n varias veces para recorrer todas las 'a's en el archivo.

Ahora has practicado la navegación y búsqueda básica. En el siguiente paso, aprenderás a eliminar texto.

Eliminar una palabra con dw y salir sin guardar con :q!

En este paso, aprenderás a eliminar texto y a salir de vi sin guardar tus cambios. Esta es una habilidad crucial para cuando cometes un error y deseas volver a la última versión guardada del archivo. Deberías tener vi abierto con el archivo test.txt del paso anterior.

  1. Primero, movamos el cursor a la palabra que queremos eliminar. Asegúrate de estar en el Modo normal (presiona Esc si no estás seguro). Usa las teclas h y l para mover el cursor hasta que esté posicionado en la primera letra de la palabra time.

  2. Con el cursor en la t de time, escribe el comando dw. Este comando significa "delete word" (eliminar palabra).

    dw
    

    Verás que la palabra time y el espacio que la sigue desaparecen de la pantalla. La oración ahora se ve incorrecta, lo cual es perfecto para nuestra siguiente acción.

  3. Ahora has modificado el archivo en el búfer del editor. Supongamos que esta eliminación fue un error. En lugar de guardar esta versión incorrecta, saldrás y descartarás el cambio. El comando para hacer esto es :q!. La q es para "quit" (salir) y el ! fuerza la acción, ignorando cualquier cambio no guardado.

    a. Asegúrate de estar en el Modo normal (presiona Esc). b. Escribe el siguiente comando y presiona Enter:

    :q!
    

    Este comando saldrá inmediatamente del editor vi y te devolverá al indicador de shell. Debido a que usaste :q!, la eliminación de la palabra time no se guardó en el archivo test.txt. Si abrieras el archivo nuevamente, la palabra time seguiría allí.

Iniciar el tutorial interactivo vimtutor para practicar más

En este paso, descubrirás vimtutor, un tutorial interactivo diseñado para enseñarte habilidades de vi/vim de una manera práctica. Este laboratorio ha cubierto los conceptos básicos absolutos, pero vimtutor proporciona un curso integral y a tu propio ritmo que es altamente recomendado para todos los usuarios nuevos.

  1. Deberías estar en el indicador de shell en el directorio ~/project. Para iniciar el tutorial, simplemente escribe el comando vimtutor y presiona Enter.

    vimtutor
    
  2. Este comando abre vi con un archivo de tutorial especial. El archivo en sí contiene todas las instrucciones. Leerás el texto y luego practicarás los comandos descritos directamente en el archivo del tutorial. Es una forma segura y efectiva de aprender porque estás practicando en una copia temporal del archivo.

    El tutorial está dividido en lecciones y se estima que toma entre 25 y 30 minutos completarlo. Puedes avanzar a tu propio ritmo.

  3. Cuando termines con el tutorial (o quieras salir en cualquier momento), puedes salir tal como lo harías de cualquier sesión de vi. Como no necesitas guardar ningún cambio en el archivo del tutorial, la mejor manera de salir es usando el comando :q!.

    a. Presiona Esc para asegurarte de estar en el Modo normal. b. Escribe :q! y presiona Enter.

    :q!
    

Esto concluye la parte práctica de este laboratorio. Al completar estos pasos, has aprendido las habilidades fundamentales para crear, editar, guardar y navegar archivos con el editor vi.

Introducción al editor nano

En este paso, aprenderás a usar nano, un editor de texto fácil de usar que es perfecto para principiantes y ediciones rápidas. A diferencia de vi, nano muestra atajos útiles en la parte inferior de la pantalla y no tiene diferentes modos, lo que lo hace más intuitivo para los nuevos usuarios.

  1. Primero, creemos un nuevo archivo usando nano. Desde tu indicador de shell en el directorio ~/project, ingresa el siguiente comando:

    nano welcome.txt
    

    El editor nano se abrirá con un archivo en blanco. Observa el menú útil en la parte inferior que muestra las funciones disponibles.

  2. A diferencia de vi, puedes comenzar a escribir inmediatamente en nano sin cambiar de modo. Copia y pega el siguiente texto:

    Interfaz del editor nano mostrando atajos en la parte inferior

    Welcome to Linux Text Editing!
    
    This file was created using the nano editor.
    Nano is beginner-friendly and intuitive.
    
    Key advantages of nano:
    - No modes to switch between
    - Shortcuts displayed at bottom
    - Easy to learn and use
    - Perfect for quick edits
    
  3. Ahora guardemos el archivo. En nano, "Guardar" se llama Write Out. Presiona Ctrl+O para iniciar Write Out. Verás un mensaje pidiendo el nombre del archivo. El nombre actual welcome.txt ya se muestra, así que presiona Enter para confirmar y guardar el archivo.

    Verás un mensaje en la parte inferior indicando que el archivo se escribió correctamente, mostrando el número de líneas escritas.

  4. Para salir de nano, presiona Ctrl+X. Como ya has guardado el archivo, nano saldrá inmediatamente y te devolverá al indicador de shell. Si presionas Ctrl+X antes de guardar, nano preguntará si deseas guardar los cambios; presiona Y y luego Enter para guardar y salir.

Comparación entre nano y vi/vim: Cuándo usar cada editor

En este paso final, aprenderás sobre las diferencias clave entre nano y vi/vim, y entenderás cuándo usar cada editor. Creemos un archivo de comparación usando ambos editores para demostrar sus diferencias.

  1. Primero, usemos nano para crear un archivo de comparación:

    nano editor_comparison.txt
    
  2. Ingresa el siguiente contenido en nano:

    TEXT EDITOR COMPARISON: nano vs vi/vim
    
    NANO EDITOR:
    Pros:
    - Beginner-friendly interface
    - No modes to learn
    - Shortcuts displayed on screen
    - Immediate text input
    - Good for quick edits and simple tasks
    
    Cons:
    - Limited advanced features
    - Less efficient for complex editing
    - Not available on all systems
    
  3. Guarda el archivo y sal de nano.

  4. Ahora, abramos el mismo archivo con vi para agregar más contenido:

    vi editor_comparison.txt
    
  5. Navega hasta el final del archivo usando G (G mayúscula), luego presiona o para abrir una nueva línea e ingresar al Modo de inserción. Agrega el siguiente contenido:

    VI/VIM EDITOR:
    Pros:
    - Extremely powerful and feature-rich
    - Available on virtually all Unix/Linux systems
    - Highly efficient once mastered
    - Excellent for programming and complex editing
    - Extensive customization options
    
    Cons:
    - Steep learning curve
    - Modal interface can be confusing for beginners
    - Requires memorizing many commands
    
  6. Presiona Esc para regresar al Modo normal, luego guarda y sal con :wq.

  7. Veamos el archivo de comparación completo:

    cat editor_comparison.txt
    

    Esto mostrará la comparación completa que muestra el contenido agregado por ambos editores.

Cuándo usar cada editor:

  • Usa nano cuando:

    • Eres nuevo en la edición de texto en Linux
    • Realizas ediciones rápidas y sencillas
    • Trabajas ocasionalmente en archivos de configuración
    • Prefieres una interfaz directa e intuitiva
  • Usa vi/vim cuando:

    • Realizas programación extensa o manipulación de texto
    • Trabajas en servidores remotos (vi siempre está disponible)
    • Necesitas funciones avanzadas como macros, complementos o búsqueda/reemplazo complejos
    • La eficiencia y la velocidad son importantes una vez que has aprendido los comandos

Ambos editores son herramientas valiosas en el kit de herramientas de un usuario de Linux, y conocer ambos te brinda flexibilidad en diferentes situaciones.

Resumen

En este laboratorio, aprendiste a usar dos editores de texto esenciales en Linux: vi/vim y nano.

Con vi/vim, dominaste los conceptos fundamentales de la edición modal, aprendiendo a cambiar entre el Modo normal y el Modo de inserción. Practicaste la creación de archivos, la entrada de texto, el guardado con :w y :wq, la navegación con teclas de movimiento (h, j, k, l), la búsqueda con /, la edición con comandos como dw y salir sin guardar usando :q!. También descubriste el vimtutor interactivo para el aprendizaje continuo.

Con nano, experimentaste un enfoque más amigable para principiantes en la edición de texto. Aprendiste a crear y editar archivos sin preocuparte por los modos, utilizaste la interfaz intuitiva con atajos mostrados en la parte inferior de la pantalla y practicaste operaciones básicas como guardar y salir de archivos.

Puntos clave:

  • nano es perfecto para principiantes y ediciones rápidas con su interfaz intuitiva y atajos visibles
  • vi/vim es más potente y eficiente para tareas de edición complejas, pero requiere una mayor inversión de aprendizaje
  • Ambos editores son herramientas valiosas: nano para la simplicidad y vim para la potencia y disponibilidad
  • Entender cuándo usar cada editor te hará más efectivo en diferentes escenarios de Linux

Ahora tienes la base para elegir el editor de texto adecuado para tus necesidades específicas y puedes continuar desarrollando tus habilidades con ambas herramientas.