Introducción
Emacs es uno de los editores de texto más antiguos y versátiles. La versión GNU Emacs se escribió originalmente en 1984 y es reconocida por sus potentes y completas funciones de edición. Se puede personalizar y ampliar con diferentes modos , lo que permite su uso como entorno de desarrollo integrado (IDE) para lenguajes de programación como Java, C y Python.
Para quienes han usado tanto Vi como el editor de texto nano, de fácil manejo, Emacs se presenta como una opción intermedia. Sus ventajas y características son similares a las de Vi, mientras que sus menús, archivos de ayuda y teclas de comando son comparables a los de nano.
En este artículo, aprenderá cómo instalar Emacs en un servidor Ubuntu 22.04 y usarlo para la edición básica de texto.
Prerrequisitos
Para seguir este tutorial, necesitará un servidor Ubuntu 22.04 configurado con un usuario no root con sudo
privilegios y el firewall habilitado. Puede configurarlo siguiendo nuestra guía “Configuración inicial del servidor con Ubuntu 22.04” .
Paso 1 – Instalación de Emacs
Comience por verificar si su sistema ya tiene Emacs instalado:
emacs
Si el programa está instalado, el editor se iniciará con el mensaje de bienvenida predeterminado. De lo contrario, verá este resultado:
OutputCommand 'emacs' not found, but can be installed with:
sudo apt install e3 # version 1:2.82+dfsg-2
sudo apt install emacs-gtk # version 1:27.1+1-3ubuntu5
sudo apt install emacs-lucid # version 1:27.1+1-3ubuntu5
sudo apt install emacs-nox # version 1:27.1+1-3ubuntu5
sudo apt install jove # version 4.17.3.6-2
See 'snap info emacs' for additional versions.
Para instalar Emacs, utilice el siguiente comando:
sudo apt install emacs
Después de instalar Emacs en su máquina, estará listo para pasar al siguiente paso.
Paso 2 – Uso de la interfaz
Inicie Emacs ejecutando el comando emacs
en su terminal:
emacs
Emacs se inicia con un búfer de edición vacío y espera a que empieces a escribir. Cuando se inicia Emacs sin un archivo especificado, el programa muestra un mensaje de bienvenida:

Para crear un nuevo archivo, mueva el cursor al enlace “Visitar nuevo archivo” pulsando la TAB
tecla y luego ENTER
. También puede pulsar CTRL+X
, y luego CTRL+F
para crear un nuevo archivo. Aparecerá un mensaje al final de su terminal solicitando un nombre de archivo:

Introduce un nombre de archivo para empezar a editar texto. En el siguiente ejemplo, myfile.txt
se utiliza [nombre]. Puedes nombrar el archivo como quieras. Una vez que lo hayas escrito, pulsa ENTER
para continuar.
Un archivo vacío estará listo para la entrada de texto:

En la parte superior de la pantalla hay un menú. Después, hay un amplio espacio de edición. Este se denomina búfer principal , donde se escribe el texto o se visualiza el contenido de un archivo.
Cuando Emacs edita un archivo existente en el disco, primero se carga una copia del documento en memoria y luego se muestra en la ventana principal de edición. Esta área de la memoria se denomina búfer . A medida que se trabaja con el documento, todos los cambios realizados en el espacio de edición se aplican al búfer, mientras que el archivo original en el disco permanece sin cambios. En ocasiones, Emacs guarda automáticamente en segundo plano, pero solo al guardar manualmente el documento se escriben los cambios en el disco. Lo mismo ocurre con los archivos nuevos. Todos los cambios se realizan en el búfer hasta que se guardan. El espacio de edición principal en Emacs es la vista del búfer.
Después del búfer principal, se muestra una barra de texto resaltada cerca de la parte inferior de la pantalla. Esta se denomina barra de estado o línea de modo . El texto que se muestra aquí depende del modo en el que se encuentre Emacs. Entre otras cosas, la barra de estado incluye:
- Nombre del archivo actual
- Ubicación actual del cursor
- Modo de edición actual
- El estado del archivo (– para un archivo sin modificar, ** para un archivo con cambios no guardados y %% para archivos de solo lectura)
Finalmente, hay una sola línea de espacio después de la barra de estado, donde termina la pantalla. En este ejemplo, se muestra el texto “(Nuevo archivo)”. Esta área se llama minibúfer . Emacs es una herramienta basada en comandos y el minibúfer es su principal punto de interacción. Aquí es donde Emacs solicita la entrada de comandos y muestra la salida.
La versión de texto de Emacs trata las ventanas de forma diferente a la versión con interfaz gráfica de usuario (GUI). A diferencia de las aplicaciones basadas en GUI, las ventanas de texto de Emacs no se abren, ya que no pueden hacerlo físicamente en una sesión de terminal o consola. Cuando Emacs necesita abrir una nueva ventana, su búfer principal se divide en dos partes, como si tuviera dos marcos en un navegador. La mitad superior muestra el búfer principal y la inferior muestra el nuevo contenido. Un ejemplo de cómo Emacs abre una nueva ventana es al acceder a sus archivos de ayuda o tutoriales.
Acceder a los menús
Al iniciar Emacs, suele ocupar toda la pantalla. Se puede acceder a la mayoría de sus funciones desde una barra de menú ubicada en la parte superior de la pantalla.
A diferencia de los programas basados en GUI, los menús de texto no se pueden desplegar con un clic del ratón. De hecho, no se pueden resaltar ni desplazarse por los menús con una tecla de acceso directo.
Para acceder a los menús, pulse la F10
tecla . Esto abre otra ventana debajo del búfer principal y muestra una lista de teclas para acceder a los elementos del menú. El minibúfer le solicitará que introduzca la tecla necesaria. Al pulsarla, el contenido de la nueva ventana cambiará, mostrando el siguiente nivel de opciones.
Para salir de los menús, sin importar lo avanzado que esté, presione la ESC
tecla tres veces. Esto generalmente cierra la ventana del menú y lo regresa al búfer principal.
Aquí se muestran algunas de las opciones disponibles en el Tools
menú:
- Calendario
- Calculadora simple
- Calculadora programable
- Buscando en un directorio
- Cifrado y descifrado de documentos
- Enviar y leer correos electrónicos
- Buscar archivos usando grep
- Corrección ortográfica
- Ejecución de comandos de shell y compilación de código
- Control de versiones
- Comparar y fusionar archivos
- Juegos
Acceso a ayuda y tutoriales
Emacs cuenta con un amplio sistema de ayuda y tutoriales. Para acceder a él, puede usar el menú pulsando F10
y pulsar las teclas de flecha RIGHT
o para seleccionar , o pulsar y luego la tecla correspondiente. Por ejemplo, puede introducir una de las siguientes teclas después de pulsar para consultar preguntas frecuentes, tutoriales, noticias y otros temas:LEFT
Help
CTRL+H
CTRL+H
t
para ingresar a un Tutorial de EmacsCTRL+F
para una sección de preguntas frecuentesCTRL+P
Para conocer errores y problemas conocidosCTRL+R
para leer el Manual de EmacsCTRL+E
para encontrar paquetes adicionales
Paso 3 – Uso de las teclas de comando
Ahora que ya conoce la interfaz de usuario, puede empezar a familiarizarse con las teclas de comando de Emacs. Al abrir un archivo, puede escribir y ejecutar comandos simultáneamente.
Las funciones de comando suelen implicar dos o tres teclas. La más común es la CTRL
tecla [ ], seguida de la tecla ALT
[ ] o [ ESC
]. CTRL
Se abrevia como “C” en Emacs. Notas como [ C-x C-c
], significan que se presionan las CTRL+X
teclas juntas y luego [ ] CTRL+C
. De igual forma, C-h t
[ ] significa presionar CTRL+H
juntas, soltar ambas teclas y presionar [ ] t
.
ALT
En Emacs, las teclas y ESC
se denominan teclas metaALT
. En los equipos Apple, en lugar de , se usa la OPTION
tecla . Otros teclados usan una EDIT
tecla. Al igual que la CTRL
tecla , Emacs utiliza funciones multitecla con la tecla meta. Por ejemplo, una notación como M-x
significa que se presionan ALT
o OPTION
y x
juntas. De igual forma, se podría usar ESC+X
para ejecutar el mismo comando.
La ENTER
tecla se muestra como RET
en Emacs, que es la abreviatura de “retorno”. ESC
Suele mostrarse como E
.
La ESC
tecla se puede usar para salir de un comando o mensaje. Por ejemplo, se puede presionar ESC
varias veces para salir de un menú específico. Otra forma de cancelar una operación es presionar CTRL+G
.
Guardar y salir
Una vez que haya realizado cambios en su documento o escrito texto, puede guardarlo presionando CTRL+X
, seguido de CTRL+S
. El minibúfer mostrará el siguiente mensaje:
OutputWrote /home/sammy/myfile.txt
Puede salir de Emacs presionando CTRL+X
y luego CTRL+C
.
Si no guardó manualmente el archivo antes de salir, recibirá este mensaje:
OutputSave file /home/sammy/myfile.txt? (y, n, !, ., q, C-r, C-f, d or C-h)
Presione Y
para guardar el archivo.
Si presionas N
no, recibirás este mensaje:
OutputModified buffers exist; exit anyway? (yes or no)
Entrar yes
para salir sin guardar.
Navegando por el texto
Navegar por un documento extenso o un tema de ayuda puede ser tedioso. Afortunadamente, en Emacs existen varias maneras de navegar por un archivo.
A continuación se muestra una lista de algunas funciones de navegación comunes:
Para realizar esta función | Utilice estas teclas |
---|---|
Pasando a la siguiente línea | CTRL+N (N para Siguiente) |
Moviéndose a la línea anterior | CTRL+P (P de Anterior) |
Avanzando un personaje | CTRL+F (F de Adelante) |
Mover un carácter hacia atrás | CTRL+B (B de atrás hacia adelante) |
Moviendo una palabra hacia adelante | META+F (F de Adelante) |
Mover una palabra hacia atrás | META+B (B de atrás hacia adelante) |
Moverse al inicio de una línea | CTRL+A |
Moviéndose al final de una línea | CTRL+E (E por Fin) |
Moverse al comienzo de una oración | META+A |
Moverse hasta el final de una oración | META+E (E por Fin) |
Moviéndose una página hacia abajo | CTRL+V (o AvPág) |
Subir una página | META+V (o Re Pág) |
Moviéndose al principio del archivo | META+< (Alt + Mayús + “<”) |
Moviéndose al final del archivo | META+> (Alt + Mayús + “>) |
Recuerda que esto META
significa que puedes utilizar cualquiera de las siguientes teclas: ALT
, ESC
, OPTION
, o EDIT
.
Paso 4 – Funciones de edición
Si necesita realizar tareas más especializadas comunes en los procesadores de texto populares, como seleccionar o resaltar una sección específica de un archivo de texto, puede hacerlo en Emacs.
Marcar regiones de texto
Para marcar una región de texto siga estos pasos:
- Mueva el cursor a la posición donde desea que comience la selección. Puede usar cualquiera de los métodos descritos anteriormente para mover el cursor.
- Presione
CTRL+SPACEBAR
oCTRL+@
para marcar el texto y comenzar a resaltarlo. El minibúfer mostrará un mensaje de estadoMark Activated
. - Mueva el cursor a la posición donde desea que termine la región. Utilice cualquiera de las combinaciones de teclas descritas anteriormente.
- El texto se resaltará hasta el punto donde se encuentre ahora el cursor.
- Presione
CTRL-SPACEBAR
oCTRL+@
dos veces para desmarcar el texto resaltado. El minibúfer mostrará un mensaje de estado deMark Deactivated
.
Alternativamente, como en un procesador de textos, puede mantener presionada la SHIFT
tecla y mover el cursor con las teclas de flecha UP
o DOWN
de su teclado para hacer su selección.
Si desea seleccionar el párrafo donde se encuentra el cursor, presione META+H
. Si presiona META+h
repetidamente, se seleccionarán los siguientes párrafos del archivo de texto.
Si desea seleccionar todo el contenido del búfer principal (es decir, “seleccionar todo”), presione CTRL+X
y luego h
.
Cortar, copiar y pegar texto
De manera similar a un procesador de textos, puedes copiar, cortar y pegar texto:
- Para copiar el texto que has seleccionado, presiona
META+W
. - Para cortar la selección de texto, presione
CTRL-W
. - Para pegar una selección de texto, presione
CTRL-Y
.
Eliminar texto
La eliminación de texto mediante las teclas Backspace
y Delete
funciona tal como lo esperarías.
Para borrar una palabra completa rápidamente, mueva el cursor al principio de una palabra y pulse META+D
. Para borrar varias palabras, mantenga pulsada la META
tecla y pulse D
. Las palabras se borrarán una a una.
Para borrar una línea completa, coloque el cursor donde desee y presione CTRL+K
. Esto borra el texto hasta el final de la línea.
Para borrar una oración, pulse META+K
. Tenga en cuenta que Emacs borrará una línea completa o más si no hay dos espacios después del punto. Los dos espacios después del punto son la forma en que Emacs determina si una oración se ha dividido en varias líneas.
Deshacer y rehacer
Puedes deshacer la última operación pulsando CTRL+X
. u
Una combinación de teclas alternativa es CTRL+_
(La tecla que se pulsa aquí sería CTRL
, SHIFT
, y -
para escribir un guion bajo).
Para rehacer la última acción deshacer, presione CTRL+G
, seguido de CTRL+_
.
Búsqueda y reemplazo de texto
En Emacs hay dos direcciones de búsqueda: hacia adelante y hacia atrás. En la búsqueda hacia adelante, la palabra que especifique se buscará hacia adelante desde la posición actual del cursor. En la búsqueda hacia atrás, es al revés.
- Pulsa
CTRL+S
para buscar hacia adelante. Luego, introduce el texto que buscas en el mensaje del minibúfer. - Presione
CTRL+R
para buscar hacia atrás.
Inmediatamente después de ingresar su término de búsqueda, Emacs lo buscará y resaltará cualquier coincidencia que encuentre en el búfer principal.
Por ejemplo, buscar la palabra “gato” en un archivo de texto revelará cada ocurrencia en el búfer principal como un texto resaltado:

Para reemplazar texto, siga estos pasos:
- Presione
META+%
. El minibúfer le solicitará el texto que se buscará conQuery replace:
. - Ingrese el texto que desea reemplazar y presione
ENTER
. - El mini buffer mostrará .
Query replace your_search_term with:
- Ingrese la palabra o frase que desea reemplazarsu_término_de_búsquedacon y presione
ENTER
. - Cada coincidencia se resaltará y se te pedirá que realices un reemplazo. El minibúfer te preguntará .
Query replacing your_search_word with your_replacement_word: (C-h for help)
- Presione
y
para reemplazar la coincidencia actual encontrada. - Presione
n
para saltar al siguiente partido. - Presione
q
para salir sin ningún reemplazo. - Pulsa
!
para realizar un reemplazo global sin indicaciones. El minibúfer mostrará este mensaje: .replaced number occurrences
Agregar alineación izquierda, derecha y centrada
Para centrar una línea, mueva el cursor al comienzo de esa línea y presione META+O
, luego META+S
.
Para justificar una región de texto seleccionada haga lo siguiente:
- Resalte el texto que desea justificar.
- Presione
META+X
. El mini búfer esperará una respuesta. - Ingrese
set-justifiction-
y presione laTAB
tecla. - Se le darán las siguientes opciones de finalización:
set-justification-center
,set-justification-left
,set-justification-right
,set-justification-none
yset-justification-full
. - Complete el comando de justificación, seleccionando
set-justification-right
o uno de su elección, luego presioneENTER
. - El texto seleccionado se justificará en la dirección que usted elija.
A continuación se muestra un ejemplo del texto asignado a las diferentes configuraciones de justificación:

Conversión de mayúsculas y minúsculas
Puedes cambiar el formato de mayúsculas y minúsculas con diferentes comandos. Aquí tienes una lista de algunas teclas de comando:
Para realizar esta función | Utilice estas teclas |
---|---|
Poner en mayúscula una palabra después del cursor | META+C (C para capitalizar) |
Convertir una palabra a minúsculas | META+L (L de minúscula) |
Convertir una palabra a mayúsculas | META+U (U para mayúsculas) |
Convertir un párrafo a mayúsculas | Seleccionar bloque, luegoCTRL+X CTRL+U |
Convertir un párrafo a minúsculas | Seleccionar bloque, luegoCTRL+X CTRL+L |
Si está convirtiendo un párrafo completo o más a mayúsculas o minúsculas, aparecerá una nueva ventana y un mensaje:
WindowYou have typed C-x C-l, invoking disabled command downcase-region. It is disabled because new users often find it confusing. Here’s the first part of its description: Convert the region to lowercaselower case. In programs, it wants two arguments.These arguments specify the starting and ending character numbers of the region to operate on. When used as a command, the text between point and the mark is operated on. Do you want to use this command anyway? You can now type 'y' to try it and enable it (no questions if you use it again). 'n' to cancel--don’t try the command, and it remains disabled. 'SPC' to try the command just this once, but leave it disabled. '!' to try it, and enable all disabled commands for this session only.

Proceda presionando las teclas mencionadas.
Administrar Windows
Administrar ventanas dentro de Emacs puede ayudarle a trabajar de manera más eficiente con sus archivos.
Por ejemplo, desde el búfer principal, cambia al tutorial de Emacs presionando y CTRL+h
luego t
. La ventana principal del búfer ahora es el tutorial de Emacs. Si quieres volver al myfile.txt
búfer, presiona CTRL+X
y luego b
. Este es el comando “switch buffer” . Emacs te pedirá el nombre del búfer al que quieres cambiar. Empieza a escribir el nombre del búfer myfile.txt
y presiona ENTER
. Esto te llevará del tutorial de Emacs al archivo que especificaste.
Paso 5 – Introducción de modos
Entrar en un modo mayor
Una de las razones por las que Emacs ha sido tan ampliamente adoptado en la comunidad UNIX es su capacidad para asumir diferentes modos. Un modo puede mejorar la funcionalidad de Emacs.
Según el modo seleccionado, Emacs puede usarse como procesador de texto para escribir archivos de texto o puede adaptarse para tareas avanzadas como escribir código Python, C o Java. Por ejemplo, puede cambiar el modo de Emacs para que funcione con sistemas de control de versiones, ejecute comandos de shell o lea páginas de manual.
Existen dos tipos de modos de Emacs. Uno se denomina modo principal . En este modo, Emacs puede utilizarse como entorno de desarrollo integrado (IDE) para lenguajes de programación o scripting. En este modo, el programa ofrece funciones especializadas como resaltado de sintaxis con color, sangría y formato, opciones de menú específicas del lenguaje o interfaz automática con depuradores y compiladores.
Para demostrarlo, puedes escribir una aplicación “Hola mundo” en Python usando Emacs.
Dentro de tu terminal y en tu directorio raíz, ingresa los siguientes comandos:
cd ~
emacs hello.py
Emacs reconoce la extensión del archivo y se iniciará en modo Python. En el búfer principal, introduzca el siguiente código Python:
print "hello world!\n"
Las palabras clave ahora se indican con resaltado de sintaxis en color. Observe también que la línea de estado sobre el minibúfer revela el modo en el que se encuentra. El menú principal también tiene una entrada específica para Python:

Guarde el buffer con CTRL+X
CTRL+S
.
Para cambiar el modo principal desde Emacs, pulse META+X
. El minibúfer esperará su respuesta. A continuación, podrá cambiar de modo. Estos son algunos ejemplos de modos principales:
- modo c
- modo Python
- modo java
- modo html
- modo perl
- modo shell-script
- modo texto
Entrar en un modo menor
En comparación con los modos principales, los modos secundarios ofrecen funciones más específicas. Estas funciones pueden estar vinculadas a un modo principal específico o tener un efecto en todo el sistema, independientemente del modo principal. Además, a diferencia de los modos principales, puede haber varios modos secundarios activos simultáneamente. Los modos secundarios son como interruptores: algunos están activados por defecto, otros no. Si un modo secundario ya está activado, al llamarlo se desactivará. Si está desactivado, se volverá a activar.
Un ejemplo de un modo menor es la opción para configurar la justificación utilizada en los ejemplos anteriores.
Otro ejemplo de modo menor es el auto-fill-mode
. Para acceder a este modo en el editor de Emacs, pulse la META+X
tecla y luego Intro auto-fill-mode
.
Este modo permite que una línea de texto se divida y avance a la siguiente cuando su longitud supera los 70 caracteres. Recuerda que al invocar un modo menor, funciona de forma muy similar a un interruptor. Al invocar el mismo comando de nuevo, se desactivará el salto de línea.
A continuación se muestran algunos ejemplos más de modos menores:
auto-save-mode
:Esto alterna la propiedad de guardado automático que guarda periódicamente el contenido del búfer principal detrás de escena.line-number-mode
:Esto alterna la visualización del número de línea actual en la barra de estado.linum-mode
: Alterna la visualización de números de línea a lo largo del borde izquierdo de la ventana.column-number-mode
:Muestra la posición actual del cursor en la barra de estado.overwrite-mode
Es como presionar unaINS
tecla en el teclado. Al activarlo, sobrescribirá el texto a la derecha del cursor mientras escribes.menu-bar-mode
:Esto puede activar o desactivar el menú principal.
Conclusión
En este tutorial, aprendió sobre los distintos comandos, funciones de edición y modos en Emacs.
Para comprender mejor el editor de Emacs, la página web de GNU Emacs ofrece abundante información, incluyendo enlaces a otros recursos como la Wiki de Emacs . También puede consultar el manual de GNU Emacs .