.. _ApendiceC: 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 :ref:`40`, 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: 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 :ref:`19.2`. Cuando Emacs se inicia, muestra el buffer de inicio en una ventana, y el buffer que visita el *archivo* en otra ventana (ver :ref:`21`). 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 :ref:`6`), 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 :ref:`20.5`). Para inhibir el uso del Menú Buffer para esto, cambie la variable ``inhibit-startup-buffer-menu`` a ``t``. ``+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 en ``load-path`` (ver :ref:`28.8`). **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 a ``load-path``. (En MS Windows, use ``;`` en lugar de ``:``; es decir, usa el valor de ``path-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 :ref:`28.10`), 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 :ref:`19.12`). ``--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: 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 :ref:`50.4`). 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 :ref:`C.5` 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 :ref:`C.1`). Vea :ref:`C.3`, 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`` y ``C-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 como ``prin1``, ``princ`` y ``print`` imprimen en ``stdout``, mientras que message y error imprimen en ``stderr``). 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), pero ``site-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 sistema ``fsync`` 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, establezca ``backtrace-on-error-noninteractive`` a ``nil``. ``--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 :ref:`50.4`). Cuando Emacs es invocado con esta opción, la facilidad Personalizar no permite guardar opciones (ver :ref:`50.1`). Esta opción no desactiva la carga de ``site-start.el``. | ``--no-site-file`` | ``-nsl`` No carga ``site-start.el`` (ver :ref:`50.4`). La opción ``-Q`` también lo hace, pero otras opciones como ``-q`` no. ``--no-site-lisp`` No incluye los directorios ``site-lisp`` en ``load-path`` (vea :ref:`50.4`). 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 no ``nil`` en su fichero de inicio (ver :ref:`6`). ``--no-x-resources`` No carga recursos X. También puede conseguir este efecto estableciendo la variable ``inhibit-x-resources`` a ``t`` en su archivo de inicialización (consulte :ref:`D.1` 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 invoque ``emacsclient``, mediante su opción ``--socket-name``, ver :ref:`40.3`). Ver :ref:`40`, 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 :ref:`45`. | ``-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 variable ``exec-directory`` contiene el nombre de ese directorio. *emacs* es el nombre del archivo ejecutable de Emacs, normalmente aparece como ``emacs``. (Cuando invoque al Editor desde el directorio ``src`` 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. .. [25] Esta opción no tiene ningún efecto en MS-Windows. .. _C.3: 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: 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 :ref:`19.1`). 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: 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 :ref:`28.8`). Un elemento vacío representa el valor por defecto de ``load-path``; por ejemplo, usar ``EMACSLOADPATH="/tmp:"`` añade ``/tmp`` al frente del ``load-path`` por defecto. Para especificar un elemento vacío en medio de la lista, utilice 2 veces dos puntos seguidos, como en ``EMACSLOADPATH="/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 variable ``exec-path`` (ver :ref:`39`). ``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 cabecera ``From`` de los mensajes salientes (ver :ref:`33.2`). ``ESHELL`` Se utiliza en el modo shell para anular la variable de entorno ``SHELL`` (véase :ref:`39.2`). ``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 por ``LOGNAME``, ``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 de ``HOME`` es el subdirectorio ``Application Data`` del directorio del perfil de Usuario (normalmente, este es ``C:/Documents and Settings/username/Application Data``, donde *username* es su nombre de Usuario), aunque por compatibilidad con versiones anteriores ``C:/`` 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 y ``LC_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 entorno ``LANG``, o la configuración regional ``C`` por defecto si ``LANG`` no está definida. Pero si se especifica ``LC_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 de ``locale-language-names``, ``locale-charset-language-names`` y ``locale-preferred-coding-systems``, para seleccionar un entorno de idioma y un sistema de codificación por defecto. Véase :ref:`23.2`. ``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 :ref:`33.2`). ``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 :ref:`39`). ``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 :ref:`33.2`). ``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 :ref:`39.1`). ``SMTPSERVER`` El nombre del servidor de correo saliente. Se utiliza para inicializar la variable ``smtpmail-smtp-server`` (véase :ref:`33.4.1`). ``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 :ref:`19.3.2`). Emacs intenta usar primero ``TMPDIR``. Si no se establece, Emacs normalmente vuelve a ``/tmp``, pero en MS-Windows y MS-DOS vuelve a ``TMP``, luego a ``TEMP``, y finalmente a ``c:/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 usa ``TZ`` en absoluto. ``USER`` Nombre de inicio de sesión del Usuario. Véase también ``LOGNAME``. En MS-DOS, por defecto es ``root``. ``VERSION_CONTROL`` Se utiliza para inicializar la variable de control de versiones (véase :ref:`19.3.2.1`). .. [26] 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, como ``EMACSLOADPATH``, puede que encuentre útil usar ``emacs_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 :ref:`ApendiceD` 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: 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 :ref:`C.2`. 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: 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 :ref:`22.8`, 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 :ref:`15.9`). | ``-fg color`` | ``--foreground-color=color`` Especifica el color de primer plano, anulando el color especificado por la cara por defecto (véase :ref:`15.8`). | ``-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 a ``auto``); 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: 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 :ref:`D.1`), 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 :ref:`D.1`); 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 :ref:`D.1`) también especifica el título para el marco inicial de Emacs. .. _C.11: 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 :ref:`D.1`) especifica valores adicionales de recursos X.