Apéndice C Argumentos de línea de órdenes para la invocación de Emacs
Emacs soporta argumentos de línea de comandos para solicitar varias acciones al invocar Emacs. Estos son para compatibilidad con otros editores y para actividades sofisticadas. No recomendamos usarlos para edición ordinaria (Ver 40 Usar Emacs Como Servidor, para una forma de acceder a un trabajo Emacs existente desde la línea de comandos).
Los argumentos que empiezan por -
son opciones, y también lo es +linenum
. Todos los demás argumentos especifican archivos a visitar. Emacs visita los ficheros especificados mientras se inicia. El último archivo especificado en la línea de comandos se convierte en el buffer actual; los demás ficheros también se visitan en otros búferes. Como con la mayoría de los programas, el argumento especial --
dice que todos los argumentos subsiguientes son nombres de archivos, no opciones, incluso si empiezan por -
.
Las opciones de comandos de Emacs pueden especificar muchas cosas, como el tamaño y la posición de la ventana X que usa Emacs, sus colores, etcétera. Algunas opciones permiten un uso avanzado, como ejecutar funciones Lisp sobre ficheros en modo batch. Las secciones de este capítulo describen las opciones disponibles, ordenadas según su propósito.
Existen dos formas de escribir opciones: las formas cortas que comienzan con un solo -
, y las formas largas que comienzan con --'
. Por ejemplo, -d
es una forma corta y --display
es la forma larga correspondiente.
Las formas largas con --
son más fáciles de recordar, pero más largas de escribir. Sin embargo, no es necesario que escriba el nombre completo de la opción; cualquier abreviatura inequívoca es suficiente. Cuando una opción larga requiere un argumento, puede utilizar un espacio o un signo igual para separar el nombre de la opción y el argumento. Así, para la opción --display
, puede escribir --display sugar-bombs:0.0
o --display=sugar-bombs:0.0
. Recomendamos un signo igual porque hace que la relación sea más clara, y las tablas siguientes siempre muestran un signo igual.
La mayoría de las opciones especifican cómo inicializar Emacs, o establecer parámetros para la sesión Emacs. Las llamamos opciones iniciales. Unas pocas opciones especifican cosas que hacer, como cargar bibliotecas o llamar a funciones Lisp. Estas se llaman opciones de acción. Éstas y los nombres de archivo se denominan argumentos de acción. Los argumentos de acción se almacenan como una lista de cadenas en la variable command-line-args
. (En realidad, cuando Emacs se inicia, command-line-args
contiene todos los argumentos pasados desde la línea de comandos; durante la inicialización, los argumentos iniciales se eliminan de esta lista cuando se procesan, dejando sólo los argumentos de acción).
C.1 Argumentos de Acción
Esta es una tabla de argumentos de acción:
archivo
--file=archivo
--find-file=archivo
--visit=archivo a
Visita el archivo especificado. Ver 19.2 Visitar Archivos.
Cuando Emacs se inicia, muestra el buffer de inicio en una ventana, y el buffer que visita el archivo en otra ventana (ver 21 Varias Ventanas). Si proporciona más de un argumento de archivo, el archivo mostrado es el último especificado en la línea de comandos; los otros ficheros son visitados pero sus buffers no se muestran.
Si el buffer de arranque está desactivado (ver 6 Entrar en Emacs), entonces arrancar Emacs con un argumento de archivo, lo muestra visitado por el buffer en una única ventana. Con dos argumentos de fichero, Emacs muestra los ficheros en dos ventanas diferentes. Con más de dos argumentos de fichero, Emacs muestra el último fichero especificado en una ventana, más otra ventana con un Menú Buffer mostrando todos los demás ficheros (ver 20.5 Trabajar con Varios Búferes). Para inhibir el uso del Menú Buffer para esto, cambie la variable
inhibit-startup-buffer-menu
at
.
+linenum file
Visita el archivo especificado y va a la línea linenum del mismo.
+linenum:columnnum file
Visita el archivo especificado, va a la línea número linenum y pone el punto en la columna número columnnum.
-l archivo
--load=archivo
Carga una biblioteca Lisp llamada archivo con la función
load
. Si archivo no es un nombre de archivo absoluto, Emacs lo busca primero en el directorio actual, y luego en los directorios listados enload-path
(ver 28.8 Bibliotecas de Código Lisp para Emacs).Advertencia: Si argumentos anteriores de la línea de comandos han visitado ficheros, el directorio actual es el directorio del último fichero visitado.
-L dir
--directory=dir
Antepone el directorio dir a la variable
load-path
. Si especifica múltiples opciones-L
, Emacs preserva el orden relativo; por ejemplo, usando-L /foo -L /bar
resulta en una ruta de carga de la forma ("/foo" "/bar"
…). Si dir comienza con:
, Emacs elimina el:
y añade (en lugar de anteponer) el resto aload-path
. (En MS Windows, use;
en lugar de:
; es decir, usa el valor depath-separator
).
--funcall=función
Llama a una función Lisp de nombre función. Si se trata de una función interactiva (un comando), lee los argumentos de forma interactiva como si hubiera llamado a la misma función con una secuencia de teclas. En caso contrario, llama a la función sin argumentos.
--eval=expresión
--execute=expresión
Evalúa a la expresión Lisp de nombre expresión.
--insert=archivo
Inserta el contenido del archivo en el búfer actual cuando se procesa este argumento de la línea de órdenes. Normalmente, se trata del búfer scratch (consulte 28.10. Búferes de Interacción Lisp), pero si los argumentos anteriores de la línea de comandos visitan archivos o conmutan búferes, podría tratarse de un búfer diferente. El efecto de este argumento de la línea de comandos es similar a lo que hace
M-x insert-file
(consulte 19.12 Operaciones Varias con Archivos).--kill
Sale de Emacs sin pedir confirmación.
--help
Imprime un mensaje de uso que enumera todas las opciones disponibles y, a continuación, sale sin problemas.
--version
Imprime la versión de Emacs y sale exitosamente.
--fingerprint
Imprime la «huella digital» de Emacs, que se utiliza para la identificación única de la versión compilada de Editor.
C.2 Opciones Iniciales
Las opciones iniciales especifican parámetros para la sesión Emacs. Esta sección describe las opciones iniciales más generales; algunas otras opciones específicamente relacionadas con el sistema X Window aparecen en las secciones siguientes.
Algunas opciones iniciales afectan a la carga del archivo de inicio. Normalmente, Emacs carga primero site-start.el
si existe, luego el propio fichero de inicio del Usuario, si existe, y finalmente el fichero de inicialización por defecto default.el
si existe (ver 50.4. El Archivo de Inicialización de Emacs). Ciertas opciones evitan la carga de algunos de estos archivos o los sustituyen por otros.
-chdir directorio
--chdir=directorio
Cambia a directorio antes de hacer cualquier otra cosa. Esto es usado principalmente por la gestión de sesiones en X para que Emacs se inicie en el mismo directorio en el que se detuvo. Esto hace que guardar y restaurar el escritorio sea más fácil.
-t device
--terminal=device
Utiliza device como dispositivo para la entrada y salida del terminal. Esta opción implica
--no-window-system
.
-d display
--display=display
Utiliza el Sistema X Window y usa la pantalla de nombre display para abrir el marco inicial de Emacs. Vea C.5 Especifica el Nombre de Pantalla para más detalles.
-nw
--no-window-system
No se comunica directamente con el sistema de ventanas, ignorando la variable de entorno
DISPLAY
aunque esté establecida. Esto significa que Emacs utiliza el terminal desde el que se lanzó para toda su visualización y entrada.
-batch
--batch
Ejecuta Emacs en modo batch. El modo por lotes se usa para ejecutar programas escritos en Emacs Lisp desde scripts de shell, makefiles, etc. Para invocar un programa Lisp, use la opción
-batch
junto con una o más de las opciones-l
,-f
o--eval
(vea C.1 Argumentos de Acción). Vea C.3 Ejemplo de Argumento de Comando, para un ejemplo.En modo batch, Emacs no muestra el texto que se está editando, y los caracteres estándar de interrupción del terminal como
C-z
yC-c
tienen su efecto habitual. Las funciones de Emacs que normalmente imprimen un mensaje en el área de eco, imprimirán en el flujo de salida estándar (stdout
) o en el flujo de error estándar (stderr
). (Para ser precisos, funciones comoprin1
,princ
ystdout
, mientras que message y error imprimen enstderr
). Las funciones que normalmente leen la entrada del teclado desde el minibuffer toman su entrada del flujo de entrada estándar del terminal (stdin
) en su lugar.
--batch
implica-q
(no cargar un archivo de inicialización), perosite-start.el
se carga de todas formas. También hace que Emacs salga después de procesar todas las opciones del comando. Además, desactiva el auto-guardado excepto en búferes para los que el auto-guardado se solicita explícitamente, y cuando se guardan archivos omite la llamada al sistemafsync
a menos que se solicite lo contrario.Los errores que ocurren al ejecutar un Emacs
--batch
resultarán en la impresión de un trazado (backtrace) de Emacs Lisp. Para desactivar este comportamiento, establezcabacktrace-on-error-noninteractive
anil
.
--script archivo
Ejecuta Emacs en modo batch, como
--batch
, y luego lee y ejecuta el código Lisp en archivo.El uso normal de esta opción es en archivos de guión ejecutables que ejecutan Emacs. Pueden empezar con este texto en la primera línea:
#!/usr/bin/emacs --script
que invocará Emacs con
--script
y proporcionará el nombre del archivo de script como archivo. Emacs Lisp trata entonces el#!
de esta primera línea como un delimitador de comentario.-x
Esta opción sólo puede utilizarse en archivos de script ejecutables, y debe invocarse de la siguiente manera:
#!/usr/bin/emacs -x
Es como
--script
, pero suprime la carga de los archivos init (como--quick
), y no puede usarse en una línea de órdenes normal (ya que no especifica el script a cargar). Además, cuando llega al final del script, sale de Emacs y utiliza el valor del formulario final como valor de salida del script (si el valor final es numérico). En caso contrario, siempre saldrá con un valor cero.
--no-build-details
Omite detalles como el nombre del sistema y el tiempo de compilación del ejecutable de Emacs, para que las compilaciones sean más deterministas. Esta opción no está pensada para un uso regular (o interactivo), ya que hace que comandos como system-name devuelvan
nil
.
-q
--no-init-file
No carga ningún fichero de inicialización (ver 50.4. El Archivo de Inicialización de Emacs). Cuando Emacs es invocado con esta opción, la facilidad Personalizar no permite guardar opciones (ver 50.1 Interfaz de Personalización Fácil). Esta opción no desactiva la carga de
site-start.el
.
--no-site-file
-nsl
No carga
site-start.el
(ver 50.4. El Archivo de Inicialización de Emacs). La opción-Q
también lo hace, pero otras opciones como-q
no.
--no-site-lisp
No incluye los directorios
site-lisp
enload-path
(vea 50.4. El Archivo de Inicialización de Emacs). La opción-Q
también hace esto.--init-directory
Especifica el directorio que se utilizará para buscar los archivos de inidio de Emacs.
--no-splash
No muestra una pantalla de inicio. También puede conseguir este efecto estableciendo la variable
inhibit-startup-screen
a nonil
en su fichero de inicio (ver 6 Entrar en Emacs).--no-x-resources
No carga recursos X. También puede conseguir este efecto estableciendo la variable
inhibit-x-resources
at
en su archivo de inicialización (consulte D.1 Recursos X Recursos X).
-Q
--quick
Inicia Emacs con las personalizaciones mínimas. Esto es similar a usar
-q
,--no-site-file
,--no-site-lisp
,--no-x-resources
, y--no-splash
juntos.
-daemon
--daemon[=name]
--bg-daemon[=name]
--fg-daemon[=name]
Inicia Emacs como demonio: después de que Emacs se inicie, arranca el servidor Emacs sin abrir ningún marco. Entonces puedes usar el comando
emacsclient
para conectarlo a Emacs para editar. (Opcionalmente, puede especificar un nombre explícito para el servidor; si lo hace, necesitará especificar el mismo nombre cuando invoqueemacsclient
, mediante su opción--socket-name
, ver 40.3 Opciones de emacsclient). Ver 40 Usar Emacs Como Servidor, para información sobre el uso de Emacs como demonio. Un demonio «en segundo plano» se desconecta de la terminal y se ejecuta en segundo plano (--daemon
es un alias de--bg-daemon
).
--no-desktop
No recarga ningún escritorio guardado. Véase 45 Guardar Sesiones de Emacs.
-u usuario’
--user=usuario
Carga el fichero de inicialización del usuario en lugar del suyo propio [25].
--debug-init
Habilita el depurador de Emacs Lisp para errores en el fichero de inicio. Consulte Entrar en el Depurador ante un Error en El Manual de Referencia de GNU Emacs Lisp.
--module-assertions
Habilita comprobaciones de corrección complejas cuando se trabaja con módulos cargables dinámicamente. Esta opción está pensada para autores de módulos que deseen verificar que su módulo cumple los requisitos de la API del módulo. La opción hace que Emacs aborte si se dispara una declaración relacionada con el módulo. Vea Escribiendo Módulos Cargables Dinámicamente en El Manual de Referencia de GNU Emacs Lisp.
--dump-file=archivo
Carga el estado de Emacs que se volcado previamente en archivo. Por defecto, un Emacs instalado buscará su estado de volcado en un archivo llamado
emacs.pdmp
en el directorio donde la instalación de Emacs pone los ficheros dependientes de la arquitectura; la variableexec-directory
contiene el nombre de ese directorio. emacs es el nombre del archivo ejecutable de Emacs, normalmente aparece comoemacs
. (Cuando invoque al Editor desde el directoriosrc
donde fue construido sin instalarlo, buscará el archivo dump en el directorio del ejecutable). Si renombra o mueve el fichero de volcado a un lugar diferente, puede usar esta opción para decirle a Emacs dónde encontrar ese archivo.
C.3 Ejemplo de Argumento de Comando
He aquí un ejemplo de uso de Emacs con argumentos y opciones. Asume que tiene un archivo de programa Lisp llamado hack-c.el
que, cuando se carga, realiza alguna operación útil en el buffer actual, que se espera sea un programa C.
emacs --batch foo.c -l hack-c -f save-buffer >& log
Esto dice que visite foo.c
, cargue hack-c.el
(que hace cambios en el archivo visitado), guarde foo.c
(note que save-buffer
es la función a la que está ligada C-x C-s
), y luego salga de nuevo al shell (debido a --batch
). --batch
también garantiza que no habrá problemas redirigiendo la salida al log, porque Emacs no asumirá que tiene un terminal de pantalla con el que trabajar.
C.4 Variables de Entorno
El entorno es una característica del sistema operativo; consiste en una colección de variables con nombres y valores. Cada variable se denomina variable de entorno; los nombres de estas variables distinguen entre mayúsculas y minúsculas, y es convencional utilizar sólo mayúsculas. Los valores son cadenas de texto.
Lo que hace que el entorno sea útil es que los subprocesos heredan el entorno automáticamente de su proceso padre. Esto significa que puede configurar una variable de entorno en su shell de inicio de sesión, y todos los programas que ejecute (incluyendo Emacs) la verán automáticamente. Los subprocesos de Emacs (como shells, compiladores y programas de control de versiones) también heredan el entorno de Emacs.
Dentro de Emacs, el comando M-x getenv
lee el nombre de una variable de entorno, e imprime su valor en el área echo. M-x setenv
establece una variable en el entorno Emacs, y C-u M-x setenv
elimina una variable. (Las sustituciones de variables de entorno con $
funcionan en el valor igual que en los nombres de fichero; ver Nombres de Archivos con $ en 19.1 Nombres de Archivos). La variable initial-environment
almacena el entorno inicial heredado por Emacs.
La forma de establecer variables de entorno fuera de Emacs depende del sistema operativo, y especialmente del shell que estés usando. Por ejemplo, aquí está cómo establecer la variable de entorno ORGANIZACIÓN a “no mucho” usando Bash:
export ORGANIZACIÓN="no mucho"
y aquí está cómo hacerlo en csh o tcsh:
setenv ORGANIZACIÓN "no mucho"
Cuando Emacs está usando el sistema X Window, varias variables de entorno que controlan X funcionan también para Emacs. Consulte la documentación de X para más información.
C.4.1 Variables Generales
Aquí hay una lista alfabética de variables de entorno que tienen significados especiales en Emacs. La mayoría de estas variables también son usadas por otros programas. Emacs no requiere que ninguna de estas variables de entorno esté configurada, pero utiliza sus valores si lo están.
CDPATH
Utilizado por el comando
cd
para buscar el directorio especificado, cuando se especifica un directorio relativo.COLORTERM
Si esta variable tiene el valor
truecolor
, le dice a Emacs que use color verdadero de 24 bits en pantallas en modo texto incluso si la base de datos terminfo no está instalada. Emacs usará comandos incorporados para solicitar color verdadero por valores RGB en lugar de la información terminfo que falta.DBUS_SESSION_BUS_ADDRESS
Usado por D-Bus cuando Emacs se compila con él. Normalmente, no hay necesidad de cambiarlo. Establecerlo a una dirección ficticia, como
unix:path=/dev/null
, suprime las conexiones al bus de sesión D-Bus así como el auto-lanzamiento del bus de sesión D-Bus si no se está ejecutando todavía.EMACSDATA
Directorio para los archivos independientes de la arquitectura que vienen con Emacs. Se utiliza para inicializar la variable
data-directory
.EMACSDOC
Directorio para el archivo de cadenas de documentación, que se utiliza para inicializar la variable Lisp
doc-directory
.EMACSLOADPATH
Una lista separada por dos puntos de directorios [26] para buscar archivos Emacs Lisp. Si se establece, modifica el valor inicial habitual de la variable
load-path
(véase 28.8 Bibliotecas de Código Lisp para Emacs). Un elemento vacío representa el valor por defecto deload-path
; por ejemplo, usarEMACSLOADPATH="/tmp:"
añade/tmp
al frente delload-path
por defecto. Para especificar un elemento vacío en medio de la lista, utilice 2 veces dos puntos seguidos, como enEMACSLOADPATH="/tmp::/foo"
.EMACSPATH
Una lista separada por dos puntos de directorios para buscar archivos ejecutables. Si se establece, Emacs usa esto además de
PATH
(ver más abajo) cuando inicializa la variableexec-path
(ver 39 Ejecución de comandos de shell desde Emacs).EMAIL
Su dirección de correo electrónico; se usa para inicializar la variable Lisp
user-mail-address
, que la interfaz de correo de Emacs pone en la cabeceraFrom
de los mensajes salientes (ver 33.2 Campos de Cabecera de Correo).ESHELL
Se utiliza en el modo shell para anular la variable de entorno
SHELL
(véase 39.2 Subshell Interactiva).HISTFILE
El nombre del archivo en el que se guardan los comandos del shell entre inicios de sesión. Esta variable por defecto es
~/.bash_history
si usa Bash,~/.sh_history
si usa ksh, y~/.history
en caso contrario.HOME
La ubicación de sus archivos en el árbol de directorios; se utiliza para la expansión de los nombres de archivo que comienzan con una tilde (
~
). Si se establece, debería ser un nombre de archivo absoluto. (Si se establece a un nombre de archivo relativo, Emacs lo interpreta relativo al directorio donde se inició Emacs, pero no recomendamos usar esta característica). Si no se establece,HOME
normalmente toma por defecto el directorio personal del Usuario dado porLOGNAME
,USER
o su ID de Usuario, o/
si todo lo demás falla. En MS-DOS, por defecto es el directorio desde el que se inició Emacs, con/bin
eliminado al final si estaba presente. En Windows, el valor por defecto deHOME
es el subdirectorioApplication Data
del directorio del perfil de Usuario (normalmente, este esC:/Documents and Settings/username/Application Data
, donde username es su nombre de Usuario), aunque por compatibilidad con versiones anterioresC:/
será usado en su lugar si un archivo.emacs
es encontrado allí.HOSTNAME
El nombre de la máquina en la que se está ejecutando Emacs.
INFOPATH
Una lista separada por dos puntos de directorios en los que buscar archivos Info.
LC_ALL
LC_COLLATE
LC_CTYPE
LC_MESSAGES
LC_MONETARY
LC_NUMERIC
LC_TIME
LANG
La configuración regional preferida por el Usuario. La configuración regional tiene seis categorías, especificadas por las variables de entorno
LC_COLLATE
para ordenación,LC_CTYPE
para codificación de caracteres,LC_MESSAGES
para mensajes del sistema,LC_MONETARY
para formatos monetarios,LC_NUMERIC
para números yLC_TIME
para fechas y horas. Si una de estas variables no está definida, la categoría adoptará por defecto el valor de la variable de entornoLANG
, o la configuración regionalC
por defecto siLANG
no está definida. Pero si se especificaLC_ALL
, anula la configuración de todas las demás variables de entorno de configuración regional.En MS-Windows y macOS, si
LANG
no está ya establecido en el entorno, Emacs lo establece basándose en el valor por defecto de todo el sistema. Puede configurar esto en el Panel de Control «Configuración Regional» en algunas versiones de MS-Windows, y en la Preferencia de Sistema «Idioma y Región» en macOS.El valor de la categoría
LC_CTYPE
se compara con las entradas delocale-language-names
,locale-charset-language-names
ylocale-preferred-coding-systems
, para seleccionar un entorno de idioma y un sistema de codificación por defecto. Véase 23.2 Entornos de Lenguaje (o Idioma).
LOGNAME
Nombre de inicio de sesión del usuario. Véase también
USER
.MAIL
El nombre del buzón de entrada del sistema.
MH
Nombre del archivo de configuración para el sistema
mh
. Ver MH-E en La interfaz de Emacs para MH.NAME
Su nombre real. Se utiliza para inicializar la variable
user-full-name
(véase 33.2 Campos de Cabecera de Correo).NNTPSERVER
El nombre del servidor de noticias. Utilizado por los paquetes mh y Gnus.
ORGANIZATION
El nombre de la organización a la que pertenece. Se utiliza para establecer el encabezado
Organization:
en sus mensajes del paquete Gnus.PATH
Una lista separada por dos puntos de directorios que contienen archivos ejecutables. Se utiliza para inicializar la variable
exec-path
(véase 39 Ejecución de comandos de shell desde Emacs).PWD
Si se establece, este debe ser el directorio por defecto al iniciar Emacs.
REPLYTO
Si se establece, especifica un valor inicial para la variable
mail-default-reply-to
(véase 33.2 Campos de Cabecera de Correo).SAVEDIR
El nombre de un directorio en el que se guardan por defecto los artículos de noticias. Utilizado por el paquete Gnus.
SHELL
El nombre de un intérprete utilizado para analizar y ejecutar programas lanzados desde dentro de Emacs. Se utiliza para inicializar la variable
shell-file-name
(véase 39.1 Comandos de shell Simples).SMTPSERVER
El nombre del servidor de correo saliente. Se utiliza para inicializar la variable
smtpmail-smtp-server
(véase 33.4.1 Envío de Correo).TERM
El tipo de terminal que Emacs está usando. Esta variable debe establecerse a menos que Emacs se ejecute en modo por lotes. En MS-DOS, por defecto es
internal
, que especifica una emulación de terminal incorporada que maneja la propia pantalla de la máquina.TERMCAP
El nombre del archivo de biblioteca termcap que describe cómo programar el terminal especificado por
TERM
. Por defecto es/etc/termcap
.
TMPDIR
TMP
TEMP
Estas variables de entorno se utilizan para inicializar la variable
temporary-file-directory
, que especifica un directorio en el que colocar los archivos temporales (véase 19.3.2 Archivos de Copia de Seguridad). Emacs intenta usar primeroTMPDIR
. Si no se establece, Emacs normalmente vuelve a/tmp
, pero en MS-Windows y MS-DOS vuelve aTMP
, luego aTEMP
, y finalmente ac:/temp
.
TZ
Especifica la zona horaria por defecto y posiblemente también información sobre el horario de verano. Ver Reglas de Zona Horaria en el Manual de Referencia Emacs Lisp . En MS-DOS, si
TZ
no está establecido en el entorno cuando se inicia Emacs, Emacs define un valor por defecto apropiado para el código de país devuelto por DOS. En MS-Windows, Emacs no usaTZ
en absoluto.USER
Nombre de inicio de sesión del Usuario. Véase también
LOGNAME
. En MS-DOS, por defecto esroot
.VERSION_CONTROL
Se utiliza para inicializar la variable de control de versiones (véase 19.3.2.1 Copias de Seguridad Simples o Numeradas).
Aquí y a continuación, siempre que digamos «lista de directorios separada por dos puntos», nos referiremos a sistemas Unix y GNU/Linux. En MS-DOS y MS-Windows, los directorios se separan por punto y coma, ya que los nombres de archivo de DOS/Windows pueden incluir dos puntos después de la letra de la unidad.
C.4.2 Otras Variables
Estas variables se utilizan sólo en configuraciones particulares:
COMSPEC
En MS-DOS y MS-Windows, el nombre del intérprete de comandos que se utilizará al invocar archivos por lotes y comandos internos del shell. También se utiliza para establecer un valor por defecto para la variable de entorno
SHELL
.NAME
En MS-DOS, esta variable tiene por defecto el valor de la variable
USER
.EMACSTEST
En MS-DOS, especifica un archivo para registrar el funcionamiento del emulador de terminal interno. Esta función es útil para enviar informes de errores.
EMACSCOLORS
En MS-DOS, esto especifica los colores de la pantalla. Es útil establecerlos de esta manera, ya que de otra forma Emacs mostraría los colores por defecto momentáneamente cuando se inicia.
El valor de esta variable debe ser la codificación de dos caracteres de los colores de primer plano (el primer carácter) y de fondo (el segundo carácter) de la cara por defecto. Cada carácter debe ser el código hexadecimal para el color deseado en una pantalla estándar de PC en modo texto. Por ejemplo, para obtener texto azul sobre un fondo gris claro, especifique
EMACSCOLORS=17
, ya que 1 es el código del color azul y 7 es el código del color gris claro.La pantalla del PC normalmente sólo soporta ocho colores de fondo. Sin embargo, Emacs cambia la pantalla del DOS a un modo en el que los 16 colores pueden ser usados para el fondo, por lo que los cuatro bits del color de fondo son realmente usados.
PRELOAD_WINSOCK
En MS-Windows, si estableces esta variable, Emacs cargará e inicializará la biblioteca de red al arrancar, en lugar de esperar hasta la primera vez que se requiera.
WAYLAND_DISPLAY
Pgtk Emacs (construido con
--with-pgtk
) puede ejecutarse en Wayland de forma nativa.WAYLAND_DISPLAY
especifica la conexión al compositor.emacs_dir
En MS-Windows,
emacs_dir
es una variable de entorno especial, que indica la ruta completa del directorio en el que está instalado Emacs. Si Emacs está instalado en la estructura de directorios estándar, calcula este valor automáticamente. No sirve de mucho configurar esta variable por Usted mismo a menos que su instalación no sea estándar, ya que a diferencia de otras variables de entorno, será sobrescrita por Emacs al arrancar. Cuando establezca otras variables de entorno, comoEMACSLOADPATH
, puede que encuentre útil usaremacs_dir
en lugar de codificar una ruta absoluta. Esto permite que múltiples versiones de Emacs compartan la misma configuración de variables de entorno, y le permite mover el directorio de instalación de Emacs, sin cambiar ninguna configuración de entorno o del registro.
C.4.3 El Registro del Sistema MS-Windows
En MS-Windows, las variables de entorno emacs_dir
, EMACSLOADPATH
, EMACSDATA
, EMACSPATH
, EMACSDOC
, SHELL
, TERM
, HOME
, LANG
y PRELOAD_WINSOCK
también pueden establecerse en la sección HKEY_CURRENT_USER
o HKEY_LOCAL_MACHINE
del registro del sistema, bajo la clave /Software/GNU/Emacs
. Cuando Emacs se inicia, además de comprobar el entorno, también comprueba el registro del sistema en busca de esas variables.
Para determinar el valor de esas variables, Emacs sigue el siguiente procedimiento. Primero, comprueba el entorno. Si la variable no se encuentra allí, busca una clave de registro con el nombre de la variable en /Software/GNU/Emacs
; primero en la sección HKEY_CURRENT_USER
del registro, y si no se encuentra allí, en la sección HKEY_LOCAL_MACHINE
. Finalmente, si el Editor sigue sin poder determinar los valores, utiliza los valores por defecto compilados.
Tenga en cuenta que la configuración del registro tiene un efecto global en todo el sistema: afectará a todas las sesiones de Emacs que se ejecuten en el sistema. Por lo tanto, si ejecuta diferentes versiones de Emacs, o usa tanto ejecutables de Emacs instalados como desinstalados, o construye nuevas versiones de Emacs, la configuración en el registro hará que todas ellas usen los mismos directorios, lo que probablemente no es lo que quiere. Por esta razón, recomendamos no configurar estas variables en el registro. Si tiene estos ajustes en el registro, le recomendamos que los elimine.
Si ejecuta el programa de instalación de Emacs MS-Windows addpm.exe
, actualizará cualquier configuración existente en el registro de las variables emacs_dir
, EMACSLOADPATH
, EMACSDATA
, EMACSPATH
, EMACSDOC
, SHELL
y TERM
para que tengan los valores adecuados para la versión de Emacs instalada con la que vino addpm.exe
. Tenga en cuenta que addpm.exe
no creará ninguna configuración del registro que no existiera, sólo actualizará las configuraciones existentes, que muy probablemente se heredaron de una instalación antigua de Emacs, para que sean compatibles con la versión de Emacs recién instalada. Ejecutar addpm.exe
ya no es necesario cuando se instalan versiones recientes de Emacs, así que sólo recomendamos hacerlo si está actualizando desde una versión antigua, y no puede eliminar estas configuraciones del registro por alguna razón.
Además de las variables de entorno anteriores, también puede añadir opciones a la clave de registro /Software/GNU/Emacs
para especificar recursos X (ver Apéndice D Opciones y Recursos de X Opciones X y Recursos). La mayoría de las opciones que puede especificar en su fichero .Xdefaults
pueden ser configuradas desde esa clave del registro.
C.5 Especifica el Nombre de Pantalla
La variable de entorno DISPLAY
indica a todos los clientes X, incluyendo Emacs, dónde mostrar sus ventanas. Su valor se establece por defecto en circunstancias normales, cuando arranca un servidor X y ejecuta trabajos localmente. Puede especificar la pantalla usted mismo; una razón para hacer esto es si quiere entrar en otro sistema y ejecutar Emacs allí, y tener la ventana mostrada en su terminal local.
DISPLAY
tiene la sintaxis host:display.screen
, donde host es el nombre de host de la máquina servidor del Sistema X Window, display es un número arbitrariamente asignado que distingue su servidor (terminal X) de otros servidores en la misma máquina, y screen es un campo que permite a un servidor X controlar múltiples pantallas de terminal. El punto y el campo screen son opcionales. Si se incluyen, screen suele ser cero.
Por ejemplo, si su host se llama glasperle
y su servidor es el primero (o quizás el único) de la lista de configuración, su DISPLAY
es glasperle:0.0
.
Puede especificar el nombre de pantalla explícitamente cuando ejecute Emacs, bien cambiando la variable DISPLAY
, bien con la opción -d display
o --display=display
. He aquí un ejemplo:
emacs --display=glasperle:0 &
Puede inhibir el uso del sistema de ventanas X con la opción -nw
. Entonces Emacs usa su terminal de texto de control para la visualización. Ver C.2 Opciones Iniciales.
A veces, los arreglos de seguridad impiden que un programa en un sistema remoto se muestre en su sistema local. En este caso, intentar ejecutar Emacs produce mensajes como este:
Xlib: connection to "glasperle:0.0" refused by server
Traducción:
Xlib: conexión a "glasperle:0.0" rechazada por el servidor
Es posible que pueda superar este problema utilizando el comando xhost
en el sistema local para dar permiso de acceso desde su máquina remota.
C.6 Opciones de Especificación de Fuentes
Puede utilizar la opción de línea de comandos -fn font
(o --font
, que es un alias de -fn
) para especificar un tipo de letra por defecto:
-fn font
--font=font
Utiliza a font como fuente por defecto.
Cuando pase un nombre de fuente a Emacs en la línea de órdenes, puede que necesite entrecomillarlo, encerrándolo entre comillas, si contiene caracteres que el shell trata de forma especial (como podrían ser espacios). Por ejemplo:
emacs -fn "DejaVu Sans Mono-12"
Consulte 22.8 Fuentes, para obtener más información sobre los nombres de las fuentes y otras formas de especificar la fuente predeterminada.
C.7 Opciones de Color de la Ventana
Puede usar las siguientes opciones de línea de comandos para especificar los colores a usar para varias partes de la pantalla de Emacs. Los colores pueden ser especificados usando nombres de colores o tripletes RGB (ver 15.9 Colores de las Caras).
-fg color
--foreground-color=color
Especifica el color de primer plano, anulando el color especificado por la cara por defecto (véase 15.8. Caras de Texto).
-bg color
--background-color=color
Especifica el color de fondo, anulando el color especificado por la cara por defecto.
-bd color
--border-color=color
Especifica el color del borde de la ventana X. Esto no tiene efecto si Emacs está compilado con soporte GTK+.
-cr color
--cursor-color=color
Especifica el color del cursor Emacs que indica dónde está el punto.
-ms color
--mouse-color=color
Especifica el color del cursor del ratón cuando éste se encuentra en la ventana de Emacs.
-r
-rv
--reverse-video
Vídeo inverso: intercambia los colores de primer plano y de fondo.
--color=mode
Establece el modo de soporte de color cuando Emacs se ejecuta en un terminal de texto. Esta opción anula el número de colores soportados que el terminal de caracteres anuncia en su base de datos termcap o terminfo. El parámetro modo puede ser uno de los siguientes:
never
no
No usa colores aunque las capacidades del terminal especifiquen soporte de color.
default
auto
Igual que cuando
--color
no se usa en absoluto: Emacs detecta al inicio si el terminal soporta colores, y si lo hace, activa la visualización en color.always
yes
ansi8
Activa el soporte de color incondicionalmente, y utiliza comandos de color especificados por las secuencias de escape ANSI para los 8 colores estándar.
num
Usa el modo de color para num colores. Si num es -1, desactiva el soporte de color (equivalente a
never
); si es 0, usa el soporte de color por defecto para este terminal (equivalente aauto
); de lo contrario usa un modo estándar apropiado para num colores. Dependiendo de las capacidades de su terminal, Emacs podría ser capaz de activar un modo de color para 8, 16, 88, o 256 como el valor de num. Si no hay un modo que soporte num colores, Emacs actúa como si num fuera 0, es decir, usa el modo de soporte de color por defecto del terminal.Si se omite mode, el valor predeterminado es ansi8.
Por ejemplo, para utilizar un cursor de ratón coral y un cursor de texto azul pizarra, introduzca:
emacs -ms coral -cr 'slate blue' &
Puede invertir los colores de primer plano y fondo mediante la opción -rv
o con el recurso X reverseVideo
.
Las opciones -fg
, -bg
y -rv
funcionan tanto en terminales de texto como en pantallas gráficas.
C.8 Opciones para el Tamaño y la Posición de la Ventana
Esta es una lista de las opciones de la línea de comandos para especificar el tamaño y la posición del marco inicial de Emacs:
-g widthxheight[{+-}xoffset{+-}yoffset]]
--geometry=widthxheight[{+-}xoffset{+-}yoffset]]
Especifica el tamaño ancho y alto (medidos en columnas y líneas de caracteres), y las posiciones xoffset y yoffset (medidas en píxeles). Los parámetros de ancho y alto se aplican a todos los marcos, mientras que xoffset y yoffset sólo al marco inicial.
-fs
--fullscreen
Especifica que ancho y altura deben ser los de la pantalla. Normalmente no se muestra ninguna decoración del gestor de ventanas. (Después de iniciar Emacs, puede alternar este estado usando
F11
,toggle-frame-fullscreen
).
-mm
--maximized
Especifica que el marco de Emacs debe ser maximizado. Esto normalmente significa que el marco tiene decoraciones del gestor de ventanas. (Después de iniciar Emacs, puede alternar este estado usando
M-F10
,toggle-frame-maximized
).
-fh
--fullheight
Especifica de que tamaño debe ser la altura de la pantalla.
-fw
--fullwidth
Especifica que tamaño debe ser el ancho de la pantalla.
En la opción --geometry
, {+-}
significa un signo más o un signo menos. Un signo más antes de xoffset significa que es la distancia desde el lado izquierdo de la pantalla; un signo menos significa que cuenta desde el lado derecho. Un signo más antes de yoffset significa que es la distancia desde la parte superior de la pantalla, y un signo menos allí indica la distancia desde la parte inferior. Los valores xoffset y yoffset pueden ser positivos o negativos, pero eso no cambia su significado, sólo su dirección.
Emacs usa las mismas unidades que xterm
para interpretar la geometría. El ancho y la altura se miden en caracteres, por lo que una fuente grande crea un marco más grande que una fuente pequeña. (Si especifica una fuente proporcional, Emacs utiliza su anchura máxima de límites como unidad de anchura). El xoffset y el yoffset se miden en píxeles.
No es necesario especificar todos los campos en la especificación de geometría. Si omite xoffset y yoffset, el gestor de ventanas decide dónde colocar el marco de Emacs, posiblemente dejándole colocarlo con el ratón. Por ejemplo, 164x55
especifica una ventana de 164 columnas de ancho, suficiente para dos ventanas de ancho normal una al lado de la otra, y 55 líneas de alto.
El ancho por defecto del marco es de 80 caracteres y la altura por defecto está entre 35 y 40 líneas, dependiendo del sistema operativo y del gestor de ventanas. Puede omitir el ancho, la altura o ambas. Si comienza la geometría con un entero, Emacs lo interpreta como la anchura. Si empieza con una x
seguida de un entero, Emacs lo interpreta como la altura. Así, 81
especifica sólo la anchura; x45
especifica sólo la altura.
Si se inicia la geometría con +
o -
, se introduce un desplazamiento, lo que significa que se omiten ambos tamaños. Así, -3
especifica sólo el desplazamiento xoffset. (Si sólo se da un desplazamiento, siempre es el desplazamiento xoffset). +3-3
especifica tanto el desplazamiento xoffset como el desplazamiento yoffset, colocando el marco cerca de la parte inferior izquierda de la pantalla.
Puede especificar un valor por defecto para cualquiera o todos los campos en su archivo de recursos X (ver D.1 Recursos X), y luego anular los campos seleccionados con la opción --geometry
.
Dado que la línea de modo y el área de eco ocupan las 2 últimas líneas del marco, la altura de la ventana de texto inicial es 2 menos que la altura especificada en su geometría. En las versiones de Emacs que no son del toolkit X, la barra de menú también ocupa una línea del número especificado. Pero en la versión X toolkit, la barra de menú es adicional y no cuenta para la altura especificada. La barra de herramientas, si está presente, también es adicional.
Activar o desactivar la barra de menú o la barra de herramientas altera la cantidad de espacio disponible para el texto ordinario. Por lo tanto, si Emacs se inicia con una barra de herramientas (que es el valor por defecto), y maneja la especificación de la geometría asumiendo que hay una barra de herramientas, y luego su archivo de inicialización desactiva la barra de herramientas, usted terminará con una geometría de marco diferente de lo que pidió. Para obtener el tamaño deseado sin barra de herramientas, usa un recurso X para especificar «sin barra de herramientas» (ver D.1 Recursos X); entonces el Editor ya sabrá que no hay barra de herramientas cuando procese la geometría especificada.
Cuando se utiliza una de las opciones --fullscreen
, --maximized
, --fullwidth
o --fullheight
, algunos gestores de ventanas requieren que se establezca la variable frame-resize-pixelwise
a un valor no nulo para que un marco aparezca realmente maximizado o a pantalla completa.
Algunos gestores de ventanas tienen opciones que pueden hacer que ignoren tanto las posiciones especificadas por el programa como las especificadas por el usuario. Si estas opciones están activadas, Emacs no posicionará la ventana correctamente.
C.9 Bordes Interno y Externo
Un marco Emacs tiene un borde interno y un borde externo. El borde interno es una franja extra del color de fondo alrededor de la porción de texto del marco. El borde interno lo dibuja el propio Emacs. El borde exterior lo dibuja X fuera de las barras de herramientas y menús del marco. También hay un borde externo que dibuja el gestor de ventanas. El tamaño del borde externo no se puede ajustar desde Emacs.
-ib width
--internal-border=width
Especifica el ancho del borde interno (alrededor del área de texto del marco), en píxeles.
-bw width
--border-width=width
Especifica el ancho del borde exterior, en píxeles.
Al especificar el tamaño del marco, no se tienen en cuenta los bordes. La posición del marco se mide desde el borde exterior del borde externo.
Utilice la opción -ib n
para especificar un borde interno de n píxeles de ancho. El valor por defecto es 1. Utilice -bw n
para especificar el ancho del borde exterior (aunque el gestor de ventanas puede no prestar atención a lo que especifique). El ancho predeterminado del borde exterior es 2.
C.10 Títulos de los Marcos
Cada marco de Emacs tiene siempre un título, que aparece en las decoraciones de las ventanas y en los iconos como el nombre del marco. El título por defecto es de la forma invocation-name@machine
(si sólo hay un marco) o muestra el nombre del buffer de la ventana seleccionada (si hay más de un marco).
Puede especificar un título no predeterminado para el marco inicial de Emacs con una opción de la línea de comandos:
-T título
--title=título
Especifica título como título para el marco inicial de Emacs.
La opción --name
(ver D.1 Recursos X) también especifica el título para el marco inicial de Emacs.
C.11 Íconos
-iconic
--iconic
Inicia Emacs en un estado iconificado.
-nbi
--no-bitmap-icon
Desactiva el uso del icono de Emacs.
La mayoría de los gestores de ventanas le permiten iconificar (o «minimizar») un marco de Emacs, ocultándolo de la vista. Algunos gestores de ventanas sustituyen las ventanas iconificadas por iconos diminutos, mientras que otros las eliminan por completo de la vista. La opción -iconic
le dice a Emacs que comience a ejecutarse en un estado iconificado, en lugar de mostrar un marco inmediatamente. El marco de texto no aparecerá hasta que lo desiconifique (o «desminimice»).
Por defecto, Emacs usa un icono que contiene el logo de Emacs. En entornos de escritorio como Gnome, este icono también se muestra en otros contextos, por ejemplo, al cambiar a un marco Emacs. La opción -nbi
o --no-bitmap-icon
le dice a Emacs que deje que el gestor de ventanas elija qué tipo de icono usar, normalmente un pequeño rectángulo que contiene el título del marco.
C.12 Otras Opciones de Visualización
--parent-id id
Abre Emacs como una ventana X cliente a través del protocolo XEmbed, con id como el id de la ventana X padre. Actualmente, esta opción es útil principalmente para desarrolladores.
-vb
--vertical-scroll-bars
Activa las barras de desplazamiento vertical.
-lsp pixels
--line-spacing=pixels
Especifica el espacio adicional entre líneas, en píxeles.
-nbc
--no-blinking-cursor
Desactiva el cursor parpadeante en las pantallas gráficas.
-D
--basic-display
Desactiva la barra de menú, la barra de herramientas, las barras de desplazamiento, los sugerencias de herramientas, y desactiva el modo de bloqueo de fuente y el cursor parpadeante. Esto puede ser útil para hacer un caso de prueba que simplifique la depuración de problemas de visualización.
La opción --xrm
(ver D.1 Recursos X) especifica valores adicionales de recursos X.