Editar archivos de texto en Linux con Vim y Nano

CompTIABeginner
Practicar Ahora

Introducción

En esta práctica de 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, introducir texto mediante el Modo de Inserción, guardar tu trabajo con comandos como :w y :wq, navegar utilizando las teclas de movimiento, buscar texto y realizar operaciones básicas de edición como eliminar palabras.

En la segunda parte de la práctica, explorarás nano, un editor más amigable para el usuario que resulta perfecto para principiantes. Descubrirás su interfaz intuitiva, aprenderás operaciones básicas de edición y comprenderás cuándo elegir nano sobre vim para diferentes tareas.

Al finalizar esta práctica, te sentirás cómodo utilizando ambos editores y entenderás qué herramienta se adapta mejor a los diferentes escenarios de tu flujo de trabajo en Linux.

Esta es una Práctica Guiada, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que esta es una práctica de nivel avanzado con una tasa de finalización del 49%. Ha recibido una tasa de valoraciones positivas del 98% por parte de los alumnos.

Crear un archivo e introducir texto en el Modo de Inserción

En este paso, aprenderás a utilizar el editor vi para crear un nuevo archivo de texto e introducir contenido. vi (y su versión moderna, vim) es un editor de texto potente y omnipresente en los 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, asegúrate de estar en el directorio de trabajo correcto. Todo el trabajo de esta práctica se realizará en el directorio ~/project.

  1. Abre una terminal. El indicador 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. Al ejecutar este comando, vi se iniciará y ocupará toda la ventana de tu terminal.

    vi test.txt

    Tu terminal se limpiará y verás una pantalla con virgulillas (~) 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 te encuentras en el Modo Normal.

  3. Para empezar 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. Introduce la siguiente frase:

    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 cómo 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 mediante comandos en el Modo Normal. Dado que actualmente te encuentras en el Modo de Inserción del paso anterior, primero debes regresar al Modo Normal.

  1. Para cambiar del Modo de Inserción de vuelta 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, se utiliza 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 fue guardado, 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 el guardado del archivo y la salida 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 símbolo del sistema (prompt) en tu terminal. Tu terminal debería mostrar ahora el indicador de comandos habitual, y el archivo test.txt estará 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 el símbolo del sistema en el directorio ~/project, introduce el siguiente comando:

    vi test.txt

    El editor se abrirá mostrando el contenido del archivo. El cursor probablemente estará 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 la '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 a lo largo de la frase. 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").

    n

    Presiona n varias veces para recorrer todas las letras 'a' del archivo.

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

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

En este paso, aprenderás cómo eliminar texto y cómo salir de vi sin guardar los cambios. Esta es una habilidad crucial para cuando cometes un error y quieres volver a la última versión guardada del archivo. Deberías tener todavía abierto vi 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 sobre la primera letra de la palabra time.

  2. Con el cursor sobre 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 frase ahora se ve incorrecta, lo cual es perfecto para nuestra siguiente acción.

  3. Acabas de modificar el archivo en el búfer del editor. Imaginemos 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 de "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 cerrará inmediatamente el editor vi y te devolverá al símbolo del sistema. Debido a que usaste :q!, la eliminación de la palabra time no se guardó en el archivo test.txt. Si volvieras a abrir el archivo, la palabra time seguiría allí.

Iniciar el vimtutor interactivo para seguir practicando

En este paso, descubrirás vimtutor, un tutorial interactivo diseñado para enseñarte habilidades de vi/vim de forma práctica. Esta práctica de laboratorio ha cubierto los conceptos básicos absolutos, pero vimtutor ofrece un curso completo y a tu propio ritmo que es muy recomendable para todos los usuarios nuevos.

  1. Deberías estar en el símbolo del sistema 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 sobre 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 hayas terminado con el tutorial (o quieras salir en cualquier momento), puedes cerrar la sesión igual que lo harías con cualquier sesión de vi. Como no necesitas guardar ningún cambio en el archivo del tutorial, la mejor forma 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 esta sesión. Al completar estos pasos, has aprendido las habilidades fundamentales para crear, editar, guardar y navegar por archivos con el editor vi.

Introducción al editor nano

En este paso, aprenderás a utilizar nano, un editor de texto amigable para el usuario 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, vamos a crear un nuevo archivo usando nano. Desde el símbolo del sistema en el directorio ~/project, introduce el siguiente comando:

    nano welcome.txt

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

  2. A diferencia de vi, puedes empezar 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. Utiliza la función de guardado en nano. Verás un aviso preguntando por el nombre del archivo. El nombre actual welcome.txt ya aparece. 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 guardadas.

  4. Para salir de nano, utiliza la función de salida. Como ya has guardado el archivo, nano se cerrará inmediatamente y te devolverá al símbolo del sistema.

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 comprenderás cuándo utilizar cada editor. Vamos a crear un archivo de comparación utilizando ambos editores para demostrar sus diferencias.

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

    nano editor_comparison.txt
  2. Introduce 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 añadir 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 y entrar en el Modo de Inserción. Añade 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 volver al Modo Normal, luego guarda y sal con :wq.

  7. Veamos el archivo de comparación completado:

    cat editor_comparison.txt

    Esto mostrará la comparación completa con el contenido añadido por ambos editores.

Cuándo usar cada editor:

  • Usa nano cuando:

    • Seas nuevo en la edición de texto en Linux.
    • Realices ediciones rápidas y sencillas.
    • Trabajes en archivos de configuración ocasionalmente.
    • Prefieras una interfaz directa e intuitiva.
  • Usa vi/vim cuando:

    • Realices programación extensa o manipulación de texto compleja.
    • Trabajes en servidores remotos (vi siempre está disponible).
    • Necesites funciones avanzadas como macros, complementos o búsqueda/reemplazo complejo.
    • La eficiencia y la velocidad sean importantes una vez que hayas aprendido los comandos.

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

Resumen

En esta práctica de laboratorio, aprendiste a utilizar dos editores de texto fundamentales 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 introducción de texto, el guardado con :w y :wq, la navegación con las teclas de movimiento (h, j, k, l), la búsqueda con /, la edición con comandos como dw y la salida sin guardar mediante :q!. También descubriste el vimtutor interactivo para continuar con tu aprendizaje.

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 los archivos.

Conclusiones clave:

  • nano es perfecto para principiantes y ediciones rápidas gracias a 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 por su sencillez y vim por su potencia y disponibilidad.
  • Comprender cuándo usar cada editor te hará más eficaz en diferentes escenarios de Linux.

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