Bienvenidos a esta Guía Rápida de Linux para Hackers Linux para Hackers #14 VIM y Editores de Texto para Linux. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

Índice

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Lista de aprendizajes del artículo sobre editores de texto en Linux

  1. Comprender los editores de texto GUI:
    • Diferencias entre editores GUI (interfaz gráfica) y CLI (línea de comandos).
    • Casos de uso específicos para GUI, como comodidad visual y facilidad de uso.
  2. Explorar editores GUI populares:
    • GNU Emacs: Potencia y personalización extrema.
    • Gedit: Simplicidad para principiantes.
    • Geany: Ligero, con funcionalidades básicas de IDE.
    • Kate: Versatilidad para múltiples documentos y personalización.
  3. Explorar editores CLI populares:
    • Vim: Avanzado, con gran funcionalidad y personalización.
    • Nano: Fácil para principiantes y tareas rápidas.
    • sed: Editor de flujo para tareas automatizadas.
  4. Comparación entre GUI y CLI:
    • Ventajas y desventajas de cada tipo según el nivel de experiencia y propósito.
  5. Funciones específicas:
    • Resaltado de sintaxis, macros, búsqueda y reemplazo, y manejo de grandes archivos en GUI y CLI.
    • Uso de comandos básicos en editores como Vim y sed.
  6. Comandos y personalización en Vim:
    • Modos, navegación, edición, y configuración avanzada.
    • Dividir pantalla y uso de macros.
  7. Buenas prácticas al usar editores en Linux:
    • Elegir el editor adecuado según las necesidades.
    • Conocer atajos y comandos para mayor eficiencia.
    • Guardar configuraciones personalizadas.

Los mejores editores de texto con interfaz gráfica de usuario para Linux 

Los editores de texto con interfaz gráfica de usuario son aplicaciones diseñadas para la edición de texto que incluyen elementos gráficos como ventanas, iconos, menús y botones. A diferencia de los editores de texto de línea de comandos, se basan en interacciones visuales para la entrada y la funcionalidad del usuario.

GNU Emacs

GNU Emacs es un editor de texto potente y altamente personalizable para profesionales de Linux creado por Richard Stallman, el fundador del proyecto GNU . Está diseñado para ser versátil y tiene una amplia gama de funciones integradas.

Emacs se utiliza tanto como editor de texto de línea de comandos como editor de texto de interfaz gráfica de usuario. Esta doble funcionalidad lo hace adecuado para muchos usuarios y casos de uso diferentes.

Ventajas :

  • Altamente personalizable, lo que permite a los usuarios ampliar significativamente su funcionalidad.
  • Se ejecuta en varios sistemas operativos , incluidos Linux, macOS y Windows, lo que proporciona una experiencia consistente en todas las plataformas.
  • Ofrece interfaces tanto de línea de comandos como de GUI, atendiendo a diferentes preferencias de los usuarios.
  • Posee modos de edición basados ​​en contenido.
  • Tiene amplia documentación, un tutorial y soporte de idiomas.
  • Ofrece compatibilidad cruzada con otras aplicaciones GNU, incluido un organizador, una aplicación de correo, un calendario y un depurador.

Contras :

  • Tiene una interfaz compleja y una amplia funcionalidad, lo que resulta abrumador para los nuevos usuarios.
  • En comparación con otros editores de texto, Emacs exige más recursos del sistema.
  • Requiere una importante configuración y preparación para adaptarlo a necesidades específicas.
  • Administrar y configurar Emacs puede ser complejo y llevar mucho tiempo.

Cómo instalar GNU Emacs en Linux

Instale GNU Emacs en distribuciones basadas en Debian con los siguientes comandos:

sudo apt update
sudo apt install emacs

Instale GNU Emasc en distribuciones basadas en Red Hat con:

sudo dnf check-update
sudo dnf install emacs

Nota: En distribuciones más antiguas basadas en Red Hat, puede usar yumrpminstalar un editor de texto.

Instalar GNU Emasc en distribuciones basadas en Arch con:

sudo pacman -Syu
sudo pacman -S emacs

Gedit

Gedit es un editor de texto que viene con el entorno de escritorio GNOME. El diseño enfatiza la simplicidad, por lo que Gedit es un excelente editor para principiantes. A continuación, se enumeran las ventajas y desventajas de usar Gedit:

Ventajas

  • Interfaz simplificada.
  • Soporte para portapapeles.
  • Corrector ortográfico multilingüe.
  • Funcionalidad deshacer/rehacer.
  • Resaltado de sintaxis para varios lenguajes ( C , C++ , Java , Python, etc.).
  • Sistema de complementos flexible.

Contras :

  • En comparación con editores de texto más avanzados, las funciones de Gedit son relativamente básicas.
  • Lento al manejar archivos grandes o documentos complejos.
  • Faltan algunas herramientas y características avanzadas que se encuentran en otros editores de texto, como emuladores de terminal integrados o herramientas de depuración avanzadas.
  • Aunque se puede instalar en sistemas que no sean GNOME, su integración y rendimiento son mejores dentro del entorno de escritorio GNOME.
  • Los usuarios a menudo necesitan instalar y administrar múltiples complementos para acceder a funciones avanzadas.

Cómo instalar Gedit en Linux

En versiones anteriores de Linux o versiones sin GNOME, es posible que no venga preinstalado. Instale Gedit en distribuciones basadas en Debian con el siguiente comando:

sudo apt update
sudo apt install gedit

Instalar Gedit en distribuciones basadas en Red Hat con:

sudo dnf check-update
sudo dnf install gedit

Instalar Gedit en distribuciones basadas en Arch con:

sudo pacman -Syu
sudo pacman -S gedit

Geany

Geany funciona como editor de texto, pero su función principal es servir como entorno de desarrollo integrado (IDE). Es un editor de texto GUI liviano con funciones IDE básicas. A continuación, se enumeran las ventajas y desventajas de Geany:

Ventajas

  • Requiere un uso mínimo de recursos, lo que lo convierte en un editor rápido y con capacidad de respuesta incluso en sistemas de especificaciones más bajas.
  • Admite varios sistemas operativos, incluidos Linux, Windows y macOS, lo que garantiza la coherencia entre diferentes plataformas.
  • Proporciona funciones similares a IDE, como resaltado de sintaxis, finalización de código y una terminal incorporada, lo que lo hace adecuado para la programación.
  • Admite complementos para ampliar su funcionalidad, lo que permite a los usuarios agregar funciones según sea necesario.

Contras

  • Carece de herramientas de depuración avanzadas y sistemas de control de versiones integrados.
  • No ofrece opciones de personalización tan amplias como otros editores o IDE.
  • Tiene menos herramientas integradas que los IDE más pesados, lo que puede requerir el uso de software adicional para determinadas tareas.
  • Ofrece funciones básicas de administración de archivos y puede carecer de opciones avanzadas para manejar múltiples proyectos o grandes cantidades de archivos.

Cómo instalar Geany en Linux

Instale Geany en distribuciones basadas en Debian con el siguiente comando:

sudo apt update
sudo apt install geany

Instalar Geany en distribuciones basadas en Red Hat con:

sudo dnf check-update
sudo dnf install geany

Instalar Geany en distribuciones basadas en Arch con:

sudo pacman -Syu
sudo pacman -S geany

Kate

Kate es un potente editor de texto de múltiples documentos para KDE (K Desktop Environment) en Linux. Admite resaltado de sintaxis, plegado de código y edición de múltiples documentos, lo que lo hace adecuado tanto para programación como para edición de texto en general.

No es necesario el escritorio KDE para usar Kate, y puedes instalarlo en Windows, Linux y Mac.

A continuación se enumeran los pros y contras de utilizar Kate:

Ventajas

  • Permite editar varios documentos al mismo tiempo.
  • Admite sintaxis codificada por colores, personalización y complementos.
  • Se utiliza para abrir y editar un solo archivo rápidamente ya que la herramienta es liviana.

Contras

  • Algunos usuarios pueden encontrar las amplias opciones de configuración abrumadoras o difíciles de navegar.
  • Kate está diseñada principalmente para Linux y es posible que no esté tan disponible o no sea tan completamente funcional en otros sistemas operativos.
  • Para los usuarios que solo necesitan funciones básicas de edición de texto, las opciones avanzadas de Kate pueden ser excesivas y complicar el flujo de trabajo.

Cómo instalar Kate en Linux

Para instalar Kate en distribuciones basadas en Debian, utilice los siguientes comandos:

actualización de sudo apt

sudo apt install kate

Para instalar Kate en distribuciones basadas en Red Hat, ejecute los siguientes comandos:

sudo dnf check-update
sudo dnf install kate

Instalar Kate en distribuciones basadas en Arch con:

sudo pacman -Syu
sudo pacman -S kate

Puntos clave del artículo y resumen:

  1. GNU Emacs:
    • Descripción: Editor potente y personalizable, con funcionalidades tanto en GUI como en línea de comandos. Es usado por programadores y usuarios avanzados.
    • Ventajas: Extremadamente personalizable, compatible con múltiples plataformas, y ofrece funciones avanzadas como calendario y depurador.
    • Desventajas: Curva de aprendizaje empinada, complejo de configurar y consume más recursos que otros editores.
    • Instalación:
      • Debian: sudo apt install emacs
      • Red Hat: sudo dnf install emacs
      • Arch: sudo pacman -S emacs
  2. Gedit:
    • Descripción: Editor de texto predeterminado de GNOME, ideal para principiantes por su interfaz simplificada y facilidad de uso.
    • Ventajas: Interfaz sencilla, soporte para portapapeles, corrector ortográfico multilingüe y resaltado de sintaxis para lenguajes populares.
    • Desventajas: Falta de herramientas avanzadas, lento en archivos grandes, y limitado en personalización.
    • Instalación:
      • Debian: sudo apt install gedit
      • Red Hat: sudo dnf install gedit
      • Arch: sudo pacman -S gedit
  3. Geany:
    • Descripción: Editor ligero con funciones básicas de IDE, adecuado para desarrolladores que buscan un entorno sencillo y rápido.
    • Ventajas: Bajo consumo de recursos, ideal para programación con resaltado de sintaxis y terminal integrada.
    • Desventajas: Carece de herramientas avanzadas como sistemas de control de versiones y opciones limitadas para manejar grandes proyectos.
    • Instalación:
      • Debian: sudo apt install geany
      • Red Hat: sudo dnf install geany
      • Arch: sudo pacman -S geany
  4. Kate:
    • Descripción: Editor de texto avanzado de KDE, con soporte para múltiples documentos, adecuado para programadores y usuarios avanzados.
    • Ventajas: Soporte para múltiples documentos, sintaxis de colores, y opciones de personalización extensas.
    • Desventajas: La cantidad de opciones puede ser abrumadora para usuarios básicos, y la integración es mejor en entornos KDE.
    • Instalación:
      • Debian: sudo apt install kate
      • Red Hat: sudo dnf install kate
      • Arch: sudo pacman -S kate

Conclusión:

Cada editor de texto GUI en Linux ofrece características específicas que se adaptan a diferentes necesidades. Emacs y Kate son opciones sólidas para usuarios avanzados que requieren personalización y funciones avanzadas, mientras que Gedit y Geany ofrecen simplicidad y eficiencia, ideales para principiantes o ediciones rápidas. Elegir el editor adecuado dependerá del uso que cada usuario desee darle, así como de sus necesidades y nivel de experiencia.

Esta guía ofrece una descripción general de los principales editores de texto de Linux. Cada herramienta tiene sus puntos fuertes y débiles, por lo que esta reseña debería ayudarle a tomar una decisión informada.

Los mejores editores de texto de línea de comandos para Linux 

Los editores de texto de línea de comandos son adecuados para los usuarios que prefieren la edición de texto basada en terminal. Estos editores están diseñados para programadores, administradores de sistemas y usuarios que suelen trabajar en entornos sin una interfaz gráfica de usuario .

Son livianos, lo que les permite ejecutarse de manera eficiente en sistemas de bajos recursos o servidores remotos a través de SSH . Además, suelen ser más confiables en entornos inestables, ya que son menos propensos a fallas y ralentizaciones que los editores basados ​​en GUI. El siguiente texto explica en detalle los mejores editores de línea de comandos.

Vi/Vim

Casi todas las distribuciones de Linux , incluso las versiones más antiguas, tienen instalados los editores Vi y Vim. Vim significa Vi Improved, una versión modificada y mejorada del antiguo editor de texto. A continuación, se detallan las ventajas y desventajas de usar Vim:

Ventajas

  • Tiene amplias funciones para la manipulación de texto, incluidas macros, múltiples buffers y búsqueda y reemplazo.
  • Incluye atajos de teclado y comandos que permiten la edición rápida de texto.
  • Es liviano y funciona de manera eficiente incluso en hardware más antiguo o menos potente.
  • Admite complementos y viene con un tutorial (se invoca con el vimtutor comando).
  • Admite comandos automáticos, entradas de dígrafos (útiles en programación), pantallas divididas y de sesión, pestañas, esquemas de colores (codificados por color por función) y etiquetado.

Contras

  • Tiene una curva de aprendizaje pronunciada, lo que lo hace difícil para principiantes.
  • Un sistema de edición modal y un amplio conjunto de comandos no son intuitivos para los nuevos usuarios.
  • Configurar y gestionar configuraciones es complejo y requiere mucho tiempo.
  • Requiere configuración e instalación inicial.

Hoja de trucos del editor Vim

Utilice los siguientes comandos en el modo de comando :

  • h- Mueve el cursor hacia la izquierda un carácter; también puedes presionar la flecha izquierda.
  • j- Mueve el cursor una línea hacia abajo; también puedes presionar la flecha hacia abajo.
  • k- Mueve el cursor una línea hacia arriba; también puedes presionar la flecha hacia arriba.
  • l- Mueve el cursor hacia la derecha un carácter; también puedes presionar la flecha derecha.
  • w- Mueve el cursor una palabra completa a la derecha.
  • b- Mueve el cursor una palabra completa hacia la izquierda.
  • 0- Mueve el cursor al principio de la línea actual.
  • $- Mueve el cursor al final de la línea actual.
  • ~- Cambia el caso del caracter actual.
  • dd- Elimina la línea actual.
  • D- Elimina todo lo que esté en la línea a la derecha de la posición actual del cursor.
  • x- Elimina el carácter actual.
  • u- Deshacer el último comando.
  • .- Repite el último comando.
  • :w- Guarda el archivo actual, pero no sale.
  • :wq- Guarda el archivo actual y sale.

Los siguientes comandos lo colocan en modo de inserción :

  • i- Inserta a la izquierda de la posición actual del cursor.
  • a- Se agrega a la derecha de la posición actual del cursor.
  • dw- Elimina la palabra actual.
  • cw- Cambia la palabra actual.

No profundizaremos aquí sobre este editor dado que se merece un artículo dedicado, lo veremos más adelante en profundidad.

Editor nano

Nano es una revisión de un editor más antiguo llamado Pico y viene precargado en la mayoría de las instalaciones de Linux. La herramienta es un editor liviano ideal para principiantes. Es mucho más simple de usar que Vim, lo que lo hace útil para ediciones rápidas de configuración. A continuación, se enumeran las ventajas y desventajas de usar Nano:

Ventajas:

  • Viene preinstalado en muchas distribuciones de Linux.
  • Es intuitivo y fácil de utilizar.
  • Utiliza recursos mínimos del sistema.
  • Admite GNU Autoconf, búsqueda y reemplazo interactivo, sangría automática y corrección ortográfica.
  • Las ofertas de atajos de teclado fáciles de recordar se muestran en la parte inferior del editor.

Contras :

  • Carece de funciones avanzadas que se encuentran en editores como Vim o Emacs.
  • Ofrece opciones de personalización limitadas que los editores más potentes.
  • Tiene un soporte mínimo de resaltado de sintaxis, lo que puede ser un inconveniente para los desarrolladores.
  • No es ideal para proyectos grandes. Es más adecuado para tareas pequeñas que para gestionar grandes proyectos de codificación.
  • Navegar y editar a través del teclado es más lento y menos eficiente que con editores más avanzados.

Uso de Nano

Nano es también uno de los editores más utilizados en los sistemas basados ​​en Linux. Es un editor sencillo e influyente de Linux. No necesitamos tener ningún conocimiento previo sobre el editor nano antes de usarlo. En nano, no se utiliza ningún comando principal para operar en el archivo. Todas las operaciones básicas se muestran en la parte inferior del editor.

Podemos activarlas con una tecla CTRL , por ejemplo, para guardar el archivo presione las teclas CTRL + O , para salir del editor presione la tecla CTRL + X. Para editar un archivo con el editor nano, abra el archivo desde el directorio donde está almacenado con el siguiente comando:

 nano carlos.txt

El comando anterior abrirá el archivo carlos.txt con el editor nano. Para editar el archivo, mueva el cursor e ingrese el texto deseado y presione las teclas CTRL+O para guardar el archivo. Observe la siguiente imagen del editor de texto nano.

Pulse las teclas CTRL+X para salir del editor. Los cambios que ha realizado en el archivo se han guardado correctamente. Para verificar los cambios, ejecute el comando cat de la siguiente manera:

 cat carlos.txt

Se mostrará el contenido del archivo. Observe el siguiente resultado:

El editor no interactivo sed

El nombre sed significa stream editor (editor de flujo continuo). Su entrada es un flujo de información que se procesa automáticamente según sus instrucciones. Sed es un editor de textos no interactivo que puede realizar todas las funciones básicas de edición. La sintaxis de sed es sencilla:

“sed 'lista de comandos' archivos”

Las órdenes sed leen una línea a la vez de los archivos de entrada, le aplican los comandos de la lista, por orden, a cada línea y muestran la modificación en la salida estándar. Por ejemplo, se puede escribir un script sed para cambiar todas las apariciones de la palabra TOTO a Toto con la siguiente orden:

“sed 's/TOTO/toto/' archive”

Luego podrá utilizar este script para editar automáticamente cualquier fichero que desee. Un archivo con un solo cambio sólo necesita una orden simple. Sin embargo, no es raro crear scripts sed más largos para realizar más de una tarea de edición. Cuando los comandos sed se almacenan en un archivo para ejecutarlos escribimos:

“sed -f script archivos”

A continuación se resumen los comandos de edición básicos de sed. En dicha tabla, addr1, addr2 representan el rango de líneas desde addr1 hasta addr2 incluidas. Los comandos que aceptan un rango también pueden trabajar sobre una única línea.

Comandos de edición básicos de sed

ComandoFunciónUsoSignificado
aAñadiraddr1,addr2 a\textañade text después de addr2
iInsertaraddr1,addr2 i\textinserta text antes de addr1
cCambiaraddr1,addr2 c\textreemplaza las líneas con text
dBorraraddr1,addr2 dBorra las líneas especificadas
sSustituiraddr1,addr2Reemplaza el patrón s/patrón/text
qSaliraddr qTemina en la línea addr
rLeeraddr r ficheroLee del archivo antes de la línea $addr$
wEscribiraddr1,addr2 w ficheroGraba las líneas especificadas en fichero

El comando sed tiene más opciones que puedes explorar

 sed –help

También  te recomendamos consultar las páginas man para este comando:

 man sed

Uso básico de VIM.

El editor vi es un editor de texto de pantalla completa que maneja en memoria el texto entero de un archivo. Es el editor clásico de UNIX; está en todas las versiones. Puede usarse en cualquier tipo de terminal con un mínimo de teclas; esto lo hace difícil de usar hasta que uno se acostumbra.

Existe un editor vi ampliado llamado Vim que contiene facilidades adicionales, así como diversas versiones del vi original. En todos los casos, el conjunto de comandos básicos es el mismo.

http://www.vim.org/

Archivo de edición de Linux

El sistema de archivos de Linux nos permite realizar diversas operaciones en archivos, como crear, editar, renombrar y eliminar . Podemos editar archivos con diferentes editores de Linux, como vim, nano, Emacs, Gedit, Gvim y más.

Entendamos cómo editar archivos en un servidor Linux mediante diferentes editores de texto.

El editor VI es el editor de texto más utilizado en los sistemas basados ​​en Linux. El editor Vi tiene varios modos, como el modo normal, el modo de inserción, el modo de comando, el modo de línea y más. Cada modo nos permite realizar operaciones específicas.

Es el más utilizado debido a su modalidad. La mayoría de las herramientas tienen un solo modo: toman la entrada y realizan la operación ordenada, pero Vi tiene varios modos.

Cuando iniciamos Vi, se abre en modo normal, que es básicamente un modo de comando. En este modo, todo lo que escribimos se considera un comando, no una entrada.

A veces Vi parece un editor típico, pero cuando te acostumbras a él, te parecerá una de las herramientas de edición más potentes.

Cambiar un modo en el editor Vim:

  • Presione la tecla ESC para el modo normal .
  • Presione la tecla i para el modo de inserción.
  • Presione las teclas :q! para salir del editor sin guardar un archivo.
  • Presione las teclas :wq! para guardar el archivo actualizado y salir del editor.
  • Presione :w test.txt para guardar el archivo como test.txt

Editar un archivo usando el editor Vim

Ahora, entendamos cómo editar un archivo usando el editor Vi.

Para iniciar el Editor VI: abra la Terminal (CLI) y escriba

vi <nombre_archivo_NUEVO> o <nombre_archivo_EXISTENTE>

Y si especifica un archivo existente, el editor lo abrirá para que lo edite. De lo contrario, puede crear un archivo nuevo.

Para editar este archivo, ejecute el siguiente comando para abrirlo con el editor Vi:

 vi carlos.txt

El comando anterior abrirá el archivo con el editor Vi en modo normal. Observe la siguiente imagen del editor:

Este archivo se abre en modo normal. Para cambiarlo al modo de inserción, presione la tecla ‘ESC’ seguida de la tecla ‘i’ . Coloque el cursor en la posición deseada e ingrese algún texto. Para guardar el archivo y salir del editor, presione la tecla ‘ESC’ seguida de las teclas :wq!. Observe la siguiente imagen del editor:

Modos de vi.

Existen tres modos o estados en vi entre los cuales iremos “rotando” dependiendo de que necesitemos hacer:

  • modo comando: las teclas ejecutan acciones que permiten desplazar el cursor, recorrer el archivo, ejecutar comandos de manejo del texto y salir del editor. Es el modo inicial de vi.
  • modo texto o modo inserción: las teclas ingresan caracteres en el texto.
  • modo última línea o ex: las teclas se usan para escribir comandos en la última línea al final de la pantalla.

Confundir un modo con otro es una de las de mayores dificultades para el manejo de vi. Puede activarse un indicador de modo escribiendo

“:set showmode”

Esto hace aparecer una leyenda que indica si se está en modo inserción.

vi Modo de comando:

  • El editor vi se abre en este modo y solo entiende comandos.
  • En este modo, puedes mover el cursor y cortar, copiar y pegar el texto.
  • Este modo también guarda los cambios que haya realizado en el archivo.
  • Los comandos distinguen entre mayúsculas y minúsculas. Debes utilizar la mayúscula y minúscula correctas.

vi Editor Modo de inserción:

  • Este modo es para insertar texto en el archivo.
  • Puede cambiar al modo Insertar desde el modo de comando presionando ‘i’ en el teclado
  • Una vez que esté en el modo Insertar, cualquier tecla se tomará como entrada para el archivo en el que está trabajando actualmente.
  • Para volver al modo comando y guardar los cambios que has realizado necesitas presionar la tecla Esc

Tipo de terminal.

Vi es independiente del tipo de terminal, pero la variable de ambiente TERM debe estar fijada correctamente. Si no se conoce o no existe el tipo exacto de terminal, en la mayoría de los terminales remotos el tipo ansi da buenos resultados. Para fijar el terminal en tipo ansi, ingresaremos “TERM=ansi” y luego “export TERM”. Algunos comandos, especialmente “more” y a veces “vi”, pueden no responder bien en la terminal o el emulador que se está usando. Puede usarse “Ctrl+L” para refrescar la pantalla. En este caso dejaremos la que esta por defecto.

La variable TERM estaba configurada como tipo “Linux” lo cual también sirve, fue cambiada solamente a modo de ejemplo.

El comando vi tiene más opciones que puedes explorar

 vi --help

También  te recomendamos consultar las páginas man para este comando:

 man vi

VI Comandos de edición

  • i – Insertar en el cursor (entra en modo inserción)
  • a – Escribe después del cursor (entra en modo inserción)
  • A – Escribe al final de la línea (entra en modo inserción)
  • ESC – Finalizar el modo de inserción
  • u – Deshacer el último cambio
  • U – Deshacer todos los cambios en toda la línea
  • o – Abre una nueva línea (entra en modo inserción)
  • dd – Eliminar línea
  • 3dd – Eliminar 3 líneas.
  • D – Eliminar el contenido de la línea después del cursor
  • C – Borrar el contenido de una línea después del cursor e insertar texto nuevo. Pulsar la tecla ESC para finalizar la inserción.
  • dw – Borrar palabra
  • 4dw – Borrar 4 palabras
  • cw – Cambiar palabra
  • x – Borra el carácter en el cursor
  • r – Reemplazar carácter
  • R – Sobrescribir caracteres desde el cursor en adelante
  • s – Sustituye un carácter debajo del cursor y continúa insertando
  • S – Sustituir la línea completa y comenzar a insertar desde el principio de la línea
  • ~ – Cambiar mayúsculas y minúsculas de caracteres individuales

Nota : Debe estar en el “ modo de comando” para ejecutar estos comandos . El editor VI distingue entre mayúsculas y minúsculas , así que asegúrese de escribir los comandos con el uso correcto de mayúsculas y minúsculas.

Asegúrate de presionar el comando correcto, de lo contrario terminarás haciendo cambios no deseados en el archivo. También puedes ingresar al modo de inserción presionando a, A, o, según sea necesario.

Moverse dentro de un archivo

  • k – Mueve el cursor hacia arriba
  • j – Mover el cursor hacia abajo
  • h – Mover el cursor hacia la izquierda
  • l – Mover el cursor hacia la derecha

Para desplazarse por un archivo, debe estar en modo comando. Las teclas predeterminadas para navegar se mencionan a continuación. De lo contrario, también puede usar las teclas de flecha del teclado .

Guardar y cerrar el archivo

  • Shift+zz – Guardar el archivo y salir
  • :w – Guarda el archivo pero mantenlo abierto
  • :q! – Salir de vi y no guardar los cambios
  • :wq – Guarda el archivo y sal

Debe estar en el modo de comando para salir del editor y guardar los cambios en el archivo.

vi Modo de comando:

  • El editor vi se abre en este modo y solo entiende comandos.
  • En este modo, puedes mover el cursor y cortar, copiar y pegar el texto.
  • Este modo también guarda los cambios que haya realizado en el archivo.
  • Los comandos distinguen entre mayúsculas y minúsculas. Debes utilizar la mayúscula y minúscula correctas.

vi Editor Modo de inserción:

  • Este modo es para insertar texto en el archivo.
  • Puede cambiar al modo Insertar desde el modo de comando presionando ‘i’ en el teclado
  • Una vez que esté en el modo Insertar, cualquier tecla se tomará como entrada para el archivo en el que está trabajando actualmente.
  • Para volver al modo comando y guardar los cambios que has realizado necesitas presionar la tecla Esc
  • Cambios de modo.
    • Comando a texto
      • Teclas de inserción: i, I, a, A, o, O, o.
      • Tecla de sobre escritura: R.
    • Texto a comando:
      • Tecla “ESC”.
    • Comando a última línea:
      • Tecla: “/”
    • Última línea a comando:
      • Tecla ENTER (al finalizar el comando).
      • Tecla ESC (interrumpe el comando).

Navegación básica

Esta sección cubre la apertura de vi, el desplazamiento del cursor, el salto al inicio o al final de una palabra, línea, párrafo y archivo, y la búsqueda de patrones de texto. La tecla <Return> que aparece en algunos comandos de vi que aparecen a continuación es la misma que la tecla <Enter> de algunos teclados. <Ctrl> es la tecla Ctrl y <Escape/ESC> es la tecla Escape. Otras instancias de < y > son literales.

COMANDO DE TERMINAL

A continuación se muestran algunos comandos útiles para ingresar/utilizar vi en la línea de comandos:

COMANDO DE TERMINALEXPLICACIÓN
vi filename.txtAbra un archivo nuevo o existente llamado nombre_archivo.txt
vi -r filename.txtRecuperar un archivo llamado filename.txt que alguien estaba editando cuando falló el sistema operativo
view filename.txtMostrar archivo filename.txt de solo lectura
cat filename.txtContenido de salida de filename.txt; adecuado para archivos pequeños
less filename.txtContenido de salida de filename.txt; adecuado para archivos grandes; navegue utilizando las teclas de flecha

COMANDO DE DIRECCIÓN

En algunas distribuciones, como macOS, puedes usar las teclas de flecha para mover el cursor hacia la izquierda, derecha, arriba y abajo en el modo Comando predeterminado. Sin embargo, en otras distribuciones Unix/Linux, el uso de las teclas de flecha puede dar como resultado A, B, C y D, por lo que aún debes aprender los siguientes comandos de dirección:

COMANDO DE DIRECCIÓNEXPLICACIÓN
hMueve el cursor hacia la izquierda un carácter
jMueve el cursor hacia abajo una línea
kMueve el cursor hacia arriba una línea
lMueve el cursor hacia la derecha un carácter
12hMueve el cursor hacia la izquierda 12 caracteres
23jMueve el cursor hacia abajo 23 líneas
34kMueve el cursor hacia arriba 34 líneas
45lMueve el cursor hacia la derecha 45 caracteres
100jMueve el cursor hacia abajo 100 líneas

Comandos direccionales

Utilice los siguientes comandos direccionales para saltar al principio o al final de una palabra (una cadena de caracteres alfanuméricos excluyendo espacios y puntuación), línea, párrafo o archivo:

DOMINIOEXPLICACIÓN
bMueve el cursor al principio de la palabra actual
wMueve el cursor al principio de la siguiente palabra
eMueve el cursor al final de la palabra actual
BMueve el cursor al comienzo de la palabra anterior a un espacio en blanco
WMueve el cursor al comienzo de la siguiente palabra después de un espacio en blanco
EMoverse al final de la palabra actual antes de un espacio en blanco
0Mueve el cursor al primer carácter de la línea actual
^Mueve el cursor al principio de la línea actual
$Mueve el cursor al último carácter de la línea actual
ggIr a la primera línea del documento
Vaya a su última posición en el archivo
+Mueve el cursor al comienzo de la siguiente línea 
Mover el cursor al comienzo de la línea anterior
<Ctrl>dDesplácese hacia abajo hasta la mitad de la pantalla
<Ctrl>uDesplazarse hacia arriba la mitad de la pantalla
<Ctrl>fDesplazarse hacia adelante una pantalla completa
<Ctrl>bDesplazarse hacia atrás una pantalla completa
)Mueve el cursor a la siguiente oración
(Mueve el cursor a la oración anterior
{Retroceder un párrafo
}Avanzar un párrafo
HMoverse a la línea superior de la pantalla
MMoverse a la línea media de la pantalla
LMoverse a la última línea de la pantalla
%Mover al soporte correspondiente:() [] {}
:0<Return>Mueve el cursor a la primera línea del documento
1GMueve el cursor a la primera línea del documento
:n<Return>Mueve el cursor a la línea n-ésima, donde n es un entero positivo, en el documento, por ejemplo, :10<Return>mueve el cursor a la décima línea
nGMueve el cursor a la línea n-ésima, donde nes un entero positivo, en el documento, por ejemplo, 5G mueve el cursor a la quinta línea
GIr a la última línea del documento.

Comandos de búsqueda

Una parte complicada de dominar vi es buscar patrones y reemplazarlos cuando sea necesario. La siguiente tabla enumera los comandos de búsqueda y reemplazo de vi relevantes:

DOMINIOEXPLICACIÓN
/Cualquier cosa que escriba después de este símbolo se convertirá en un patrón que deseará encontrar hacia adelante o hacia abajo en el archivo.
?Cualquier cosa que escriba después de este símbolo se convertirá en un patrón que querrá encontrar hacia atrás o hacia arriba en el archivo.
/^stringEncuentra el patrón string que coincide con el comienzo de una línea.
/string$Encuentra el patrón string que coincide con el final de una línea.
nEncuentra la siguiente ocurrencia del patrón escrito después/
NEncuentra la ocurrencia anterior del patrón escrito después?
f<char>Busque un carácter <char> (como “a”, “0”, …) en la misma línea, moviéndose hacia adelante hasta el final de la línea
F<char>Busque un carácter <char>(como “a”, “0”, …) en la misma línea, moviéndose hacia atrás hasta el comienzo de la línea
;Repita la búsqueda de caracteres anterior en la misma dirección.
:s/foo/bar/igReemplazar todas las apariciones de “foo”con “bar”en la línea actual; “i” significa “sin distinción entre mayúsculas y minúsculas” y “g”significa “global”
:1,$s/foo/barReemplazar una ocurrencia de “foo”con “bar”desde la primera línea hasta la última línea
:11,22s/foo/bar/gIReemplazar todas las apariciones de “foo”con “bar”desde la línea 11 hasta la línea 22; “g”significa “global” y “I”significa “sensible a mayúsculas y minúsculas”
:^,.s/foo/bar/gReemplazar todas las apariciones de “foo”con “bar”desde el principio del archivo hasta la posición actual del cursor
:%s/foo/barReemplazar una ocurrencia de “foo”con “bar”en el documento
:%s/foo/bar/gReemplazar todas las apariciones de “foo”con “bar”en el documento; “g”significa “global”
:%s/foo/bar/cReemplazar todas las apariciones de “foo”con “bar”en el documento; “c”significa que vi mostrará un mensaje para confirmar cada reemplazo (“Y” para confirmar)
:&Repita el último comando de reemplazo
/\<pro\>Busca la palabra pro (y no proper, produce, etc.)
/l[aei]ndBuscar land, lend,ylind

Edición de texto

Aquí cubrimos el modo Insertar, la eliminación, modificación y repetición de texto, y las acciones de deshacer y rehacer.

El modo de inserción es donde se edita el contenido de texto de un archivo. Una vez en el modo de inserción, aparecerá la palabra “INSERT” a lo largo del borde inferior de la terminal. La siguiente tabla muestra varias formas de ingresar al modo de inserción en vi:

COMANDO PARA INGRESAR AL MODO INSERCIÓNEXPLICACIÓN
iInserta texto antes de la ubicación actual del cursor
aInserta texto después de la posición actual del cursor
oCrea una nueva línea para la entrada de texto debajo de la ubicación del cursor
IInserta texto al principio de la línea actual
AInserta texto al final de la línea actual
OCrea una nueva línea para la entrada de texto encima de la ubicación del cursor

Eliminar contenido

Los siguientes comandos le ayudan a eliminar contenido e ingresar al modo Insertar al mismo tiempo:

DOMINIOEXPLICACIÓN
ccElimina el contenido de la línea actual. Después, vi permanece en modo Insertar.
CElimina el contenido de la línea actual. Después, vi permanece en modo Insertar.
cwElimina la palabra indicada por el cursor. Después, vi permanece en modo Insertar.
c11wEliminar 11 palabras a partir de la indicada por el cursor. Después, vi permanece en modo Insertar.
12ccEliminar 12 líneas a partir de la indicada por el cursor. Después, vi permanece en modo Insertar.
c20cEliminar 20 líneas a partir de la indicada por el cursor. Después, vi permanece en modo Insertar.
sElimina el carácter actual. Después, vi permanece en modo Insertar.
SElimina la línea actual. Después, vi permanece en modo Insertar.

Cuando haya terminado de modificar el texto, utilice el siguiente comando para dejar de editar inadvertidamente su archivo:

COMANDO PARA SALIREXPLICACIÓN
<Escape/ESC>Salir del modo Insertar

Recuerde los siguientes comandos si desea eliminar uno o más caracteres, palabras, líneas o párrafos:

DOMINIOEXPLICACIÓN
xEliminar el carácter resaltado por el cursor
XEliminar el carácter antes de la posición del cursor
ddEliminar la línea en la que se encuentra el cursor
dwElimina desde la posición actual del cursor hasta la siguiente palabra
dWEliminar una palabra delimitada por espacios en blanco y el espacio siguiente
d}Eliminar todos los caracteres hasta el final del párrafo
:5,30dEliminar líneas 5 a 30
3xBorrar tres caracteres a partir del indicado por el cursor
d9wBorrar nueve palabras a partir de la indicada por el cursor
12ddBorrar 12 líneas a partir de la indicada por el cursor
d20dBorrar 20 líneas a partir de la indicada por el cursor
d^Eliminar desde la posición actual del cursor hasta el principio de la línea
d$Eliminar desde la posición actual del cursor hasta el final de la línea
DEliminar desde la posición del cursor hasta el final de la línea actual
dGEliminar desde la línea actual hasta el final del archivo

Comandos complementarios

Los comandos que se enumeran a continuación sirven para cambiar caracteres, palabras o líneas, repetirlos y deshacer cambios:

DOMINIOEXPLICACIÓN
uDeshacer la acción anterior; repetir tantas veces como sea necesario
UDeshacer todos los cambios en la línea actual
.Rehacer el último comando una vez
<Ctrl>rRehacer el último comando una vez
n.Rehacer el último comando nveces, donde nes un entero positivo
JUnir la siguiente línea a la línea actual
xpCambiar las posiciones de dos personajes adyacentes
ddpIntercambiar dos líneas adyacentes
:15,16 co 17Copiar las líneas 15 y 16 después de la línea 17
:18,20 m $Mueva las líneas 18 a 20 al final del archivo
:7,300 dCopiar las líneas 7 a 300 al buffer y eliminarlas del documento

Modo visual

El modo Visual de vi sirve para resaltar y seleccionar texto. En este modo especial, puede realizar acciones precisas como cortar, copiar, pegar, convertir en mayúsculas y minúsculas y reemplazar palabras.

Existen tres modos visuales:

  • modo de carácter visual,
  • modo de línea visual, y
  • modo de bloque visual.
COMANDO PARA INGRESAR AL MODO VISUALEXPLICACIÓN
vIngrese al modo de caracteres visuales; luego, use las teclas de navegación para resaltar el texto. Una vez en este modo, aparecerá la palabra “VISUAL” a lo largo del borde inferior del terminal.    
VIngresa al modo de línea visual, resaltando toda la línea en la que se encuentra el cursor. Una vez en este modo, aparecerá la palabra “VISUAL LINE” a lo largo del borde inferior del terminal.    
<Ctrl>vIngrese al modo de bloque visual, haciendo selecciones de texto por bloques. Al mover el cursor, se harán selecciones rectangulares del texto. Una vez en este modo, aparecerá la palabra “BLOQUE VISUAL” a lo largo del borde inferior de la terminal.    

Una vez que se encuentre en cualquiera de estos modos, puede resaltar el texto deseado utilizando las teclas de flecha o los comandos de navegación en vi. Luego, puede eliminar, copiar, pegar y manipular el texto dondequiera que se encuentre el cursor utilizando los siguientes comandos:

DOMINIOEXPLICACIÓN
yyCopiar (y = yank to buffer) la línea actual indicada por el cursor
40yyCopiar 40 líneas en el buffer, comenzando desde la línea actual indicada por el cursor
ywCopiar la palabra actual desde el carácter en el que se encuentra el cursor hasta el final de la palabra
:15,20yCopiar líneas 15-20
pPegar el texto copiado después del cursor
:put<Return>Colocar (pegar) el texto copiado después del cursor
PPegar el texto copiado antes del cursor
yypRepetir la línea actual
ywPRepita la palabra copiada
rReemplazar el carácter resaltado por el cursor
RSobrescribir varios caracteres comenzando con el carácter que se encuentra actualmente debajo del cursor; dejar de reemplazar con <Escape/ESC>
~Cambiar el carácter alfabético debajo del cursor entre mayúsculas y minúsculas
>Aumentar la sangría de todas las líneas
<Disminuir la sangría de todas las líneas

Generador de comandos Vi

Todo contenido copiado o eliminado va a uno de los 26 receptáculos de memoria temporal del editor vi, llamados buffers de texto. Persisten hasta que copie o elimine más caracteres en ellos o hasta que salga de la sesión vi actual. El nombre de cada buffer de texto es una letra del alfabeto inglés, por lo que sus nombres son a hasta z.

A continuación se muestran algunos comandos vi para manipular los buffers de texto vi:

DOMINIOEXPLICACIÓN
“ayyCopiar la línea actual en el búfera
“AyyAñadir la línea actual al buffera
“addEliminar la línea actual y colocar el texto en el buffera
“apPegue la línea del buffer adebajo de la línea actual
“a100yyCopiar 100 líneas en el buffera
“a100ddCopiar 100 líneas de texto en el buffer ay eliminarlas del documento

Abreviaturas

El editor vi le permite utilizar abreviaturas para reemplazar palabras. Después de escribir la abreviatura, puede expandirla al presionar <Espacio> o <Retorno>. Las abreviaturas pueden ser un salvavidas, ya que le permiten definir errores tipográficos comunes, como se demuestra en los ejemplos siguientes:

DOMINIOEXPLICACIÓN
:ab os operating systemExpandir cada nueva instancia de “os” escrita en “sistema operativo”
:abbreviate sig your@email.comExpande cada nueva instancia de “sig” escrita en “tu@email.com”
:ab teh theCorregir automáticamente el error tipográfico
:ab adn andCorrección automática de errores tipográficos en la palabra «y»
:ab taht thatCorregir automáticamente el error tipográfico “ese”
:iab tihs thisSolo corrige automáticamente el error tipográfico “este” en el modo Insertar
:cab hoeewvr howeverSolo corrige automáticamente el error tipográfico “sin embargo” en el modo Comando
:abcBorrar todas las abreviaturas
:abclearBorrar todas las abreviaturas
:una osEliminar la abreviatura relacionada con “os”
<Ctrl>vEvitar que una abreviatura que estás ingresando en este momento se expanda
<CR>Esta cadena de cuatro caracteres representa el carácter de nueva línea al crear una abreviatura en el modo Insertar. “CR” significa “retorno de carro”. Puede escribir caracteres especiales similares, como <tab>para introducir una tabulación y <esc>para representar el carácter <Escape>.

Cuando haya terminado su trabajo en el modo Visual, presione la tecla Escape dos veces:

DOMINIOEXPLICACIÓN
<Escape/ESC><Escape/ESC>Salir del modo visual

Modo de comando

El modo de comando es el modo predeterminado que se ve al ingresar a vi. Esta sección cubre cómo guardar archivos, salir del editor vi, mostrar y ocultar números de línea y ejecutar comandos de shell desde dentro de vi.

DOMINIOEXPLICACIÓN
ZZGuardar (si hay cambios) y salir
:w<Return>Guardar (escribir) en el archivo nombrado en la ejecución original de vi
:q<Return>Salir (salir de la consola vi); esto solo funcionará si no ha realizado cambios
:wq<Return>Guardar y Salir
:q!<Return>Salir sin guardar
:w newfilename.txt<Return>Salvar anewfilename.txt
:w>>extrafile.txt<Return>Anexar el archivo actual a un archivo llamadoextrafile.txt
:w!<Return>Sobrescriba el contenido de vi en el archivo nombrado en la ejecución original de vi
:w! newfilename.txt<Return>Sobrescriba el contenido de vi paranewfilename.txt
:23,45w snippet.txt<Return>Escribe el contenido de las líneas numeradas del 23 al 45 en un nuevo archivo llamadosnippet.txt
:23,45w>>snippet.txt<Return>Añade el contenido de las líneas numeradas del 23 al 45 a un nuevo archivo llamadosnippet.txt
:r filename.txt<Return>Leer un archivo llamado filename.txte insertar su contenido después del cursor en el archivo abierto actualmente
:h<Return>Obtenga ayuda sobre vi (salga con :q)
:set nu<Return>Mostrar números de línea
:set nonu<Return>Ocultar números de línea
<Ctrl>gMuestra el número de línea actual y el número total de líneas del archivo en la parte inferior de la pantalla
:.=Devuelve el número de línea donde está el cursor en la parte inferior de la pantalla.
:=Devuelve el número total de líneas del documento en la parte inferior de la pantalla.
:!<shell_command><Return>Ejecutar un<shell_command>
:!ls<Return>Ejecute el lscomando (enumerar elementos en el directorio de trabajo actual) desde vi

Características avanzadas

Esta parte cubrirá expresiones regulares, personalización de la interfaz vi, macros y división del editor vi en múltiples ventanas/pantallas.

El editor vi admite expresiones regulares como cadenas de búsqueda.

EXPRESIÓN REGULARDENOTARCLASE DE PERSONAJE (CUANDO CORRESPONDA)
El comienzo de la línea: se utiliza al comienzo de un patrón de búsqueda./
Cualquier carácter individual excepto nueva línea/
*Cero o más del carácter anterior/
El final de la línea: se utiliza al final del patrón de búsqueda./
El comienzo de un conjunto de patrones de búsqueda coincidentes o no coincidentes/
]El final de un conjunto de patrones de búsqueda coincidentes o no coincidentes/
\< El comienzo de una palabra en un patrón de búsqueda/
\>El final de una palabra en un patrón de búsqueda/
\scarácter de espacio en blanco<Espacio>, <Tab>
\Scarácter que no es un espacio en blancoTodos los caracteres excepto <Espacio> y <Tab>
\ddígito[0-9]
\Dsin dígitos[^0-9]
\xdígito hexadecimal[0-9A-Fa-f]
\Xdígito no hexadecimal[^0-9A-Fa-f]
\odígito octal[0-7]
\Odígito no octal[^0-7]
\hcabeza de personaje de palabra[A-Za-z_]
\Hcarácter que no es cabeza de palabra[^A-Za-z_]
\pcarácter imprimible[ -~]
\Pcarácter imprimible, excluyendo dígitos(?![0-9])[ -~]
\wcarácter de palabra[0-9A-Za-z_]
\Wcarácter no verbal[^0-9A-Za-z_]
\aCaracter alfabético[A-Za-z]
\Acarácter no alfabético[^A-Za-z]
\lminúscula[a-z]
\Lcarácter que no está en minúscula[^a-z]
\ucarácter en mayúscula[A-Z]
\Ucarácter no mayúscula[^A-Z]

Apariencia

Para configurar la apariencia de su editor vi, utilice los siguientes comandos:

DOMINIOEXPLICACIÓN
:colorscheme <Ctrl>dMostrar una lista de esquemas de color vi disponibles
:colo blueCambiar al esquema de colores de vi llamado “azul”:    

Macros

Una macro vi es una función que permite grabar una secuencia de comandos para realizar una determinada tarea. Varias ejecuciones de esa macro repetirán la misma tarea de forma automática.

COMANDO MACROEXPLICACIÓN
q<register><command(s)>qSintaxis para grabar una macro. Ejemplos a continuación.
qao<ESC>qGrabe una macro básica que inserte una nueva línea ( o) y guárdela en el registroa
:regVer macros guardadas
@aReproducir la macro guardada en el registroa
5@aEjecutar la macro guardada en el registro aen cinco líneas más

Dividir la pantalla del editor vi

También puedes dividir la pantalla del editor vi en varias ventanas:

DOMINIOEXPLICACIÓN
<Ctrl>wsDividir la pantalla horizontalmente
<Ctrl>wvDividir la pantalla verticalmente
<Ctrl>wwNavegar entre pantallas divididas horizontales y verticales
<ESC>:qSalir de una de las pantallas divididas

Configurar los ajustes

Los siguientes comandos le ayudan a configurar los ajustes para su experiencia de usuario vi:

COMANDO DE CONFIGURACIÓNEXPLICACIÓN
:set ic<Return>Ignorar mayúsculas y minúsculas al realizar la búsqueda
:set ai<Return>Establecer sangría automática
:set noai<Return>Desactivar sangría automática
:set nonu<Return>no mostrar números de línea
:set nu<Return>Mostrar líneas con números de línea en el lado izquierdo
:set sw = n<Return>Establezca el ancho de desplazamiento de una tabulación de software en una longitud de n, donde nes un entero positivo
:set sw = 4<Return>Establezca un ancho de desplazamiento de cuatro caracteres
:set ws<Return>Permita que sus búsquedas de patrones se repitan
:set wm = 0<Return>Desactivar margen de ajuste
:set wm = n<Return>Establezca el margen de ajuste desde el borde derecho de la pantalla como el número especificado de caracteres n, donde nes un entero positivo
:set wm = 2<Return>Establezca el margen de ajuste en dos caracteres
:set ro<Return>Cambiar el tipo de archivo a “solo lectura”
:set term<Return>Tipo de terminal de impresión
:set bf<Return>Descartar caracteres de control de la entrada
:set all<Return>Ver una lista de todas las configuraciones y sus valores actuales
:set all&<Return>Restablecer todas las configuraciones a sus valores predeterminados

Puntos clave del artículo con resúmenes

Editores de texto GUI

  1. GNU Emacs
    • Ventajas: Personalizable, compatible con múltiples plataformas, funciones avanzadas como depurador y calendario.
    • Desventajas: Curva de aprendizaje pronunciada, consume más recursos.
    • Instalación:
      Debian: sudo apt install emacs
      Red Hat: sudo dnf install emacs
      Arch: sudo pacman -S emacs
  2. Gedit
    • Ventajas: Interfaz amigable, resaltado de sintaxis, sistema de complementos.
    • Desventajas: Funcionalidad básica, lento con archivos grandes.
    • Instalación:
      Debian: sudo apt install gedit
      Red Hat: sudo dnf install gedit
      Arch: sudo pacman -S gedit
  3. Geany
    • Ventajas: Ligero, ideal para programación con terminal integrada.
    • Desventajas: Carece de herramientas avanzadas para proyectos grandes.
    • Instalación:
      Debian: sudo apt install geany
      Red Hat: sudo dnf install geany
      Arch: sudo pacman -S geany
  4. Kate
    • Ventajas: Soporta múltiples documentos, opciones de personalización extensas.
    • Desventajas: Opciones avanzadas pueden ser complicadas para principiantes.
    • Instalación:
      Debian: sudo apt install kate
      Red Hat: sudo dnf install kate
      Arch: sudo pacman -S kate

Editores de texto CLI

  1. Vim
    • Ventajas: Funciones avanzadas como macros, pantallas divididas, y complementos.
    • Desventajas: Difícil para principiantes, requiere configuración inicial.
    • Comandos básicos:
      • :wq para guardar y salir.
      • dd para borrar líneas.
      • :set nu para mostrar números de línea.
  2. Nano
    • Ventajas: Intuitivo, ideal para ediciones rápidas.
    • Desventajas: Funcionalidad limitada, no apto para proyectos grandes.
    • Uso básico:
      • nano archivo.txt para abrir un archivo.
      • Ctrl+O para guardar.
      • Ctrl+X para salir.
  3. sed
    • Ventajas: Perfecto para tareas automatizadas y scripts.
    • Desventajas: Limitado para edición interactiva.
    • Uso básico:
      • sed 's/viejo/nuevo/' archivo para reemplazar texto en un archivo.
      • sed -f script archivo para usar un archivo de comandos.

Comparación y uso práctico

  • Para principiantes:
    Usar Nano o Gedit para tareas simples.
    Geany es útil para aprender programación en un entorno ligero.
  • Para programadores y usuarios avanzados:
    Vim o Emacs son ideales por su capacidad de personalización y funcionalidades.
    Kate y Geany son alternativas gráficas.
  • Para administración de sistemas:
    Vim y sed ofrecen potencia y versatilidad en entornos de terminal.

Conclusión

Los editores GUI son ideales para usuarios que priorizan la comodidad visual y simplicidad, mientras que los CLI son herramientas poderosas para usuarios experimentados que trabajan en terminales o servidores. Seleccionar el editor correcto depende de tus necesidades y nivel de experiencia.

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

Preguntas sobre el artículo:

  1. ¿Qué diferencias principales existen entre editores de texto GUI y CLI en Linux?
  2. Menciona dos ventajas y dos desventajas de usar GNU Emacs como editor de texto.
  3. ¿Cuál es el comando para instalar Gedit en distribuciones basadas en Debian?
  4. ¿Qué funcionalidad hace destacar a Geany como un editor de texto con capacidades de IDE?
  5. Describe dos comandos básicos para navegar dentro de un archivo en Vim.
  6. ¿Qué comando permite guardar y salir del editor Vim?
  7. ¿Cuáles son las principales ventajas de usar Nano como editor de texto?
  8. ¿Cómo se pueden dividir pantallas en Vim para trabajar en múltiples ventanas?
  9. Explica cómo usar un comando básico de sed para reemplazar una palabra en un archivo.
  10. ¿Qué es el modo visual en Vim y cómo se accede a él?

Ejercicios basados en el artículo:

  1. Instala GNU Emacs en una distribución basada en Debian y verifica su instalación.
  2. Utiliza Gedit para abrir un archivo de texto, edítalo, y guarda los cambios.
  3. Instala Geany en una distribución basada en Red Hat y crea un archivo nuevo con resaltado de sintaxis.
  4. Abre un archivo en Vim y utiliza comandos para:
    • Mover el cursor al final de una línea.
    • Borrar la palabra actual.
  5. Abre un archivo en Nano, edítalo y guarda los cambios utilizando los comandos básicos del editor.
  6. Crea un script con sed para reemplazar todas las apariciones de la palabra “antiguo” por “nuevo” en un archivo llamado documento.txt.
  7. Copia las líneas 5 a 10 de un archivo usando Vim y pégalas al final del mismo archivo.
  8. Configura Vim para que muestre números de línea y activa el esquema de colores “desert”.
  9. Divide la pantalla de Vim horizontalmente y edita dos archivos al mismo tiempo.
  10. Usa el comando :ab en Vim para definir una abreviatura que convierta “linux” en “Linux Operating System”.

Respuestas a las preguntas:

  1. Diferencias principales entre editores GUI y CLI en Linux:
    • GUI: Más amigables, ofrecen interfaces visuales con menús, botones, y soporte para ratón.
    • CLI: Usan comandos de teclado, son más livianos, eficientes en entornos sin GUI, y adecuados para uso remoto o scripts.
  2. Ventajas y desventajas de GNU Emacs:
    • Ventajas: Altamente personalizable y compatible con múltiples plataformas.
    • Desventajas: Interfaz compleja para principiantes y alto consumo de recursos.
  3. Comando para instalar Gedit en Debian: sudo apt install gedit
  4. Geany como editor con capacidades IDE:
    Ofrece resaltado de sintaxis, terminal incorporada y finalización de código, ideales para programación.
  5. Comandos básicos para navegar en Vim:
    • j: Mover cursor hacia abajo.
    • 0: Mover cursor al inicio de la línea actual.
  6. Guardar y salir en Vim: :wq
  7. Ventajas de Nano:
    • Fácil de usar e ideal para principiantes.
    • Consumo bajo de recursos y atajos de teclado visibles.
  8. Dividir pantallas en Vim:
    • División horizontal: <Ctrl> + w s
    • División vertical: <Ctrl> + w v
  9. Reemplazar una palabra con sed: sed 's/antiguo/nuevo/g' archivo.txt
  10. Modo visual en Vim:
    Permite seleccionar texto para copiar, cortar o modificar. Se accede presionando v (modo de caracteres) o V (modo de línea).

Respuestas a los ejercicios:

  1. Instalar GNU Emacs en Debian: sudo apt update sudo apt install emacs emacs --version
  2. Abrir y editar un archivo con Gedit: gedit archivo.txt Realiza cambios, guarda con Ctrl + S y cierra la ventana.
  3. Instalar Geany en Red Hat: sudo dnf install geany geany nuevo_archivo.txt
  4. Comandos en Vim:
    • Mover al final de la línea: $
    • Borrar palabra actual: dw
  5. Editar y guardar en Nano: nano archivo.txt Escribe, guarda con Ctrl + O, y cierra con Ctrl + X.
  6. Script sed para reemplazar palabras: sed 's/antiguo/nuevo/g' documento.txt > documento_modificado.txt
  7. Copiar líneas en Vim: :5,10y Gp
  8. Configurar Vim: :set nu :colorscheme desert
  9. Dividir pantalla en Vim:
    • Abre dos archivos: vim archivo1.txt Divide con: <Ctrl> + w s o <Ctrl> + w v.
      Cambia de ventana: <Ctrl> + w w.
  10. Definir abreviatura en Vim: :ab linux Linux Operating System Al escribir “linux” seguido de espacio o enter, se expandirá automáticamente.

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!