Compare commits

...

3 Commits

Author SHA1 Message Date
tanomarcelo 8853c31f01 magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-03-27 20:03:47 -03:00
tanomarcelo a3a37201b4 magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-03-26 17:13:11 -03:00
tanomarcelo 930f5d50f9 magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-03-23 14:27:32 -03:00
111 changed files with 773 additions and 716 deletions

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -54,7 +54,7 @@
<li class="toctree-l1 current"><a class="current reference internal" href="#">1 La organización de la pantalla</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#el-punto">1.1 El Punto</a></li>
<li class="toctree-l2"><a class="reference internal" href="#el-area-de-eco">1.2 El área de Eco</a></li>
<li class="toctree-l2"><a class="reference internal" href="#la-linea-de-modo">1.3 La línea de Modo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#la-linea-de-modo">1.3 La Línea de Modo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#la-barra-de-menus">1.4 La Barra de Menús</a></li>
</ul>
</li>
@ -173,7 +173,7 @@
<p>El área de eco también se usa para mostrar el minibuffer, una ventana especial en la que se pueden introducir argumentos para los comandos, como el nombre de un archivo que se va a editar. Cuando se utiliza el minibuffer, el texto que aparece en el área de eco comienza con una cadena de comandos, y el cursor activo aparece dentro del minibuffer, que se considera temporalmente la ventana seleccionada. Siempre se puede salir del minibuffer tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">g</kbd> (<code class="docutils literal notranslate"><span class="pre">C-g</span></code>). Véase <a class="reference internal" href="CapConSecciones/15_ControlDisplay.html#id22"><span class="std std-ref">15.24 Personalización de la Pantalla</span></a>.</p>
</section>
<section id="la-linea-de-modo">
<span id="id6"></span><h2>1.3 La línea de Modo<a class="headerlink" href="#la-linea-de-modo" title="Link to this heading"></a></h2>
<span id="id6"></span><h2>1.3 La Línea de Modo<a class="headerlink" href="#la-linea-de-modo" title="Link to this heading"></a></h2>
<p>En la parte inferior de cada ventana hay una <em>línea de modo</em>, que describe lo que está pasando en el búfer actual. Cuando sólo hay una ventana, la línea de modo aparece justo encima del área de eco; es la penúltima línea del cuadro. En una pantalla gráfica, la línea de modo se dibuja con una apariencia de caja 3D. Emacs también suele dibujar la línea de modo de la ventana seleccionada con un color diferente al de las ventanas no seleccionadas, para que destaque.</p>
<p>El texto mostrado en la línea de modo tiene el siguiente formato:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cs</span><span class="p">:</span><span class="n">ch</span><span class="o">-</span><span class="n">fr</span> <span class="n">buf</span> <span class="n">pos</span> <span class="n">line</span> <span class="p">(</span><span class="n">major</span> <span class="n">minor</span><span class="p">)</span>
@ -192,10 +192,10 @@
<p><em>pos</em> le indica si hay texto adicional por encima de la parte superior de la ventana, o por debajo de la parte inferior. Si su búfer es pequeño y todo él es visible en la ventana, <em>pos</em> es <code class="docutils literal notranslate"><span class="pre">All</span></code> (Todo). De lo contrario, es <code class="docutils literal notranslate"><span class="pre">Top</span></code> (Arriba) si está mirando al principio del buffer, <code class="docutils literal notranslate"><span class="pre">Bot</span></code> si está mirando al final del buffer, o <code class="docutils literal notranslate"><span class="pre">nn%</span></code>, donde <em>nn</em> es el porcentaje del buffer por encima de la parte superior de la ventana. Con el modo Indication Size Mode (modo Indicación de Tamaño), también puede mostrar el tamaño del búfer. Véase <a class="reference internal" href="CapConSecciones/15_ControlDisplay.html#id17"><span class="std std-ref">15.19 Características Opcionales de la Línea de Modo</span></a>.</p>
<p><em>line</em> (línea) es el carácter <code class="docutils literal notranslate"><span class="pre">L</span></code> seguido del número de línea en el punto. (También puede visualizar el número de columna actual, activando el modo Column Number (Número de Columna). Véase <a class="reference internal" href="CapConSecciones/15_ControlDisplay.html#id17"><span class="std std-ref">15.19 Características Opcionales de la Línea de Modo</span></a>).</p>
<p><em>major</em> es el nombre del <em>modo principal</em> (o Modo Mayor) utilizado en el búfer. Un modo principal es un modo de edición principal para el búfer, como el modo Texto, el modo Lisp, el modo C, etc. Véase <a class="reference internal" href="CapConSecciones/24_ModosMayores-Y-Menores.html#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>. Algunos modos principales muestran información adicional después del nombre del modo principal. Por ejemplo, los buffers de Compilación y Shell muestran el estado del subproceso.</p>
<p><em>minor</em> es una lista de algunos de los modos menores habilitados, que son modos de edición opcionales que proporcionan características adicionales además del modo mayor. Ver <a class="reference internal" href="CapConSecciones/24_ModosMayores-Y-Menores.html#id3"><span class="std std-ref">24.2 Modos Menores</span></a>.</p>
<p><em>minor</em> es una lista de algunos de los modos menores habilitados, que son modos de edición opcionales que proporcionan características adicionales además del modo mayor. Ver <a class="reference internal" href="CapConSecciones/24_ModosMayores-Y-Menores.html#id5"><span class="std std-ref">24.2 Modos Menores</span></a>.</p>
<p>Algunas funciones aparecen junto con los modos secundarios cuando están activados, aunque no sean realmente modos secundarios. <code class="docutils literal notranslate"><span class="pre">Narrow</span></code> (Estrechamiento) significa que el búfer que se está visualizando tiene la edición restringida sólo a una parte de su texto (vea <a class="reference internal" href="CapConSecciones/15_ControlDisplay.html#id5"><span class="std std-ref">15.5 Estrechamiento</span></a>). <code class="docutils literal notranslate"><span class="pre">Def</span></code> significa que se está definiendo una macro de teclado (ver <a class="reference internal" href="CapConSecciones/18_MacrosDeTeclado.html#id1"><span class="std std-ref">18 Macros de Teclado</span></a>).</p>
<p>Además, si Emacs está dentro de un nivel de edición recursivo, aparecen corchetes (<code class="docutils literal notranslate"><span class="pre">[...]</span></code>) alrededor de los paréntesis que rodean los modos. Si Emacs está en un nivel de edición recursiva dentro de otro, aparecen corchetes dobles, y así sucesivamente. Como los niveles de edición recursiva afectan a Emacs globalmente, tales corchetes aparecen en la línea de modo de cada ventana. Ver <a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html#id1"><span class="std std-ref">46 Niveles de Edición Recursiva</span></a>.</p>
<p>Puede cambiar la apariencia de la línea de modo así como el formato de su contenido. Vea _ref_`22.5`. Además, la línea de modo es sensible al ratón; al hacer clic en diferentes partes de la línea de modo se ejecutan varios comandos. Consulte <a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#id6"><span class="std std-ref">22.5 Comandos del Ratón en la Línea de Modo</span></a>. Además, al pasar el puntero del ratón por encima de las partes de la línea de modo sensibles al ratón, se muestra información sobre herramientas (consulte <a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#id17"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>) con información sobre los comandos que puede invocar haciendo clic en la línea de modo.</p>
<p>Puede cambiar la apariencia de la línea de modo así como el formato de su contenido. Vea _ref_`22.5`. Además, la línea de modo es sensible al ratón; al hacer clic en diferentes partes de la línea de modo se ejecutan varios comandos. Consulte <a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#id6"><span class="std std-ref">22.5 Comandos del Ratón en la Línea de Modo</span></a>. Además, al pasar el puntero del ratón por encima de las partes de la línea de modo sensibles al ratón, se muestra información sobre herramientas (consulte <a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#id18"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>) con información sobre los comandos que puede invocar haciendo clic en la línea de modo.</p>
</section>
<section id="la-barra-de-menus">
<span id="id7"></span><h2>1.4 La Barra de Menús<a class="headerlink" href="#la-barra-de-menus" title="Link to this heading"></a></h2>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -135,18 +135,18 @@
<div itemprop="articleBody">
<section id="tipos-de-entrada-del-usuario">
<h1>2 Tipos de Entrada del Usuario<a class="headerlink" href="#tipos-de-entrada-del-usuario" title="Link to this heading"></a></h1>
<span id="id1"></span><h1>2 Tipos de Entrada del Usuario<a class="headerlink" href="#tipos-de-entrada-del-usuario" title="Link to this heading"></a></h1>
<p>GNU Emacs está diseñado principalmente para usarse con el teclado. Aunque es posible usar el ratón para emitir comandos de edición a través de la barra de menús y la barra de herramientas, normalmente no es tan eficiente como usar el teclado.</p>
<p>La entrada del teclado en Emacs se basa en una versión muy extendida de ASCII. Los caracteres simples, como <code class="docutils literal notranslate"><span class="pre">a</span></code>, <code class="docutils literal notranslate"><span class="pre">B</span></code>, <code class="docutils literal notranslate"><span class="pre">3</span></code>, <code class="docutils literal notranslate"><span class="pre">=</span></code>, y el carácter de espacio (denotado como <code class="docutils literal notranslate"><span class="pre">SPC</span></code>), se introducen tecleando la tecla correspondiente. Los <em>caracteres de control</em>, como <code class="docutils literal notranslate"><span class="pre">RET</span></code>, <code class="docutils literal notranslate"><span class="pre">TAB</span></code>, <code class="docutils literal notranslate"><span class="pre">DEL</span></code>, <code class="docutils literal notranslate"><span class="pre">ESC</span></code>, <code class="docutils literal notranslate"><span class="pre">F1</span></code>, <code class="docutils literal notranslate"><span class="pre">Inicio</span></code> e <code class="docutils literal notranslate"><span class="pre">IZQUIERDA</span></code>, también se introducen de esta forma, al igual que algunos caracteres que se encuentran en teclados no ingleses (véase <a class="reference internal" href="CapConSecciones/23_SoporteJuegoCaracIntern.html#id1"><span class="std std-ref">23 Soporte de Juego de Caracteres Internacional</span></a>).</p>
<p>Emacs también reconoce los caracteres de control que se introducen usando <em>teclas modificadoras</em>. Dos teclas modificadoras de uso común son <code class="docutils literal notranslate"><span class="pre">Control</span></code> (<kbd class="kbd docutils literal notranslate">Ctrl</kbd> normalmente denominada <code class="docutils literal notranslate"><span class="pre">Ctrl</span></code>) y <code class="docutils literal notranslate"><span class="pre">Meta</span></code> (<kbd class="kbd docutils literal notranslate">Alt</kbd> normalmente denominada <code class="docutils literal notranslate"><span class="pre">Alt</span></code>) <a class="footnote-reference brackets" href="#id2" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a>. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">Control-a</span></code> se introduce manteniendo pulsada la tecla <kbd class="kbd docutils literal notranslate">Ctrl</kbd> (<code class="docutils literal notranslate"><span class="pre">Ctrl</span></code>) mientras se pulsa <kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">a</span></code>); nos referiremos a esto como <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">C-a</span></code>) para abreviar. Del mismo modo, <code class="docutils literal notranslate"><span class="pre">Meta-a</span></code>, o <code class="docutils literal notranslate"><span class="pre">M-a</span></code> para abreviar, se introduce manteniendo pulsada la tecla <kbd class="kbd docutils literal notranslate">Alt</kbd> (<code class="docutils literal notranslate"><span class="pre">Alt</span></code>) y pulsando <kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">a</span></code>). Las teclas modificadoras también pueden aplicarse a caracteres no alfanuméricos, por ejemplo, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">F1</kbd> (<code class="docutils literal notranslate"><span class="pre">C-F1</span></code>) o <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">M-LEFT</span></code>).</p>
<p>Emacs también reconoce los caracteres de control que se introducen usando <em>teclas modificadoras</em>. Dos teclas modificadoras de uso común son <code class="docutils literal notranslate"><span class="pre">Control</span></code> (<kbd class="kbd docutils literal notranslate">Ctrl</kbd> normalmente denominada <code class="docutils literal notranslate"><span class="pre">Ctrl</span></code>) y <code class="docutils literal notranslate"><span class="pre">Meta</span></code> (<kbd class="kbd docutils literal notranslate">Alt</kbd> normalmente denominada <code class="docutils literal notranslate"><span class="pre">Alt</span></code>) <a class="footnote-reference brackets" href="#id3" id="id2" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a>. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">Control-a</span></code> se introduce manteniendo pulsada la tecla <kbd class="kbd docutils literal notranslate">Ctrl</kbd> (<code class="docutils literal notranslate"><span class="pre">Ctrl</span></code>) mientras se pulsa <kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">a</span></code>); nos referiremos a esto como <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">C-a</span></code>) para abreviar. Del mismo modo, <code class="docutils literal notranslate"><span class="pre">Meta-a</span></code>, o <code class="docutils literal notranslate"><span class="pre">M-a</span></code> para abreviar, se introduce manteniendo pulsada la tecla <kbd class="kbd docutils literal notranslate">Alt</kbd> (<code class="docutils literal notranslate"><span class="pre">Alt</span></code>) y pulsando <kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">a</span></code>). Las teclas modificadoras también pueden aplicarse a caracteres no alfanuméricos, por ejemplo, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">F1</kbd> (<code class="docutils literal notranslate"><span class="pre">C-F1</span></code>) o <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">M-LEFT</span></code>).</p>
<p>También puede escribir caracteres Meta usando secuencias de dos caracteres empezando por <code class="docutils literal notranslate"><span class="pre">ESC</span></code>. Así, puede introducir <code class="docutils literal notranslate"><span class="pre">M-a</span></code> escribiendo <kbd class="kbd docutils literal notranslate">ESC</kbd>-<kbd class="kbd docutils literal notranslate">a</kbd>. Puede introducir <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-a</span></code>) (manteniendo pulsadas las teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd> (<code class="docutils literal notranslate"><span class="pre">Ctrl</span></code>) y <kbd class="kbd docutils literal notranslate">Alt</kbd> (<code class="docutils literal notranslate"><span class="pre">Alt</span></code>), y pulsando <kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">a</span></code>)) escribiendo <kbd class="kbd docutils literal notranslate">ESC</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span> <span class="pre">C-a</span></code>). A diferencia de <code class="docutils literal notranslate"><span class="pre">Meta</span></code>, <code class="docutils literal notranslate"><span class="pre">ESC</span></code> se introduce como un carácter independiente. No debe mantener pulsado <kbd class="kbd docutils literal notranslate">ESC</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span></code>) mientras escribe el siguiente carácter; en su lugar, pulse <kbd class="kbd docutils literal notranslate">ESC</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span></code>) y suéltelo, después introduzca el siguiente carácter. Esta función es útil en algunos terminales de texto en los que la tecla <kbd class="kbd docutils literal notranslate">Alt</kbd> (<code class="docutils literal notranslate"><span class="pre">Meta</span></code>) no funciona de forma fiable.</p>
<p>Emacs soporta 3 teclas modificadoras adicionales, ver <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id20"><span class="std std-ref">50.3.7. Teclas Modificadoras</span></a>.</p>
<p>Emacs soporta 3 teclas modificadoras adicionales, ver <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id21"><span class="std std-ref">50.3.7. Teclas Modificadoras</span></a>.</p>
<p>Emacs tiene un amplio soporte para el uso de botones y rueda de ratón, y otros dispositivos señaladores como touchpads y pantallas táctiles. Ver <a class="reference internal" href="04_EntrDelRaton.html#id1"><span class="std std-ref">4 Entrada del Ratón</span></a> para más detalles.</p>
<p>En ciertos entornos, el gestor de ventanas puede bloquear algunas entradas de teclado, incluyendo <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">TAB</kbd> (<code class="docutils literal notranslate"><span class="pre">M-TAB</span></code>), <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">M-SPC</span></code>), <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-d</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">l</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-l</span></code>). Si tiene este problema, puede personalizar su gestor de ventanas para que no bloquee esas teclas, o volver a enlazar los comandos Emacs afectados (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id1"><span class="std std-ref">50 Personalización</span></a>).</p>
<p>Los caracteres simples y los caracteres de control, así como ciertas entradas que no son de teclado, como los clics del ratón, se denominan colectivamente eventos de entrada. Para más detalles sobre cómo Emacs maneja internamente los eventos de entrada, <strong>vea Eventos de Entrada</strong> en el Manual de Referencia de Emacs Lisp.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id2" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id1">3</a><span class="fn-bracket">]</span></span>
<aside class="footnote brackets" id="id3" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id2">3</a><span class="fn-bracket">]</span></span>
<p>Nos refermios a <code class="docutils literal notranslate"><span class="pre">Alt</span></code> (<kbd class="kbd docutils literal notranslate">Alt</kbd>) como <code class="docutils literal notranslate"><span class="pre">Meta</span></code> por razones históricas.</p>
</aside>
</aside>

File diff suppressed because one or more lines are too long

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -138,7 +138,7 @@
<span id="id1"></span><h1>5 Teclas y Comandos<a class="headerlink" href="#teclas-y-comandos" title="Link to this heading"></a></h1>
<p>Este manual está lleno de pasajes que le dicen lo que hacen determinadas teclas. Pero Emacs no asigna significados a las teclas directamente. En su lugar, asigna significados a <em>comandos</em> con nombre, y luego da a las teclas sus significados <em>vinculándolas</em> a comandos.</p>
<p>Cada comando tiene un nombre elegido por el programador. El nombre suele estar formado por unas pocas palabras en inglés separadas por guiones; por ejemplo, <code class="docutils literal notranslate"><span class="pre">next-line</span></code> (siguiente-línea) o <code class="docutils literal notranslate"><span class="pre">forward-word</span></code> (palabra-anterior). Internamente, cada comando es un tipo especial de <em>función</em> Lisp, y las acciones asociadas al comando se realizan ejecutando la función. <strong>Vea Qué es una Función</strong> en el Manual de Referencia de Emacs Lisp.</p>
<p>Los enlaces entre teclas y comandos se registran en tablas llamadas <em>mapas de teclas</em>. Ver <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id17"><span class="std std-ref">50.3.1 Mapas de teclas</span></a>.</p>
<p>Los enlaces entre teclas y comandos se registran en tablas llamadas <em>mapas de teclas</em>. Ver <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id18"><span class="std std-ref">50.3.1 Mapas de teclas</span></a>.</p>
<p>Cuando decimos que «<code class="docutils literal notranslate"><span class="pre">C-n</span></code> se mueve verticalmente una línea hacia abajo» estamos pasando por alto una sutil distinción que es irrelevante en el uso ordinario, pero vital para la personalización de Emacs. El comando <code class="docutils literal notranslate"><span class="pre">next-line</span></code> hace un movimiento vertical hacia abajo. <code class="docutils literal notranslate"><span class="pre">C-n</span></code> tiene este efecto porque está ligado a <code class="docutils literal notranslate"><span class="pre">next-line</span></code>. Si redefine la vinculación <code class="docutils literal notranslate"><span class="pre">C-n</span></code> al comando <code class="docutils literal notranslate"><span class="pre">forward-word</span></code>, <code class="docutils literal notranslate"><span class="pre">C-n</span></code> se moverá una palabra hacia delante.</p>
<p>En este manual, hablaremos a menudo de teclas como <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">C-n</span></code>) como comandos, aunque estrictamente hablando la tecla o combinación de ellas esté asociada a un comando. Normalmente, indicamos el nombre del comando que realmente hace el trabajo entre paréntesis después de mencionar la tecla que lo ejecuta. Por ejemplo, diremos que «El ncomando <code class="docutils literal notranslate"><span class="pre">C-n</span></code> (<code class="docutils literal notranslate"><span class="pre">next-line</span></code>, línea siguiente) mueve el punto verticalmente hacia abajo», lo que significa que el comando <code class="docutils literal notranslate"><span class="pre">next-line</span></code> se mueve verticalmente hacia abajo, y la tecla <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">C-n</span></code>) normalmente está vinculada a él.</p>
<p>Ya que estamos hablando de personalización, deberíamos hablarle de <em>variables</em>. A menudo la descripción de un comando dirá: «Para cambiar esto, establezca la variable <code class="docutils literal notranslate"><span class="pre">mumble-foo</span></code>. Una variable es un nombre usado para almacenar un valor. La mayoría de las variables documentadas en este manual están pensadas para la personalización: algún comando u otra parte de Emacs examina la variable y se comporta de forma diferente según el valor que establezca. Puede ignorar la información sobre variables hasta que esté interesado en personalizarlas. Entonces lea la información básica sobre variables (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id6"><span class="std std-ref">50.2 Variables</span></a>) y la información sobre variables específicas tendrá sentido.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -142,7 +142,7 @@
<p>Generalmente, es innecesario y un desperdicio iniciar Emacs de nuevo cada vez que quiera editar un fichero. La forma recomendada de usar Emacs es iniciarlo una sola vez, justo después de iniciar sesión, y hacer toda la edición en la misma sesión de Emacs. Ver <a class="reference internal" href="CapConSecciones/19_ManejoArchivos.html#id1"><span class="std std-ref">19 Manejo de Archivos</span></a>, para información sobre visitar más de un archivo. Si usa Emacs de esta manera, la sesión Emacs acumula un contexto valioso, como el anillo de destrucción, registros, historial de deshacer, y datos del anillo de marcas, que juntos hacen la edición más conveniente. Estas características se describen más adelante en el manual.</p>
<p>Para editar un fichero desde otro programa mientras Emacs se está ejecutando, puede usar el programa de ayuda <code class="docutils literal notranslate"><span class="pre">emacsclient</span></code> para abrir un fichero en la sesión Emacs existente. Ver <a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html#id1"><span class="std std-ref">40 Usar Emacs Como Servidor</span></a>.</p>
<p>Emacs acepta otros argumentos de línea de comandos que le dicen que cargue ciertos archivos Lisp, dónde poner el marco inicial, etc. Ver <a class="reference internal" href="CapConSecciones/ApendiceC.html#apendicec"><span class="std std-ref">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</span></a> Argumentos de Línea de Comandos para la Invocación de Emacs.</p>
<p>Si la variable <code class="docutils literal notranslate"><span class="pre">inhibit-startup-screen</span></code> no es nula, Emacs no muestra la pantalla de inicio. En ese caso, si uno o más ficheros fueron especificados en la línea de comandos, Emacs simplemente muestra esos ficheros; de lo contrario, muestra un buffer llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que puede ser usado para evaluar expresiones Emacs Lisp interactivamente. Ver <a class="reference internal" href="CapConSecciones/28_CompProbProg.html#id12"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>. Puede establecer la variable <code class="docutils literal notranslate"><span class="pre">inhibit-startup-screen</span></code> usando la herramienta de personalización (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>), o editando su fichero de inicialización (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id25"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>). <a class="footnote-reference brackets" href="#id2" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a></p>
<p>Si la variable <code class="docutils literal notranslate"><span class="pre">inhibit-startup-screen</span></code> no es nula, Emacs no muestra la pantalla de inicio. En ese caso, si uno o más ficheros fueron especificados en la línea de comandos, Emacs simplemente muestra esos ficheros; de lo contrario, muestra un buffer llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que puede ser usado para evaluar expresiones Emacs Lisp interactivamente. Ver <a class="reference internal" href="CapConSecciones/28_CompProbProg.html#id12"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>. Puede establecer la variable <code class="docutils literal notranslate"><span class="pre">inhibit-startup-screen</span></code> usando la herramienta de personalización (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>), o editando su fichero de inicialización (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>). <a class="footnote-reference brackets" href="#id2" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a></p>
<p>También puede forzar a Emacs a mostrar un fichero o directorio al arrancar estableciendo la variable <code class="docutils literal notranslate"><span class="pre">initial-buffer-choice</span></code> a una cadena que nombre ese fichero o directorio. El valor de <code class="docutils literal notranslate"><span class="pre">initial-buffer-choice</span></code> también puede ser una función (sin argumentos) que debe devolver un buffer que luego se muestra. Si <code class="docutils literal notranslate"><span class="pre">initial-buffer-choice</span></code> es distinto de nil, entonces si especifica algún fichero en la línea de órdenes, Emacs lo visitará, pero no lo mostrará inicialmente.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id2" role="doc-footnote">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -152,7 +152,7 @@
<p>Para personalizar aún más lo que ocurre cuando Emacs está saliendo, <strong>vea Matando Emacs</strong> en El Manual de Referencia GNU Emacs Lisp.</p>
<p>Para matar Emacs sin que se le pida que guarde, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">kill-emacs</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">kill-emacs</span></code>).</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-z</span></code>) ejecuta el comando <code class="docutils literal notranslate"><span class="pre">suspend-frame</span></code> (suspender-marco). En una pantalla gráfica, este comando <em>minimiza</em> (o <em>iconifica</em>) el marco de Emacs seleccionado, ocultándolo de forma que pueda recuperarlo más tarde (la forma exacta en que se produce este ocultamiento depende del sistema de ventanas). En un terminal de texto, el comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-z</span></code>) <em>suspende</em> Emacs, deteniendo el programa temporalmente y devolviendo el control al proceso padre (normalmente un shell); en la mayoría de los shells, puede reanudar Emacs después de suspenderlo con el comando de shell <code class="docutils literal notranslate"><span class="pre">%emacs</span></code>.</p>
<p>Los terminales de texto suelen prestar atención a ciertos caracteres especiales cuyo significado es matar o suspender el programa que se está ejecutando. <strong>Esta característica del terminal está desactivada mientras está en el Editor</strong>. Los significados de <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-z</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-c</span></code>) como teclas de Emacs se inspiraron en el uso de <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-z</span></code> y <code class="docutils literal notranslate"><span class="pre">C-c</span></code>) en varios sistemas operativos como caracteres para detener o matar un programa, pero esa es su única relación con el sistema operativo. Puede personalizar estas teclas para ejecutar cualquier comando de su elección (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id17"><span class="std std-ref">50.3.1 Mapas de teclas</span></a>).</p>
<p>Los terminales de texto suelen prestar atención a ciertos caracteres especiales cuyo significado es matar o suspender el programa que se está ejecutando. <strong>Esta característica del terminal está desactivada mientras está en el Editor</strong>. Los significados de <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-z</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-c</span></code>) como teclas de Emacs se inspiraron en el uso de <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-z</span></code> y <code class="docutils literal notranslate"><span class="pre">C-c</span></code>) en varios sistemas operativos como caracteres para detener o matar un programa, pero esa es su única relación con el sistema operativo. Puede personalizar estas teclas para ejecutar cualquier comando de su elección (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id18"><span class="std std-ref">50.3.1 Mapas de teclas</span></a>).</p>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -154,7 +154,7 @@
<span id="id2"></span><h2>8.1 Inserción de Texto<a class="headerlink" href="#insercion-de-texto" title="Link to this heading"></a></h2>
<p>Puede insertar un <em>carácter gráfico</em> normal (por ejemplo, <code class="docutils literal notranslate"><span class="pre">a</span></code>, <code class="docutils literal notranslate"><span class="pre">B</span></code>, <code class="docutils literal notranslate"><span class="pre">3</span></code> y <code class="docutils literal notranslate"><span class="pre">=</span></code>) tipeando la combinación de tecla asociada. Esto añade al búfer el carácter en el punto. La inserción desplaza el punto hacia delante, de modo que el punto queda justo después del texto insertado. Véase <a class="reference internal" href="../01_OrgPant.html#id2"><span class="std std-ref">1.1 El Punto</span></a>.</p>
<p>Para terminar una línea e iniciar una nueva, escriba <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>, nueva línea). (La tecla <kbd class="kbd docutils literal notranslate">RETURN</kbd> puede estar etiquetada como <em>Return</em>, o <em>Enter</em>, o con una flecha de aspecto gracioso apuntando hacia la izquierda en su teclado, pero en este manual nos referimos a ella como <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>)). Este comando inserta un carácter de nueva línea en el búfer, y luego aplica una sangría (véase <a class="reference internal" href="25_Indentacion.html#id1"><span class="std std-ref">25 Indentación</span></a>) de acuerdo con el modo principal. Si el punto está al final de la línea, el efecto es crear una nueva línea en blanco después de él y sangrar la nueva línea; si el punto está en medio de una línea, la línea se divide en esa posición. Para desactivar la sangría automática, puede desactivar el modo de sangría eléctrica (véase <a class="reference internal" href="25_Indentacion.html#id2"><span class="std std-ref">25.4 Funciones Prácticas para la Sangría</span></a>) o teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">j</kbd> (<code class="docutils literal notranslate"><span class="pre">C-j</span></code>), que inserta sólo una nueva línea, sin ninguna sangría automática.</p>
<p>Como explicaremos más adelante en este manual, puede cambiar la forma en que Emacs maneja la inserción de texto activando <em>modos menores</em>. Por ejemplo, el modo secundario llamado Auto Fill Mode (Modo de Relleno Automático) divide las líneas automáticamente cuando son demasiado largas (ver <a class="reference internal" href="26_ComandsLengsHuma.html#id7"><span class="std std-ref">26.6 Rellenar Texto</span></a>). El modo secundario, o modo menor llamado Overwrite Mode (Modo Sobrescribir) hace que los caracteres insertados reemplacen (sobrescriban) el texto existente, en lugar de desplazarlo a la derecha. Véase <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id3"><span class="std std-ref">24.2 Modos Menores</span></a>.</p>
<p>Como explicaremos más adelante en este manual, puede cambiar la forma en que Emacs maneja la inserción de texto activando <em>modos menores</em>. Por ejemplo, el modo secundario llamado Auto Fill Mode (Modo de Relleno Automático) divide las líneas automáticamente cuando son demasiado largas (ver <a class="reference internal" href="26_ComandsLengsHuma.html#id7"><span class="std std-ref">26.6 Rellenar Texto</span></a>). El modo secundario, o modo menor llamado Overwrite Mode (Modo Sobrescribir) hace que los caracteres insertados reemplacen (sobrescriban) el texto existente, en lugar de desplazarlo a la derecha. Véase <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id5"><span class="std std-ref">24.2 Modos Menores</span></a>.</p>
<p>Sólo se pueden insertar caracteres gráficos tecleando la tecla asociada; otras teclas actúan como comandos de edición y no se insertan. Por ejemplo, <kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>) ejecuta el comando <code class="docutils literal notranslate"><span class="pre">delete-backward-char</span></code> (borrar-carácter-anterior) por defecto (algunos modos lo vinculan a un comando diferente); no inserta un carácter literal <code class="docutils literal notranslate"><span class="pre">DEL</span></code> (código de carácter ASCII 127).</p>
<p>Para insertar un carácter no gráfico, o un carácter que su teclado no admita, primero cítelo escribiendo <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">q</kbd> (<code class="docutils literal notranslate"><span class="pre">C-q</span></code>, <code class="docutils literal notranslate"><span class="pre">quoted-insert</span></code>). Hay dos formas de utilizar <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">q</kbd>:</p>
<blockquote>
@ -195,7 +195,7 @@ A-[ (if the Alt key works)
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">right</span></code>)</p>
<blockquote>
<div><p>Este comando (<code class="docutils literal notranslate"><span class="pre">right-char</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">C-f</span></code>, excepto cuando el punto está en un párrafo de derecha a izquierda (véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id27"><span class="std std-ref">23.20 Edición Bidireccional</span></a>).</p>
<div><p>Este comando (<code class="docutils literal notranslate"><span class="pre">right-char</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">C-f</span></code>, excepto cuando el punto está en un párrafo de derecha a izquierda (véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id24"><span class="std std-ref">23.20 Edición Bidireccional</span></a>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">Ctrl-b</span></code>)</p>
<blockquote>
@ -203,7 +203,7 @@ A-[ (if the Alt key works)
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">left</span></code>)</p>
<blockquote>
<div><p>Este comando (<code class="docutils literal notranslate"><span class="pre">left-char</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">C-b</span></code>, excepto si el párrafo actual es de derecha a izquierda (véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id27"><span class="std std-ref">23.20 Edición Bidireccional</span></a>).</p>
<div><p>Este comando (<code class="docutils literal notranslate"><span class="pre">left-char</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">C-b</span></code>, excepto si el párrafo actual es de derecha a izquierda (véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id24"><span class="std std-ref">23.20 Edición Bidireccional</span></a>).</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">Ctrl-n</span></code>)</div>
@ -243,7 +243,7 @@ mueve a la mitad de la siguiente.</p>
<div class="line"><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">M-right</span></code>)</div>
</div>
<blockquote>
<div><p>Este comando (<code class="docutils literal notranslate"><span class="pre">right-word</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">M-f</span></code>, excepto que retrocede una palabra si el párrafo actual es de derecha a izquierda. Véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id27"><span class="std std-ref">23.20 Edición Bidireccional</span></a>.</p>
<div><p>Este comando (<code class="docutils literal notranslate"><span class="pre">right-word</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">M-f</span></code>, excepto que retrocede una palabra si el párrafo actual es de derecha a izquierda. Véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id24"><span class="std std-ref">23.20 Edición Bidireccional</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">M-b</span></code>)</p>
<blockquote>
@ -254,7 +254,7 @@ mueve a la mitad de la siguiente.</p>
<div class="line"><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">M-right</span></code>)</div>
</div>
<blockquote>
<div><p>Este comando (<code class="docutils literal notranslate"><span class="pre">left-word</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">M-b</span></code>, excepto que <em>avanza</em> una palabra si el párrafo actual es de derecha a izquierda. Véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id27"><span class="std std-ref">23.20 Edición Bidireccional</span></a>.</p>
<div><p>Este comando (<code class="docutils literal notranslate"><span class="pre">left-word</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">M-b</span></code>, excepto que <em>avanza</em> una palabra si el párrafo actual es de derecha a izquierda. Véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id24"><span class="std std-ref">23.20 Edición Bidireccional</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">M-r</span></code>)</p>
<blockquote>
@ -407,7 +407,7 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
<div><p>Borra todas las líneas en blanco consecutivas menos una (<code class="docutils literal notranslate"><span class="pre">delete-blank-lines</span></code>).</p>
</div></blockquote>
<p>Hemos visto cómo <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>, <code class="docutils literal notranslate"><span class="pre">new-line</span></code> , nueva línea) inicia una nueva línea de texto. Sin embargo, puede ser más fácil ver lo que está haciendo si primero hace una línea en blanco y luego inserta en ella el texto deseado. Esto es fácil de hacer usando la tecla <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">o</kbd> (<code class="docutils literal notranslate"><span class="pre">C-o</span></code>, <code class="docutils literal notranslate"><span class="pre">open-line</span></code>), que inserta una nueva línea después del punto pero deja el punto delante de la nueva línea. Después de <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">o</kbd> (<code class="docutils literal notranslate"><span class="pre">C-o</span></code>), escriba el texto de la nueva línea.</p>
<p>Puede crear varias líneas en blanco tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">o</kbd> (<code class="docutils literal notranslate"><span class="pre">C-o</span></code>) varias veces, o dándole un argumento numérico que especifique cuántas líneas en blanco debe crear. Vea :ref.`8.10`, para saber cómo. Si tiene un prefijo de relleno, el comando <code class="docutils literal notranslate"><span class="pre">C-o</span></code> inserta el prefijo de relleno en la nueva línea, si se escribe al principio de una línea. Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id9"><span class="std std-ref">26.6.3 El Prefijo de Relleno</span></a>.</p>
<p>Puede crear varias líneas en blanco tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">o</kbd> (<code class="docutils literal notranslate"><span class="pre">C-o</span></code>) varias veces, o dándole un argumento numérico que especifique cuántas líneas en blanco debe crear. Vea :ref.`8.10`, para saber cómo. Si tiene un prefijo de relleno, el comando <code class="docutils literal notranslate"><span class="pre">C-o</span></code> inserta el prefijo de relleno en la nueva línea, si se escribe al principio de una línea. Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id10"><span class="std std-ref">26.6.3 El Prefijo de Relleno</span></a>.</p>
<p>La forma más fácil de deshacerse de las líneas en blanco extra es con el comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-o</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-blank-lines</span></code>). Si el punto se encuentra dentro de una serie de líneas en blanco, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-o</span></code> borra todas menos una. Si el punto se encuentra en una sola línea en blanco, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-o</span></code> lo borra. Si el punto se encuentra en una línea que no está en blanco, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-o</span></code> borra todas las líneas en blanco siguientes, si existen.</p>
</section>
<section id="lineas-de-continuacion">
@ -452,7 +452,7 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
<blockquote>
<div><p>Alterna la visualización automática del tamaño del buffer. Véase <a class="reference internal" href="15_ControlDisplay.html#id17"><span class="std std-ref">15.19 Características Opcionales de la Línea de Modo</span></a>.</p>
</div></blockquote>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">what-line</span></code> muestra el número de línea actual en el área de eco. Este comando suele ser redundante porque dicho número de línea se muestra en la línea de modo (véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La línea de Modo</span></a>). Sin embargo, si se estrecha el búfer, la línea de modo muestra el número de línea relativo a la parte accesible (véase <a class="reference internal" href="15_ControlDisplay.html#id1"><span class="std std-ref">15 Controlando la Pantalla</span></a>). Por el contrario, <code class="docutils literal notranslate"><span class="pre">what-line</span></code> muestra tanto el número de línea relativo a la región reducida como el relativo al búfer.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">what-line</span></code> muestra el número de línea actual en el área de eco. Este comando suele ser redundante porque dicho número de línea se muestra en la línea de modo (véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>). Sin embargo, si se estrecha el búfer, la línea de modo muestra el número de línea relativo a la parte accesible (véase <a class="reference internal" href="15_ControlDisplay.html#id1"><span class="std std-ref">15 Controlando la Pantalla</span></a>). Por el contrario, <code class="docutils literal notranslate"><span class="pre">what-line</span></code> muestra tanto el número de línea relativo a la región reducida como el relativo al búfer.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-=</span></code> (<code class="docutils literal notranslate"><span class="pre">count-words-region</span></code>) muestra un mensaje que informa del número de líneas, frases, palabras y caracteres de la región (véase La marca y la Región, para una explicación de la región). Con un argumento prefijo, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">=</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">M-=</span></code>), el comando muestra un recuento para todo el búfer.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">count-words</span></code> hace el mismo trabajo, pero con una convención de llamada diferente. Muestra un recuento para la región si la región está activa, y para el búfer en caso contrario.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">=</span></code> (<code class="docutils literal notranslate"><span class="pre">what-cursor-position</span></code>) muestra información sobre la posición actual del cursor y el contenido del buffer en esa posición. Aparece una línea en el área de eco con el siguiente aspecto:</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -206,7 +206,7 @@
<p>A menudo puede usar una característica llamada <em>completado</em> para ayudar a introducir argumentos. Esto significa que después de teclear parte del argumento, Emacs puede rellenar el resto, o parte de él, basándose en lo tecleado hasta el momento.</p>
<p>Cuando el completado está disponible, ciertas teclas (normalmente <kbd class="kbd docutils literal notranslate">TAB</kbd> (<code class="docutils literal notranslate"><span class="pre">TAB</span></code>), <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>), y <kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">SPC</span></code>)) son redirigidas en el minibuffer a comandos
especiales de completado ver <a class="reference internal" href="#id5"><span class="std std-ref">9.4.2 Comandos de Completado</span></a>). Estos comandos intentan completar el texto en el minibuffer, basándose en un conjunto de <em>alternativas de completado</em> proporcionadas por el comando que solicitó el argumento. Normalmente puede teclear <kbd class="kbd docutils literal notranslate">?</kbd> (<code class="docutils literal notranslate"><span class="pre">?</span></code>) para ver una lista de alternativas de completado.</p>
<p>Aunque el completado normalmente se lleva a cabo en el minibuffer, a veces esta función también está disponible en los buffers normales. Véase <a class="reference internal" href="27_EdDePrograms.html#id16"><span class="std std-ref">27.8 Completado de Nombres de Símbolos</span></a>.</p>
<p>Aunque el completado normalmente se lleva a cabo en el minibuffer, a veces esta función también está disponible en los buffers normales. Véase <a class="reference internal" href="27_EdDePrograms.html#id18"><span class="std std-ref">27.8 Completado de Nombres de Símbolos</span></a>.</p>
<section id="ejemplos-de-completado">
<h3>9.4.1 Ejemplos de Completado<a class="headerlink" href="#ejemplos-de-completado" title="Link to this heading"></a></h3>
<p>Un simple ejemplo puede ser de ayuda. <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span></code>) usa el minibuffer para leer el nombre de un comando, por lo que el completado funciona comparando el texto del minibuffer con los nombres de los comandos Emacs existentes. Suponga que desea ejecutar el comando auto-fill-mode. Puede hacerlo tecleando <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">auto-fill-mode</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span></code> <code class="docutils literal notranslate"><span class="pre">auto-fill-mode</span></code> <code class="docutils literal notranslate"><span class="pre">RET</span></code>), pero es más fácil usar el completado.</p>
@ -345,7 +345,7 @@ ejemplo, puede considerar que <code class="docutils literal notranslate"><span c
<p>El uso de mayúsculas y minúsculas es importante cuando se completan argumentos que distinguen entre mayúsculas y minúsculas, como los nombres de comandos. Por ejemplo, al completar nombres de comandos, <code class="docutils literal notranslate"><span class="pre">AU</span></code> no se completa con <code class="docutils literal notranslate"><span class="pre">auto-fill-mode</span></code>. Las diferencias entre mayúsculas y minúsculas se ignoran al completar argumentos en los que las mayúsculas y minúsculas no importan.</p>
<p>Al completar los nombres de archivo, se ignoran las diferencias entre mayúsculas y minúsculas si la variable <code class="docutils literal notranslate"><span class="pre">read-file-name-completion-ignore-case</span></code> es distinta de <code class="docutils literal notranslate"><span class="pre">nil</span></code> (nulo). El valor por defecto es <code class="docutils literal notranslate"><span class="pre">nil</span></code> en sistemas que distinguen entre mayúsculas y minúsculas, como GNU/Linux; es no-<code class="docutils literal notranslate"><span class="pre">nil</span></code> en sistemas que no distinguen entre mayúsculas y minúsculas, como Microsoft Windows. Cuando se completan nombres de búferes, se ignoran las diferencias entre mayúsculas y minúsculas si la variable <code class="docutils literal notranslate"><span class="pre">read-buffer-completion-ignore-case</span></code> no es <code class="docutils literal notranslate"><span class="pre">nil</span></code>; por defecto es <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>Cuando se completan nombres de archivos, Emacs normalmente omite ciertas alternativas que se consideran poco probables de ser elegidas, tal y como determina la variable de lista <code class="docutils literal notranslate"><span class="pre">completion-ignored-extensions</span></code>. Cada elemento de la lista debe ser una cadena; cualquier nombre de fichero que termine en tal cadena se ignora como alternativa de completado. Cualquier elemento que termine en una barra (<code class="docutils literal notranslate"><span class="pre">/</span></code>) representa un nombre de subdirectorio. El valor estándar de <code class="docutils literal notranslate"><span class="pre">completion-ignored-extensions</span></code> tiene varios elementos, incluidos <code class="docutils literal notranslate"><span class="pre">.o</span></code>, <code class="docutils literal notranslate"><span class="pre">.elc</span></code> y <code class="docutils literal notranslate"><span class="pre">~</span></code>. Por ejemplo, si un directorio contiene <code class="docutils literal notranslate"><span class="pre">foo.c</span></code> y <code class="docutils literal notranslate"><span class="pre">foo.elc</span></code>, <code class="docutils literal notranslate"><span class="pre">foo</span></code> se completa en <code class="docutils literal notranslate"><span class="pre">foo.c</span></code>. Sin embargo, si todas las terminaciones posibles terminan en cadenas omitidas, no se ignoran: en el ejemplo anterior, <code class="docutils literal notranslate"><span class="pre">foo.e</span></code> termina en <code class="docutils literal notranslate"><span class="pre">foo.elc</span></code>. Emacs no tiene en cuenta las extensiones ignoradas al mostrar las alternativas de completado en la lista de completado.</p>
<p>El completado Shell es una versión extendida del completado de nombre de fichero, ver <a class="reference internal" href="39_ComndShellEmacs.html#id4"><span class="std std-ref">39.7 Opciones del Modo Shell</span></a>.</p>
<p>El completado Shell es una versión extendida del completado de nombre de fichero, ver <a class="reference internal" href="39_ComndShellEmacs.html#id5"><span class="std std-ref">39.7 Opciones del Modo Shell</span></a>.</p>
<p>Si <code class="docutils literal notranslate"><span class="pre">completion-auto-help</span></code> se establece a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, los comandos de completado nunca muestran el búfer de la lista de completado; debe teclear <kbd class="kbd docutils literal notranslate">?</kbd> (<code class="docutils literal notranslate"><span class="pre">?</span></code>) para mostrar la lista. Si el valor es <code class="docutils literal notranslate"><span class="pre">lazy</span></code>, Emacs sólo muestra el búfer de la lista de completado en el segundo intento de completar. En otras palabras, si no hay nada que completar, la primera <code class="docutils literal notranslate"><span class="pre">TAB</span></code> se hace eco de <code class="docutils literal notranslate"><span class="pre">Next</span> <span class="pre">char</span> <span class="pre">not</span> <span class="pre">unique</span></code> (Siguiente carácter no único); la segunda <code class="docutils literal notranslate"><span class="pre">TAB</span></code> muestra el búfer de la lista de completado. Si el valor es siempre, el búfer de la lista de finalización se muestra siempre que se intenta completar.</p>
<p>La visualización del búfer de la lista de completado después de que se muestre por primera vez también está controlada por <code class="docutils literal notranslate"><span class="pre">completion-auto-help</span></code>. Si el valor es <code class="docutils literal notranslate"><span class="pre">t</span></code> o <code class="docutils literal notranslate"><span class="pre">lazy</span></code>, la ventana que muestra las compleciones aparece cuando Emacs es capaz de completar (y puede aparecer de nuevo si Emacs es de nuevo incapaz de completar después de que escriba algo más de texto); si el valor es <code class="docutils literal notranslate"><span class="pre">always</span></code>, la ventana aparece sólo cuando sale de la compleción. El valor visible es un híbrido: se comporta como <code class="docutils literal notranslate"><span class="pre">t</span></code> cuando decide si abrir o no la ventana que muestra el búfer de la lista de completado, y como <code class="docutils literal notranslate"><span class="pre">always</span></code> cuando decide si cerrarla o no.</p>
<p>Emacs puede seleccionar opcionalmente la ventana que muestra las terminaciones cuando muestra esa ventana. Para habilitar este comportamiento, personalice la opción de usuario <code class="docutils literal notranslate"><span class="pre">completion-auto-select</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>, que cambia el comportamiento de <kbd class="kbd docutils literal notranslate">TAB</kbd> (<code class="docutils literal notranslate"><span class="pre">TAB</span></code>) cuando Emacs muestra las terminaciones: pulsando <kbd class="kbd docutils literal notranslate">TAB</kbd> cambiará al búfer de la lista de terminaciones, y entonces podrá moverse a un candidato mediante comandos de movimiento del cursor y seleccionarlo con <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>). Si el valor de <code class="docutils literal notranslate"><span class="pre">completion-auto-select</span></code> es <code class="docutils literal notranslate"><span class="pre">second-tab</span></code>, entonces el primer <kbd class="kbd docutils literal notranslate">TAB</kbd> abrirá el búfer de la lista de compleciones, y el segundo cambiará a él.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -136,7 +136,7 @@
<section id="ejecutar-comandos-por-nombre">
<h1>10 Ejecutar Comandos por Nombre<a class="headerlink" href="#ejecutar-comandos-por-nombre" title="Link to this heading"></a></h1>
<p>Cada comando de Emacs tiene un nombre que puede usar para lanzarlo. Por conveniencia, muchos comandos también tienen teclas. Puede ejecutar esos comandos pulsando las teclas, o ejecutarlos por su nombre. La mayoría de los comandos de Emacs no tienen atajos de teclado, así que la única forma de ejecutarlos es por nombre. (Ver <a class="reference internal" href="50_Personlzc.html#id16"><span class="std std-ref">50.3 Personalizar las Combinaciones de Teclas</span></a>, para saber cómo configurarlas).</p>
<p>Cada comando de Emacs tiene un nombre que puede usar para lanzarlo. Por conveniencia, muchos comandos también tienen teclas. Puede ejecutar esos comandos pulsando las teclas, o ejecutarlos por su nombre. La mayoría de los comandos de Emacs no tienen atajos de teclado, así que la única forma de ejecutarlos es por nombre. (Ver <a class="reference internal" href="50_Personlzc.html#id17"><span class="std std-ref">50.3 Personalizar las Combinaciones de Teclas</span></a>, para saber cómo configurarlas).</p>
<p>Por convención, un nombre de comando consiste en una o más palabras, separadas por guiones; por ejemplo, <code class="docutils literal notranslate"><span class="pre">auto-fill-mode</span></code> o <code class="docutils literal notranslate"><span class="pre">manual-entry</span></code>. Los nombres de comandos suelen usar palabras completas en inglés para que sean más fáciles de recordar.</p>
<p>Para ejecutar un comando por nombre, inicie con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span></code>), escriba el nombre del comando y termine con <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>). <code class="docutils literal notranslate"><span class="pre">M-x</span></code> usa el minibuffer para leer el nombre de la orden. La cadena <code class="docutils literal notranslate"><span class="pre">M-x</span></code> aparece al principio del minibuffer como <em>prompt</em> para recordarle que introduzca el nombre de la orden a ejecutar. <code class="docutils literal notranslate"><span class="pre">RET</span></code> sale del minibuffer y ejecuta el comando. Para más información sobre el minibuffer, véase <a class="reference internal" href="09_ElMinibufer.html#id1"><span class="std std-ref">9 El Minibúfer</span></a>.</p>
<p>Puede usar el completado para introducir el nombre del comando. Por ejemplo, para invocar el comando <code class="docutils literal notranslate"><span class="pre">forward-char</span></code>, puede escribir</p>
@ -149,7 +149,7 @@
</div></blockquote>
<p>Tenga en cuenta que <code class="docutils literal notranslate"><span class="pre">forward-char</span></code> es el mismo comando que se invoca con la tecla <code class="docutils literal notranslate"><span class="pre">C-f</span></code>. La existencia de una vinculación de teclas no le impide ejecutar el comando por su nombre.</p>
<p>Cuando <code class="docutils literal notranslate"><span class="pre">M-x</span></code> completa los comandos, ignora los que fueron declarados obsoletos en cualquier versión mayor anterior de Emacs; para éstos, tendrá que escribir su nombre completo. Se listan los comandos que fueron marcados como <em>obsoletos</em> en la versión actual de Emacs. (Los comandos obsoletos son aquellos para los que existen alternativas más nuevas y mejores, y que están programados para ser eliminados en alguna versión futura de Emacs).</p>
<p>Además, el completado M-x puede excluir comandos que no son relevantes para, y generalmente no pueden funcionar con, el modo mayor del buffer actual (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>) y los modos menores (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id3"><span class="std std-ref">24.2 Modos Menores</span></a>). Por defecto, no se excluye ningún comando, pero puede personalizar la opción <code class="docutils literal notranslate"><span class="pre">read-extended-command-predicate</span></code> para excluir esos comandos irrelevantes de los resultados de la finalización.</p>
<p>Además, el completado M-x puede excluir comandos que no son relevantes para, y generalmente no pueden funcionar con, el modo mayor del buffer actual (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>) y los modos menores (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id5"><span class="std std-ref">24.2 Modos Menores</span></a>). Por defecto, no se excluye ningún comando, pero puede personalizar la opción <code class="docutils literal notranslate"><span class="pre">read-extended-command-predicate</span></code> para excluir esos comandos irrelevantes de los resultados de la finalización.</p>
<p>A la inversa, Emacs puede excluir todos los comandos excepto aquellos que son particularmente relevantes para el buffer actual. El comando <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> (<code class="docutils literal notranslate"><span class="pre">M-S-x</span></code> que significa «meta shift x») funciona igual que <code class="docutils literal notranslate"><span class="pre">M-x</span></code>, pero en lugar de listar todos (o la mayoría) de los comandos que Emacs conoce, sólo listará los comandos que han sido marcados como «pertenecientes» al modo mayor actual, o a cualquier modo menor habilitado.</p>
<p>Para cancelar <code class="docutils literal notranslate"><span class="pre">M-x</span></code> y no ejecutar un comando, teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">g</kbd> (<code class="docutils literal notranslate"><span class="pre">C-g</span></code>) en lugar de introducir el nombre del comando. Volverá al nivel de comandos.</p>
<p>Para pasar un argumento numérico al comando que está invocando con <code class="docutils literal notranslate"><span class="pre">M-x</span></code>, especifique el argumento numérico antes de <code class="docutils literal notranslate"><span class="pre">M-x</span></code>. El valor del argumento aparece en el prompt mientras se lee el nombre del comando, y finalmente <code class="docutils literal notranslate"><span class="pre">M-x</span></code> pasa el argumento a ese comando. Por ejemplo, para pasar el argumento numérico 42 al comando <code class="docutils literal notranslate"><span class="pre">forward-char</span></code> puede escribir <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">4</kbd><kbd class="kbd docutils literal notranslate">2</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">forward-char</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span></code> <code class="docutils literal notranslate"><span class="pre">42</span></code> <code class="docutils literal notranslate"><span class="pre">M-x</span></code> <code class="docutils literal notranslate"><span class="pre">forward-char</span></code> <code class="docutils literal notranslate"><span class="pre">RET</span></code>).</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -69,7 +69,7 @@
<li class="toctree-l2"><a class="reference internal" href="#comandos-del-modo-ayuda">11.5 Comandos del Modo Ayuda</a></li>
<li class="toctree-l2"><a class="reference internal" href="#busqueda-de-paquetes-por-palabras-clave">11.6 Búsqueda de Paquetes por Palabras Clave</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ayuda-para-el-soporte-linguistico-internacional">11.7 Ayuda para el Soporte Lingüístico Internacional</a></li>
<li class="toctree-l2"><a class="reference internal" href="#otros-comandos-de-ayuda">11.8 Otros comandos de ayuda</a></li>
<li class="toctree-l2"><a class="reference internal" href="#otros-comandos-de-ayuda">11.8 Otros comandos de Ayuda</a></li>
<li class="toctree-l2"><a class="reference internal" href="#archivos-de-ayuda">11.9 Archivos de Ayuda</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ayuda-sobre-texto-activo-y-tooltips">11.10 Ayuda sobre Texto Activo y Tooltips</a></li>
</ul>
@ -195,7 +195,7 @@ Puede usar una expresión regular como <em>argumento</em>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">b</span></code>)</p>
<blockquote>
<div><p>Muestra todas las combinaciones de teclas activas; primero las del modo menor, luego las del modo mayor y, por último, las combinaciones globales (<code class="docutils literal notranslate"><span class="pre">describe-bindings</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de ayuda</span></a>.</p>
<div><p>Muestra todas las combinaciones de teclas activas; primero las del modo menor, luego las del modo mayor y, por último, las combinaciones globales (<code class="docutils literal notranslate"><span class="pre">describe-bindings</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de Ayuda</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">c</kbd> <em>tecla</em> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">c</span></code> <em>tecla</em>)</p>
<blockquote>
@ -207,7 +207,7 @@ Puede usar una expresión regular como <em>argumento</em>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">e</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">e</span></code>)</p>
<blockquote>
<div><p>Muestra el búfer <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code> (<code class="docutils literal notranslate"><span class="pre">view-echo-area-messages</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de ayuda</span></a>.</p>
<div><p>Muestra el búfer <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code> (<code class="docutils literal notranslate"><span class="pre">view-echo-area-messages</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de Ayuda</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">f</kbd> <em>función</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> <em>función</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
@ -219,7 +219,7 @@ Puede usar una expresión regular como <em>argumento</em>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">i</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">i</span></code>)</p>
<blockquote>
<div><p>Ejecuta Info, el navegador de documentación de GNU (<code class="docutils literal notranslate"><span class="pre">info</span></code>). El manual de Emacs está disponible en Info. Ver <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de ayuda</span></a>.</p>
<div><p>Ejecuta Info, el navegador de documentación de GNU (<code class="docutils literal notranslate"><span class="pre">info</span></code>). El manual de Emacs está disponible en Info. Ver <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de Ayuda</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">k</kbd> <em>tecla</em> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">k</span></code> <em>tecla</em>)</p>
<blockquote>
@ -227,11 +227,11 @@ Puede usar una expresión regular como <em>argumento</em>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">l</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">l</span></code>)</p>
<blockquote>
<div><p>Muestra una descripción de las últimas 300 pulsaciones de teclas (<code class="docutils literal notranslate"><span class="pre">view-lossage</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de ayuda</span></a>.</p>
<div><p>Muestra una descripción de las últimas 300 pulsaciones de teclas (<code class="docutils literal notranslate"><span class="pre">view-lossage</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de Ayuda</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">m</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">m</span></code>)</p>
<blockquote>
<div><p>Muestra la documentación del modo mayor y los modos menores actuales (<code class="docutils literal notranslate"><span class="pre">describe-mode</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de ayuda</span></a>.</p>
<div><p>Muestra la documentación del modo mayor y los modos menores actuales (<code class="docutils literal notranslate"><span class="pre">describe-mode</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de Ayuda</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">n</span></code>)</p>
<blockquote>
@ -255,7 +255,7 @@ Puede usar una expresión regular como <em>argumento</em>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">s</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">s</span></code>)</p>
<blockquote>
<div><p>Muestra el contenido de la <em>tabla de sintaxis</em> actual <code class="docutils literal notranslate"><span class="pre">(describe-syntax</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de ayuda</span></a>. La tabla de sintaxis dice qué caracteres son delimitadores de apertura, cuáles son partes de palabras, etc. <strong>Vea Tablas de Sintaxis</strong> en El Manual de Referencia de Emacs Lisp, para más detalles.</p>
<div><p>Muestra el contenido de la <em>tabla de sintaxis</em> actual <code class="docutils literal notranslate"><span class="pre">(describe-syntax</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de Ayuda</span></a>. La tabla de sintaxis dice qué caracteres son delimitadores de apertura, cuáles son partes de palabras, etc. <strong>Vea Tablas de Sintaxis</strong> en El Manual de Referencia de Emacs Lisp, para más detalles.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">t</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">t</span></code>)</p>
<blockquote>
@ -297,7 +297,7 @@ Puede usar una expresión regular como <em>argumento</em>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">S</kbd> <em>símbolo</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">S</span></code> <em>símbolo</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>Muestra la documentación Info sobre <em>símbolo</em> según el lenguaje de programación que esté editando (<code class="docutils literal notranslate"><span class="pre">info-lookup-symbol</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de ayuda</span></a>.</p>
<div><p>Muestra la documentación Info sobre <em>símbolo</em> según el lenguaje de programación que esté editando (<code class="docutils literal notranslate"><span class="pre">info-lookup-symbol</span></code>). Consulte <a class="reference internal" href="#id7"><span class="std std-ref">11.8 Otros comandos de Ayuda</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">.</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">.</span></code>)</p>
<blockquote>
@ -469,7 +469,7 @@ describir, por defecto.</p>
<p>El comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">C</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C</span></code>, <code class="docutils literal notranslate"><span class="pre">described-coding-system</span></code>) describe sistemas de codificación, ya sea un sistema de codificación especificado o los que se utilizan actualmente. Véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id6"><span class="std std-ref">23.5 Sistemas de Codificación</span></a>.</p>
</section>
<section id="otros-comandos-de-ayuda">
<span id="id7"></span><h2>11.8 Otros comandos de ayuda<a class="headerlink" href="#otros-comandos-de-ayuda" title="Link to this heading"></a></h2>
<span id="id7"></span><h2>11.8 Otros comandos de Ayuda<a class="headerlink" href="#otros-comandos-de-ayuda" title="Link to this heading"></a></h2>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">i</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">i</span></code>, <code class="docutils literal notranslate"><span class="pre">info</span></code>) ejecuta el programa Info, que explora archivos de documentación estructurados. <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">4</kbd> <kbd class="kbd docutils literal notranslate">i</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">4</span> <span class="pre">i</span></code>, <code class="docutils literal notranslate"><span class="pre">info-other-window</span></code>) hace lo mismo, pero muestra el buffer de Info en otra ventana. El manual completo de Emacs está disponible en Info, junto con muchos otros manuales del sistema GNU. Escriba <kbd class="kbd docutils literal notranslate">h</kbd> (<code class="docutils literal notranslate"><span class="pre">h</span></code>) después de entrar en Info para ejecutar un tutorial sobre el uso de Info.</p>
<p>Con un argumento numérico <em>n</em>, <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">i</span></code> selecciona el buffer de Info <code class="docutils literal notranslate"><span class="pre">*info*&lt;n&gt;</span></code>. Esto es útil si desea navegar por varios manuales Info simultáneamente. Si se especifica sólo <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span></code> como) argumento prefijo, <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">i</span></code> solicita el nombre de un archivo de documentación, de modo que se puede navegar por un archivo que no tenga una entrada en el menú Info de nivel superior.</p>
<p>Los comandos de ayuda <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">F</kbd> <em>función</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">F</span></code> <em>función</em> <kbd class="kbd docutils literal notranslate">RET</kbd>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">K</kbd> <em>tecla</em> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">K</span></code> <em>tecla</em>), descritos anteriormente, entran en Info y van directamente a la documentación de la <em>función</em> o <em>tecla</em>.</p>
@ -477,7 +477,7 @@ describir, por defecto.</p>
<p>Si ocurre algo inesperado y no está seguro de lo que ha tecleado, utilice <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">l</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">l</span></code>, <code class="docutils literal notranslate"><span class="pre">view-lossage</span></code>). <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">l</span></code> muestra sus últimas pulsaciones de teclas y los comandos que invocaron. Por defecto, Emacs almacena las últimas 300 pulsaciones; si lo desea, puede cambiar este número con el comando <code class="docutils literal notranslate"><span class="pre">lossage-size</span></code>. Si ve comandos con los que no está familiarizado, puede usar <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">k</span></code> o <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> para averiguar qué hacen.</p>
<p>Para revisar los mensajes recientes del área de eco, utilice <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">e</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">e</span></code>, <code class="docutils literal notranslate"><span class="pre">view-echo-area-messages</span></code>). Esto muestra el buffer <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code>, donde se guardan esos mensajes.</p>
<p>Cada modo principal de Emacs normalmente redefine algunas teclas y realiza otros cambios en el funcionamiento de la edición. <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">m</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">m</span></code>, <code class="docutils literal notranslate"><span class="pre">describe-mode</span></code>) muestra documentación sobre el modo principal actual, que normalmente describe los comandos y características que cambian en este modo, y también sus atajos de teclado.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">b</span></code>, <code class="docutils literal notranslate"><span class="pre">describe-bindings</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">s</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">s</span></code>, <code class="docutils literal notranslate"><span class="pre">describe-syntax</span></code>) muestran otra información sobre el entorno actual dentro de Emacs. <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">b</span></code> muestra una lista de todas las combinaciones de teclas ahora en efecto: primero las combinaciones locales de los modos menores actuales, luego las combinaciones locales definidas por el modo mayor actual, y finalmente las combinaciones globales (ver <a class="reference internal" href="50_Personlzc.html#id16"><span class="std std-ref">50.3 Personalizar las Combinaciones de Teclas</span></a>). <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">s</span></code> muestra el contenido de la tabla de sintaxis, con explicaciones de la sintaxis de cada carácter (<strong>véase Tablas de Sintaxis</strong> en el Manual de Referencia de Emacs Lisp).</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">b</span></code>, <code class="docutils literal notranslate"><span class="pre">describe-bindings</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">s</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">s</span></code>, <code class="docutils literal notranslate"><span class="pre">describe-syntax</span></code>) muestran otra información sobre el entorno actual dentro de Emacs. <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">b</span></code> muestra una lista de todas las combinaciones de teclas ahora en efecto: primero las combinaciones locales de los modos menores actuales, luego las combinaciones locales definidas por el modo mayor actual, y finalmente las combinaciones globales (ver <a class="reference internal" href="50_Personlzc.html#id17"><span class="std std-ref">50.3 Personalizar las Combinaciones de Teclas</span></a>). <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">s</span></code> muestra el contenido de la tabla de sintaxis, con explicaciones de la sintaxis de cada carácter (<strong>véase Tablas de Sintaxis</strong> en el Manual de Referencia de Emacs Lisp).</p>
<p>Puede obtener una lista de subcomandos para una tecla prefijo en particular tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span></code>), <kbd class="kbd docutils literal notranslate">?</kbd> (<code class="docutils literal notranslate"><span class="pre">?</span></code>), o <kbd class="kbd docutils literal notranslate">F1</kbd> (<code class="docutils literal notranslate"><span class="pre">F1</span></code>, <code class="docutils literal notranslate"><span class="pre">describe-prefix-bindings</span></code>) después de la tecla prefijo. (Hay algunas teclas de prefijo para las que no funcionan todas estas teclas, las que proporcionan sus propias combinaciones para esa tecla. Una de estas teclas de prefijo es <kbd class="kbd docutils literal notranslate">ESC</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span></code>), porque <kbd class="kbd docutils literal notranslate">ESC</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span> <span class="pre">C-h</span></code>) y <kbd class="kbd docutils literal notranslate">ESC</kbd> <kbd class="kbd docutils literal notranslate">?</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span> <span class="pre">?</span></code>) son en realidad <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-h</span></code>, <code class="docutils literal notranslate"><span class="pre">mark-defun</span></code>) y <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">?</kbd> (<code class="docutils literal notranslate"><span class="pre">M-?</span></code>, <code class="docutils literal notranslate"><span class="pre">xref-find-references</span></code>), respectivamente. Sin embargo, <kbd class="kbd docutils literal notranslate">ESC</kbd> <kbd class="kbd docutils literal notranslate">F1</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span> <span class="pre">F1</span></code>) funciona bien).</p>
<p>Finalmente, <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">describe-keymap</span></code> pide el nombre de un mapa de teclado, con finalización (o completado), y muestra un listado de todas las combinaciones de teclas en ese mapa de teclado.</p>
</section>
@ -531,7 +531,7 @@ describir, por defecto.</p>
</section>
<section id="ayuda-sobre-texto-activo-y-tooltips">
<span id="id9"></span><h2>11.10 Ayuda sobre Texto Activo y Tooltips<a class="headerlink" href="#ayuda-sobre-texto-activo-y-tooltips" title="Link to this heading"></a></h2>
<p>En Emacs, los tramos de <em>texto activo</em> (texto que hace algo especial en respuesta a clics del ratón o <code class="docutils literal notranslate"><span class="pre">RET</span></code>) a menudo tienen texto de ayuda asociado. Esto incluye hipervínculos en los buffers de Emacs, así como partes de la línea de modo. En las pantallas gráficas, así como en algunos terminales de texto que soportan el seguimiento del ratón, al mover el ratón sobre el texto activo se muestra el texto de ayuda en forma de <em>Sugerencia sobre Herramientas</em> (tooltip). Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id17"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>.</p>
<p>En Emacs, los tramos de <em>texto activo</em> (texto que hace algo especial en respuesta a clics del ratón o <code class="docutils literal notranslate"><span class="pre">RET</span></code>) a menudo tienen texto de ayuda asociado. Esto incluye hipervínculos en los buffers de Emacs, así como partes de la línea de modo. En las pantallas gráficas, así como en algunos terminales de texto que soportan el seguimiento del ratón, al mover el ratón sobre el texto activo se muestra el texto de ayuda en forma de <em>Sugerencia sobre Herramientas</em> (tooltip). Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id18"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>.</p>
<p>En terminales que no soportan el seguimiento del ratón, puede mostrar el texto de ayuda para el texto activo del búfer en el punto tecleando (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">.</span></code>, <code class="docutils literal notranslate"><span class="pre">display-local-help</span></code>). Esto muestra el texto de ayuda en el área de eco. Para mostrar el texto de ayuda automáticamente siempre que esté disponible en el punto, establezca la variable <code class="docutils literal notranslate"><span class="pre">help-at-pt-display-when-idle</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>.</p>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -234,7 +234,7 @@
<div><ul class="simple">
<li><p>Matar con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">w</kbd> (<code class="docutils literal notranslate"><span class="pre">C-w</span></code>, ver <a class="reference internal" href="13_MatarMoverTxt.html#id1"><span class="std std-ref">13 Matar y Mover Texto</span></a>).</p></li>
<li><p>Copiar en el anillo de muerte con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">w</kbd> (<code class="docutils literal notranslate"><span class="pre">M-w</span></code>, vea <a class="reference internal" href="13_MatarMoverTxt.html#id4"><span class="std std-ref">13.2 Tirar de un Texto</span></a>).</p></li>
<li><p>Convertir mayúsculas y minúsculas con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">l</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-l</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-u</span></code>) (ver <a class="reference internal" href="26_ComandsLengsHuma.html#id10"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>).</p></li>
<li><p>Convertir mayúsculas y minúsculas con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">l</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-l</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-u</span></code>) (ver <a class="reference internal" href="26_ComandsLengsHuma.html#id11"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>).</p></li>
<li><p>Deshacer los cambios en su interior con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-:kbd`/` (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-/</span></code>, ver <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id2"><span class="std std-ref">17.1 Deshacer</span></a>).</p></li>
<li><p>Reemplazar texto con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">%</kbd> (<code class="docutils literal notranslate"><span class="pre">M-%</span></code>, ver <a class="reference internal" href="16_BusqReemp.html#id18"><span class="std std-ref">16.10.4 Sustitución de Consultas</span></a>).</p></li>
<li><p>Aplicar sangría con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">TAB</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">TAB</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-\</span></code> , ver <a class="reference internal" href="25_Indentacion.html#id1"><span class="std std-ref">25 Indentación</span></a>).</p></li>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -334,7 +334,7 @@
<section id="operaciones-de-cortar-y-pegar-en-entornos-graficos-de-escritorio">
<span id="id8"></span><h2>13.3 Operaciones de «cortar y pegar» en Entornos Gráficos de Escritorio<a class="headerlink" href="#operaciones-de-cortar-y-pegar-en-entornos-graficos-de-escritorio" title="Link to this heading"></a></h2>
<p>En la mayoría de los entornos gráficos de escritorio, puede transferir datos (normalmente texto) entre diferentes aplicaciones utilizando una función del sistema llamada <em>portapapeles</em>. En X, existen otras dos facilidades similares: la selección primaria y la selección secundaria. Cuando Emacs se ejecuta en una pantalla gráfica, sus comandos kill y yank se integran con estas facilidades, de modo que puedes transferir texto fácilmente entre Emacs y otras aplicaciones gráficas.</p>
<p>Por defecto, Emacs usa UTF-8 como sistema de codificación para las transferencias de texto entre programas. Si encuentra que el texto pegado no es lo que esperaba, puede especificar otro sistema de codificación tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">x</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">X</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">X</span></code>). También puede solicitar un tipo de datos diferente personalizando <code class="docutils literal notranslate"><span class="pre">x-select-request-type</span></code>. Véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id11"><span class="std std-ref">23.10 Sistemas de Codificación para la Comunicación Interprocesos</span></a>.</p>
<p>Por defecto, Emacs usa UTF-8 como sistema de codificación para las transferencias de texto entre programas. Si encuentra que el texto pegado no es lo que esperaba, puede especificar otro sistema de codificación tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">x</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">X</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">X</span></code>). También puede solicitar un tipo de datos diferente personalizando <code class="docutils literal notranslate"><span class="pre">x-select-request-type</span></code>. Véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id13"><span class="std std-ref">23.10 Sistemas Codificación para la Comunicación Interprocesos</span></a>.</p>
<section id="utilizar-el-portapapeles">
<span id="id9"></span><h3>13.3.1 Utilizar el Portapapeles<a class="headerlink" href="#utilizar-el-portapapeles" title="Link to this heading"></a></h3>
<p>El <em>portapapeles</em> es la herramienta que la mayoría de las aplicaciones gráficas utilizan para «cortar y pegar». Cuando el portapapeles existe, los comandos kill y yank de Emacs hacen uso de él.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -201,7 +201,7 @@
<p>A veces, particularmente cuando mantenemos pulsadas teclas como <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">v</kbd> (<code class="docutils literal notranslate"><span class="pre">C-v</span></code>) y <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">v</kbd> (<code class="docutils literal notranslate"><span class="pre">M-v</span></code>), activando la auto-repetición de teclado, Emacs no consigue mantener el ritmo rápido de desplazamiento solicitado; la pantalla no se actualiza y el Editor puede dejar de responder a las entradas durante bastante tiempo. Podemos contrarrestar esta lentitud estableciendo la variable <code class="docutils literal notranslate"><span class="pre">fast-but-imprecise-scrolling</span></code> a un valor no nulo. Esto indica a los comandos de desplazamiento que no tipifiquen (ver <a class="reference internal" href="#id12"><span class="std std-ref">15.13 Modo de Bloqueo de Fuente</span></a>) cualquier texto no tipificado sobre el que se desplacen, asumiendo en su lugar que tiene la fuente por defecto. Esto puede hacer que Emacs se desplace a posiciones de búfer algo erróneas cuando las caras en uso no son todas del mismo tamaño, incluso con operaciones de desplazamiento simples (es decir, sin repetición automática).</p>
<p>Como alternativa a configurar el desplazamiento rápido-pero-impreciso (<code class="docutils literal notranslate"><span class="pre">fast-but-imprecise-scrolling</span></code>), puede que prefiera activar la fontificación diferida de <code class="docutils literal notranslate"><span class="pre">jit-lock</span></code> (vea <a class="reference internal" href="#id12"><span class="std std-ref">15.13 Modo de Bloqueo de Fuente</span></a>). Para ello, personalice <code class="docutils literal notranslate"><span class="pre">jit-lock-defer-time</span></code> a un pequeño número positivo como 0.25, o incluso 0.1 si escribe rápido. De este modo, el desplazamiento será menos brusco cuando mantenga pulsada la tecla <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">v</kbd> (<code class="docutils literal notranslate"><span class="pre">C-v</span></code>), pero el contenido de la ventana después de cualquier acción que se desplace a una nueva porción del búfer estará momentáneamente sin fuente.</p>
<p>Por último, una tercera alternativa a estas variables es <code class="docutils literal notranslate"><span class="pre">redisplay-skip-fontification-on-input</span></code>. Si esta variable no es nula, salta algunas fontificaciones si hay entrada pendiente. Esto normalmente no afecta a la visualización porque la redisplay se salta completamente de todos modos si había entrada pendiente, pero puede hacer que el desplazamiento sea más suave al evitar la fontificación innecesaria.</p>
<p>Los comandos <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-up</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-up</span></code>) y <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-down</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-down</span></code>) se comportan de forma similar a <code class="docutils literal notranslate"><span class="pre">scroll-up-command</span></code> y <code class="docutils literal notranslate"><span class="pre">scroll-down-command</span></code>, excepto que no obedecen a <code class="docutils literal notranslate"><span class="pre">scroll-error-top-bottom</span></code>. Antes de Emacs 24, estos eran los comandos por defecto para desplazarse arriba y abajo. Los comandos <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-up-line</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-up-line</span></code>) y <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-down-line</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-down-line</span></code>) desplazan la ventana actual una línea cada vez. Si tiene intención de usar cualquiera de estos comandos, puede que quiera asignarles teclas (vea <a class="reference internal" href="50_Personlzc.html#id19"><span class="std std-ref">50.3.6. Reasignación de Teclas en el Archivo de Inicio</span></a>).</p>
<p>Los comandos <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-up</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-up</span></code>) y <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-down</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-down</span></code>) se comportan de forma similar a <code class="docutils literal notranslate"><span class="pre">scroll-up-command</span></code> y <code class="docutils literal notranslate"><span class="pre">scroll-down-command</span></code>, excepto que no obedecen a <code class="docutils literal notranslate"><span class="pre">scroll-error-top-bottom</span></code>. Antes de Emacs 24, estos eran los comandos por defecto para desplazarse arriba y abajo. Los comandos <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-up-line</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-up-line</span></code>) y <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-down-line</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-down-line</span></code>) desplazan la ventana actual una línea cada vez. Si tiene intención de usar cualquiera de estos comandos, puede que quiera asignarles teclas (vea <a class="reference internal" href="50_Personlzc.html#id20"><span class="std std-ref">50.3.6. Reasignación de Teclas en el Archivo de Inicio</span></a>).</p>
</section>
<section id="recentrado">
<h2>15.2 Recentrado<a class="headerlink" href="#recentrado" title="Link to this heading"></a></h2>
@ -284,7 +284,7 @@ línea superior, la inferior y así sucesivamente en orden cíclico. Es posible
<p>Como alternativa, use <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">n</span> <span class="pre">p</span></code> (<code class="docutils literal notranslate"><span class="pre">narrow-to-page</span></code>, reducir la página) para reducir a la página actual. Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id5"><span class="std std-ref">26.4 Páginas</span></a>, para la definición de una página. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">n</span> <span class="pre">d</span></code> (<code class="docutils literal notranslate"><span class="pre">narrow-to-defun</span></code>) se limita a la definición que contiene el punto (consulte <a class="reference internal" href="27_EdDePrograms.html#id2"><span class="std std-ref">27.2 Definiciones de Nivel Superior, o Defuns</span></a>).</p>
<p>La forma de cancelar el acotamiento (o estrechamiento) es ampliar con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">n</span> <span class="pre">w</span></code> (<code class="docutils literal notranslate"><span class="pre">widen</span></code>). Esto hace que todo el texto del búfer sea accesible de nuevo.</p>
<p>Puede obtener información sobre a qué parte del buffer se ha estrechado usando el comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">=</span></code>. Véase <a class="reference internal" href="08_ComBasicEdic.html#id8"><span class="std std-ref">8.9 Información sobre la posición del cursor</span></a>.</p>
<p>Debido a que el estrechamiento puede confundir fácilmente a los Usuarios que no lo entienden, <code class="docutils literal notranslate"><span class="pre">narrow-to-region</span></code> es normalmente un comando desactivado. Al intentar usar este comando se pide confirmación y se da la opción de habilitarlo; si habilita el comando, ya no se pedirá confirmación para él. Consulte <a class="reference internal" href="50_Personlzc.html#id22"><span class="std std-ref">50.3.11 Deshabilitar Comandos</span></a>.</p>
<p>Debido a que el estrechamiento puede confundir fácilmente a los Usuarios que no lo entienden, <code class="docutils literal notranslate"><span class="pre">narrow-to-region</span></code> es normalmente un comando desactivado. Al intentar usar este comando se pide confirmación y se da la opción de habilitarlo; si habilita el comando, ya no se pedirá confirmación para él. Consulte <a class="reference internal" href="50_Personlzc.html#id23"><span class="std std-ref">50.3.11 Deshabilitar Comandos</span></a>.</p>
</section>
<section id="modo-vista">
<span id="id6"></span><h2>15.6 Modo Vista<a class="headerlink" href="#modo-vista" title="Link to this heading"></a></h2>
@ -320,7 +320,7 @@ línea superior, la inferior y así sucesivamente en orden cíclico. Es posible
<h3>15.9.2 Tripletes RGB<a class="headerlink" href="#tripletes-rgb" title="Link to this heading"></a></h3>
<p>Un triplete RGB es una cadena de la forma <code class="docutils literal notranslate"><span class="pre">#RRGGBB</span></code>. Cada uno de los componentes primarios del color está representado por un número hexadecimal entre <code class="docutils literal notranslate"><span class="pre">00</span></code> (intensidad 0 (cero)) y <code class="docutils literal notranslate"><span class="pre">FF</span></code> (la intensidad máxima). También es posible usar uno, tres o cuatro dígitos hexadecimales para cada componente, por lo que <code class="docutils literal notranslate"><span class="pre">red</span></code> (rojo) puede representarse como <code class="docutils literal notranslate"><span class="pre">#F00</span></code>, <code class="docutils literal notranslate"><span class="pre">#fff000000</span></code> o <code class="docutils literal notranslate"><span class="pre">#ffff00000000</span></code>. Los componentes deben tener el mismo número de dígitos. Para los valores hexadecimales A a F, se aceptan mayúsculas o minúsculas.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">list-colors-display</span></code> también muestra el triplete RGB equivalente para cada color nombrado. Por ejemplo, medium sea green equivale a <code class="docutils literal notranslate"><span class="pre">#3CB371</span></code>.</p>
<p>Puede cambiar los colores de primer plano y fondo de una cara con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-face-foreground</span></code> y <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-face-background</span></code>. Estos comandos preguntan en el minibuffer por el nombre de una cara y un color, con completado, y luego establecen que esa cara use el color especificado. Afectan a los colores de las caras en todos los marcos, pero sus efectos no persisten para futuras sesiones de Emacs, a diferencia del uso del buffer de personalización o de los recursos X. También puede usar parámetros de marco para establecer los colores de primer plano y fondo para un marco específico; Vea <a class="reference internal" href="22_MarcosPantallasGraf.html#id9"><span class="std std-ref">22.11 Parámetros de Marco</span></a>.</p>
<p>Puede cambiar los colores de primer plano y fondo de una cara con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-face-foreground</span></code> y <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-face-background</span></code>. Estos comandos preguntan en el minibuffer por el nombre de una cara y un color, con completado, y luego establecen que esa cara use el color especificado. Afectan a los colores de las caras en todos los marcos, pero sus efectos no persisten para futuras sesiones de Emacs, a diferencia del uso del buffer de personalización o de los recursos X. También puede usar parámetros de marco para establecer los colores de primer plano y fondo para un marco específico; Vea <a class="reference internal" href="22_MarcosPantallasGraf.html#id10"><span class="std std-ref">22.11 Parámetros de Marco</span></a>.</p>
</section>
</section>
<section id="caras-normalizadas">
@ -390,7 +390,7 @@ líneas de modo de todas las ventanas.</p>
<dt><code class="docutils literal notranslate"><span class="pre">mode-line-inactive</span></code></dt><dd><p>Como <code class="docutils literal notranslate"><span class="pre">mode-line</span></code>, pero se utiliza para las líneas de modo de las ventanas distintas de la seleccionada (si <code class="docutils literal notranslate"><span class="pre">mode-line-in-non-selected-windows</span></code> es distinto de <code class="docutils literal notranslate"><span class="pre">nil</span></code>). Esta cara
hereda de <code class="docutils literal notranslate"><span class="pre">mode-line</span></code>, por lo que los cambios en esa cara afectan a las líneas de modo de todas las ventanas.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">mode-line-highlight</span></code></dt><dd><p>Como <code class="docutils literal notranslate"><span class="pre">highlight</span></code>, pero se usa para porciones de texto sensibles al ratón en líneas de modo. Estas porciones de texto suelen mostrar información sobre herramientas (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id17"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>) cuando el puntero del ratón pasa por encima de ellas.</p>
<dt><code class="docutils literal notranslate"><span class="pre">mode-line-highlight</span></code></dt><dd><p>Como <code class="docutils literal notranslate"><span class="pre">highlight</span></code>, pero se usa para porciones de texto sensibles al ratón en líneas de modo. Estas porciones de texto suelen mostrar información sobre herramientas (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id18"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>) cuando el puntero del ratón pasa por encima de ellas.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">mode-line-buffer-id</span></code></dt><dd><p>Esta cara se usa para las partes de identificación del búfer en la línea de modo.</p>
</dd>
@ -410,20 +410,20 @@ una cara independiente porque la cara de la línea de encabezado puede personali
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">cursor</span></code></dt><dd><p>El atributo <code class="docutils literal notranslate"><span class="pre">background</span></code> de esta cara especifica el color del cursor de texto. Véase <a class="reference internal" href="#id19"><span class="std std-ref">15.21 Visualización del Cursor</span></a>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">tooltip</span></code></dt><dd><p>Esta cara se usa para el texto de la información sobre herramientas. Por defecto, si Emacs está construido con soporte GTK+, los tooltips se dibujan vía GTK+ y esta cara no tiene efecto. Ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id17"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>.</p>
<dt><code class="docutils literal notranslate"><span class="pre">tooltip</span></code></dt><dd><p>Esta cara se usa para el texto de la información sobre herramientas. Por defecto, si Emacs está construido con soporte GTK+, los tooltips se dibujan vía GTK+ y esta cara no tiene efecto. Ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id18"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">mouse</span></code></dt><dd><p>Esta cara determina el color del puntero del ratón.</p>
</dd>
</dl>
<p>Las siguientes caras también controlan la apariencia de partes del marco de Emacs, pero sólo en terminales de texto, o cuando Emacs se construye en X sin soporte del toolkit. (Para todos los demás casos, la apariencia de los respectivos elementos del marco viene determinada por los ajustes de todo el sistema).</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">scroll-bar</span></code></dt><dd><p>Esta cara determina el aspecto visual de la barra de desplazamiento. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id10"><span class="std std-ref">22.12. Barras de Desplazamiento</span></a>.</p>
<dt><code class="docutils literal notranslate"><span class="pre">scroll-bar</span></code></dt><dd><p>Esta cara determina el aspecto visual de la barra de desplazamiento. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id11"><span class="std std-ref">22.12. Barras de Desplazamiento</span></a>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">tool-bar</span></code></dt><dd><p>Esta cara determina el color de los iconos de la barra de herramientas. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id14"><span class="std std-ref">22.16. Barras de Herramientas</span></a>.</p>
<dt><code class="docutils literal notranslate"><span class="pre">tool-bar</span></code></dt><dd><p>Esta cara determina el color de los iconos de la barra de herramientas. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id15"><span class="std std-ref">22.16. Barras de Herramientas</span></a>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">tab-bar</span></code></dt><dd><p>Esta cara determina el color de los iconos de la barra de pestañas. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id15"><span class="std std-ref">22.17 Barras de Pestañas</span></a>.</p>
<dt><code class="docutils literal notranslate"><span class="pre">tab-bar</span></code></dt><dd><p>Esta cara determina el color de los iconos de la barra de pestañas. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id16"><span class="std std-ref">22.17 Barras de Pestañas</span></a>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">menu</span></code></dt><dd><p>Esta cara determina los colores y la fuente de los menús de Emacs. Ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id13"><span class="std std-ref">22.15 Barras de Menús</span></a>.</p>
<dt><code class="docutils literal notranslate"><span class="pre">menu</span></code></dt><dd><p>Esta cara determina los colores y la fuente de los menús de Emacs. Ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id14"><span class="std std-ref">22.15 Barras de Menús</span></a>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">tty-menu-enable-face</span></code></dt><dd><p>Esta cara se usa para mostrar los elementos de menú activados en terminales de modo texto.</p>
</dd>
@ -604,15 +604,15 @@ directamente, independientemente del valor de esta variable.</p>
<section id="bordes-de-ventana">
<span id="id14"></span><h2>15.15 Bordes de ventana<a class="headerlink" href="#bordes-de-ventana" title="Link to this heading"></a></h2>
<p>En las pantallas gráficas, cada ventana de Emacs tiene normalmente <em>franjas</em> estrechas en los bordes izquierdo y derecho. Las franjas se usan para mostrar símbolos que proporcionan información sobre el texto de la ventana. Puede escribir <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">fringe-mode</span></code> para alternar la visualización de dichas franjas o para modificar su anchura. Este comando afecta a las franjas de todos los cuadros; para modificar las franjas sólo en el cuadro seleccionado, utilice <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-fringe-style</span></code>. Puede hacer que sus cambios en las franjas sean permanentes personalizando la variable <code class="docutils literal notranslate"><span class="pre">fringe-mode</span></code>.</p>
<p>El uso más común de las franjas es indicar una línea de continuación (véase <a class="reference internal" href="08_ComBasicEdic.html#id7"><span class="std std-ref">8.8 Líneas de Continuación</span></a>). Cuando una línea de texto se divide en varias líneas de pantalla, la franja izquierda muestra una flecha curva para cada línea de pantalla excepto la primera, lo que indica que no es el comienzo real. La franja derecha muestra una flecha curva para cada línea de pantalla excepto la última, indicando que no es el final real. Si la dirección de la línea es de derecha a izquierda (véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id27"><span class="std std-ref">23.20 Edición Bidireccional</span></a>), los significados de las flechas curvas en las franjas se intercambian.</p>
<p>El uso más común de las franjas es indicar una línea de continuación (véase <a class="reference internal" href="08_ComBasicEdic.html#id7"><span class="std std-ref">8.8 Líneas de Continuación</span></a>). Cuando una línea de texto se divide en varias líneas de pantalla, la franja izquierda muestra una flecha curva para cada línea de pantalla excepto la primera, lo que indica que no es el comienzo real. La franja derecha muestra una flecha curva para cada línea de pantalla excepto la última, indicando que no es el final real. Si la dirección de la línea es de derecha a izquierda (véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id24"><span class="std std-ref">23.20 Edición Bidireccional</span></a>), los significados de las flechas curvas en las franjas se intercambian.</p>
<p>Las franjas indican cuando hay truncamiento de línea (ver <a class="reference internal" href="#id20"><span class="std std-ref">15.22 Truncado de Línea</span></a>) con flechas horizontales cortas que significan que hay más texto en esta línea que se desplaza horizontalmente fuera de la vista. Al hacer clic con el ratón en una de las flechas, la pantalla se desplaza horizontalmente en la dirección de la flecha.</p>
<p>Las franjas también pueden indicar otras cosas, como los límites del búfer (ver Visualizar <a class="reference internal" href="#id15"><span class="std std-ref">15.16 Mostrar Límites</span></a>), líneas no usadas cerca del final de la ventana (ver 4º párrafo de <a class="reference internal" href="#id16"><span class="std std-ref">15.17 Espacios en Blanco Innecesarios</span></a>), y dónde se está ejecutando un programa que estás depurando (ver <a class="reference internal" href="28_CompProbProg.html#id7"><span class="std std-ref">28.6. Ejecutar Depuradores en Emacs</span></a>).</p>
<p>La franja también se usa para dibujar el cursor, si la línea actual es exactamente tan ancha como la ventana y el punto está al final de la línea. Para desactivar esto, cambie la variable <code class="docutils literal notranslate"><span class="pre">overflow-newline-into-fringe</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>; esto hace que Emacs continúe o trunque las líneas que son exactamente tan anchas como la ventana.</p>
<p>Si personaliza el modo franja (fringe-mode) para eliminar las franjas en uno o ambos lados de la ventana de visualización, las características que se muestran en la franja no están disponibles. Los indicadores de continuación y truncamiento de línea son una excepción: cuando las franjas no están disponibles, Emacs usa las celdas de caracteres más a la izquierda y más a la derecha para indicar la continuación y el truncamiento con caracteres ASCII especiales, véase <a class="reference internal" href="08_ComBasicEdic.html#id7"><span class="std std-ref">8.8 Líneas de Continuación</span></a> y <a class="reference internal" href="#id20"><span class="std std-ref">15.22 Truncado de Línea</span></a>. Esto reduce el ancho disponible para mostrar texto en cada línea, porque las celdas de caracteres usadas para los indicadores de truncamiento y continuación están reservadas para ese propósito. Dado que el texto del búfer puede incluir texto bidireccional y, por tanto, párrafos tanto de izquierda a derecha como de derecha a izquierda (véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id27"><span class="std std-ref">23.20 Edición Bidireccional</span></a>), al eliminar sólo una de las franjas se siguen reservando dos celdas de caracteres, una a cada lado de la ventana, para los indicadores de truncamiento y continuación, ya que estos indicadores se muestran en lados opuestos de la ventana en los párrafos de derecha a izquierda.</p>
<p>Si personaliza el modo franja (fringe-mode) para eliminar las franjas en uno o ambos lados de la ventana de visualización, las características que se muestran en la franja no están disponibles. Los indicadores de continuación y truncamiento de línea son una excepción: cuando las franjas no están disponibles, Emacs usa las celdas de caracteres más a la izquierda y más a la derecha para indicar la continuación y el truncamiento con caracteres ASCII especiales, véase <a class="reference internal" href="08_ComBasicEdic.html#id7"><span class="std std-ref">8.8 Líneas de Continuación</span></a> y <a class="reference internal" href="#id20"><span class="std std-ref">15.22 Truncado de Línea</span></a>. Esto reduce el ancho disponible para mostrar texto en cada línea, porque las celdas de caracteres usadas para los indicadores de truncamiento y continuación están reservadas para ese propósito. Dado que el texto del búfer puede incluir texto bidireccional y, por tanto, párrafos tanto de izquierda a derecha como de derecha a izquierda (véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id24"><span class="std std-ref">23.20 Edición Bidireccional</span></a>), al eliminar sólo una de las franjas se siguen reservando dos celdas de caracteres, una a cada lado de la ventana, para los indicadores de truncamiento y continuación, ya que estos indicadores se muestran en lados opuestos de la ventana en los párrafos de derecha a izquierda.</p>
</section>
<section id="mostrar-limites">
<span id="id15"></span><h2>15.16 Mostrar Límites<a class="headerlink" href="#mostrar-limites" title="Link to this heading"></a></h2>
<p>Emacs puede mostrar una indicación de la posición de la columna de relleno (véase <a class="reference internal" href="26_ComandsLengsHuma.html#id8"><span class="std std-ref">26.6.2 Comandos de Relleno Explícito</span></a>). El indicador de columna de relleno es una funcionalidad útil especialmente en modo prog y sus descendientes (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>) para indicar la posición de una columna específica que tiene algún significado especial para formatear el código fuente de un programa. Esto supone que el búfer usa una fuente de paso fijo, donde todos los caracteres (con la posible excepción de los caracteres de doble ancho) tienen el mismo ancho en pantalla. Si el búfer usa fuentes de paso variable, los indicadores de relleno de columna en diferentes líneas pueden aparecer desalineados.</p>
<p>Emacs puede mostrar una indicación de la posición de la columna de relleno (véase <a class="reference internal" href="26_ComandsLengsHuma.html#id9"><span class="std std-ref">26.6.2 Comandos de Relleno Explícito</span></a>). El indicador de columna de relleno es una funcionalidad útil especialmente en modo prog y sus descendientes (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>) para indicar la posición de una columna específica que tiene algún significado especial para formatear el código fuente de un programa. Esto supone que el búfer usa una fuente de paso fijo, donde todos los caracteres (con la posible excepción de los caracteres de doble ancho) tienen el mismo ancho en pantalla. Si el búfer usa fuentes de paso variable, los indicadores de relleno de columna en diferentes líneas pueden aparecer desalineados.</p>
<p>Para activar la indicación de columna de relleno, use los modos menores <code class="docutils literal notranslate"><span class="pre">display-fill-column-indicator-mode</span></code> y <code class="docutils literal notranslate"><span class="pre">global-display-fill-column-indicator-mode</span></code>, que activan el indicador local o globalmente, respectivamente.</p>
<p>Alternativamente, puede establecer las dos variables locales del búfer <code class="docutils literal notranslate"><span class="pre">display-fill-column-indicator</span></code> y <code class="docutils literal notranslate"><span class="pre">display-fill-column-indicator-character</span></code> para activar el indicador y controlar el carácter utilizado para la indicación. Tenga en cuenta que ambas variables deben ser no nulas para que se muestre la indicación. (Activar el modo menor activa ambas variables).</p>
<p>Hay 2 variables locales de búfer y una cara para personalizar este modo:</p>
@ -679,7 +679,7 @@ cambiar esto, personalice la expresión regular <code class="docutils literal no
<p>Las líneas ocultas siguen presentes en el búfer, y la mayoría de los comandos de edición las ven como de costumbre, por lo que es posible que encuentre un punto en medio del texto oculto. Cuando ocurre esto, el cursor aparece al final de la línea anterior, después de los tres puntos. Si el punto está al final de la línea visible, antes de la nueva línea que la termina, el cursor aparece antes de los tres puntos.</p>
<p>Para volver a hacer visibles todas las líneas, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">$</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">$</span></code>) sin argumento.</p>
<p>Si establece la variable <code class="docutils literal notranslate"><span class="pre">selective-display-ellipses</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, los tres puntos no aparecen al final de una línea que precede a líneas ocultas. Entonces no hay indicación visible de las líneas ocultas. Cuando se configura esta variable, automáticamente se convierte en local.</p>
<p>Véase también <a class="reference internal" href="26_ComandsLengsHuma.html#id11"><span class="std std-ref">26.9 Modo Esquema</span></a> para otra forma de ocultar parte del texto en un búfer.</p>
<p>Véase también <a class="reference internal" href="26_ComandsLengsHuma.html#id12"><span class="std std-ref">26.9 Modo Esquema</span></a> para otra forma de ocultar parte del texto en un búfer.</p>
</section>
<section id="caracteristicas-opcionales-de-la-linea-de-modo">
<span id="id17"></span><h2>15.19 Características Opcionales de la Línea de Modo<a class="headerlink" href="#caracteristicas-opcionales-de-la-linea-de-modo" title="Link to this heading"></a></h2>
@ -689,7 +689,7 @@ cambiar esto, personalice la expresión regular <code class="docutils literal no
</div>
<p>Aquí tamaño es la representación legible por humanos del número de caracteres en el búfer, lo que significa que para abreviar se utiliza <code class="docutils literal notranslate"><span class="pre">k</span></code> para 10^3 (10<sup>3</sup>), <code class="docutils literal notranslate"><span class="pre">M</span></code> para 10^6 (10<sup>6</sup>), <code class="docutils literal notranslate"><span class="pre">G</span></code> para 10^9 (10<sup>9</sup>), etc.</p>
<p>El número de línea actual de punto aparece en la línea de modo cuando el modo de número de línea está activado. Use el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">column-number-mode</span></code> para activar y desactivar este modo; normalmente está activado. El número de línea aparece después del porcentaje <em>pos</em> del búfer, con la letra <code class="docutils literal notranslate"><span class="pre">L</span></code> para indicar de qué se trata.</p>
<p>Del mismo modo, puede mostrar el número de columna actual activando el modo número de columna con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">column-number-mode</span></code>. El número de columna se indica con la letra <code class="docutils literal notranslate"><span class="pre">C</span></code>. Sin embargo, cuando ambos modos están activados, los números de línea y columna se muestran entre paréntesis, el número de línea primero, en lugar de con <code class="docutils literal notranslate"><span class="pre">L</span></code> y <code class="docutils literal notranslate"><span class="pre">C</span></code>. Por ejemplo: <code class="docutils literal notranslate"><span class="pre">(561,2)</span></code>. Consulte <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id3"><span class="std std-ref">24.2 Modos Menores</span></a>, para obtener más información sobre los modos menores y sobre cómo utilizar estos comandos.</p>
<p>Del mismo modo, puede mostrar el número de columna actual activando el modo número de columna con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">column-number-mode</span></code>. El número de columna se indica con la letra <code class="docutils literal notranslate"><span class="pre">C</span></code>. Sin embargo, cuando ambos modos están activados, los números de línea y columna se muestran entre paréntesis, el número de línea primero, en lugar de con <code class="docutils literal notranslate"><span class="pre">L</span></code> y <code class="docutils literal notranslate"><span class="pre">C</span></code>. Por ejemplo: <code class="docutils literal notranslate"><span class="pre">(561,2)</span></code>. Consulte <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id5"><span class="std std-ref">24.2 Modos Menores</span></a>, para obtener más información sobre los modos menores y sobre cómo utilizar estos comandos.</p>
<p>20En el modo Número de columna (Column Numbermode), el número de columna mostrado cuenta desde cero a partir del margen izquierdo de la ventana. Si prefiere que el número de columna mostrado cuente a partir de uno, puede establecer <code class="docutils literal notranslate"><span class="pre">column-number-indicator-zero-based</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>Si ha reducido el búfer (véase <a class="reference internal" href="#id5"><span class="std std-ref">15.5 Estrechamiento</span></a>), el número de línea mostrado es relativo a la parte accesible del búfer. Por lo tanto, no es adecuado como argumento para <code class="docutils literal notranslate"><span class="pre">goto-line</span></code>. (El comando <code class="docutils literal notranslate"><span class="pre">what-line</span></code> muestra el número de línea relativo a todo el archivo.) Puede usar el comando <code class="docutils literal notranslate"><span class="pre">goto-line-relative</span></code> para mover el punto a la línea relativa a la porción accesible del búfer estrechado.</p>
<p>Si el búfer es muy grande (mayor que el valor de <code class="docutils literal notranslate"><span class="pre">line-number-display-limit</span></code>), Emacs no calculará el número de línea, porque eso sería demasiado lento; por lo tanto, el número de línea no aparecerá en el modo-línea (mode-line). Para eliminar este límite, establezca <code class="docutils literal notranslate"><span class="pre">line-number-display-limit</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
@ -714,7 +714,7 @@ cambiar esto, personalice la expresión regular <code class="docutils literal no
<p>Los bytes en bruto con los códigos U+0080 (octal 200) a U+009F (octal 237) se muestran como <em>secuencias de escape octales</em>, con la cara <code class="docutils literal notranslate"><span class="pre">escape-glyph</span></code>. Por ejemplo, el código de carácter U+0098 (octal 230) se muestra como <code class="docutils literal notranslate"><span class="pre">\230</span></code>. Si cambia la variable local del búfer <code class="docutils literal notranslate"><span class="pre">ctl-arrow</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, los caracteres de control ASCII también se muestran como secuencias de escape octales en lugar de secuencias de escape caret. (También puede solicitar que los bytes sin procesar se muestren en hexadecimal, consulte <a class="reference internal" href="#id22"><span class="std std-ref">15.24 Personalización de la Pantalla</span></a>).</p>
<p>Algunos caracteres no ASCII tienen la misma apariencia que un espacio ASCII o un guión (menos). Tales caracteres pueden causar problemas si se introducen en un búfer sin que se dé cuenta, por ejemplo, tirando; por ejemplo, los compiladores de código fuente normalmente no tratan los espacios no ASCII como caracteres de espacio en blanco. Para solucionar este problema, Emacs muestra estos caracteres de forma especial: muestra U+00A0 NO-BREAK SPACE y otros caracteres de la clase de espacio horizontal Unicode con la cara <code class="docutils literal notranslate"><span class="pre">nobreak-space</span></code>, y muestra U+00AD SOFT HYPHEN, U+2010 HYPHEN, y U+2011 NON-BREAKING HYPHEN con la cara <code class="docutils literal notranslate"><span class="pre">nobreak-hyphen</span></code>. Para desactivarlo, cambie la variable <code class="docutils literal notranslate"><span class="pre">nobreak-char-display</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>. Si le da a esta variable un valor que no sea <code class="docutils literal notranslate"><span class="pre">nil</span></code> ni <code class="docutils literal notranslate"><span class="pre">t</span></code>, Emacs mostrará dichos caracteres como una barra invertida resaltada seguida de un espacio o guión.</p>
<p>Puede personalizar la forma en que se muestra cualquier código de carácter concreto mediante una tabla de visualización. Ver <strong>Tablas de Visualización</strong> en el Manual de Referencia de Emacs Lisp.</p>
<p>En pantallas gráficas, algunos caracteres pueden no tener glifos en ninguna de las fuentes disponibles para Emacs. Estos <em>caracteres sin glifos</em> se muestran normalmente como cuadros que contienen el código hexadecimal del carácter. De forma similar, en los terminales de texto, los caracteres que no pueden mostrarse usando la codificación del terminal (ver <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id14"><span class="std std-ref">23.13 Sistemas de Codificación para E/S de Terminal</span></a>) se muestran normalmente como signos de interrogación. Puede controlar el método de visualización personalizando la variable <code class="docutils literal notranslate"><span class="pre">glyphless-char-display-control</span></code>. También puede personalizar la variable de cara <code class="docutils literal notranslate"><span class="pre">glyphless-char</span></code> para hacer que estos caracteres destaquen más en pantalla. Vea <strong>Visualización de Caracteres sin Glifos</strong> en el Manual de Referencia de Emacs Lisp, para más detalles.</p>
<p>En pantallas gráficas, algunos caracteres pueden no tener glifos en ninguna de las fuentes disponibles para Emacs. Estos <em>caracteres sin glifos</em> se muestran normalmente como cuadros que contienen el código hexadecimal del carácter. De forma similar, en los terminales de texto, los caracteres que no pueden mostrarse usando la codificación del terminal (ver <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id16"><span class="std std-ref">23.13 Sistemas de Codificación para E/S de Terminal</span></a>) se muestran normalmente como signos de interrogación. Puede controlar el método de visualización personalizando la variable <code class="docutils literal notranslate"><span class="pre">glyphless-char-display-control</span></code>. También puede personalizar la variable de cara <code class="docutils literal notranslate"><span class="pre">glyphless-char</span></code> para hacer que estos caracteres destaquen más en pantalla. Vea <strong>Visualización de Caracteres sin Glifos</strong> en el Manual de Referencia de Emacs Lisp, para más detalles.</p>
<p>El modo menor <code class="docutils literal notranslate"><span class="pre">glyphless-display-mode</span></code> puede usarse para alternar la visualización de caracteres sin glifos en el búfer actual. Los caracteres sin glifo se mostrarán como cajas con acrónimos de sus nombres dentro.</p>
<p>Emacs intenta determinar si las comillas curvas <code class="docutils literal notranslate"><span class="pre"></span></code> y <code class="docutils literal notranslate"><span class="pre"></span></code> pueden mostrarse en la pantalla actual. Por defecto, si esto parece ser así, entonces Emacs traducirá las comillas ASCII (<code class="docutils literal notranslate"><span class="pre">`</span></code> y <code class="docutils literal notranslate"><span class="pre">'</span></code>), cuando aparezcan en mensajes y textos de ayuda, a estas comillas curvas. Puede influir o inhibir esta traducción personalizando la opción de Usuario <code class="docutils literal notranslate"><span class="pre">text-quoting-style</span></code> (ver <strong>Teclas en Documentación</strong> en El Manual de Referencia de Emacs Lisp).</p>
<p>Si se sabe que las comillas curvas <code class="docutils literal notranslate"><span class="pre"></span></code>, <code class="docutils literal notranslate"><span class="pre"></span></code>, <code class="docutils literal notranslate"><span class="pre"></span></code>, y <code class="docutils literal notranslate"><span class="pre"></span></code> se parecen a los caracteres ASCII, se muestran con la cara del homoglifo. Las comillas curvas que se sabe que no son visualizables se muestran como sus aproximaciones ASCII <code class="docutils literal notranslate"><span class="pre">´</span></code>, <code class="docutils literal notranslate"><span class="pre">'</span></code>, y <code class="docutils literal notranslate"><span class="pre">&quot;</span></code> la cara del homoglifo.</p>
@ -745,7 +745,7 @@ cambiar esto, personalice la expresión regular <code class="docutils literal no
<p>El ajuste de palabras se activa mediante el modo Línea Visual (Visual Line), un modo secundario opcional. Para activar este modo en el búfer actual, escriba <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">visual-line-mode</span></code>; repitiendo este comando se desactiva. También puede activar el modo Visual Line mediante la barra de menús: en el menú <code class="docutils literal notranslate"><span class="pre">Options</span></code> (Opciones), seleccione el submenú <code class="docutils literal notranslate"><span class="pre">Line</span> <span class="pre">Wrapping</span> <span class="pre">in</span> <span class="pre">this</span> <span class="pre">Buffer</span></code> (Ajuste de línea en este búfer), seguido del elemento de menú <code class="docutils literal notranslate"><span class="pre">modo</span> <span class="pre">Visual</span> <span class="pre">Line</span></code> (Ajuste de línea). Mientras el modo Visual Line está activado, la línea de modo muestra la cadena <code class="docutils literal notranslate"><span class="pre">wrap</span></code> en la pantalla de modo. El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">global-visual-line-mode</span></code> activa el modo Visual Line en todos búferes.</p>
<p>Dado que el ajuste de línea y el truncamiento de línea (descritos en la sección anterior) son contradictorios, al activar el modo de línea visual (<code class="docutils literal notranslate"><span class="pre">visual-line-mode</span></code>) se desactiva el truncamiento de línea.</p>
<p>En el modo de línea visual, algunos comandos de edición funcionan en líneas de pantalla en lugar de líneas lógicas: <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">a</kbd> (<code class="docutils literal notranslate"><span class="pre">C-a</span></code>, <code class="docutils literal notranslate"><span class="pre">beginning</span> <span class="pre">of</span> <span class="pre">visual-line</span></code>) se mueve al principio de la línea de la pantalla, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">e</kbd> (<code class="docutils literal notranslate"><span class="pre">C-e</span></code>, <code class="docutils literal notranslate"><span class="pre">end-of-visual-line</span></code>) se mueve al final de la línea de la pantalla, y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> (<code class="docutils literal notranslate"><span class="pre">C-k</span></code>, <code class="docutils literal notranslate"><span class="pre">kill-visual-line</span></code>) mata el texto al final de la línea de la pantalla.</p>
<p>Para desplazarse por líneas lógicas, utilice los comandos <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">next-logical-line</span></code> y <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">previous-logical-line</span></code>. Estos comandos mueven el punto a la siguiente línea lógica y a la línea lógica anterior, respectivamente, independientemente de si está activado el modo Visual Line. Si usa estos comandos con frecuencia, puede ser conveniente asignarles combinaciones de teclas. Consulte <a class="reference internal" href="50_Personlzc.html#id19"><span class="std std-ref">50.3.6. Reasignación de Teclas en el Archivo de Inicio</span></a>.</p>
<p>Para desplazarse por líneas lógicas, utilice los comandos <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">next-logical-line</span></code> y <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">previous-logical-line</span></code>. Estos comandos mueven el punto a la siguiente línea lógica y a la línea lógica anterior, respectivamente, independientemente de si está activado el modo Visual Line. Si usa estos comandos con frecuencia, puede ser conveniente asignarles combinaciones de teclas. Consulte <a class="reference internal" href="50_Personlzc.html#id20"><span class="std std-ref">50.3.6. Reasignación de Teclas en el Archivo de Inicio</span></a>.</p>
<p>De forma predeterminada, las líneas envueltas en palabras no muestran indicadores de franja. El modo Visual Line se usa a menudo para editar archivos que contienen muchas líneas lógicas largas, por lo que tener un indicador de franja (o margen) para cada línea ajustada sería una distracción visual. Puede cambiar esto personalizando la variable <code class="docutils literal notranslate"><span class="pre">visual-line-fringe-indicators</span></code>.</p>
<p>Por defecto, Emacs sólo interrumpe líneas después de caracteres de espacio en blanco como <code class="docutils literal notranslate"><span class="pre">SPC</span></code> y <code class="docutils literal notranslate"><span class="pre">TAB</span></code>, pero no interrumpe después de caracteres de espacio en blanco como <code class="docutils literal notranslate"><span class="pre">EN</span> <span class="pre">QUAD</span></code> (AL CUADRADO). Emacs proporciona un modo menor llamado <code class="docutils literal notranslate"><span class="pre">word-wrap-whitespace-mode</span></code> que activa el ajuste de palabras en el modo actual, y establece en qué caracteres ajustar las líneas basándose en la opción de usuario <code class="docutils literal notranslate"><span class="pre">word-wrap-whitespace-characters</span></code>. También hay una versión globalizada de ese modo llamada <code class="docutils literal notranslate"><span class="pre">global-word-wrap-whitespace-mode</span></code>.</p>
<p>Romper sólo después de un carácter de espacio en blanco produce resultados incorrectos cuando se mezclan texto CJK y latino (porque los caracteres CJK no usan espacios en blanco para separar palabras). Puede personalizar la opción <code class="docutils literal notranslate"><span class="pre">word-wrap-by-category</span></code> para permitir que Emacs rompa las líneas después de cualquier carácter con categoría <code class="docutils literal notranslate"><span class="pre">|</span></code> (vea <strong>Categorías</strong> en el Manual de Referencia de Emacs Lisp), lo que proporciona un mejor soporte para los caracteres CJK. Además, si esta variable se establece usando Personalizar (Customize), Emacs carga automáticamente <code class="docutils literal notranslate"><span class="pre">kinsoku.el</span></code>. Cuando se carga <code class="docutils literal notranslate"><span class="pre">kinsoku.el</span></code>, 30Emacs respeta las reglas kinsoku al romper líneas. Eso significa que los caracteres con la categoría <code class="docutils literal notranslate"><span class="pre">&gt;</span></code> no aparecen al principio de una línea (por ejemplo, U+FF0C FULLWIDTH COMMA), y los caracteres con la categoría <code class="docutils literal notranslate"><span class="pre">&lt;</span></code> no aparecen al final de una línea (por ejemplo, U+300A LEFT DOUBLE ANGLE BRACKET). Puede ver el conjunto de categorías de un carácter usando los comandos <code class="docutils literal notranslate"><span class="pre">char-category-set</span></code> y <code class="docutils literal notranslate"><span class="pre">category-set-mnemonics</span></code>, o tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">=</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">=</span></code>) con punto sobre el carácter y mirando la sección «categoría» en el informe. Puede añadir categorías a un carácter usando el comando <code class="docutils literal notranslate"><span class="pre">modify-category-entry</span></code>.</p>
@ -760,7 +760,7 @@ cambiar esto, personalice la expresión regular <code class="docutils literal no
<dt><code class="docutils literal notranslate"><span class="pre">relative</span></code></dt><dd><p>Muestra los números de línea relativos antes de las líneas de no-continuación que muestran el texto del búfer. Los números de línea son relativos al punto de visualización de la
línea, por lo que los números crecen tanto hacia arriba como hacia abajo a medida que las líneas se alejan de la línea actual.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">visual</span></code></dt><dd><p>Este valor hace que Emacs cuente las líneas visualmente: sólo se contarán las líneas que se muestren realmente en la pantalla (sin tener en cuenta las líneas en partes invisibles del texto), y las líneas que se enrollan o envuelven para consumir más de una línea de pantalla se contarán ese número de veces. Los números mostrados son relativos, como en el valor <code class="docutils literal notranslate"><span class="pre">relative</span></code> anterior. Esto es útil en modos que pliegan el texto, como el modo Contorno (ver <a class="reference internal" href="26_ComandsLengsHuma.html#id11"><span class="std std-ref">26.9 Modo Esquema</span></a>), y cuando necesita moverse por el número exacto de líneas de pantalla.</p>
<dt><code class="docutils literal notranslate"><span class="pre">visual</span></code></dt><dd><p>Este valor hace que Emacs cuente las líneas visualmente: sólo se contarán las líneas que se muestren realmente en la pantalla (sin tener en cuenta las líneas en partes invisibles del texto), y las líneas que se enrollan o envuelven para consumir más de una línea de pantalla se contarán ese número de veces. Los números mostrados son relativos, como en el valor <code class="docutils literal notranslate"><span class="pre">relative</span></code> anterior. Esto es útil en modos que pliegan el texto, como el modo Contorno (ver <a class="reference internal" href="26_ComandsLengsHuma.html#id12"><span class="std std-ref">26.9 Modo Esquema</span></a>), y cuando necesita moverse por el número exacto de líneas de pantalla.</p>
</dd>
<dt><strong>cualquier otra cosa</strong></dt><dd><p>Cualquier otro valor no nulo se trata como <code class="docutils literal notranslate"><span class="pre">t</span></code>.</p>
</dd>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -220,7 +220,7 @@
<p>Del mismo modo, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-z</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-yank-until-char</span></code>) añade a la cadena de búsqueda todo lo que va desde el punto hasta la siguiente aparición de un carácter especificado (sin incluir dicho carácter). Esto es especialmente útil para macros de teclado, por ejemplo en lenguajes de programación o de marcado en los que ese carácter marca un límite de token. Con un argumento numérico de prefijo <em>n</em>, el comando añade todo desde el punto hasta la enésima aparición del carácter especificado.</p>
<p>Dentro de la búsqueda incremental, <code class="docutils literal notranslate"><span class="pre">C-y</span></code> (<code class="docutils literal notranslate"><span class="pre">isearch-yank-kill</span></code>) añade la muerte actual a la cadena de búsqueda. <code class="docutils literal notranslate"><span class="pre">M-y</span></code> (<code class="docutils literal notranslate"><span class="pre">isearch-yank-pop</span></code>), si se invoca después de <code class="docutils literal notranslate"><span class="pre">C-y</span></code> durante la búsqueda incremental, sustituye el texto añadido por una eliminación anterior, de forma similar al comando <code class="docutils literal notranslate"><span class="pre">M-y</span></code> (<code class="docutils literal notranslate"><span class="pre">yank-pop</span></code>) habitual. Hacer clic con <code class="docutils literal notranslate"><span class="pre">ratón-2</span></code> en el área de eco añade la selección X actual (véase <a class="reference internal" href="13_MatarMoverTxt.html#id10"><span class="std std-ref">13.3.2 Cortar y Pegar con Otras Aplicaciones de Ventana</span></a>) a la cadena de búsqueda (<code class="docutils literal notranslate"><span class="pre">isearch-yank-x-selection</span></code>).</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-d</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-del-char</span></code>) borra el último carácter de la cadena de búsqueda, y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-y</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-yank-char</span></code>) añade el carácter después del punto a la cadena de búsqueda. Un método alternativo para añadir el carácter después del punto es entrar en el minibuffer con <code class="docutils literal notranslate"><span class="pre">M-e</span></code> (véase <a class="reference internal" href="#id4"><span class="std std-ref">16.1.2 Repetición de la Búsqueda Incremental</span></a>) y teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> (<code class="docutils literal notranslate"><span class="pre">C-f</span></code>) o <kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">RIGHT</span></code>, DERECHA) al final de la cadena de búsqueda en el minibuffer. Cada <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> o <kbd class="kbd docutils literal notranslate"></kbd> que escriba añade otro carácter después de punto a la cadena de búsqueda.</p>
<p>Normalmente, cuando la búsqueda no distingue entre mayúsculas y minúsculas, el texto que se introduce en la cadena de búsqueda se convierte a minúsculas, de modo que la búsqueda sigue sin distinguir entre mayúsculas y minúsculas (véase <a class="reference internal" href="26_ComandsLengsHuma.html#id10"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>). Sin embargo, si el valor de la variable <code class="docutils literal notranslate"><span class="pre">search-upper-case</span></code> (véase <a class="reference internal" href="#id14"><span class="std std-ref">16.9. Coincidencia Laxa Durante la Búsqueda</span></a>) es distinto de <code class="docutils literal notranslate"><span class="pre">not-yanks</span></code>, se desactiva esta conversión a minúsculas.</p>
<p>Normalmente, cuando la búsqueda no distingue entre mayúsculas y minúsculas, el texto que se introduce en la cadena de búsqueda se convierte a minúsculas, de modo que la búsqueda sigue sin distinguir entre mayúsculas y minúsculas (véase <a class="reference internal" href="26_ComandsLengsHuma.html#id11"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>). Sin embargo, si el valor de la variable <code class="docutils literal notranslate"><span class="pre">search-upper-case</span></code> (véase <a class="reference internal" href="#id14"><span class="std std-ref">16.9. Coincidencia Laxa Durante la Búsqueda</span></a>) es distinto de <code class="docutils literal notranslate"><span class="pre">not-yanks</span></code>, se desactiva esta conversión a minúsculas.</p>
<p>Para iniciar una nueva búsqueda incremental con el texto cerca del punto yanked en la cadena de búsqueda inicial, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">.</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">M-.</span></code>) que ejecuta el comando <code class="docutils literal notranslate"><span class="pre">isearch-forward-thing-at-point</span></code>. Si la región estaba activa, entonces introduce el texto de la región en la cadena de búsqueda. En caso contrario, intenta extraer una URL, un símbolo o una expresión que se encuentre cerca del punto. La opción de usuario <code class="docutils literal notranslate"><span class="pre">isearch-forward-thing-at-point</span></code> define lo que se va a extraer.</p>
</section>
<section id="errores-en-la-busqueda-incremental">
@ -233,9 +233,9 @@
<span id="id7"></span><h3>16.1.5 Entrada Especial para la Búsqueda Incremental<a class="headerlink" href="#entrada-especial-para-la-busqueda-incremental" title="Link to this heading"></a></h3>
<p>Además de los caracteres descritos en las subsecciones anteriores, algunos de los caracteres que se introducen durante la búsqueda incremental tienen efectos especiales. A continuación se describen.</p>
<p>Para activar la coincidencia de espacios laxos (véase <a class="reference internal" href="#id14"><span class="std std-ref">16.9. Coincidencia Laxa Durante la Búsqueda</span></a>), escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">SPC</span></code>).</p>
<p>Para cambiar la distinción entre mayúsculas y minúsculas de la búsqueda, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">M-c</span></code>) o <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">c</span></code>). Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id10"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>. Si la cadena de búsqueda incluye letras mayúsculas, la búsqueda distingue entre mayúsculas y minúsculas por defecto.</p>
<p>Para cambiar la distinción entre mayúsculas y minúsculas de la búsqueda, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">M-c</span></code>) o <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">c</span></code>). Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id11"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>. Si la cadena de búsqueda incluye letras mayúsculas, la búsqueda distingue entre mayúsculas y minúsculas por defecto.</p>
<p>Para cambiar si la búsqueda considerará o no caracteres similares y equivalentes como coincidencia, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">'</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">'</span></code>). Véase <em>plegado de caracteres</em> en <a class="reference internal" href="#id14"><span class="std std-ref">16.9. Coincidencia Laxa Durante la Búsqueda</span></a>. Si la cadena de búsqueda incluye caracteres acentuados, se desactiva el plegado de caracteres durante esa búsqueda.</p>
<p>Para activar o desactivar la búsqueda de texto invisible, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">i</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">i</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-toggle-invisible</span></code>). Véase <em>Ocultar Mostrar esquemas</em> en <a class="reference internal" href="26_ComandsLengsHuma.html#id15"><span class="std std-ref">26.9.4 Comandos de Visibilidad del Modo Esquema</span></a>.</p>
<p>Para activar o desactivar la búsqueda de texto invisible, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">i</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">i</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-toggle-invisible</span></code>). Véase <em>Ocultar Mostrar esquemas</em> en <a class="reference internal" href="26_ComandsLengsHuma.html#id16"><span class="std std-ref">26.9.4 Comandos de Visibilidad del Modo Esquema</span></a>.</p>
<p>Para alternar entre la búsqueda incremental sin expresiones regulares y con expresiones regulares, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">M-r</span></code>) o <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">r</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-toggle-regexp</span></code>). Vease <a class="reference internal" href="#id12"><span class="std std-ref">16.5 Búsqueda por Expresiones Regulares</span></a>.</p>
<p>Para alternar entre el modo de símbolos, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">_</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">_</span></code>). Véase <a class="reference internal" href="#id11"><span class="std std-ref">16.4 Búsqueda por Símbolos</span></a>.</p>
<p>Para buscar un carácter de nueva línea, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">j</kbd> (<code class="docutils literal notranslate"><span class="pre">C-j</span></code>) como parte de la cadena de búsqueda.</p>
@ -266,9 +266,9 @@ carácter especificado a la cadena de búsqueda, de forma similar al comando hab
<p>También puede incluir secuencias Emoji en la cadena de búsqueda. Escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">8</kbd><kbd class="kbd docutils literal notranslate">e</kbd><kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">e</span> <span class="pre">RET</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-emoji-by-name</span></code>), seguido del nombre Unicode de un Emoji (por ejemplo, <code class="docutils literal notranslate"><span class="pre">smiling</span> <span class="pre">face</span></code> (cara sonriente) o <code class="docutils literal notranslate"><span class="pre">heart</span> <span class="pre">whith</span> <span class="pre">arrow</span></code> (corazón con flecha)). Esto añade el Emoji especificado a la cadena de búsqueda. Si no conoce el nombre del Emoji que desea buscar, puede usar <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd><kbd class="kbd docutils literal notranslate">8</kbd><kbd class="kbd docutils literal notranslate">e</kbd><kbd class="kbd docutils literal notranslate">l</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">e</span> <span class="pre">l</span></code>, <code class="docutils literal notranslate"><span class="pre">emoji-list</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">8</kbd><kbd class="kbd docutils literal notranslate">e</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">e</span> <span class="pre">d</span></code>, <code class="docutils literal notranslate"><span class="pre">emoji-describe</span></code>) (consulte <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id4"><span class="std std-ref">23.3 Métodos de Entrada</span></a>).</p>
<p>Si se teclea <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">o</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">o</span></code>) en la búsqueda incremental, se invoca <code class="docutils literal notranslate"><span class="pre">isearch-occur</span></code>, que ejecuta occur con la cadena de búsqueda actual. Véase <a class="reference internal" href="#id19"><span class="std std-ref">16.11. Otros Comandos de Búsqueda y Bucle</span></a>.</p>
<p>Si se escribe <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">%</kbd> (<code class="docutils literal notranslate"><span class="pre">M-%</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-query-replace</span></code>) en la búsqueda incremental, se invoca <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> o <code class="docutils literal notranslate"><span class="pre">query-replace-regexp</span></code> (dependiendo del modo de búsqueda) y se usa la cadena de búsqueda actual como cadena a reemplazar. Un argumento de prefijo negativo significa reemplazar hacia atrás. Véase <a class="reference internal" href="#id18"><span class="std std-ref">16.10.4 Sustitución de Consultas</span></a>. Si se escribe <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">%</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-%</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-query-replace-regexp</span></code>), se invoca <code class="docutils literal notranslate"><span class="pre">query-replace-regexp</span></code> con la cadena de búsqueda actual usada como expreg para reemplazar.</p>
<p>Al escribir <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">TAB</kbd> (<code class="docutils literal notranslate"><span class="pre">M-TAB</span></code>) en la búsqueda incremental se invoca <code class="docutils literal notranslate"><span class="pre">isearch-complete</span></code>, que intenta completar la cadena de búsqueda utilizando el anillo de búsqueda (las cadenas de búsqueda anteriores que utilizó) como una lista de alternativas de finalización. Véase <a class="reference internal" href="09_ElMinibufer.html#id4"><span class="std std-ref">9.4 Completado</span></a>. En muchos sistemas operativos, la secuencia de teclas <code class="docutils literal notranslate"><span class="pre">M-TAB</span></code> es capturada por el gestor de ventanas, por lo que deberá volver a enlazar <code class="docutils literal notranslate"><span class="pre">isearch-completar</span></code> a otra secuencia de teclas si desea utilizarla (consulte <a class="reference internal" href="50_Personlzc.html#id18"><span class="std std-ref">50.3.5. Cambiar las combinaciones de teclas interactivamente</span></a>).</p>
<p>Al escribir <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">TAB</kbd> (<code class="docutils literal notranslate"><span class="pre">M-TAB</span></code>) en la búsqueda incremental se invoca <code class="docutils literal notranslate"><span class="pre">isearch-complete</span></code>, que intenta completar la cadena de búsqueda utilizando el anillo de búsqueda (las cadenas de búsqueda anteriores que utilizó) como una lista de alternativas de finalización. Véase <a class="reference internal" href="09_ElMinibufer.html#id4"><span class="std std-ref">9.4 Completado</span></a>. En muchos sistemas operativos, la secuencia de teclas <code class="docutils literal notranslate"><span class="pre">M-TAB</span></code> es capturada por el gestor de ventanas, por lo que deberá volver a enlazar <code class="docutils literal notranslate"><span class="pre">isearch-completar</span></code> a otra secuencia de teclas si desea utilizarla (consulte <a class="reference internal" href="50_Personlzc.html#id19"><span class="std std-ref">50.3.5. Cambiar las combinaciones de teclas interactivamente</span></a>).</p>
<p>Puede salir de la búsqueda dejando las coincidencias resaltadas escribiendo <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">h</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">h</span> <span class="pre">r</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-highlight-regexp</span></code>). Esto ejecuta <code class="docutils literal notranslate"><span class="pre">highlight-regexp</span></code> (véase <a class="reference internal" href="15_ControlDisplay.html#id13"><span class="std std-ref">15.14 Resaltado Interactivo</span></a>), pasándole la regexp (expresión regular) derivada de la cadena de búsqueda y pidiéndole la cara a utilizar para resaltar. Para resaltar líneas enteras que contengan coincidencias (en lugar de sólo las coincidencias), escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">h</kbd><kbd class="kbd docutils literal notranslate">l</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">h</span> <span class="pre">l</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-highlight-lines-matching-regexp</span></code>). En ambos casos, para eliminar el resaltado, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">h</kbd><kbd class="kbd docutils literal notranslate">u</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">h</span> <span class="pre">u</span></code>, <code class="docutils literal notranslate"><span class="pre">unhighlight-regexp</span></code>).</p>
<p>Cuando la búsqueda incremental está activa, puede escribir <kbd class="kbd docutils literal notranslate">Ctrl</kbd><kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd><kbd class="kbd docutils literal notranslate">h</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C-h</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-help-map</span></code>) para acceder a las opciones de ayuda interactiva, incluida una lista de combinaciones de teclas especiales. Estas combinaciones de teclas forman parte del mapa de teclas <code class="docutils literal notranslate"><span class="pre">isearch-mode-map</span></code> (véase <a class="reference internal" href="50_Personlzc.html#id17"><span class="std std-ref">50.3.1 Mapas de teclas</span></a>).</p>
<p>Cuando la búsqueda incremental está activa, puede escribir <kbd class="kbd docutils literal notranslate">Ctrl</kbd><kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd><kbd class="kbd docutils literal notranslate">h</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C-h</span></code>, <code class="docutils literal notranslate"><span class="pre">isearch-help-map</span></code>) para acceder a las opciones de ayuda interactiva, incluida una lista de combinaciones de teclas especiales. Estas combinaciones de teclas forman parte del mapa de teclas <code class="docutils literal notranslate"><span class="pre">isearch-mode-map</span></code> (véase <a class="reference internal" href="50_Personlzc.html#id18"><span class="std std-ref">50.3.1 Mapas de teclas</span></a>).</p>
<p>Cuando la búsqueda incremental está activada, al teclear <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">&gt;</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">M-&gt;</span></code>) se irá a la última aparición de la cadena de búsqueda, y <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">s</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">&lt;</kbd> (<code class="docutils literal notranslate"><span class="pre">M-s</span> <span class="pre">M-&lt;</span></code>) se irá a la primera aparición. Con un argumento numérico de prefijo <em>n</em>, estos comandos irán a la enésima aparición de la cadena de búsqueda contando desde el principio o el final del búfer, respectivamente.</p>
</section>
<section id="no-salir-de-la-busqueda-incremental">
@ -773,7 +773,7 @@ y continúa con el siguiente búfer de la secuencia.</p>
</div></blockquote>
<p>Aparte de esto, cualquier otro carácter sale de la consulta-reemplazo (<code class="docutils literal notranslate"><span class="pre">query-replace</span></code>) y se vuelve a leer como parte de una secuencia de teclas. De este modo, si escribe <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> (<code class="docutils literal notranslate"><span class="pre">C-k</span></code>), sale de la consulta-reemplazo y pasa al final de la línea. En particular, <code class="docutils literal notranslate"><span class="pre">C-g</span></code> simplemente sale de la consulta-reemplazo.</p>
<p>Para reiniciar una consulta-reemplazo una vez que se ha salido, utilice <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">ESC</kbd><kbd class="kbd docutils literal notranslate">ESC</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">ESC</span> <span class="pre">ESC</span></code>), que repite la consulta-reemplazo porque ha utilizado el minibúfer para leer sus argumentos. Véase <a class="reference internal" href="09_ElMinibufer.html#id10"><span class="std std-ref">9.6 Repetición de Comandos del Minibúfer</span></a>.</p>
<p>La opción <code class="docutils literal notranslate"><span class="pre">search-invisible</span></code> (búsqueda-invisible) determina cómo <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> trata el texto invisible. Véase <em>Búsqueda de Contornos</em> en <a class="reference internal" href="26_ComandsLengsHuma.html#id15"><span class="std std-ref">26.9.4 Comandos de Visibilidad del Modo Esquema</span></a>.</p>
<p>La opción <code class="docutils literal notranslate"><span class="pre">search-invisible</span></code> (búsqueda-invisible) determina cómo <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> trata el texto invisible. Véase <em>Búsqueda de Contornos</em> en <a class="reference internal" href="26_ComandsLengsHuma.html#id16"><span class="std std-ref">26.9.4 Comandos de Visibilidad del Modo Esquema</span></a>.</p>
<p>Véase <a class="reference internal" href="31_DiredEditDirect.html#id10"><span class="std std-ref">31.7 Operar con Archivos</span></a>, para el comando <code class="docutils literal notranslate"><span class="pre">Q</span></code> de Dired que realiza el reemplazo por consulta en los archivos seleccionados. Véase también <a class="reference internal" href="31_DiredEditDirect.html#id11"><span class="std std-ref">31.10 Transformación de Nombres de Archivos en Dired</span></a>, para los comandos de Dired para renombrar, copiar o enlazar archivos reemplazando las coincidencias expreg en los nombres de archivos.</p>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -158,7 +158,7 @@
<p>Para empezar a deshacer, teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">/</kbd> (<code class="docutils literal notranslate"><span class="pre">C-/</span></code>) (o sus alias, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">_</kbd> (<code class="docutils literal notranslate"><span class="pre">C-_</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">u</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">u</span></code>)) <a class="footnote-reference brackets" href="#id4" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>6<span class="fn-bracket">]</span></a>. Esto deshace el cambio más reciente en el buffer, y mueve el punto de vuelta a donde estaba antes de ese cambio. Las repeticiones consecutivas de <code class="docutils literal notranslate"><span class="pre">C-/</span></code> (o sus alias) deshacen cambios cada vez más anteriores en el búfer actual. Si ya se han deshecho todos los cambios registrados, el comando deshacer indica un error.</p>
<p>Cualquier comando que no sea de deshacer rompe la secuencia de comandos de deshacer. A partir de ese momento, toda la secuencia de comandos de deshacer que acaba de realizar se colocan a su vez en el registro de deshacer. Por lo tanto, para volver a aplicar los cambios que ha deshecho, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> (<code class="docutils literal notranslate"><span class="pre">C-f</span></code>) o cualquier otro comando que rompa inofensivamente la secuencia de deshacer; a continuación, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">/</kbd> (<code class="docutils literal notranslate"><span class="pre">C-/</span></code>) una o más veces para deshacer algunos de los comandos de deshacer.</p>
<p>Alternativamente, si desea reanudar el deshacer, sin rehacer los comandos de deshacer anteriores, use <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">undo-only</span></code>. Esto es como deshacer, pero no rehará los cambios que acaba de deshacer. Para complementarlo, <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">undo-redo</span></code> deshará los comandos de deshacer anteriores (y no se registrará como un comando que se puede deshacer).</p>
<p>Si nota que un búfer ha sido modificado accidentalmente, la forma más fácil de recuperarlo es teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">/</kbd> (<code class="docutils literal notranslate"><span class="pre">C-/</span></code>) repetidamente hasta que las estrellas desaparezcan de la parte delantera de la línea de modo (véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La línea de Modo</span></a>). Cuando un comando deshacer hace desaparecer las estrellas de la línea de modo, significa que el contenido del búfer es el mismo que la última vez que se leyó o guardó el archivo. Si no recuerda si cambió el buffer deliberadamente, teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">/</kbd> (<code class="docutils literal notranslate"><span class="pre">C-/</span></code>) una vez. Cuando vea deshecho el último cambio que hizo, verá si fue un cambio intencionado. Si fue un accidente, déjalo sin hacer. Si fue deliberado, rehaga el cambio como se ha descrito anteriormente.</p>
<p>Si nota que un búfer ha sido modificado accidentalmente, la forma más fácil de recuperarlo es teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">/</kbd> (<code class="docutils literal notranslate"><span class="pre">C-/</span></code>) repetidamente hasta que las estrellas desaparezcan de la parte delantera de la línea de modo (véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>). Cuando un comando deshacer hace desaparecer las estrellas de la línea de modo, significa que el contenido del búfer es el mismo que la última vez que se leyó o guardó el archivo. Si no recuerda si cambió el buffer deliberadamente, teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">/</kbd> (<code class="docutils literal notranslate"><span class="pre">C-/</span></code>) una vez. Cuando vea deshecho el último cambio que hizo, verá si fue un cambio intencionado. Si fue un accidente, déjalo sin hacer. Si fue deliberado, rehaga el cambio como se ha descrito anteriormente.</p>
<p>Alternativamente, puede descartar todos los cambios desde que el buffer fue visitado o guardado por última vez con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">revert-buffer</span></code> (ver <a class="reference internal" href="19_ManejoArchivos.html#id12"><span class="std std-ref">19.4 Revertir un Búfer</span></a>).</p>
<p>Cuando hay una región activa, cualquier uso de deshacer realiza un <em>deshacer selectivo</em>: deshace el cambio más reciente dentro de la región, en lugar de todo el búfer. Sin embargo, cuando el modo de marcas transitorias está desactivado (véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id9"><span class="std std-ref">12.7 Desactivar el Modo de Marca Transitoria</span></a> ), <code class="docutils literal notranslate"><span class="pre">C-/</span></code> siempre actúa sobre todo el búfer, ignorando la región. En este caso, puede realizar un deshacer selectivo proporcionando un argumento de prefijo al comando deshacer: <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-/</span></code>. Para deshacer más cambios en la misma región, repita el comando deshacer (no es necesario el argumento prefijo).</p>
<p>Algunos búferes especializados no hacen registros de deshacer. Los búferes cuyos nombres comienzan con espacios nunca lo hacen; estos, son usados internamente por Emacs para contener texto que los usuarios normalmente no miran o editan.</p>
@ -223,7 +223,7 @@
<blockquote>
<div><p>Convierte la última palabra a minúscula con inicial mayúscula.</p>
</div></blockquote>
<p>Un error muy común es escribir palabras en mayúsculas o minúsculas equivocadas. Por eso, los comandos de conversión de palabras <code class="docutils literal notranslate"><span class="pre">M-l</span></code>, <code class="docutils literal notranslate"><span class="pre">M-u</span></code> y <code class="docutils literal notranslate"><span class="pre">M-c</span></code> tienen una característica especial cuando se usan con un argumento negativo: no mueven el cursor. En cuanto vea que ha escrito mal la última palabra, puede simplemente convertirla a mayúsculas y seguir escribiendo. Consulte <a class="reference internal" href="26_ComandsLengsHuma.html#id10"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>.</p>
<p>Un error muy común es escribir palabras en mayúsculas o minúsculas equivocadas. Por eso, los comandos de conversión de palabras <code class="docutils literal notranslate"><span class="pre">M-l</span></code>, <code class="docutils literal notranslate"><span class="pre">M-u</span></code> y <code class="docutils literal notranslate"><span class="pre">M-c</span></code> tienen una característica especial cuando se usan con un argumento negativo: no mueven el cursor. En cuanto vea que ha escrito mal la última palabra, puede simplemente convertirla a mayúsculas y seguir escribiendo. Consulte <a class="reference internal" href="26_ComandsLengsHuma.html#id11"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>.</p>
</section>
<section id="comprobar-y-corregir-la-ortografia">
<span id="id5"></span><h2>17.4 Comprobar y Corregir la Ortografía<a class="headerlink" href="#comprobar-y-corregir-la-ortografia" title="Link to this heading"></a></h2>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -309,7 +309,7 @@ oportunidad de hacer alguna edición particular en cada repetición. Véase <a c
<blockquote>
<div><p>Inserta en el búfer la definición de una macro de teclado, como código Lisp.</p>
</div></blockquote>
<p>Si desea guardar una macro de teclado para su posterior uso, puede darle un nombre utilizando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">n</span></code> (<code class="docutils literal notranslate"><span class="pre">kmacro-name-last-macro</span></code>). Esto lee un nombre como argumento usando el minibúfer y define ese nombre para ejecutar la última macro de teclado, en su forma actual. (Si posteriormente añade algo a la definición de esta macro, eso no altera la definición del nombre como macro). El nombre de la macro es un símbolo Lisp, y definirlo de esta forma lo convierte en un nombre de comando válido para llamar con <code class="docutils literal notranslate"><span class="pre">M-x</span></code> o para enlazar una tecla con <code class="docutils literal notranslate"><span class="pre">keymap-global-set</span></code> (ver <a class="reference internal" href="50_Personlzc.html#id17"><span class="std std-ref">50.3.1 Mapas de teclas</span></a>). Si especifica un nombre que tiene una definición anterior que no sea una macro de teclado, se muestra un mensaje de error y no se modifica nada.</p>
<p>Si desea guardar una macro de teclado para su posterior uso, puede darle un nombre utilizando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">n</span></code> (<code class="docutils literal notranslate"><span class="pre">kmacro-name-last-macro</span></code>). Esto lee un nombre como argumento usando el minibúfer y define ese nombre para ejecutar la última macro de teclado, en su forma actual. (Si posteriormente añade algo a la definición de esta macro, eso no altera la definición del nombre como macro). El nombre de la macro es un símbolo Lisp, y definirlo de esta forma lo convierte en un nombre de comando válido para llamar con <code class="docutils literal notranslate"><span class="pre">M-x</span></code> o para enlazar una tecla con <code class="docutils literal notranslate"><span class="pre">keymap-global-set</span></code> (ver <a class="reference internal" href="50_Personlzc.html#id18"><span class="std std-ref">50.3.1 Mapas de teclas</span></a>). Si especifica un nombre que tiene una definición anterior que no sea una macro de teclado, se muestra un mensaje de error y no se modifica nada.</p>
<p>También puede vincular la última macro de teclado (en su forma actual) a una tecla, usando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">b</span></code> (<code class="docutils literal notranslate"><span class="pre">kmacro-bind-to-key</span></code>) seguido de la secuencia de teclas que desea vincular. Puede asociar cualquier secuencia de teclas del mapa de teclas global, pero como la mayoría de las secuencias de teclas ya tienen otras asociaciones, debe seleccionar la secuencia de teclas con cuidado. Si intenta vincular una secuencia de teclas con una combinación existente (en cualquier mapa de teclas), este comando le pedirá confirmación antes de reemplazar la combinación existente.</p>
<p>Para evitar problemas causados por la anulación de combinaciones existentes, las secuencias de teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> <kbd class="kbd docutils literal notranslate">0</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">0</span></code>) a <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> <kbd class="kbd docutils literal notranslate">9</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">9</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> <kbd class="kbd docutils literal notranslate">A</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">A</span></code>) a <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd>-<kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> <kbd class="kbd docutils literal notranslate">Z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">Z</span></code>) están reservadas para sus propias combinaciones de macros de teclado. De hecho, para enlazar con una de estas secuencias de teclas, sólo tiene que escribir el dígito o la letra en lugar de las secuencias de teclas completas. Por ejemplo,</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">C</span><span class="o">-</span><span class="n">x</span> <span class="n">C</span><span class="o">-</span><span class="n">k</span> <span class="n">b</span> <span class="mi">4</span>
@ -320,7 +320,7 @@ oportunidad de hacer alguna edición particular en cada repetición. Véase <a c
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">M</span><span class="o">-</span><span class="n">x</span> <span class="n">insert</span><span class="o">-</span><span class="n">kbd</span><span class="o">-</span><span class="n">macro</span> <span class="n">RET</span> <span class="n">nombremacro</span> <span class="n">RET</span>
</pre></div>
</div>
<p>Esto inserta algún código Lisp que, cuando se ejecute más tarde, definirá la misma macro con la misma definición que tiene ahora. (No necesita entender código Lisp para hacer esto, porque <code class="docutils literal notranslate"><span class="pre">insert-kbd-macro</span></code> escribe el código Lisp por Usted). A continuación, guarde el archivo. Puede cargar el archivo más tarde con <code class="docutils literal notranslate"><span class="pre">load-file</span></code> (vea <a class="reference internal" href="28_CompProbProg.html#id8"><span class="std std-ref">28.8 Bibliotecas de Código Lisp para Emacs</span></a>). Si el archivo que guarda es su archivo init <code class="docutils literal notranslate"><span class="pre">~/.emacs</span></code> (vea <a class="reference internal" href="50_Personlzc.html#id25"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>) entonces la macro será definida cada vez que ejecute Emacs.</p>
<p>Esto inserta algún código Lisp que, cuando se ejecute más tarde, definirá la misma macro con la misma definición que tiene ahora. (No necesita entender código Lisp para hacer esto, porque <code class="docutils literal notranslate"><span class="pre">insert-kbd-macro</span></code> escribe el código Lisp por Usted). A continuación, guarde el archivo. Puede cargar el archivo más tarde con <code class="docutils literal notranslate"><span class="pre">load-file</span></code> (vea <a class="reference internal" href="28_CompProbProg.html#id8"><span class="std std-ref">28.8 Bibliotecas de Código Lisp para Emacs</span></a>). Si el archivo que guarda es su archivo init <code class="docutils literal notranslate"><span class="pre">~/.emacs</span></code> (vea <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>) entonces la macro será definida cada vez que ejecute Emacs.</p>
<p>Si le damos un argumento prefijo a <code class="docutils literal notranslate"><span class="pre">insert-kbd-macro</span></code>, hace código Lisp adicional para registrar las teclas (si las hay) que hemos ligado a <em>nombremacro</em>, de forma que a la macro se le reasignarán las mismas teclas cuando carguemos el archivo.</p>
</section>
<section id="edicion-de-una-macro-de-teclado">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -197,7 +197,7 @@
<p>Al escribir un nombre de archivo en el minibúfer, puede hacer uso de un par de atajos: una barra doble ignora todo lo que hay antes de la segunda barra del par, y <code class="docutils literal notranslate"><span class="pre">~/</span></code> es su directorio personal. Vea <a class="reference internal" href="09_ElMinibufer.html#id2"><span class="std std-ref">9.2 Minibuffers para nombres de ficheros</span></a>.</p>
<p>El carácter <code class="docutils literal notranslate"><span class="pre">$</span></code> se usa para sustituir una variable de entorno en un nombre de fichero. El nombre de la variable de entorno consiste en todos los caracteres alfanuméricos después del <code class="docutils literal notranslate"><span class="pre">$</span></code>; alternativamente, se puede encerrar entre llaves después del <code class="docutils literal notranslate"><span class="pre">$</span></code>. Por ejemplo, si ha utilizado el comando de shell <code class="docutils literal notranslate"><span class="pre">export</span> <span class="pre">FOO=rms/hacks</span></code> para establecer una variable de entorno llamada <code class="docutils literal notranslate"><span class="pre">FOO</span></code>, entonces tanto <code class="docutils literal notranslate"><span class="pre">/u/$FOO/test.c</span></code> como <code class="docutils literal notranslate"><span class="pre">/u/${FOO}/test.c</span></code> son abreviaturas de <code class="docutils literal notranslate"><span class="pre">/u/rms/hacks/test.c</span></code>. Si la variable de entorno no está definida, no se produce ninguna sustitución, de modo que el carácter <code class="docutils literal notranslate"><span class="pre">$</span></code> se representa a sí mismo. Tenga en cuenta que las variables de entorno establecidas fuera de Emacs sólo afectan a Emacs si se aplican antes de que se inicie Emacs.</p>
<p>Para acceder a un fichero con <code class="docutils literal notranslate"><span class="pre">$</span></code> en su nombre, si el <code class="docutils literal notranslate"><span class="pre">$</span></code> causa expansión, teclee <kbd class="kbd docutils literal notranslate">$</kbd><kbd class="kbd docutils literal notranslate">$</kbd> (<code class="docutils literal notranslate"><span class="pre">$$</span></code>). Este par se convierte en un único <code class="docutils literal notranslate"><span class="pre">$</span></code> al mismo tiempo que se realiza la sustitución de variables para un único <code class="docutils literal notranslate"><span class="pre">$</span></code>. También puede entrecomillar todo el nombre del archivo con <code class="docutils literal notranslate"><span class="pre">/:</span></code> (consulte <a class="reference internal" href="#id16"><span class="std std-ref">19.6 Guardado Automático: Protección Frente a Desastres</span></a>). Los nombres de archivo que comienzan con un literal <code class="docutils literal notranslate"><span class="pre">~</span></code> también deben entrecomillarse con <code class="docutils literal notranslate"><span class="pre">/:</span></code>.</p>
<p>Puede incluir caracteres no ASCII en los nombres de archivo. Consulte <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id12"><span class="std std-ref">23.11 Sistemas de Codificación de Nombres de Archivos</span></a>.</p>
<p>Puede incluir caracteres no ASCII en los nombres de archivo. Consulte <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id14"><span class="std std-ref">23.11 Sistemas de Codificación de Nombres de Archivos</span></a>.</p>
</section>
<section id="visitar-archivos">
<span id="id3"></span><h2>19.2 Visitar Archivos<a class="headerlink" href="#visitar-archivos" title="Link to this heading"></a></h2>
@ -227,7 +227,7 @@
</div></blockquote>
<p><em>Visitar</em> un archivo significa leer su contenido en un buffer de Emacs para poder editarlo. Emacs crea un nuevo buffer para cada archivo que visita.</p>
<p>Para visitar un archivo, teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code>, <code class="docutils literal notranslate"><span class="pre">find-file</span></code>, buscar-archivo) y use el minibuffer para introducir el nombre del archivo requerido. Mientras esté en el minibúfer, puede abortar el comando tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">g</kbd> (<code class="docutils literal notranslate"><span class="pre">C-g</span></code>). Consulte <a class="reference internal" href="#id2"><span class="std std-ref">19.1 Nombres de Archivos</span></a> , para más detalles sobre la introducción de nombres de archivos en los minibúferes.</p>
<p>Si el archivo especificado existe pero el sistema no le permite leerlo, se muestra un mensaje de error en el área de eco (en sistemas GNU y Unix podría ser capaz de visitar tal archivo usando los métodos <code class="docutils literal notranslate"><span class="pre">su</span></code> o <code class="docutils literal notranslate"><span class="pre">sudo</span></code>; vea <a class="reference internal" href="#id13"><span class="std std-ref">19.5 Reversión Automática: Mantener los Búferes Actualizados Automáticamente</span></a>). De otro modo, puede saber que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code> se ha completado con éxito por la aparición de nuevo texto en la pantalla, y por el nombre del buffer mostrado en la línea de modo (vea <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La línea de Modo</span></a>). Emacs normalmente construye el nombre del buffer a partir del nombre del archivo, omitiendo el nombre del directorio. Por ejemplo, un archivo llamado <code class="docutils literal notranslate"><span class="pre">/usr/rms/emacs.tex</span></code> es visitado en un búfer llamado <code class="docutils literal notranslate"><span class="pre">emacs.tex</span></code>. Si ya existe un búfer con ese nombre, Emacs construye un nombre único; el método normal es añadir un sufijo basado en el nombre del directorio (e.g., <code class="docutils literal notranslate"><span class="pre">&lt;rms&gt;</span></code>, <code class="docutils literal notranslate"><span class="pre">&lt;tmp&gt;</span></code>, y así sucesivamente), pero puede elegir otros métodos. Consulte <a class="reference internal" href="20_UsarVariosBuferes.html#id7"><span class="std std-ref">20.7.1 Hacer que los Nombres de los Búferes sean Únicos</span></a>.</p>
<p>Si el archivo especificado existe pero el sistema no le permite leerlo, se muestra un mensaje de error en el área de eco (en sistemas GNU y Unix podría ser capaz de visitar tal archivo usando los métodos <code class="docutils literal notranslate"><span class="pre">su</span></code> o <code class="docutils literal notranslate"><span class="pre">sudo</span></code>; vea <a class="reference internal" href="#id13"><span class="std std-ref">19.5 Reversión Automática: Mantener los Búferes Actualizados Automáticamente</span></a>). De otro modo, puede saber que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code> se ha completado con éxito por la aparición de nuevo texto en la pantalla, y por el nombre del buffer mostrado en la línea de modo (vea <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>). Emacs normalmente construye el nombre del buffer a partir del nombre del archivo, omitiendo el nombre del directorio. Por ejemplo, un archivo llamado <code class="docutils literal notranslate"><span class="pre">/usr/rms/emacs.tex</span></code> es visitado en un búfer llamado <code class="docutils literal notranslate"><span class="pre">emacs.tex</span></code>. Si ya existe un búfer con ese nombre, Emacs construye un nombre único; el método normal es añadir un sufijo basado en el nombre del directorio (e.g., <code class="docutils literal notranslate"><span class="pre">&lt;rms&gt;</span></code>, <code class="docutils literal notranslate"><span class="pre">&lt;tmp&gt;</span></code>, y así sucesivamente), pero puede elegir otros métodos. Consulte <a class="reference internal" href="20_UsarVariosBuferes.html#id8"><span class="std std-ref">20.7.1 Hacer que los Nombres de los Búferes sean Únicos</span></a>.</p>
<p>Para crear un nuevo archivo, simplemente visítelo usando el mismo comando, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code>). Emacs muestra <code class="docutils literal notranslate"><span class="pre">(New</span> <span class="pre">file)</span></code> (Archivo nuevo) en el área de eco, pero en otros aspectos se comporta como si hubiera visitado un archivo vacío existente.</p>
<p>Después de visitar un archivo, los cambios que haga con los comandos de edición se hacen en el búfer de Emacs. No tienen efecto en el archivo visitado, hasta que guarde el búfer (vea <a class="reference internal" href="#id4"><span class="std std-ref">19.3 Guardar Archivos</span></a>). Si un búfer contiene cambios que no han sido guardados, decimos que el búfer está <em>modificado</em>. Esto implica que algunos cambios se perderán si no se guarda el búfer. La línea de modo muestra dos asteriscos cerca del margen izquierdo para indicar que el búfer está modificado.</p>
<p>Si visita un archivo que ya está en Emacs, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code> cambia al búfer existente en lugar de hacer otra copia. Antes de hacerlo, comprueba si el archivo ha cambiado desde la última vez que lo visitó o lo guardó. Si el fichero ha cambiado, Emacs ofrece releerlo.</p>
@ -242,8 +242,8 @@
<p>Si desea visitar un archivo como sólo-lectura para protegerse de introducir cambios accidentalmente, visítelo con el comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-r</span></code> (<code class="docutils literal notranslate"><span class="pre">find-file-read-only</span></code>, buscar-archivo-sólo-lectura) en lugar de <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code>.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">4</span> <span class="pre">f</span></code> (<code class="docutils literal notranslate"><span class="pre">find-file-other-window</span></code>, buscar-archivo-otra-ventana) es como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code> excepto en que el búfer que contiene el archivo especificado se selecciona en otra ventana. La ventana que estaba seleccionada antes de <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">4</span> <span class="pre">f</span></code> sigue mostrando el mismo búfer que ya estaba mostrando. Si se usa este comando cuando sólo se está mostrando una ventana, esa ventana se divide en dos, con una ventana mostrando el mismo búfer que antes, y la otra mostrando el nuevo archivo solicitado. Véase <a class="reference internal" href="21_VariasVentanas.html#id1"><span class="std std-ref">21 Varias Ventanas</span></a>.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">f</span></code> (<code class="docutils literal notranslate"><span class="pre">find-file-other-frame</span></code>) es similar, pero abre un nuevo marco, o selecciona cualquier marco existente que muestre el archivo especificado. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id1"><span class="std std-ref">22 Marcos y Pantallas Gráficas</span></a>.</p>
<p>En pantallas gráficas, hay dos métodos adicionales para visitar archivos. En primer lugar, cuando Emacs se construye con un conjunto de herramientas GUI adecuado, los comandos invocados con el ratón (pulsando en la barra de menús o en la barra de herramientas) usan el diálogo de selección de archivos estándar del conjunto de herramientas en lugar de pedir el nombre del archivo en el minibúfer. En GNU/Linux y plataformas Unix, Emacs hace esto cuando se construye con los toolkits GTK+, LessTif y Motif; en MS-Windows y Mac, la versión GUI lo hace por defecto. Para más información sobre cómo personalizarlo, véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id16"><span class="std std-ref">22.18 Uso de Cuadros de Diálogo</span></a>.</p>
<p>En segundo lugar, Emacs soporta arrastrar y soltar: soltar un archivo en una ventana ordinaria dentro de él, esto visita el archivo usando esa ventana. Como excepción, soltar un archivo en una ventana que muestre un búfer Dired mueve o copia el fichero en el directorio mostrado. Para más detalles, vea <a class="reference internal" href="22_MarcosPantallasGraf.html#id12"><span class="std std-ref">22.14 Arrastrar y Soltar</span></a>, y 31.20 .</p>
<p>En pantallas gráficas, hay dos métodos adicionales para visitar archivos. En primer lugar, cuando Emacs se construye con un conjunto de herramientas GUI adecuado, los comandos invocados con el ratón (pulsando en la barra de menús o en la barra de herramientas) usan el diálogo de selección de archivos estándar del conjunto de herramientas en lugar de pedir el nombre del archivo en el minibúfer. En GNU/Linux y plataformas Unix, Emacs hace esto cuando se construye con los toolkits GTK+, LessTif y Motif; en MS-Windows y Mac, la versión GUI lo hace por defecto. Para más información sobre cómo personalizarlo, véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id17"><span class="std std-ref">22.18 Uso de Cuadros de Diálogo</span></a>.</p>
<p>En segundo lugar, Emacs soporta arrastrar y soltar: soltar un archivo en una ventana ordinaria dentro de él, esto visita el archivo usando esa ventana. Como excepción, soltar un archivo en una ventana que muestre un búfer Dired mueve o copia el fichero en el directorio mostrado. Para más detalles, vea <a class="reference internal" href="22_MarcosPantallasGraf.html#id13"><span class="std std-ref">22.14 Arrastrar y Soltar</span></a>, y 31.20 .</p>
<p>En terminales en modo texto y en pantallas gráficas cuando Emacs se construyó sin un conjunto de herramientas GUI, puede visitar archivos a través del menú <code class="docutils literal notranslate"><span class="pre">File</span></code> (Archivo) de la barra de menú, que tiene los ítems <code class="docutils literal notranslate"><span class="pre">Visit</span> <span class="pre">New</span> <span class="pre">File</span></code> (Visitar Nuevo Archivo) y <code class="docutils literal notranslate"><span class="pre">Open</span> <span class="pre">File</span></code> (Abrir Archivo).</p>
<p>Cada vez que visita un archivo, Emacs escanea automáticamente su contenido para detectar qué codificación de caracteres y qué convención de fin de línea utiliza, y los convierte a la codificación interna de Emacs y a la convención de fin de línea dentro del búfer. Cuando guarda el buffer, Emacs lleva a cabo la conversión inversa, escribiendo el fichero en el disco con su codificación original y la convención de final de línea. Ver <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id6"><span class="std std-ref">23.5 Sistemas de Codificación</span></a>.</p>
<p>Si desea editar un archivo como una secuencia de caracteres ASCII sin codificación especial o conversión, use el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">find-file-literally</span></code>. Esto visita un archivo, como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code>, pero no hace conversión de formato (vea <strong>Conversión de Formato</strong> en el Manual de Referencia de Emacs Lisp), conversión de código de caracteres (vea <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id6"><span class="std std-ref">23.5 Sistemas de Codificación</span></a>), o descompresión automática (vea <a class="reference internal" href="#id23"><span class="std std-ref">19.13. Acceso a Archivos Comprimidos</span></a>), y no añade una nueva línea final debido a <code class="docutils literal notranslate"><span class="pre">require-final-newline</span></code> (vea <a class="reference internal" href="#id8"><span class="std std-ref">19.3.3 Personalizar el Guardado de Archivos</span></a>). Si ya ha visitado el mismo archivo de la manera habitual (no literal), este comando le pregunta si desea visitarlo literalmente en su lugar.</p>
@ -253,7 +253,7 @@
<span class="s1">&#39;((&quot;</span><span class="se">\\</span><span class="s1">([^/]+</span><span class="se">\\</span><span class="s1">)</span><span class="se">\\</span><span class="s1">.c</span><span class="se">\\</span><span class="s1">&#39;</span><span class="s2">&quot; &quot;</span>\\<span class="mf">1.</span><span class="n">h</span><span class="s2">&quot;)))</span>
</pre></div>
</div>
<p>(<code class="docutils literal notranslate"><span class="pre">ff-find-related-file</span></code> ofrece una funcionalidad similar especialmente orientada a archivos C, vea <a class="reference internal" href="27_EdDePrograms.html#id19"><span class="std std-ref">27.12.4 Otros comandos para el Modo C</span></a>).</p>
<p>(<code class="docutils literal notranslate"><span class="pre">ff-find-related-file</span></code> ofrece una funcionalidad similar especialmente orientada a archivos C, vea <a class="reference internal" href="27_EdDePrograms.html#id21"><span class="std std-ref">27.12.4 Otros comandos para el Modo C</span></a>).</p>
<p>O, si quiere considerar todos los ficheros bajo <code class="docutils literal notranslate"><span class="pre">&quot;src/emacs/DIR/nombre-archivo&quot;</span></code> como hermanos de otros <em>directorios</em>, se podría escribir:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">setq</span> <span class="n">find</span><span class="o">-</span><span class="n">sibling</span><span class="o">-</span><span class="n">rules</span>
<span class="s1">&#39;((&quot;src/emacs/[^/]+/</span><span class="se">\\</span><span class="s1">(.*</span><span class="se">\\</span><span class="s1">)</span><span class="se">\\</span><span class="s1">&#39;</span><span class="s2">&quot; &quot;</span><span class="n">src</span><span class="o">/</span><span class="n">emacs</span><span class="o">/.*/</span>\\<span class="mi">1</span><span class="s2">&quot;)))</span>
@ -262,7 +262,7 @@
<p>Como puede ver, se trata de una lista de elementos (<em>MATCH EXPANSION…</em>). La <em>coincidencia</em> es una expresión regular que se corresponde con el nombre del archivo visitado, y cada expansión puede referirse a grupos de coincidencias utilizando <code class="docutils literal notranslate"><span class="pre">\\1</span></code> y así sucesivamente. La cadena de expansión resultante se aplica entonces al sistema de archivos para ver si algún archivo coincide con esta expansión (interpretada como una expreg).</p>
<p>Dos variables gancho especiales permiten a las extensiones modificar el funcionamiento de la visita de archivos. Al visitar un archivo que no existe, se ejecutan las funciones de <code class="docutils literal notranslate"><span class="pre">find-file-not-found-functions</span></code>; esta variable contiene una lista de funciones, que se llaman una a una (sin argumentos) hasta que una de ellas devuelve un valor no nulo. No se trata de un gancho normal, y el nombre termina en <code class="docutils literal notranslate"><span class="pre">-functions</span></code> en lugar de <code class="docutils literal notranslate"><span class="pre">-hook</span></code> para indicarlo.</p>
<p>La visita exitosa de cualquier archivo, existente o no, llama a las funciones en <code class="docutils literal notranslate"><span class="pre">find-file-hook</span></code>, sin argumentos. Esta variable es un gancho normal. En el caso de un archivo inexistente, se ejecutan primero las funciones <code class="docutils literal notranslate"><span class="pre">find-file-not-found</span></code>. Véase <a class="reference internal" href="50_Personlzc.html#id7"><span class="std std-ref">50.2.2 Ganchos (Hooks)</span></a>.</p>
<p>Hay varias formas de especificar automáticamente el modo principal para editar el archivo (véase <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id8"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>), y de especificar variables locales definidas para ese archivo (véase <a class="reference internal" href="50_Personlzc.html#id9"><span class="std std-ref">50.2.4. Variables locales en Archivos</span></a>).</p>
<p>Hay varias formas de especificar automáticamente el modo principal para editar el archivo (véase <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id6"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>), y de especificar variables locales definidas para ese archivo (véase <a class="reference internal" href="50_Personlzc.html#id9"><span class="std std-ref">50.2.4. Variables locales en Archivos</span></a>).</p>
</section>
<section id="guardar-archivos">
<span id="id4"></span><h2>19.3 Guardar Archivos<a class="headerlink" href="#guardar-archivos" title="Link to this heading"></a></h2>
@ -354,7 +354,7 @@
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-c</span></code>, la secuencia de teclas para salir de Emacs, invoca <code class="docutils literal notranslate"><span class="pre">save-some-buffers</span></code> y por tanto hace las mismas preguntas.</p>
<p>Si ha cambiado un búfer pero no desea guardar los cambios, debería tomar alguna medida para evitarlo. De lo contrario, cada vez que utilice <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">s</span></code> o <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-c</span></code>, es probable que guarde este búfer por error. Una cosa que puede hacer es teclear <code class="docutils literal notranslate"><span class="pre">M-~</span></code> (<code class="docutils literal notranslate"><span class="pre">not-modified</span></code>), que borra la indicación de que el búfer está modificado. Si hace esto, ninguno de los comandos de guardado creerá que el búfer necesita ser guardado. (<code class="docutils literal notranslate"><span class="pre">~</span></code> se usa a menudo como símbolo matemático de «not» (negación); por tanto, <code class="docutils literal notranslate"><span class="pre">M-~</span></code> es «not», metafied). Alternativamente, puede cancelar todos los cambios realizados desde que el archivo fue visitado o guardado, leyendo de nuevo el texto del archivo. Esto se llama revertir. Vea <a class="reference internal" href="#id12"><span class="std std-ref">19.4 Revertir un Búfer</span></a>. (También podría deshacer todos los cambios repitiendo el comando deshacer <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">u</span></code> hasta que haya deshecho todos los cambios; pero revertir es más fácil).</p>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-visited-file-name</span></code> altera el nombre del archivo que el búfer actual está visitando. Lee el nuevo nombre de archivo utilizando el minibúfer. Entonces marca el búfer como visitando ese nombre de archivo, y cambia el nombre del búfer correspondientemente. <code class="docutils literal notranslate"><span class="pre">set-visited-file-name</span></code> no guarda el búfer en el nuevo archivo visitado; sólo altera los registros dentro de Emacs en caso de que los guardes más tarde. También marca el búfer como modificado para que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-s</span></code> en ese búfer se guarde.</p>
<p>Si quiere marcar el búfer como visitado en un archivo diferente y guardarlo inmediatamente, use <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code> (<code class="docutils literal notranslate"><span class="pre">write-file</span></code>). Esto es equivalente a <code class="docutils literal notranslate"><span class="pre">set-visited-file-name</span></code> seguido de <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-s</span></code>, excepto que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code> pide confirmación si el archivo existe. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-s</span></code> utilizado en un búfer que no está visitando un archivo tiene el mismo efecto que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code>; es decir, lee un nombre de archivo, marca el búfer como visitando ese archivo y lo guarda allí. El nombre de archivo por defecto en un búfer que no está visitando un fichero se hace combinando el nombre del búfer con el directorio por defecto del búfer (ver <a class="reference internal" href="#id2"><span class="std std-ref">19.1 Nombres de Archivos</span></a>). Si el nuevo nombre de archivo implica un modo principal, entonces <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code> cambia a ese modo principal, en la mayoría de los casos. El comando <code class="docutils literal notranslate"><span class="pre">set-visited-file-name</span></code> también hace esto. Ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id8"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>.</p>
<p>Si quiere marcar el búfer como visitado en un archivo diferente y guardarlo inmediatamente, use <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code> (<code class="docutils literal notranslate"><span class="pre">write-file</span></code>). Esto es equivalente a <code class="docutils literal notranslate"><span class="pre">set-visited-file-name</span></code> seguido de <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-s</span></code>, excepto que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code> pide confirmación si el archivo existe. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-s</span></code> utilizado en un búfer que no está visitando un archivo tiene el mismo efecto que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code>; es decir, lee un nombre de archivo, marca el búfer como visitando ese archivo y lo guarda allí. El nombre de archivo por defecto en un búfer que no está visitando un fichero se hace combinando el nombre del búfer con el directorio por defecto del búfer (ver <a class="reference internal" href="#id2"><span class="std std-ref">19.1 Nombres de Archivos</span></a>). Si el nuevo nombre de archivo implica un modo principal, entonces <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code> cambia a ese modo principal, en la mayoría de los casos. El comando <code class="docutils literal notranslate"><span class="pre">set-visited-file-name</span></code> también hace esto. Ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id6"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>.</p>
<p>Si Emacs está a punto de guardar un archivo y ve que la fecha de la última versión en disco no coincide con lo que Emacs leyó o escribió por última vez, le notifica este hecho, porque probablemente indica un problema causado por la edición simultánea y requiere su atención inmediata. Ver <a class="reference internal" href="#id9"><span class="std std-ref">19.3.4 Protección contra la Edición Simultánea</span></a>.</p>
</section>
<section id="archivos-de-copia-de-seguridad">
@ -496,7 +496,7 @@ copiar.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Time</span><span class="o">-</span><span class="n">stamp</span><span class="p">:</span> <span class="s2">&quot; &quot;</span>
</pre></div>
</div>
<p>A continuación, añada la función <code class="docutils literal notranslate"><span class="pre">time-stamp</span></code> al gancho <code class="docutils literal notranslate"><span class="pre">before-save-hook</span></code> (véase <a class="reference internal" href="50_Personlzc.html#id7"><span class="std std-ref">50.2.2 Ganchos (Hooks)</span></a>). Cuando guarde el archivo, esta función actualizará automáticamente la marca de tiempo con la fecha y hora actuales. También puede usar el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">time-stamp</span></code> para actualizar la marca de tiempo manualmente. Por defecto, la marca de tiempo se formatea de acuerdo con su configuración regional (consulte <a class="reference internal" href="50_Personlzc.html#id25"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>) y zona horaria (consulte <strong>Hora del Día</strong> en el Manual de Referencia de Emacs Lisp). Para personalizaciones, vea el grupo Personalizar Marca de Tiempo.</p>
<p>A continuación, añada la función <code class="docutils literal notranslate"><span class="pre">time-stamp</span></code> al gancho <code class="docutils literal notranslate"><span class="pre">before-save-hook</span></code> (véase <a class="reference internal" href="50_Personlzc.html#id7"><span class="std std-ref">50.2.2 Ganchos (Hooks)</span></a>). Cuando guarde el archivo, esta función actualizará automáticamente la marca de tiempo con la fecha y hora actuales. También puede usar el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">time-stamp</span></code> para actualizar la marca de tiempo manualmente. Por defecto, la marca de tiempo se formatea de acuerdo con su configuración regional (consulte <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>) y zona horaria (consulte <strong>Hora del Día</strong> en el Manual de Referencia de Emacs Lisp). Para personalizaciones, vea el grupo Personalizar Marca de Tiempo.</p>
</section>
</section>
<section id="revertir-un-bufer">
@ -565,7 +565,7 @@ modificado usando <code class="docutils literal notranslate"><span class="pre">M
</section>
<section id="control-del-autoguardado">
<span id="id18"></span><h3>19.6.2. Control del Autoguardado<a class="headerlink" href="#control-del-autoguardado" title="Link to this heading"></a></h3>
<p>Cada vez que visita un archivo, se activa el autoguardado para el búfer de ese archivo si la variable <code class="docutils literal notranslate"><span class="pre">auto-save-default</span></code> es distinta de <code class="docutils literal notranslate"><span class="pre">nil</span></code> (pero no en modo por lotes; vea <a class="reference internal" href="ApendiceC.html#c-2"><span class="std std-ref">C.2 Opciones Iniciales</span></a>). El valor predeterminado de esta variable es <code class="docutils literal notranslate"><span class="pre">t</span></code>, por lo que el autoguardado es la práctica habitual para los búferes que visitan archivos. Para activar el autoguardado en el búfer actual, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">save-mode</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">auto-save-mode</span></code>). El modo de auto-guardado actúa como un modo menor local del búfer (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id3"><span class="std std-ref">24.2 Modos Menores</span></a>).</p>
<p>Cada vez que visita un archivo, se activa el autoguardado para el búfer de ese archivo si la variable <code class="docutils literal notranslate"><span class="pre">auto-save-default</span></code> es distinta de <code class="docutils literal notranslate"><span class="pre">nil</span></code> (pero no en modo por lotes; vea <a class="reference internal" href="ApendiceC.html#c-2"><span class="std std-ref">C.2 Opciones Iniciales</span></a>). El valor predeterminado de esta variable es <code class="docutils literal notranslate"><span class="pre">t</span></code>, por lo que el autoguardado es la práctica habitual para los búferes que visitan archivos. Para activar el autoguardado en el búfer actual, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">save-mode</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">auto-save-mode</span></code>). El modo de auto-guardado actúa como un modo menor local del búfer (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id5"><span class="std std-ref">24.2 Modos Menores</span></a>).</p>
<p>Emacs auto-guarda periódicamente basándose en cuántos caracteres ha tecleado desde el último auto-guardado. La variable <code class="docutils literal notranslate"><span class="pre">auto-save-interval</span></code> especifica cuántos caracteres hay entre auto-guardados. Por defecto, es 300. Emacs no acepta valores demasiado pequeños: si personaliza <code class="docutils literal notranslate"><span class="pre">auto-save-interval</span></code> a un valor inferior a 20, Emacs se comportará como si el valor fuera 20.</p>
<p>El autoguardado también tiene lugar cuando deja de teclear durante un rato. Por defecto, lo hace después de 30 segundos de inactividad (en este momento, Emacs también puede realizar la recolección de basura; ver <strong>Recolección de Basura</strong> en el Manual de Referencia de Emacs Lisp). Para cambiar este intervalo, personalice la variable <code class="docutils literal notranslate"><span class="pre">auto-save-timeout</span></code>. El periodo de tiempo real es más largo si el búfer actual es largo; esto es una heurística que pretende mantenerse fuera de su camino cuando está editando búferes largos, en los que el auto-guardado toma una cantidad apreciable de tiempo. El auto-guardado durante periodos de inactividad consigue dos cosas: primero, se asegura de que todo su trabajo se guarda si se aleja de la terminal durante un tiempo; segundo, puede evitar algún auto-guardado mientras está escribiendo.</p>
<p>Cuando el modo auto-guardado-visitado (<code class="docutils literal notranslate"><span class="pre">auto-save-visited-mode</span></code>) está activado, Emacs auto-guardará los búferes de archivos visitados después de cinco segundos de inactividad. Puede personalizar la variable <code class="docutils literal notranslate"><span class="pre">auto-save-visited-interval</span></code> para cambiar el intervalo de tiempo de inactividad.</p>
@ -952,7 +952,7 @@ Con el argumento prefijo, el comando pregunta por el color a usar.</p>
</section>
<section id="conjunto-de-archivos">
<h2>19.20 Conjunto de Archivos<a class="headerlink" href="#conjunto-de-archivos" title="Link to this heading"></a></h2>
<p>Si edita regularmente un determinado grupo de ficheros, puede definirlos como un <em>conjunto de archivos</em> (fileset). Esto le permite realizar ciertas operaciones, como visitar, <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> (consultar-reemplazar), y comandos shell en todos ellos a la vez. Para usar conjuntos de archivos, primero debe añadir la expresión (<code class="docutils literal notranslate"><span class="pre">filesets-init</span></code>) a su archivo de inicio (vea <a class="reference internal" href="50_Personlzc.html#id25"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>). Esto añade un submenú <code class="docutils literal notranslate"><span class="pre">Filesets</span></code> al menú <code class="docutils literal notranslate"><span class="pre">File</span></code> de la barra de menú.</p>
<p>Si edita regularmente un determinado grupo de ficheros, puede definirlos como un <em>conjunto de archivos</em> (fileset). Esto le permite realizar ciertas operaciones, como visitar, <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> (consultar-reemplazar), y comandos shell en todos ellos a la vez. Para usar conjuntos de archivos, primero debe añadir la expresión (<code class="docutils literal notranslate"><span class="pre">filesets-init</span></code>) a su archivo de inicio (vea <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>). Esto añade un submenú <code class="docutils literal notranslate"><span class="pre">Filesets</span></code> al menú <code class="docutils literal notranslate"><span class="pre">File</span></code> de la barra de menú.</p>
<p>La forma más sencilla de definir un conjunt de archivos es añadiéndole archivos de uno en uno. Para añadir un archivo a este conjunto de archivos, visite el archivo y escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">filesets-add-buffer</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>nombre</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">filesets-add-buffer</span> <span class="pre">RET</span></code> <em>nombre</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>). Si no hay ningún nombre de fileset, se crea uno nuevo, que inicialmente sólo contiene el archivo actual. El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">filesets-remove-buffer</span></code> elimina el archivo actual de un conjunto de ficheros.</p>
<p>También puede editar la lista de conjuntos de archivos directamente, con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">filesets-edit</span></code> (o eligiendo <code class="docutils literal notranslate"><span class="pre">Edit</span> <span class="pre">Filesets</span></code> (Editar Conjunto de Archivos) en el menú <code class="docutils literal notranslate"><span class="pre">Filesets</span></code> (Conjuntos de Archivos)). La edición se realiza en un búfer de personalización (véase <a class="reference internal" href="50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>). Normalmente, un conjunto de archivos es una simple lista de archivos, pero también puede definir un conjunto de archivos como una expresión regular que coincida con nombres de archivo. Algunos ejemplos de estos conjuntos de ficheros más complicados se muestran en el búfer Personalizar. Recuerde seleccionar <code class="docutils literal notranslate"><span class="pre">Save</span> <span class="pre">for</span> <span class="pre">future</span> <span class="pre">sessions</span></code> (Guardar para futuras sesiones) si quiere usar los mismos conjuntos de archivos en futuras sesiones de Emacs.</p>
<p>Puede usar el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">filesets-open</span></code> para visitar todos los archivos de un fileset, y <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">filesets-close</span></code> para cerrarlos. Use <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">filesets-run-cmd</span></code> para ejecutar un comando de shell en todos los archivos de un fileset. Estos comandos también están disponibles en el menú <code class="docutils literal notranslate"><span class="pre">Filesets</span></code>, donde cada conjunto de archivos existente está representado por un submenú.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -152,7 +152,7 @@
<span id="id1"></span><h1>20 Uso de Varios Búferes<a class="headerlink" href="#uso-de-varios-buferes" title="Link to this heading"></a></h1>
<p>El texto que está editando en Emacs reside en un objeto llamado <em>búfer</em>. Cada vez que visita un archivo, se usa un búfer para guardar el texto del archivo. Cada vez que invoca Dired, se usa un búfer para guardar el listado de directorios. Si envía un mensaje con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">m</span></code>, se usa un búfer para guardar el texto del mensaje. Cuando se solicita la documentación de un comando, ésta aparece en un búfer llamado <code class="docutils literal notranslate"><span class="pre">*Help*</span></code> (Ayuda).</p>
<p>Los búferes existen mientras están siendo usados, y son borrados («matados») cuando ya no son necesarios, ya sea por el Usuario (ver <a class="reference internal" href="#id5"><span class="std std-ref">20.4 Matar Búferes</span></a>) o por Emacs (por ejemplo, cuando se sale del programa, ver <a class="reference internal" href="../07_SalirDeEmacs.html#id1"><span class="std std-ref">7 Cómo Salir de Emacs</span></a>).</p>
<p>Cada búfer tiene un nombre único, que puede ser de cualquier longitud. Cuando un búfer se muestra en una ventana, su nombre se muestra en la línea de modo (ver <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La línea de Modo</span></a>). La distinción entre mayúsculas y minúsculas es importante en los nombres de los búferes. La mayoría de los búferes se crean visitando archivos, y sus nombres se derivan de los nombres de los archivos; sin embargo, también se puede crear un búfer vacío con cualquier nombre que se desee. Un Emacs recién iniciado tiene varios búferes, incluyendo uno llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que puede usarse para evaluar expresiones Lisp y no está asociado a ningún archivo (ver <a class="reference internal" href="28_CompProbProg.html#id12"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>).</p>
<p>Cada búfer tiene un nombre único, que puede ser de cualquier longitud. Cuando un búfer se muestra en una ventana, su nombre se muestra en la línea de modo (ver <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>). La distinción entre mayúsculas y minúsculas es importante en los nombres de los búferes. La mayoría de los búferes se crean visitando archivos, y sus nombres se derivan de los nombres de los archivos; sin embargo, también se puede crear un búfer vacío con cualquier nombre que se desee. Un Emacs recién iniciado tiene varios búferes, incluyendo uno llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que puede usarse para evaluar expresiones Lisp y no está asociado a ningún archivo (ver <a class="reference internal" href="28_CompProbProg.html#id12"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>).</p>
<p>En cualquier momento, sólo se <em>selecciona</em> un búfer, al que llamamos <em>búfer actual</em>. A veces decimos que un comando opera sobre «el búfer»; esto significa realmente que opera sobre el búfer actual. Cuando sólo hay una ventana Emacs, el búfer mostrado en esa ventana es el actual. Cuando hay múltiples ventanas, el búfer mostrado en la <em>ventana seleccionada</em> es el actual. Ver <a class="reference internal" href="21_VariasVentanas.html#id1"><span class="std std-ref">21 Varias Ventanas</span></a>.</p>
<p>El contenido de un búfer consiste en una serie de caracteres, cada uno de los cuales lleva opcionalmente un conjunto de propiedades de texto (ver <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id2"><span class="std std-ref">23.1 Introducción a los Juegos de Caracteres Internacionales</span></a>) que pueden especificar más información sobre ese carácter.</p>
<p>Aparte de su contenido textual, cada búfer registra varios datos, como qué archivo está visitando (si lo hay), si está modificado y qué modos mayor y menor están en vigor (véase <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id1"><span class="std std-ref">24 Modos Mayores y Menores</span></a>). Estos datos se almacenan en <em>variables locales del búfer</em>, variables que pueden tener un valor diferente en cada búfer. Véase <a class="reference internal" href="50_Personlzc.html#id8"><span class="std std-ref">50.2.3 Variables Locales</span></a>.</p>
@ -187,8 +187,8 @@
<div><p>Lee un número <em>n</em> y se desplaza a la línea <em>n</em> en el último búfer seleccionado distinto del búfer actual, en otra ventana.</p>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">b</span></code> (<code class="docutils literal notranslate"><span class="pre">switch-to-buffer</span></code>) lee el nombre de un búfer usando el minibúfer. A continuación, actualiza ese búfer y lo muestra en la ventana seleccionada en ese momento. Una entrada vacía especifica el búfer que fue actual más recientemente entre los que no se muestran ahora en ninguna ventana.</p>
<p>Mientras escribe el nombre del búfer, puede usar los comandos habituales de completado e historial (véase <a class="reference internal" href="09_ElMinibufer.html#id1"><span class="std std-ref">9 El Minibúfer</span></a>). Tenga en cuenta que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">b</span></code>, y los comandos relacionados, usan <em>completado permisivo con confirmación</em> para el completado del minibúfer: si teclea <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) cuando el texto del minibúfer nombra un búfer inexistente, Emacs imprime <code class="docutils literal notranslate"><span class="pre">[Confirm]</span></code> (Confirmar) y debe teclear un segundo <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) para enviar ese nombre de búfer. Vea <a class="reference internal" href="09_ElMinibufer.html#id6"><span class="std std-ref">9.4.3 Salida del Completado</span></a>, para más detalles. Para otras opciones y características de completado, vea <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id8"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>.</p>
<p>Si especifica un búfer que no existe, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">b</span></code> crea un nuevo búfer vacío que no está visitando ningún archivo, y lo selecciona para editarlo. El valor por defecto de la variable <code class="docutils literal notranslate"><span class="pre">major-mode</span></code> (modo-mayor) determina el modo mayor del nuevo búfer; el valor por defecto es el modo Fundamental. Véase <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>. Una razón para crear un nuevo búfer es usarlo para hacer notas temporales. Si intenta guardarlo, Emacs le preguntará por el nombre de archivo a usar, y el modo principal del búfer se restablecerá teniendo en cuenta ese nombre de archivo (vea <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id8"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>).</p>
<p>Mientras escribe el nombre del búfer, puede usar los comandos habituales de completado e historial (véase <a class="reference internal" href="09_ElMinibufer.html#id1"><span class="std std-ref">9 El Minibúfer</span></a>). Tenga en cuenta que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">b</span></code>, y los comandos relacionados, usan <em>completado permisivo con confirmación</em> para el completado del minibúfer: si teclea <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) cuando el texto del minibúfer nombra un búfer inexistente, Emacs imprime <code class="docutils literal notranslate"><span class="pre">[Confirm]</span></code> (Confirmar) y debe teclear un segundo <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) para enviar ese nombre de búfer. Vea <a class="reference internal" href="09_ElMinibufer.html#id6"><span class="std std-ref">9.4.3 Salida del Completado</span></a>, para más detalles. Para otras opciones y características de completado, vea <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id6"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>.</p>
<p>Si especifica un búfer que no existe, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">b</span></code> crea un nuevo búfer vacío que no está visitando ningún archivo, y lo selecciona para editarlo. El valor por defecto de la variable <code class="docutils literal notranslate"><span class="pre">major-mode</span></code> (modo-mayor) determina el modo mayor del nuevo búfer; el valor por defecto es el modo Fundamental. Véase <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>. Una razón para crear un nuevo búfer es usarlo para hacer notas temporales. Si intenta guardarlo, Emacs le preguntará por el nombre de archivo a usar, y el modo principal del búfer se restablecerá teniendo en cuenta ese nombre de archivo (vea <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id6"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>).</p>
<p>Para cambiar convenientemente entre varios búferes, use los comandos <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">IZQUIERDA</span></code> y <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">DERECHA</span></code>. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">IZQUIERDA</span></code> (<code class="docutils literal notranslate"><span class="pre">previous-buffer</span></code>) selecciona el búfer anterior (siguiendo el orden de selección más reciente en el marco actual), mientras que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">DERECHA</span></code> (<code class="docutils literal notranslate"><span class="pre">next-buffer</span></code>) se desplaza por los búferes en sentido inverso. Ambos comandos admiten un argumento de prefijo numérico que sirve como recuento de repeticiones.</p>
<p>Para seleccionar un búfer en una ventana distinta de la actual (véase <a class="reference internal" href="21_VariasVentanas.html#id1"><span class="std std-ref">21 Varias Ventanas</span></a>), escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">4</kbd><kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">4</span> <span class="pre">b</span></code>, <code class="docutils literal notranslate"><span class="pre">switch-to-buffer-other-window</span></code>). Esto solicita un nombre de búfer usando el minibúfer, muestra ese búfer en otra ventana y selecciona esa ventana.</p>
<p>De forma similar, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">5</kbd><kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">b</span></code>, <code class="docutils literal notranslate"><span class="pre">switch-to-buffer-other-frame</span></code>) pide un nombre de búfer, muestra ese búfer en otro marco (ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id1"><span class="std std-ref">22 Marcos y Pantallas Gráficas</span></a>), y selecciona ese marco. Si el búfer ya está siendo mostrado en una ventana en otro marco, Emacs selecciona esa ventana y marco en lugar de crear un nuevo marco.</p>
@ -238,7 +238,7 @@
<blockquote>
<div><p>Se desplaza por el búfer. Véase <a class="reference internal" href="15_ControlDisplay.html#id6"><span class="std std-ref">15.6 Modo Vista</span></a>.</p>
</div></blockquote>
<p>Un búfer puede ser de <em>sólo lectura</em>, lo que significa que los comandos para insertar o borrar su texto no están permitidos. (Sin embargo, otros comandos, como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">f</span></code>, pueden marcarlo como modificado, véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id10"><span class="std std-ref">23.9 Especificar un Sistema de Codificación para el Texto de un Archivo</span></a>). La línea de modo indica búferes de sólo lectura con <code class="docutils literal notranslate"><span class="pre">%%</span></code> o <code class="docutils literal notranslate"><span class="pre">%*</span></code> cerca del margen izquierdo. Vea <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La línea de Modo</span></a>. Los búferes de sólo lectura son normalmente hechos por subsistemas como Dired y Rmail que tienen comandos especiales para operar sobre el texto. Visitar un archivo cuyo control de acceso dice que no se puede escribir también hace que el búfer sea de sólo lectura.</p>
<p>Un búfer puede ser de <em>sólo lectura</em>, lo que significa que los comandos para insertar o borrar su texto no están permitidos. (Sin embargo, otros comandos, como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">f</span></code>, pueden marcarlo como modificado, véase <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id12"><span class="std std-ref">23.9 Especificar un Sistema de Codificación para el Texto de un Archivo</span></a>). La línea de modo indica búferes de sólo lectura con <code class="docutils literal notranslate"><span class="pre">%%</span></code> o <code class="docutils literal notranslate"><span class="pre">%*</span></code> cerca del margen izquierdo. Vea <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>. Los búferes de sólo lectura son normalmente hechos por subsistemas como Dired y Rmail que tienen comandos especiales para operar sobre el texto. Visitar un archivo cuyo control de acceso dice que no se puede escribir también hace que el búfer sea de sólo lectura.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-q</span></code> (<code class="docutils literal notranslate"><span class="pre">read-only-mode</span></code>) hace que un búfer de sólo lectura sea escribible, y hace que un búfer escribible sea de sólo lectura. Esto funciona estableciendo la variable <code class="docutils literal notranslate"><span class="pre">buffer-read-only</span></code>, que tiene un valor local en cada búfer y hace que el búfer sea de sólo lectura si su valor no es nulo. Si se cambia la opción <code class="docutils literal notranslate"><span class="pre">view-read-only</span></code> a un valor no nulo, al hacer que el búfer sea de sólo lectura con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-q</span></code> también se activa el modo Vista en el búfer (véase <a class="reference internal" href="15_ControlDisplay.html#id6"><span class="std std-ref">15.6 Modo Vista</span></a>).</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">x</span> <span class="pre">r</span></code> (<code class="docutils literal notranslate"><span class="pre">rename-buffer</span></code> cambia el nombre del búfer actual. Se especifica el nuevo nombre como argumento del minibúfer; no hay un valor por defecto. Si especifica un nombre que está siendo usado por algún otro búfer, se produce un error y no se realiza el renombrado.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">x</span> <span class="pre">u</span></code> (<code class="docutils literal notranslate"><span class="pre">rename-uniquely</span></code>) renombra el búfer actual a un nombre similar con un sufijo numérico añadido para hacerlo diferente y único. Este comando no necesita argumento. Es útil para crear múltiples búferes de shell: si renombra el búfer <code class="docutils literal notranslate"><span class="pre">*shell*</span></code>, y luego hace <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">shell</span></code> de nuevo, se crea un nuevo búfer de shell llamado <code class="docutils literal notranslate"><span class="pre">*shell*</span></code>; mientras tanto, el antiguo búfer de shell sigue existiendo con su nuevo nombre. Este método también es bueno para búferes de correo, búferes de compilación, y la mayoría de las características de Emacs que crean búferes especiales con nombres particulares. (Con algunas de estas características, como <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">compile</span></code>, <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">grep</span></code>, necesita cambiar a algún otro búfer antes de volver a usar el comando, de lo contrario reutilizará el búfer actual a pesar del cambio de nombre).</p>
@ -411,7 +411,7 @@ equivale a <code class="docutils literal notranslate"><span class="pre">1</span>
</div></blockquote>
<p>El texto del búfer indirecto es siempre idéntico al texto de su búfer base; los cambios realizados al editar cualquiera de ellos son visibles inmediatamente en el otro. En este caso, «texto» incluye tanto los caracteres como sus propiedades de texto. Por lo demás, el búfer indirecto y su búfer base son completamente independientes. Pueden tener nombres diferentes, valores de punto diferentes, estrechamientos diferentes, marcadores diferentes, superposiciones diferentes, modos principales diferentes y variables locales diferentes.</p>
<p>Un búfer indirecto no puede visitar un archivo, pero su búfer base sí. Si intenta guardar el búfer indirecto, en realidad lo que hace es guardar el búfer base. Matar el búfer base efectivamente mata al búfer indirecto, pero matar un búfer indirecto no tiene efecto sobre su búfer base.</p>
<p>Una forma de utilizar los búferes indirectos es mostrar múltiples vistas de un contorno. Consulte <a class="reference internal" href="26_ComandsLengsHuma.html#id16"><span class="std std-ref">26.9.5 Visualización de un Esquema en Varias Vistas</span></a>.</p>
<p>Una forma de utilizar los búferes indirectos es mostrar múltiples vistas de un contorno. Consulte <a class="reference internal" href="26_ComandsLengsHuma.html#id17"><span class="std std-ref">26.9.5 Visualización de un Esquema en Varias Vistas</span></a>.</p>
<p>Una forma rápida y práctica de crear un búfer indirecto es con el comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">4</span> <span class="pre">c</span></code> (<code class="docutils literal notranslate"><span class="pre">clone-indirect-buffer-other-window</span></code>). Crea y selecciona un búfer indirecto cuyo búfer base es el búfer actual. Con un argumento numérico, pide el nombre del búfer indirecto; de lo contrario, usa el nombre del búfer actual, con un sufijo <code class="docutils literal notranslate"><span class="pre">&lt;n&gt;</span></code> añadido.</p>
<p>La forma más general de crear un búfer indirecto es con el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">make-indirect-buffer</span></code>. Crea un búfer indirecto llamado <em>nombre-indirecto</em> a partir de un <em>búfe-base</em>, solicitando ambos usando el minibúfer.</p>
<p>Las funciones que crean búferes indirectos ejecutan el gancho <code class="docutils literal notranslate"><span class="pre">clone-indirect-buffer-hook</span></code> después de crearlos. Cuando se ejecuta este gancho (hook), el búfer indirecto recién creado es el búfer actual.</p>
@ -423,10 +423,10 @@ esa función al gancho en el búfer base y luego hacer que la función opere en
</div>
</section>
<section id="funciones-convenientes-y-personalizacion-del-manejo-de-buferes">
<h2>20.7 Funciones Convenientes y Personalización del Manejo de Búferes<a class="headerlink" href="#funciones-convenientes-y-personalizacion-del-manejo-de-buferes" title="Link to this heading"></a></h2>
<span id="id7"></span><h2>20.7 Funciones Convenientes y Personalización del Manejo de Búferes<a class="headerlink" href="#funciones-convenientes-y-personalizacion-del-manejo-de-buferes" title="Link to this heading"></a></h2>
<p>Esta sección describe varios modos y características que hacen más cómodo el cambio entre búferes.</p>
<section id="hacer-que-los-nombres-de-los-buferes-sean-unicos">
<span id="id7"></span><h3>20.7.1 Hacer que los Nombres de los Búferes sean Únicos<a class="headerlink" href="#hacer-que-los-nombres-de-los-buferes-sean-unicos" title="Link to this heading"></a></h3>
<span id="id8"></span><h3>20.7.1 Hacer que los Nombres de los Búferes sean Únicos<a class="headerlink" href="#hacer-que-los-nombres-de-los-buferes-sean-unicos" title="Link to this heading"></a></h3>
<p>Cuando varios búferes visitan archivos con nombres idénticos, Emacs debe dar a estos búferes nombres distintos. El método por defecto añade un sufijo basado en los nombres de los directorios que contienen los archivos. Por ejemplo, si visita los archivos <code class="docutils literal notranslate"><span class="pre">/foo/bar/nombre/numble</span></code> y <code class="docutils literal notranslate"><span class="pre">/baz/quux/nombre/mumble</span></code> al mismo tiempo, sus búferes se llamarán <code class="docutils literal notranslate"><span class="pre">nombre&lt;bar/mumble&gt;</span></code> y <code class="docutils literal notranslate"><span class="pre">nombre&lt;quux/mumble&gt;</span></code>, respectivamente. Emacs añade tantas partes de directorio como sean necesarias para hacer un nombre único.</p>
<p>Puede elegir entre varios estilos diferentes para construir nombres de búfer únicos, personalizando la opción <code class="docutils literal notranslate"><span class="pre">uniquify-buffer-name-style</span></code>.</p>
<p>El método de nombrar hacia adelante incluye parte del nombre del directorio del archivo al principio del nombre del búfer; usando este método, los búferes que visitan los archivos <code class="docutils literal notranslate"><span class="pre">/u/rms/tmp/Makefile</span></code> y <code class="docutils literal notranslate"><span class="pre">/usr/projects/zaphod/Makefile</span></code> se llamarían <code class="docutils literal notranslate"><span class="pre">tmp/Makefile</span></code> y <code class="docutils literal notranslate"><span class="pre">zaphod/Makefile</span></code>.</p>
@ -439,12 +439,12 @@ esa función al gancho en el búfer base y luego hacer que la función opere en
<p>Qué regla seguir para poner los nombres de directorio en el nombre del búfer no es muy importante si va a mirar los nombres del búfer antes de escribir uno. Pero como Usuario experimentado, si conoce la regla, no tendrá que mirar. Y puede que descubra que una regla u otra le resulta más fácil de recordar y aplicar rápidamente.</p>
</section>
<section id="seleccion-rapida-del-minibufer">
<h3>20.7.2 Selección Rápida del Minibúfer<a class="headerlink" href="#seleccion-rapida-del-minibufer" title="Link to this heading"></a></h3>
<span id="id9"></span><h3>20.7.2 Selección Rápida del Minibúfer<a class="headerlink" href="#seleccion-rapida-del-minibufer" title="Link to this heading"></a></h3>
<p>El modo menor global Icomplete proporciona una forma cómoda de seleccionar rápidamente un elemento entre las posibles terminaciones de un minibúfer. Cuando está activado, al escribir en el minibúfer se muestra continuamente una lista de posibles terminaciones que coinciden con la cadena que ha escrito.</p>
<p>En cualquier momento, puede teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">j</kbd> (<code class="docutils literal notranslate"><span class="pre">C-j</span></code>) para seleccionar la primera terminación de la lista. Por tanto, la forma de seleccionar una terminación concreta es hacer que sea la primera de la lista. Hay dos formas de hacerlo. Puede escribir más del nombre de la terminación y así reducir la lista, excluyendo las terminaciones no deseadas por encima de la deseada. Alternativamente, puede usar <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">.</kbd> (<code class="docutils literal notranslate"><span class="pre">C-.</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">,</kbd> (<code class="docutils literal notranslate"><span class="pre">C-,</span></code>) para rotar la lista hasta que el búfer deseado sea el primero.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-TAB</span></code> seleccionará la primera terminación de la lista, como <code class="docutils literal notranslate"><span class="pre">C-j</span></code> pero sin salir del minibúfer, para que pueda seguir editándola. Esto se utiliza normalmente al introducir un nombre de archivo, donde <code class="docutils literal notranslate"><span class="pre">M-TAB</span></code> puede utilizarse varias veces para descender en la jerarquía de directorios.</p>
<p>Para activar el modo Icomplete, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">icomplete-mode</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">icomplete-mode</span></code>), o personalice la variable <code class="docutils literal notranslate"><span class="pre">icomplete-mode</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code> (véase <a class="reference internal" href="50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>).</p>
<p>Una alternativa al modo Icomplete es el modo Fido. Este es muy similar al modo Icomplete, pero conserva algunas funcionalidades de una extensión popular llamada modo Ido (de hecho el nombre deriva de «Fake Ido»). Entre otras cosas, en el modo Fido, <code class="docutils literal notranslate"><span class="pre">C-s</span></code> y <code class="docutils literal notranslate"><span class="pre">C-r</span></code> también se usan para rotar la lista de completados, <code class="docutils literal notranslate"><span class="pre">C-k</span></code> puede usarse para borrar archivos y matar búferes en la lista. Otro aspecto destacable es que flex se utiliza como estilo de completado por defecto (ver <a class="reference internal" href="09_ElMinibufer.html#id7"><span class="std std-ref">9.4.4. Cómo se Eligen las Alternativas de Completado</span></a>). Para cambiar esto, añada lo siguiente a su archivo de inicialización (vea <a class="reference internal" href="50_Personlzc.html#id25"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>):</p>
<p>Una alternativa al modo Icomplete es el modo Fido. Este es muy similar al modo Icomplete, pero conserva algunas funcionalidades de una extensión popular llamada modo Ido (de hecho el nombre deriva de «Fake Ido»). Entre otras cosas, en el modo Fido, <code class="docutils literal notranslate"><span class="pre">C-s</span></code> y <code class="docutils literal notranslate"><span class="pre">C-r</span></code> también se usan para rotar la lista de completados, <code class="docutils literal notranslate"><span class="pre">C-k</span></code> puede usarse para borrar archivos y matar búferes en la lista. Otro aspecto destacable es que flex se utiliza como estilo de completado por defecto (ver <a class="reference internal" href="09_ElMinibufer.html#id7"><span class="std std-ref">9.4.4. Cómo se Eligen las Alternativas de Completado</span></a>). Para cambiar esto, añada lo siguiente a su archivo de inicialización (vea <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">defun</span> <span class="n">my</span><span class="o">-</span><span class="n">icomplete</span><span class="o">-</span><span class="n">styles</span> <span class="p">()</span>
<span class="p">(</span><span class="n">setq</span><span class="o">-</span><span class="n">local</span> <span class="n">completion</span><span class="o">-</span><span class="n">styles</span> <span class="s1">&#39;(initials flex)))</span>
<span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">hook</span> <span class="s1">&#39;icomplete-minibuffer-setup-hook &#39;</span><span class="n">my</span><span class="o">-</span><span class="n">icomplete</span><span class="o">-</span><span class="n">styles</span><span class="p">)</span>
@ -454,7 +454,7 @@ esa función al gancho en el búfer base y luego hacer que la función opere en
<p>El modo Icomplete y el modo Fido muestran por defecto las posibles terminaciones en la misma línea que el prompt. Para mostrar los candidatos a completado verticalmente debajo de este, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">icomplete-vertical-mode</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">icomplete-vertical-mode</span></code>), o personalice la variable <code class="docutils literal notranslate"><span class="pre">icomplete-vertical-mode</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code> (ver <a class="reference internal" href="50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>).</p>
</section>
<section id="personalizacion-de-los-menus-del-bufer">
<span id="id8"></span><h3>20.7.3 Personalización de los Menús del Búfer<a class="headerlink" href="#personalizacion-de-los-menus-del-bufer" title="Link to this heading"></a></h3>
<span id="id10"></span><h3>20.7.3 Personalización de los Menús del Búfer<a class="headerlink" href="#personalizacion-de-los-menus-del-bufer" title="Link to this heading"></a></h3>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">bs-show</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">bs-show</span></code>)</p>
<blockquote>
<div><p>Crea una lista de búferes similar a la lista de búferes de <code class="docutils literal notranslate"><span class="pre">M-x</span></code> pero personalizable.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -157,7 +157,7 @@
<p>En cualquier momento, una ventana Emacs es la <em>ventana seleccionada</em>; el búfer que esta ventana está mostrando es el búfer actual. En las pantallas gráficas, el punto se indica mediante un cursor sólido parpadeante en la ventana seleccionada, y mediante una caja hueca en las ventanas no seleccionadas. En los terminales de texto, el cursor sólo se dibuja en la ventana seleccionada. Véase <a class="reference internal" href="15_ControlDisplay.html#id19"><span class="std std-ref">15.21 Visualización del Cursor</span></a>.</p>
<p>Los comandos para mover el punto afectan al valor del mismo sólo para la ventana Emacs seleccionada. No afectan a dicho valor en otras ventanas de Editor, ni siquiera en las que muestran el mismo búfer. Lo mismo ocurre con los comandos de cambio de búfer como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">b</span></code>; no afectan a otras ventanas en absoluto. Sin embargo, hay otros comandos como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">4</span> <span class="pre">b</span></code> que seleccionan una ventana diferente y cambian de búfer en ella. Además, todos los comandos que muestran información en una ventana, incluyendo (por ejemplo) <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> (<code class="docutils literal notranslate"><span class="pre">describe-función</span></code>) y <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-b</span></code> (<code class="docutils literal notranslate"><span class="pre">list-buffers</span></code>), normalmente funcionan mostrando búferes en una ventana no seleccionada sin afectar a la ventana seleccionada.</p>
<p>Cuando varias ventanas muestran el mismo búfer, pueden tener diferentes regiones, porque pueden tener diferentes valores para el punto. Sin embargo, todas tienen el mismo valor de marca, porque cada búfer sólo tiene una posición de marca.</p>
<p>Cada ventana tiene su propia línea de modo, que muestra el nombre del búfer, el estado de modificación y los modos mayor y menor del búfer que se muestra en la ventana. La línea de modo de la ventana seleccionada aparece en un color diferente. Véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La línea de Modo</span></a>, para más detalles.</p>
<p>Cada ventana tiene su propia línea de modo, que muestra el nombre del búfer, el estado de modificación y los modos mayor y menor del búfer que se muestra en la ventana. La línea de modo de la ventana seleccionada aparece en un color diferente. Véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>, para más detalles.</p>
</section>
<section id="ventanas-divididas">
<span id="id2"></span><h2>21.2 Ventanas Divididas<a class="headerlink" href="#ventanas-divididas" title="Link to this heading"></a></h2>
@ -205,7 +205,7 @@ punto en ella.</p>
</dd>
</dl>
<p>Con el teclado, puede cambiar de ventana escribiendo <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">o</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">o</span></code>, <code class="docutils literal notranslate"><span class="pre">other-window</span></code>). Es una <code class="docutils literal notranslate"><span class="pre">o</span></code>, de «<em>o</em>tra», no un cero. Cuando hay más de dos ventanas, este comando recorre todas las ventanas en un orden cíclico, generalmente de arriba abajo y de izquierda a derecha. Después de la ventana situada más a la derecha y más abajo, vuelve a la situada en la esquina superior izquierda. Un argumento numérico significa moverse varios pasos en el orden cíclico de las ventanas. Un argumento negativo se desplaza por el ciclo en el orden inverso. Cuando el minibúfer está activo, la ventana del minibúfer es la última ventana del ciclo; se puede cambiar de la ventana del minibúfer a una de las otras ventanas, y más tarde volver a cambiar y terminar de suministrar el argumento del minibúfer que se solicita. Véase <a class="reference internal" href="09_ElMinibufer.html#id3"><span class="std std-ref">9.3 Edición en el minibuffer</span></a>.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">other-window</span></code> normalmente sólo cambiará a la siguiente ventana en el marco actual (a menos que se configure de otra manera). Si trabaja en un entorno de varios marcos y desea que las ventanas de todos los marcos formen parte del ciclo, puede volver a vincular <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">o</span></code> al comando <code class="docutils literal notranslate"><span class="pre">next-window-any-frame</span></code>. (Para saber cómo volver a vincular un comando, consulte <a class="reference internal" href="50_Personlzc.html#id18"><span class="std std-ref">50.3.5. Cambiar las combinaciones de teclas interactivamente</span></a>).</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">other-window</span></code> normalmente sólo cambiará a la siguiente ventana en el marco actual (a menos que se configure de otra manera). Si trabaja en un entorno de varios marcos y desea que las ventanas de todos los marcos formen parte del ciclo, puede volver a vincular <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">o</span></code> al comando <code class="docutils literal notranslate"><span class="pre">next-window-any-frame</span></code>. (Para saber cómo volver a vincular un comando, consulte <a class="reference internal" href="50_Personlzc.html#id19"><span class="std std-ref">50.3.5. Cambiar las combinaciones de teclas interactivamente</span></a>).</p>
<p>Los comandos de desplazamiento habituales (véase <a class="reference internal" href="15_ControlDisplay.html#id1"><span class="std std-ref">15 Controlando la Pantalla</span></a>) se aplican sólo a la ventana seleccionada, pero también existen comandos para desplazarse a la ventana siguiente. <code class="docutils literal notranslate"><span class="pre">C-M-v</span></code> (<code class="docutils literal notranslate"><span class="pre">scroll-other-window</span></code>) desplaza la ventana que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">o</span></code> seleccionaría. En otros aspectos, el comando se comporta como <code class="docutils literal notranslate"><span class="pre">C-v</span></code>; ambos mueven el texto del búfer hacia arriba en relación con la ventana, y toman argumentos positivos y negativos. (En el minibúfer, <code class="docutils literal notranslate"><span class="pre">C-M-v</span></code> desplaza la ventana de ayuda asociada al minibúfer, si existe, en lugar de la ventana siguiente en el orden cíclico estándar; véase <a class="reference internal" href="09_ElMinibufer.html#id3"><span class="std std-ref">9.3 Edición en el minibuffer</span></a>). <code class="docutils literal notranslate"><span class="pre">C-M-S-v</span></code> (<code class="docutils literal notranslate"><span class="pre">scroll-other-window-down</span></code>) desplaza la siguiente ventana hacia abajo de forma similar. Del mismo modo, <code class="docutils literal notranslate"><span class="pre">C-M-S-l</span></code> (<code class="docutils literal notranslate"><span class="pre">recenter-other-window</span></code>) se comporta como <code class="docutils literal notranslate"><span class="pre">C-l</span></code> (<code class="docutils literal notranslate"><span class="pre">recenter-top-bottom</span></code>) en la siguiente ventana.</p>
<p>Si establece <code class="docutils literal notranslate"><span class="pre">mouse-autoselect-window</span></code> a un valor no nulo, al mover el ratón sobre una ventana diferente se selecciona esa ventana. Esta función está desactivada por defecto.</p>
</section>
@ -298,7 +298,7 @@ se muestre en otra ventana.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">delete-windows-on</span></code> borra las ventanas que muestran un búfer específico. Pide el búfer, por defecto el búfer actual. Con el argumento de prefijo cero, <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">0</span></code>, este comando borra ventanas sólo en los marcos de la pantalla actual.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">^</span></code> (<code class="docutils literal notranslate"><span class="pre">enlarge-window</span></code>) hace la ventana seleccionada una línea más alta, tomando espacio de una ventana verticalmente adyacente sin cambiar la altura del marco. Con un argumento numérico positivo, este comando aumenta la altura de la ventana en esa cantidad de líneas; con un argumento negativo, reduce la altura en esa cantidad de líneas. Si no hay ventanas adyacentes verticalmente (es decir, la ventana está a la altura completa del marco), esto indica un error. El comando también indica un error si intenta reducir la altura de cualquier ventana por debajo de un cierto número mínimo de líneas, especificado por la variable <code class="docutils literal notranslate"><span class="pre">window-min-height</span></code> (el valor por defecto es 4).</p>
<p>Del mismo modo, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">}</span></code> (<code class="docutils literal notranslate"><span class="pre">enlarge-window-horizontally</span></code>) ensancha la ventana seleccionada, y <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">{</span></code> (<code class="docutils literal notranslate"><span class="pre">shrink-window-horizontally</span></code>) la estrecha. Estos comandos señalan un error si se intenta reducir el ancho de cualquier ventana por debajo de un cierto número mínimo de columnas, especificado por la variable <code class="docutils literal notranslate"><span class="pre">window-min-width</span></code> (el valor por defecto es 10).</p>
<p>Los clics del ratón en la línea de modo (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id6"><span class="std std-ref">22.5 Comandos del Ratón en la Línea de Modo</span></a>) o en los divisores de ventana (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id11"><span class="std std-ref">22.13 Separadores de Ventanas</span></a>) proporcionan otra forma de cambiar la altura de las ventanas y de dividir o eliminar ventanas.</p>
<p>Los clics del ratón en la línea de modo (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id6"><span class="std std-ref">22.5 Comandos del Ratón en la Línea de Modo</span></a>) o en los divisores de ventana (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id12"><span class="std std-ref">22.13 Separadores de Ventanas</span></a>) proporcionan otra forma de cambiar la altura de las ventanas y de dividir o eliminar ventanas.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">-</span></code> (<code class="docutils literal notranslate"><span class="pre">shrink-window-if-larger-than-buffer</span></code>) reduce la altura de la ventana seleccionada, si es más alta de lo necesario para mostrar todo el texto del búfer que está mostrando. Cede las líneas sobrantes a otras ventanas del marco.</p>
<p>También puede utilizar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">+</span></code> (<code class="docutils literal notranslate"><span class="pre">balance-windows</span></code>) para igualar las alturas de todas las ventanas del marco seleccionado.</p>
</section>
@ -358,13 +358,13 @@ debajo, pero sólo si la ventana no se ha dividido antes (para evitar una divisi
<h3>21.6.2 Visualización de Búferes no Editables<a class="headerlink" href="#visualizacion-de-buferes-no-editables" title="Link to this heading"></a></h3>
<p>Algunos búferes se muestran en ventanas para su lectura en lugar de para su edición. Los comandos de ayuda (ver <a class="reference internal" href="11_Ayuda.html#id1"><span class="std std-ref">11 Ayuda</span></a>) suelen utilizar un búfer llamado <code class="docutils literal notranslate"><span class="pre">*Help*</span></code> para este propósito, el minibúfer de completado (ver <a class="reference internal" href="09_ElMinibufer.html#id4"><span class="std std-ref">9.4 Completado</span></a>) utiliza un búfer llamado <code class="docutils literal notranslate"><span class="pre">*Completions*</span></code>, etc. Estos búferes suelen mostrarse sólo durante un corto periodo de tiempo.</p>
<p>Normalmente, Emacs elige la ventana para tales visualizaciones temporales mediante <code class="docutils literal notranslate"><span class="pre">display-buffer</span></code>, como se describe en la subsección anterior. El búfer <code class="docutils literal notranslate"><span class="pre">*Completions*</span></code>, por otro lado, se muestra normalmente en una ventana en la parte inferior del marco seleccionado, independientemente del número de ventanas que ya se muestren en ese marco.</p>
<p>Si prefiere que Emacs muestre un búfer temporal de una manera diferente, personalice la variable <code class="docutils literal notranslate"><span class="pre">display-buffer-alist</span></code> (vea <strong>Eligiendo una Ventana para Mostrar un Búfer</strong> en El Manual de Referencia de Emacs Lisp) apropiadamente. Por ejemplo, para mostrar <code class="docutils literal notranslate"><span class="pre">*Completions*</span></code> siempre debajo de la ventana seleccionada, use la siguiente forma en su archivo de inicialización (vea <a class="reference internal" href="50_Personlzc.html#id25"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>):</p>
<p>Si prefiere que Emacs muestre un búfer temporal de una manera diferente, personalice la variable <code class="docutils literal notranslate"><span class="pre">display-buffer-alist</span></code> (vea <strong>Eligiendo una Ventana para Mostrar un Búfer</strong> en El Manual de Referencia de Emacs Lisp) apropiadamente. Por ejemplo, para mostrar <code class="docutils literal notranslate"><span class="pre">*Completions*</span></code> siempre debajo de la ventana seleccionada, use la siguiente forma en su archivo de inicialización (vea <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">setopt</span>
<span class="n">display</span><span class="o">-</span><span class="n">buffer</span><span class="o">-</span><span class="n">alist</span>
<span class="s1">&#39;((&quot;</span><span class="se">\\</span><span class="s1">*Completions</span><span class="se">\\</span><span class="s1">*&quot; display-buffer-below-selected)))</span>
</pre></div>
</div>
<p>El búfer <code class="docutils literal notranslate"><span class="pre">*Completions*</span></code> también es especial en el sentido de que Emacs normalmente intenta hacer su ventana tan grande como sea necesario para mostrar todo su contenido. Para redimensionar las ventanas que muestran otras pantallas temporales, como, por ejemplo, el búfer <code class="docutils literal notranslate"><span class="pre">*Help*</span></code>, activa el modo menor (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id3"><span class="std std-ref">24.2 Modos Menores</span></a>) <code class="docutils literal notranslate"><span class="pre">temp-buffer-resize-mode</span></code> (ver <strong>Ventanas Temporales</strong> en el Manual de Referencia de Emacs Lisp).</p>
<p>El búfer <code class="docutils literal notranslate"><span class="pre">*Completions*</span></code> también es especial en el sentido de que Emacs normalmente intenta hacer su ventana tan grande como sea necesario para mostrar todo su contenido. Para redimensionar las ventanas que muestran otras pantallas temporales, como, por ejemplo, el búfer <code class="docutils literal notranslate"><span class="pre">*Help*</span></code>, activa el modo menor (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id5"><span class="std std-ref">24.2 Modos Menores</span></a>) <code class="docutils literal notranslate"><span class="pre">temp-buffer-resize-mode</span></code> (ver <strong>Ventanas Temporales</strong> en el Manual de Referencia de Emacs Lisp).</p>
<p>El tamaño máximo de las ventanas redimensionadas por <code class="docutils literal notranslate"><span class="pre">temp-buffer-resize-mode</span></code> puede controlarse personalizando las opciones <code class="docutils literal notranslate"><span class="pre">temp-buffer-max-height</span></code> y <code class="docutils literal notranslate"><span class="pre">temp-buffer-max-width</span></code> (ver <strong>Ventanas Temporales</strong> en el Manual de Referencia de Emacs Lisp), y no puede exceder el tamaño del marco que las contiene.</p>
</section>
</section>
@ -381,7 +381,7 @@ debajo, pero sólo si la ventana no se ha dividido antes (para evitar una divisi
<p>El comando <code class="docutils literal notranslate"><span class="pre">global-tab-line-mode</span></code> activa la visualización de una <em>línea de pestañas</em> en la línea superior de la pantalla de cada ventana. La línea de pestañas muestra botones especiales («pestañas») para cada búfer que se mostró en una ventana, y permite cambiar a cualquiera de estos búferes pulsando el botón correspondiente. Pulsando sobre el icono <code class="docutils literal notranslate"><span class="pre">+</span></code> se añade un nuevo búfer a la línea de pestañas de búferes de la ventana, y pulsando sobre el icono <code class="docutils literal notranslate"><span class="pre">x</span></code> de una pestaña se borra. La rueda del ratón en la línea de pestañas desplaza las pestañas horizontalmente.</p>
<p>Seleccionar la pestaña local de la ventana anterior es lo mismo que teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">IZQUIERDA</span></code>, <code class="docutils literal notranslate"><span class="pre">previous-búfer</span></code>), seleccionar la pestaña siguiente es lo mismo que teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">DERECHA</span></code>, <code class="docutils literal notranslate"><span class="pre">next-búfer</span></code>). Ambos comandos admiten un prefijo numérico como argumento de repetición.</p>
<p>Puede personalizar la variable <code class="docutils literal notranslate"><span class="pre">tab-line-tabs-function</span></code> para definir el contenido preferido de la línea de tabulación. Por defecto, muestra todos los búferes visitados anteriormente en la ventana, como se ha descrito anteriormente. Pero también puede configurarla para que muestre una lista de búferes con el mismo modo principal que el búfer actual, o para que muestre búferes agrupados por su modo principal, donde al hacer clic en el nombre del modo en la primera pestaña se muestra una lista de todos los modos principales donde puede seleccionar otro grupo de búferes.</p>
<p>Tenga en cuenta que la línea de pestañas es diferente de la barra de pestañas (consulte <a class="reference internal" href="22_MarcosPantallasGraf.html#id15"><span class="std std-ref">22.17 Barras de Pestañas</span></a>). Mientras que las pestañas de la Barra de pestañas de la parte superior de cada marco se usan para cambiar entre configuraciones de ventanas que contienen varias ventanas con búferes, las pestañas de la Línea de pestañas de la parte superior de cada ventana se usan para cambiar entre los búferes de la ventana.</p>
<p>Tenga en cuenta que la línea de pestañas es diferente de la barra de pestañas (consulte <a class="reference internal" href="22_MarcosPantallasGraf.html#id16"><span class="std std-ref">22.17 Barras de Pestañas</span></a>). Mientras que las pestañas de la Barra de pestañas de la parte superior de cada marco se usan para cambiar entre configuraciones de ventanas que contienen varias ventanas con búferes, las pestañas de la Línea de pestañas de la parte superior de cada ventana se usan para cambiar entre los búferes de la ventana.</p>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -163,7 +163,7 @@
<p>Cuando Emacs se inicia en una pantalla gráfica, por ejemplo, en el sistema X Window, ocupa una región de pantalla gráfica a nivel de sistema. En este manual, llamamos a esto <em>marco</em>, reservando la palabra «ventana» para la parte del marco usada para mostrar un búfer. Un marco contiene inicialmente una ventana, pero puede subdividirse en múltiples ventanas (ver <a class="reference internal" href="21_VariasVentanas.html#id1"><span class="std std-ref">21 Varias Ventanas</span></a>). Normalmente, un marco también contiene una barra de menús, una barra de herramientas y un área de eco.</p>
<p>También puede crear marcos adicionales (véase <a class="reference internal" href="#id7"><span class="std std-ref">22.6 Creación de Marcos</span></a> Creación de Marcos). Todos los marcos creados en la misma sesión de Emacs tienen acceso a los mismos búferes subyacentes y otros datos. Por ejemplo, si un búfer está siendo mostrado en más de un marco, cualquier cambio hecho en él en un marco se muestra inmediatamente en los otros marcos también.</p>
<p>Tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-c</span></code>) se cierran todos los marcos de la pantalla actual, y finaliza la sesión Emacs si no tiene marcos abiertos en ninguna otra pantalla (ver <a class="reference internal" href="../07_SalirDeEmacs.html#id1"><span class="std std-ref">7 Cómo Salir de Emacs</span></a> Salir de Emacs). Para cerrar sólo el marco seleccionado, teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">5</kbd><kbd class="kbd docutils literal notranslate">0</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">0</span></code>, cero, no o).</p>
<p>Este capítulo describe las características de Emacs específicas de las pantallas gráficas (particularmente los comandos del ratón), y las características para gestionar múltiples marcos. En terminales de texto, muchas de estas características no están disponibles. Sin embargo, todavía es posible crear múltiples marcos en terminales de texto; tales marcos se muestran de uno en uno, llenando toda la pantalla del terminal (ver <a class="reference internal" href="#id21"><span class="std std-ref">22.22 Uso del Ratón en Terminales de Texto</span></a> Terminales Sin Ventana). También es posible usar el ratón en algunos terminales de texto (véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id5"><span class="std std-ref">12.2 Comandos para Marcar Objetos Textuales</span></a> Uso del Ratón en Terminales de Texto, para hacerlo en sistemas GNU y Unix; y véase <strong>Uso del Ratón en MS-DOS</strong>, para hacerlo en MS-DOS). Todos los terminales de texto admiten menús.</p>
<p>Este capítulo describe las características de Emacs específicas de las pantallas gráficas (particularmente los comandos del ratón), y las características para gestionar múltiples marcos. En terminales de texto, muchas de estas características no están disponibles. Sin embargo, todavía es posible crear múltiples marcos en terminales de texto; tales marcos se muestran de uno en uno, llenando toda la pantalla del terminal (ver <a class="reference internal" href="#id22"><span class="std std-ref">22.22 Uso del Ratón en Terminales de Texto</span></a> Terminales Sin Ventana). También es posible usar el ratón en algunos terminales de texto (véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id5"><span class="std std-ref">12.2 Comandos para Marcar Objetos Textuales</span></a> Uso del Ratón en Terminales de Texto, para hacerlo en sistemas GNU y Unix; y véase <strong>Uso del Ratón en MS-DOS</strong>, para hacerlo en MS-DOS). Todos los terminales de texto admiten menús.</p>
<section id="comandos-del-raton-para-edicion">
<span id="id2"></span><h2>22.1 Comandos del Ratón para Edición<a class="headerlink" href="#comandos-del-raton-para-edicion" title="Link to this heading"></a></h2>
<dl class="simple">
@ -246,9 +246,9 @@ región, desplazando la pantalla hacia atrás si es necesario.</p>
<p>Varias pulsaciones del ratón con los modificadores Ctrl y SHIFT hacen aparecer menús.</p>
<dl>
<dt><code class="docutils literal notranslate"><span class="pre">C-ratón-1</span></code></dt><dd><p>Este menú sirve para seleccionar un búfer.</p>
<p>El modo menor global MSB («mouse select buffer», selección de búfer con el ratón) hace que este menú sea más inteligente y personalizable. Véase <a class="reference internal" href="20_UsarVariosBuferes.html#id8"><span class="std std-ref">20.7.3 Personalización de los Menús del Búfer</span></a>.</p>
<p>El modo menor global MSB («mouse select buffer», selección de búfer con el ratón) hace que este menú sea más inteligente y personalizable. Véase <a class="reference internal" href="20_UsarVariosBuferes.html#id10"><span class="std std-ref">20.7.3 Personalización de los Menús del Búfer</span></a>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">C-ratón-2</span></code></dt><dd><p>Este menú contiene entradas para examinar las caras y otras propiedades del texto, así como para ajustarlas (esto último es útil sobre todo al editar texto enriquecido; véase <a class="reference internal" href="26_ComandsLengsHuma.html#id22"><span class="std std-ref">26.14 Texto enriquecido</span></a>).</p>
<dt><code class="docutils literal notranslate"><span class="pre">C-ratón-2</span></code></dt><dd><p>Este menú contiene entradas para examinar las caras y otras propiedades del texto, así como para ajustarlas (esto último es útil sobre todo al editar texto enriquecido; véase <a class="reference internal" href="26_ComandsLengsHuma.html#id23"><span class="std std-ref">26.14 Texto enriquecido</span></a>).</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">C-ratón-3</span></code></dt><dd><p>Este menú es específico de cada modo. En la mayoría de los modos, si el modo Barra de menús está activado, este menú tiene los mismos elementos que todos los menús de la barra de
menús específicos de cada modo juntos. Algunos modos pueden especificar un menú diferente para este botón. Si el modo Barra de menús está desactivado, este menú contiene todos los
@ -262,7 +262,7 @@ elementos que estarían presentes en la barra de menús -no sólo los específic
<section id="comandos-del-raton-en-la-linea-de-modo">
<span id="id6"></span><h2>22.5 Comandos del Ratón en la Línea de Modo<a class="headerlink" href="#comandos-del-raton-en-la-linea-de-modo" title="Link to this heading"></a></h2>
<p>Puede usar los clics del ratón en las líneas de modo de ventana para seleccionar y manipularlas.</p>
<p>Algunas áreas de la línea de modo, como el nombre del búfer y los nombres de los modos mayor y menor, tienen sus propios enlaces especiales del ratón. Estas áreas se resaltan cuando se mantiene el ratón sobre ellas, y se mostrará información sobre los enlaces especiales (ver <a class="reference internal" href="#id17"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>). Los comandos de esta sección no se aplican en esas áreas.</p>
<p>Algunas áreas de la línea de modo, como el nombre del búfer y los nombres de los modos mayor y menor, tienen sus propios enlaces especiales del ratón. Estas áreas se resaltan cuando se mantiene el ratón sobre ellas, y se mostrará información sobre los enlaces especiales (ver <a class="reference internal" href="#id18"><span class="std std-ref">22.19 Sugerencias sobre Herramientas (Tooltips)</span></a>). Los comandos de esta sección no se aplican en esas áreas.</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">ratón-1</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> sobre una línea de modo selecciona la ventana a la que pertenece. Arrastrando <code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> sobre la línea de modo, puede moverla, cambiando así la altura de las ventanas por
encima y por debajo. Al cambiar la altura con el ratón de esta manera nunca se borran ventanas, sólo se niega a hacer cualquier ventana más pequeña que la altura mínima.</p>
@ -320,7 +320,7 @@ encima y por debajo. Al cambiar la altura con el ratón de esta manera nunca se
<div><p>Un comando prefijo más general que afecta al búfer mostrado por el siguiente comando invocado inmediatamente después de este comando prefijo (<code class="docutils literal notranslate"><span class="pre">other-frame-prefix</span></code>). Solicita que el
búfer del siguiente comando se muestre en otro marco.</p>
</div></blockquote>
<p>Puede controlar la apariencia y el comportamiento de los marcos recién creados especificando <em>parámetros de marco</em>. Consulte <a class="reference internal" href="#id9"><span class="std std-ref">22.11 Parámetros de Marco</span></a>.</p>
<p>Puede controlar la apariencia y el comportamiento de los marcos recién creados especificando <em>parámetros de marco</em>. Consulte <a class="reference internal" href="#id10"><span class="std std-ref">22.11 Parámetros de Marco</span></a>.</p>
</section>
<section id="comandos-de-marco">
<span id="id8"></span><h2>22.7 Comandos de Marco<a class="headerlink" href="#comandos-de-marco" title="Link to this heading"></a></h2>
@ -358,11 +358,11 @@ la primera oculta las decoraciones del gestor de ventanas, dando algo más de es
</div></blockquote>
<p>Tenga en cuenta que con algunos gestores de ventanas puede que tenga que personalizar la variable <code class="docutils literal notranslate"><span class="pre">frame-resize-pixelwise</span></code> a un valor no nulo para que un marco quede realmente maximizado o a pantalla completa. Esta variable, cuando se establece a un valor no nulo, en general permite redimensionar marcos a resolución de píxel, en lugar de en múltiplos integrales de líneas y columnas.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-frame</span></code>, borrar marco) borra el marco seleccionado. Sin embargo, se negará a borrar el último marco de una sesión Emacs, para evitar que pierda la capacidad de interactuar con la sesión Emacs. Tenga en cuenta que cuando Emacs se ejecuta como demonio (vea <a class="reference internal" href="40_EmacsComoServ.html#id1"><span class="std std-ref">40 Usar Emacs Como Servidor</span></a>), siempre hay un marco virtual que permanece después de que todos los marcos interactivos ordinarios son borrados. En este caso, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">0</span></code> puede borrar el último marco interactivo; puedes usar <code class="docutils literal notranslate"><span class="pre">emacsclient</span></code> para reconectar con la sesión de Emacs.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">1</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-other-frames</span></code>) borra todos los otros marcos en la terminal actual (esta terminal se refiere tanto a una pantalla gráfica, como a una terminal de texto; ver <a class="reference internal" href="#id20"><span class="std std-ref">22.21 Terminales sin Ventana</span></a>). Si la sesión Emacs tiene marcos abiertos en otras pantallas gráficas o terminales de texto, éstos no se borran.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">1</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-other-frames</span></code>) borra todos los otros marcos en la terminal actual (esta terminal se refiere tanto a una pantalla gráfica, como a una terminal de texto; ver <a class="reference internal" href="#id21"><span class="std std-ref">22.21 Terminales sin Ventana</span></a>). Si la sesión Emacs tiene marcos abiertos en otras pantallas gráficas o terminales de texto, éstos no se borran.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">o</span></code> (<code class="docutils literal notranslate"><span class="pre">other-frame</span></code>) selecciona el siguiente marco en el terminal actual. Si está usando Emacs en el sistema X Window con un gestor de ventanas que selecciona (o da foco) a cualquier marco sobre el que esté el cursor del ratón, tiene que cambiar la variable <code class="docutils literal notranslate"><span class="pre">focus-follows-mouse</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code> para que este comando funcione correctamente. Entonces invocar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">o</span></code> también deformará el cursor del ratón en el marco elegido.</p>
</section>
<section id="fuentes">
<h2>22.8 Fuentes<a class="headerlink" href="#fuentes" title="Link to this heading"></a></h2>
<span id="id9"></span><h2>22.8 Fuentes<a class="headerlink" href="#fuentes" title="Link to this heading"></a></h2>
<p>Por defecto, Emacs muestra el texto en pantallas gráficas usando una fuente monospace de 10 puntos, y el tamaño de la fuente puede cambiarse interactivamente (ver <a class="reference internal" href="15_ControlDisplay.html#id11"><span class="std std-ref">15.12 Escala de Texto</span></a>).</p>
<p>Hay varias formas de especificar una fuente diferente:</p>
<blockquote>
@ -522,7 +522,7 @@ las fuentes en su sistema es el valor correcto para su pantalla; por lo tanto, n
</pre></div>
</div>
<p>muestra la fuente completa <code class="docutils literal notranslate"><span class="pre">6x13</span></code>.</p>
<p>Mientras ejecuta Emacs, también puede establecer el tipo de letra de un tipo de texto específico (véase <a class="reference internal" href="15_ControlDisplay.html#id8"><span class="std std-ref">15.8. Caras de Texto</span></a>), o de un marco en particular (véase <a class="reference internal" href="#id9"><span class="std std-ref">22.11 Parámetros de Marco</span></a>).</p>
<p>Mientras ejecuta Emacs, también puede establecer el tipo de letra de un tipo de texto específico (véase <a class="reference internal" href="15_ControlDisplay.html#id8"><span class="std std-ref">15.8. Caras de Texto</span></a>), o de un marco en particular (véase <a class="reference internal" href="#id10"><span class="std std-ref">22.11 Parámetros de Marco</span></a>).</p>
</section>
<section id="marcos-con-speedbar-con-barra-de-control-o-barra-rapida">
<h2>22.9 Marcos con Speedbar (con <em>barra de control</em> o <em>barra rápida</em>)<a class="headerlink" href="#marcos-con-speedbar-con-barra-de-control-o-barra-rapida" title="Link to this heading"></a></h2>
@ -556,9 +556,9 @@ las fuentes en su sistema es el valor correcto para su pantalla; por lo tanto, n
</div></blockquote>
</section>
<section id="parametros-de-marco">
<span id="id9"></span><h2>22.11 Parámetros de Marco<a class="headerlink" href="#parametros-de-marco" title="Link to this heading"></a></h2>
<span id="id10"></span><h2>22.11 Parámetros de Marco<a class="headerlink" href="#parametros-de-marco" title="Link to this heading"></a></h2>
<p>Puede controlar la apariencia y el comportamiento por defecto de todos los marcos especificando una lista por defecto de <em>parámetros de marco</em> en la variable <code class="docutils literal notranslate"><span class="pre">default-frame-alist</span></code>. Su valor debe ser una lista de entradas, cada una especificando un nombre de parámetro y un valor para ese parámetro. Estas entradas tienen efecto cada vez que Emacs crea un nuevo marco, incluyendo el marco inicial.</p>
<p>Por ejemplo, puede añadir las siguientes líneas a su archivo init (vea <a class="reference internal" href="50_Personlzc.html#id25"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>) para establecer la anchura del marco por defecto a 90 columnas de caracteres, la altura del marco por defecto a 40 filas de caracteres, y la fuente por defecto a <code class="docutils literal notranslate"><span class="pre">Monospace-10</span></code>:</p>
<p>Por ejemplo, puede añadir las siguientes líneas a su archivo init (vea <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>) para establecer la anchura del marco por defecto a 90 columnas de caracteres, la altura del marco por defecto a 40 filas de caracteres, y la fuente por defecto a <code class="docutils literal notranslate"><span class="pre">Monospace-10</span></code>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="nb">list</span> <span class="s1">&#39;default-frame-alist &#39;</span><span class="p">(</span><span class="n">width</span> <span class="o">.</span> <span class="mi">90</span><span class="p">))</span>
<span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="nb">list</span> <span class="s1">&#39;default-frame-alist &#39;</span><span class="p">(</span><span class="n">height</span> <span class="o">.</span> <span class="mi">40</span><span class="p">))</span>
<span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="nb">list</span> <span class="s1">&#39;default-frame-alist &#39;</span><span class="p">(</span><span class="n">font</span> <span class="o">.</span> <span class="s2">&quot;Monospace-10&quot;</span><span class="p">))</span>
@ -571,7 +571,7 @@ las fuentes en su sistema es el valor correcto para su pantalla; por lo tanto, n
<p>Tenga en cuenta que si está usando la biblioteca de escritorio para guardar y restaurar sus sesiones, los marcos a restaurar se registran en el archivo de escritorio, junto con sus parámetros. Cuando estos marcos son restaurados, los parámetros grabados tienen prioridad sobre los parámetros de marco especificados por <code class="docutils literal notranslate"><span class="pre">default-frame-alist</span></code> y <code class="docutils literal notranslate"><span class="pre">initial-frame-alist</span></code> en su archivo init. Vea <a class="reference internal" href="45_GuardSesiEnEmacs.html#id1"><span class="std std-ref">45 Guardar Sesiones de Emacs</span></a>, para saber cómo evitarlo.</p>
</section>
<section id="barras-de-desplazamiento">
<span id="id10"></span><h2>22.12. Barras de Desplazamiento<a class="headerlink" href="#barras-de-desplazamiento" title="Link to this heading"></a></h2>
<span id="id11"></span><h2>22.12. Barras de Desplazamiento<a class="headerlink" href="#barras-de-desplazamiento" title="Link to this heading"></a></h2>
<p>En las pantallas gráficas, hay una barra de <em>desplazamiento vertical</em> en el lateral de cada ventana de Emacs. Pulsando con <code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> sobre los botones arriba y abajo de la barra de desplazamiento se desplaza la ventana una línea cada vez (pero algunos paquetes de herramientas (toolkits) permiten personalizar las barras de desplazamiento para que no tengan esos botones). Al hacer clic con <code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> por encima o por debajo de la caja interior de la barra de desplazamiento, la ventana se desplaza casi toda la altura de la ventana, como <code class="docutils literal notranslate"><span class="pre">M-v</span></code> y <code class="docutils literal notranslate"><span class="pre">C-v</span></code> respectivamente (véase <a class="reference internal" href="08_ComBasicEdic.html#id3"><span class="std std-ref">8.2 Cambiar la Ubicación del Punto</span></a>). (Esto también puede comportarse de forma diferente con algunos kits de herramientas). Arrastrando la caja interior se desplaza continuamente.</p>
<p>Si Emacs está compilado en el Sistema X Window sin soporte para toolkit X, la barra de desplazamiento se comporta de forma diferente. Pulsando con <code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> en cualquier lugar de la barra de desplazamiento se desplaza hacia delante como <code class="docutils literal notranslate"><span class="pre">C-v</span></code>, mientras que con <code class="docutils literal notranslate"><span class="pre">ratón-3</span></code> se desplaza hacia atrás como <code class="docutils literal notranslate"><span class="pre">M-v</span></code>. Haciendo clic con <code class="docutils literal notranslate"><span class="pre">ratón-2</span></code> en la barra de desplazamiento puede arrastrar la caja interior hacia arriba y hacia abajo.</p>
<p>Para usar la barra de desplazamiento vertical, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">scroll-bar-mode</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scroll-bar-mode</span></code>). Este comando se aplica a todos los marcos, incluidos los que aún no se han creado. Para usar la barra de desplazamiento sólo en el marco seleccionado, use el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">toggle-scroll-bar</span></code>.</p>
@ -587,16 +587,16 @@ las fuentes en su sistema es el valor correcto para su pantalla; por lo tanto, n
<p>También puede usar el recurso X <code class="docutils literal notranslate"><span class="pre">horizontalScrollBars</span></code> para activar o desactivar las barras de desplazamiento horizontal (ver <a class="reference internal" href="ApendiceD.html#d-1"><span class="std std-ref">D.1 Recursos X</span></a>). Para controlar la altura de la barra de desplazamiento, cambia el parámetro de marco <code class="docutils literal notranslate"><span class="pre">scroll-bar-height</span></code> (ver <strong>Parámetros de Marco</strong> en el Manual de Referencia de Emacs Lisp).</p>
</section>
<section id="separadores-de-ventanas">
<span id="id11"></span><h2>22.13 Separadores de Ventanas<a class="headerlink" href="#separadores-de-ventanas" title="Link to this heading"></a></h2>
<span id="id12"></span><h2>22.13 Separadores de Ventanas<a class="headerlink" href="#separadores-de-ventanas" title="Link to this heading"></a></h2>
<p>En pantallas gráficas, puede usar <em>separadores de ventanas</em> para separarlas visualmente. Los divisores de ventanas son barras que pueden arrastrarse con el ratón, lo que permite cambiar fácilmente el tamaño de las ventanas adyacentes.</p>
<p>Para cambiar la visualización de estos separadores, use el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">window-divider-mode</span></code>.</p>
<p>Para personalizar dónde deben aparecer los divisores, use la opción <code class="docutils literal notranslate"><span class="pre">window-divider-default-places</span></code>. Su valor debe ser <code class="docutils literal notranslate"><span class="pre">bottom-only</span></code> (para mostrar los divisores sólo en la parte inferior de las ventanas), <code class="docutils literal notranslate"><span class="pre">right-only</span></code> (para mostrar los divisores sólo en la parte derecha de las ventanas) o <code class="docutils literal notranslate"><span class="pre">t</span></code> (para mostrarlos en la parte inferior y en la derecha).</p>
<p>Para ajustar el ancho de los separadores de ventana mostrados por este modo, personalice las opciones <code class="docutils literal notranslate"><span class="pre">window-divider-default-bottom-width</span></code> y <code class="docutils literal notranslate"><span class="pre">window-divider-default-right-width</span></code>.</p>
<p>Cuando las barra de desplazamiento vertical está deshabilitadas, los separadores también pueden ser útiles para hacer visible la primera columna de píxeles de una ventana, que de otro modo quedaría cubierta por el borde vertical usado para separar las ventanas de lado a lado (ver <a class="reference internal" href="#id10"><span class="std std-ref">22.12. Barras de Desplazamiento</span></a> Barras de Desplazamiento).</p>
<p>Cuando las barra de desplazamiento vertical está deshabilitadas, los separadores también pueden ser útiles para hacer visible la primera columna de píxeles de una ventana, que de otro modo quedaría cubierta por el borde vertical usado para separar las ventanas de lado a lado (ver <a class="reference internal" href="#id11"><span class="std std-ref">22.12. Barras de Desplazamiento</span></a> Barras de Desplazamiento).</p>
<p>Para más detalles sobre los divisores de ventanas, véase <strong>Divisores de Ventanas</strong> en el Manual de Referencia de Emacs Lisp.</p>
</section>
<section id="arrastrar-y-soltar">
<span id="id12"></span><h2>22.14 Arrastrar y Soltar<a class="headerlink" href="#arrastrar-y-soltar" title="Link to this heading"></a></h2>
<span id="id13"></span><h2>22.14 Arrastrar y Soltar<a class="headerlink" href="#arrastrar-y-soltar" title="Link to this heading"></a></h2>
<p>En la mayoría de los entornos gráficos de escritorio, Emacs tiene soporte básico para operaciones de <em>arrastrar y soltar</em>. Por ejemplo, soltar texto sobre un marco Emacs es insertar el texto donde se suelta. Soltar un archivo en un marco de Emacs visita ese archivo. Como caso especial, soltar el archivo en un búfer Dired mueve o copia el archivo (según las convenciones de la aplicación de la que procede) en el directorio mostrado en ese búfer.</p>
<p>Al soltar un archivo, normalmente se visita en la ventana en la que se suelta. Si prefiere visitar el archivo en una nueva ventana en estos casos, personalice la variable <code class="docutils literal notranslate"><span class="pre">dnd-open-file-other-window</span></code>.</p>
<p>Actualmente se soportan los protocolos de arrastrar y soltar XDND y Motif, y el antiguo protocolo KDE 1.x.</p>
@ -607,13 +607,13 @@ las fuentes en su sistema es el valor correcto para su pantalla; por lo tanto, n
<p>En el sistema de ventanas X, algunos programas pueden soltar archivos en Emacs, esperando que este los guarde. Normalmente, el Editor preguntará por un nombre de archivo bajo el cual el archivo será guardado, y luego abrirá el archivo, pero ese comportamiento puede ser cambiado cambiando la variable <code class="docutils literal notranslate"><span class="pre">x-dnd-direct-save-function</span></code>. Ver <strong>Arrastrar y Soltar</strong> en el Manual de Referencia de Emacs Lisp.</p>
</section>
<section id="barras-de-menus">
<span id="id13"></span><h2>22.15 Barras de Menús<a class="headerlink" href="#barras-de-menus" title="Link to this heading"></a></h2>
<span id="id14"></span><h2>22.15 Barras de Menús<a class="headerlink" href="#barras-de-menus" title="Link to this heading"></a></h2>
<p>Puede usar la barra de menús con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">menu-bar-mode</span></code>. Sin argumento, este comando activa el modo Menu Bar (Barra de Menú), un modo global menor. Con un argumento, el comando activa el modo Barra de Menú si el argumento es positivo, lo desactiva si el argumento no es positivo. Para controlar el uso de dicha barra al inicio, personalice la variable <code class="docutils literal notranslate"><span class="pre">menu-bar-mode</span></code>.</p>
<p>Los Usuarios expertos a menudo desactivan la barra de menú, especialmente en terminales de texto, donde esto hace que haya una línea adicional disponible para texto. Si la barra de menús está desactivada, puede abrir un menú con su contenido con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<code class="docutils literal notranslate"><span class="pre">ratón-3</span></code> (<code class="docutils literal notranslate"><span class="pre">C-ratón-3</span></code>) en una pantalla que admita menús emergentes. O puede activar el modo menú contextual y personalizar la variable <code class="docutils literal notranslate"><span class="pre">context-menu-functions</span></code> para que aparezca un menú contextual con <code class="docutils literal notranslate"><span class="pre">mouse-3</span></code>. Ver <a class="reference internal" href="#id5"><span class="std std-ref">22.4 Clics de Ratón para Menús</span></a>.</p>
<p>Consulte <a class="reference internal" href="../01_OrgPant.html#id7"><span class="std std-ref">1.4 La Barra de Menús</span></a> La Barra de Menús, para obtener información sobre cómo invocar comandos con la barra de menús. Consulte <a class="reference internal" href="ApendiceD.html#apendiced"><span class="std std-ref">Apéndice D Opciones y Recursos de X</span></a>, para saber cómo personalizar el aspecto visual de los menús de la barra de menús.</p>
</section>
<section id="barras-de-herramientas">
<span id="id14"></span><h2>22.16. Barras de Herramientas<a class="headerlink" href="#barras-de-herramientas" title="Link to this heading"></a></h2>
<span id="id15"></span><h2>22.16. Barras de Herramientas<a class="headerlink" href="#barras-de-herramientas" title="Link to this heading"></a></h2>
<p>En las pantallas gráficas, Emacs pone una <em>barra de herramientas</em> en la parte superior de cada marco, justo debajo de la barra de menú. Es una fila de iconos sobre los que puede pulsar con el ratón para invocar varios comandos.</p>
<p>La barra de herramientas global (por defecto) contiene comandos generales. Algunos modos principales definen sus propias barras de herramientas; siempre que haya un búfer con un modo principal de este tipo, la barra de herramientas del modo sustituye a la barra de herramientas global.</p>
<p>Para usar la barra de herramientas, escriba <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">tool-bar-mode</span></code>. Este comando se aplica a todos los marcos, incluidos los que aún no se han creado. Para controlar el uso de las barras de herramientas al inicio, personalice la variable <code class="docutils literal notranslate"><span class="pre">tool-bar-mode</span></code>.</p>
@ -622,8 +622,8 @@ las fuentes en su sistema es el valor correcto para su pantalla; por lo tanto, n
<p>Las construcciones NS consideran la barra de herramientas como una decoración de la ventana, y por lo tanto no la muestran cuando una ventana no está decorada. : Ver <strong>Parámetros de Marco</strong> en el Manual de Referencia de Emacs Lisp. En macOS la barra de herramientas se oculta cuando el marco se pone a pantalla completa, pero puede mostrarse moviendo el puntero del ratón a la parte superior de la pantalla.</p>
</section>
<section id="barras-de-pestanas">
<span id="id15"></span><h2>22.17 Barras de Pestañas<a class="headerlink" href="#barras-de-pestanas" title="Link to this heading"></a></h2>
<p>En pantallas gráficas y en terminales de texto, Emacs puede mostrar opcionalmente una <em>Barra de Pestañas</em> en la parte superior de cada marco, justo debajo de la barra de menús (ver <a class="reference internal" href="#id13"><span class="std std-ref">22.15 Barras de Menús</span></a>) y encima o debajo de la barra de herramientas (ver <a class="reference internal" href="#id14"><span class="std std-ref">22.16. Barras de Herramientas</span></a>) dependiendo de la variable <code class="docutils literal notranslate"><span class="pre">tab-bar-position</span></code>. La barra de pestañas es una fila de <em>pestañas</em>, botones que puede pulsar para cambiar entre configuraciones de ventana.</p>
<span id="id16"></span><h2>22.17 Barras de Pestañas<a class="headerlink" href="#barras-de-pestanas" title="Link to this heading"></a></h2>
<p>En pantallas gráficas y en terminales de texto, Emacs puede mostrar opcionalmente una <em>Barra de Pestañas</em> en la parte superior de cada marco, justo debajo de la barra de menús (ver <a class="reference internal" href="#id14"><span class="std std-ref">22.15 Barras de Menús</span></a>) y encima o debajo de la barra de herramientas (ver <a class="reference internal" href="#id15"><span class="std std-ref">22.16. Barras de Herramientas</span></a>) dependiendo de la variable <code class="docutils literal notranslate"><span class="pre">tab-bar-position</span></code>. La barra de pestañas es una fila de <em>pestañas</em>, botones que puede pulsar para cambiar entre configuraciones de ventana.</p>
<p>Cada pestaña de la barra de pestañas representa una configuración de ventana persistente con nombre de su marco, es decir, cómo se divide ese marco en ventanas y qué búfer se muestra en cada ventana. El nombre de la pestaña se compone de la lista de nombres de los búferes que se muestran en las ventanas de esa configuración de ventana. Al hacer clic en la pestaña, se pasa a la configuración de ventanas registrada por la pestaña; se trata de una configuración de ventanas y búferes que se usaba anteriormente en el marco cuando esa pestaña era la pestaña actual.</p>
<p>Si está usando la librería del escritorio para guardar y restaurar sus sesiones (vea <a class="reference internal" href="45_GuardSesiEnEmacs.html#id1"><span class="std std-ref">45 Guardar Sesiones de Emacs</span></a>), las pestañas de la Barra de Pestañas se graban en el archivo del escritorio, junto con sus configuraciones de ventana asociadas, y estarán disponibles después de restaurar la sesión.</p>
<p>Tenga en cuenta que la Barra de Pestañas es diferente de la Línea de Pestañas (vea <a class="reference internal" href="21_VariasVentanas.html#id8"><span class="std std-ref">21.8 Línea de Pestañas de Ventana</span></a>). Mientras que las pestañas de la línea de pestañas de la parte superior de cada ventana se usan para cambiar entre los búferes de la ventana, las pestañas de la barra de pestañas de la parte superior de cada marco se usan para cambiar entre configuraciones de ventanas que contienen varias ventanas que muestran uno o más búferes.</p>
@ -696,7 +696,7 @@ obtener el nombre de la última pestaña visitada, la penúltima, etc.</p>
<dt>modifier-tab-number</dt><dd><p>Cambia a la pestaña por su número <code class="docutils literal notranslate"><span class="pre">tab-number</span></code> (<code class="docutils literal notranslate"><span class="pre">tab-select</span></code>). Después de personalizar la variable <code class="docutils literal notranslate"><span class="pre">tab-bar-select-tab-modifiers</span></code>
para especificar una o más teclas modificadoras, puede seleccionar una pestaña por su número ordinal usando uno de los modificadores
especificados en combinación con el número de pestaña a seleccionar. El número 9 puede usarse para seleccionar la última pestaña. Puede
seleccionar cualquier modificador soportado por Emacs, vea <a class="reference internal" href="50_Personlzc.html#id20"><span class="std std-ref">50.3.7. Teclas Modificadoras</span></a>. Para mostrar el número de pestaña junto al nombre de la
seleccionar cualquier modificador soportado por Emacs, vea <a class="reference internal" href="50_Personlzc.html#id21"><span class="std std-ref">50.3.7. Teclas Modificadoras</span></a>. Para mostrar el número de pestaña junto al nombre de la
pestaña, puede personalizar otra variable <code class="docutils literal notranslate"><span class="pre">tab-bar-tab-hints</span></code>. Esto le ayudará a decidir qué tecla numérica pulsar para seleccionar
la pestaña por su número.</p>
</dd>
@ -731,14 +731,14 @@ de ventanas.</p>
<p>Es posible personalizar los elementos mostrados en la barra de pestañas mediante la opción de Usuario <code class="docutils literal notranslate"><span class="pre">tab-bar-format</span></code>.</p>
</section>
<section id="uso-de-cuadros-de-dialogo">
<span id="id16"></span><h2>22.18 Uso de Cuadros de Diálogo<a class="headerlink" href="#uso-de-cuadros-de-dialogo" title="Link to this heading"></a></h2>
<span id="id17"></span><h2>22.18 Uso de Cuadros de Diálogo<a class="headerlink" href="#uso-de-cuadros-de-dialogo" title="Link to this heading"></a></h2>
<p>Un cuadro de diálogo es un tipo especial de menú para hacerle una pregunta de sí o no o alguna otra pregunta especial. Muchos comandos de Emacs usan una caja de diálogo para hacer una pregunta de este tipo, si usó el ratón para invocar el comando que le llevó a la pregunta.</p>
<p>Para deshabilitar el uso de cuadros de diálogo, cambia la variable <code class="docutils literal notranslate"><span class="pre">use-dialog-box</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>. En ese caso, Emacs siempre realiza preguntas del tipo yes-or-not (sí-o-no) usando el área de eco y la entrada del teclado. Esta variable también controla si usar ventanas de selección de archivos (pero éstas no están soportadas en todas las plataformas).</p>
<p>Una ventana de selección de archivos es un tipo especial de cuadro de diálogo para pedir nombres de archivo. Puede personalizar la variable use-file-dialog para suprimir el uso de ventanas de selección de archivos, aunque siga queriendo otros tipos de cuadros de diálogo. Esta variable no tiene efecto si ha suprimido todos los cuadros de diálogo con la variable <code class="docutils literal notranslate"><span class="pre">use-dialog-box</span></code>.</p>
<p>Cuando Emacs se compila con soporte GTK+, usa el cuadro de diálogo selector de archivos GTK+. Emacs añade un botón adicional a este diálogo, que puede usar para activar o desactivar la visualización de archivos ocultos (archivos que empiezan por un punto) en ese diálogo. Si desea que este botón esté activado por defecto, cambie la variable <code class="docutils literal notranslate"><span class="pre">x-gtk-show-hidden-files</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>. Además, Emacs añade texto de ayuda al diálogo selector de archivos GTK+; para desactivar este texto de ayuda, cambie la variable <code class="docutils literal notranslate"><span class="pre">x-gtk-file-dialog-help-text</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
</section>
<section id="sugerencias-sobre-herramientas-tooltips">
<span id="id17"></span><h2>22.19 Sugerencias sobre Herramientas (Tooltips)<a class="headerlink" href="#sugerencias-sobre-herramientas-tooltips" title="Link to this heading"></a></h2>
<span id="id18"></span><h2>22.19 Sugerencias sobre Herramientas (Tooltips)<a class="headerlink" href="#sugerencias-sobre-herramientas-tooltips" title="Link to this heading"></a></h2>
<p>Los <em>tooltips</em> son pequeños marcos especiales que muestran información de texto en la posición actual del ratón. Se activan cuando hay una pausa en el movimiento del ratón sobre algún fragmento significativo de texto en una ventana, o la línea de modo, o alguna otra parte del marco de Emacs como un botón de la barra de herramientas o un elemento de menú.</p>
<p>Puede alternar el uso de tooltips con el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">tooltip-mode</span></code>. Cuando el modo Tooltip está desactivado, el texto de ayuda se muestra en el área de eco en su lugar. Para controlar el uso de información sobre herramientas al inicio, personalice la variable <code class="docutils literal notranslate"><span class="pre">tooltip-mode</span></code> siguientes variables proporcionan opciones de personalización para la visualización de información sobre herramientas:</p>
<dl class="simple">
@ -764,11 +764,11 @@ Emacs Lisp, y también <strong>Tooltips</strong> en el Manual de Referencia de E
</dd>
</dl>
<p>Para opciones adicionales de personalización para mostrar tooltips, usae <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">customize-group</span> <span class="pre">RET</span> <span class="pre">tooltip</span> <span class="pre">RET</span></code>.</p>
<p>Si Emacs está construido con el toolkit GTK+, Nextstep windowing, o Haiku windowing, muestra la información sobre herramientas a través del toolkit, usando la apariencia por defecto de la información sobre herramientas del toolkit. <a class="footnote-reference brackets" href="#id19" id="id18" role="doc-noteref"><span class="fn-bracket">[</span>8<span class="fn-bracket">]</span></a> Para desactivar esto, cambia la variable use-system-tooltips a nil. Si hace esto, o si Emacs está construido sin el soporte de ventanas apropiado, la mayoría de los atributos del texto de la tooltip están especificados por la cara de la tooltip, y por los recursos X (vea Opciones y recursos X).</p>
<p>Si Emacs está construido con el toolkit GTK+, Nextstep windowing, o Haiku windowing, muestra la información sobre herramientas a través del toolkit, usando la apariencia por defecto de la información sobre herramientas del toolkit. <a class="footnote-reference brackets" href="#id20" id="id19" role="doc-noteref"><span class="fn-bracket">[</span>8<span class="fn-bracket">]</span></a> Para desactivar esto, cambia la variable use-system-tooltips a nil. Si hace esto, o si Emacs está construido sin el soporte de ventanas apropiado, la mayoría de los atributos del texto de la tooltip están especificados por la cara de la tooltip, y por los recursos X (vea Opciones y recursos X).</p>
<p>Los tooltips GUD son tooltips especiales que muestran los valores de las variables cuando se depura un programa con GUD. Ver Operación del Depurador.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id19" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id18">8</a><span class="fn-bracket">]</span></span>
<aside class="footnote brackets" id="id20" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id19">8</a><span class="fn-bracket">]</span></span>
<p>Los colores de primer plano y fondo de los tooltips creados en Nextstep también pueden personalizarse configurando los parámetros de marco de <code class="docutils literal notranslate"><span class="pre">foreground</span></code> (primer plano) y <code class="docutils literal notranslate"><span class="pre">background</span></code> (fondo) que forman parte de <code class="docutils literal notranslate"><span class="pre">tooltip-frame-parameters</span></code>.</p>
</aside>
</aside>
@ -796,16 +796,16 @@ para especificar a dónde va el puntero cuando es desplazado.</p>
<p>También puede usar el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">mouse-avoidance-mode</span></code> para activar el modo. Siempre que el modo Mouse Avoidance mueve el ratón, también levanta el marco.</p>
</section>
<section id="terminales-sin-ventana">
<span id="id20"></span><h2>22.21 Terminales sin Ventana<a class="headerlink" href="#terminales-sin-ventana" title="Link to this heading"></a></h2>
<span id="id21"></span><h2>22.21 Terminales sin Ventana<a class="headerlink" href="#terminales-sin-ventana" title="Link to this heading"></a></h2>
<p>En un terminal de texto, Emacs sólo puede mostrar un marco Emacs a la vez. Sin embargo, aún puede crear múltiples marcos Emacs, y cambiar entre ellos. Cambiar de marco en estos terminales es muy parecido a cambiar entre diferentes configuraciones de ventana.</p>
<p>Puede usar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">2</span></code> para crear un nuevo marco y cambiar a él; use <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">o</span></code> para recorrer los marcos existentes; use <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">5</span> <span class="pre">0</span></code> para borrar el marco actual.</p>
<p>Cada marco tiene un número para distinguirlo. Si su terminal sólo puede mostrar un marco a la vez, el número n del marco seleccionado aparece cerca del principio de la línea de modo, en la forma <code class="docutils literal notranslate"><span class="pre">Fn</span></code>.</p>
<p><code class="docutils literal notranslate"><span class="pre">Fn</span></code> es, de hecho, el nombre inicial del marco. Si lo desea, puede dar nombres más significativos a los marcos, y puede seleccionar un marco por su nombre. Use el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-frame-name</span> <span class="pre">RET</span></code> <em>nombre</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code> para especificar un nuevo nombre para el marco seleccionado, y use <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">select-frame-by-name</span> <span class="pre">RET</span></code> <em>nombre</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code> para seleccionar un marco según su nombre. El nombre que especifique aparecerá en la línea de modo cuando se seleccione el marco.</p>
</section>
<section id="uso-del-raton-en-terminales-de-texto">
<span id="id21"></span><h2>22.22 Uso del Ratón en Terminales de Texto<a class="headerlink" href="#uso-del-raton-en-terminales-de-texto" title="Link to this heading"></a></h2>
<span id="id22"></span><h2>22.22 Uso del Ratón en Terminales de Texto<a class="headerlink" href="#uso-del-raton-en-terminales-de-texto" title="Link to this heading"></a></h2>
<p>Algunos terminales de texto soportan clics de ratón en la ventana del terminal.</p>
<p>En un emulador de terminal compatible con <code class="docutils literal notranslate"><span class="pre">xterm</span></code>, puede usar <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">xterm-mouse-mode</span></code> para dar a Emacs control sobre usos simples del ratón - básicamente, sólo se soportan clics simples no modificados. Las nuevas versiones de <code class="docutils literal notranslate"><span class="pre">xterm</span></code> también soportan el seguimiento del ratón. La funcionalidad normal del ratón xterm para este tipo de clics sigue estando disponible manteniendo pulsada la tecla <kbd class="kbd docutils literal notranslate">SHIFT</kbd> al pulsar el botón del ratón. El modo Ratón de xterm es un modo menor global (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id3"><span class="std std-ref">24.2 Modos Menores</span></a>). Repitiendo el comando se desactiva de nuevo el modo.</p>
<p>En un emulador de terminal compatible con <code class="docutils literal notranslate"><span class="pre">xterm</span></code>, puede usar <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">xterm-mouse-mode</span></code> para dar a Emacs control sobre usos simples del ratón - básicamente, sólo se soportan clics simples no modificados. Las nuevas versiones de <code class="docutils literal notranslate"><span class="pre">xterm</span></code> también soportan el seguimiento del ratón. La funcionalidad normal del ratón xterm para este tipo de clics sigue estando disponible manteniendo pulsada la tecla <kbd class="kbd docutils literal notranslate">SHIFT</kbd> al pulsar el botón del ratón. El modo Ratón de xterm es un modo menor global (ver <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id5"><span class="std std-ref">24.2 Modos Menores</span></a>). Repitiendo el comando se desactiva de nuevo el modo.</p>
<p>En la consola en GNU/Linux, puede usar <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">gpm-mouse-mode</span></code> para habilitar el soporte de ratón. Debe tener el servidor gpm instalado y funcionando en su sistema para que esto funcione. Tenga en cuenta que cuando este modo está activado, no puede usar el ratón para transferir texto entre Emacs y otros programas que usen GPM. Esto se debe a limitaciones en GPM y el kernel de Linux.</p>
<p>Ver Uso del ratón en MS-DOS, para información sobre el soporte del ratón en MS-DOS.</p>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -83,13 +83,13 @@
<li class="toctree-l2"><a class="reference internal" href="#especificar-el-sistema-de-codificacion-de-un-archivo">23.7 Especificar el Sistema de Codificación de un Archivo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#eleccion-de-sistemas-de-codificacion-para-la-salida">23.8. Elección de Sistemas de Codificación para la Salida</a></li>
<li class="toctree-l2"><a class="reference internal" href="#especificar-un-sistema-de-codificacion-para-el-texto-de-un-archivo">23.9 Especificar un Sistema de Codificación para el Texto de un Archivo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sistemas-de-codificacion-para-la-comunicacion-interprocesos">23.10 Sistemas de Codificación para la Comunicación Interprocesos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sistemas-codificacion-para-la-comunicacion-interprocesos">23.10 Sistemas Codificación para la Comunicación Interprocesos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sistemas-de-codificacion-de-nombres-de-archivos">23.11 Sistemas de Codificación de Nombres de Archivos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sistemas-de-codificacion-para-la-entrada-de-teclado-x">23.12. Sistemas de Codificación para la Entrada de Teclado X</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sistemas-de-codificacion-para-e-s-de-terminal">23.13 Sistemas de Codificación para E/S de Terminal</a></li>
<li class="toctree-l2"><a class="reference internal" href="#juegos-de-fuentes">23.14 Juegos de fuentes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#conjunto-de-fuentes-fontsets">23.14 Conjunto de fuentes (fontsets)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#definir-juegos-de-fuentes">23.15. Definir Juegos de Fuentes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#modificar-juegos-de-fuentes">23.16 Modificar Juegos de Fuentes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#modificar-conjunto-de-fuentes">23.16 Modificar Conjunto de Fuentes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#caracteres-no-visualizables">23.17 Caracteres no Visualizables</a></li>
<li class="toctree-l2"><a class="reference internal" href="#modo-de-edicion-unibyte">23.18 Modo de Edición Unibyte</a></li>
<li class="toctree-l2"><a class="reference internal" href="#juegos-de-caracteres">23.19 Juegos de Caracteres</a></li>
@ -165,19 +165,19 @@
<li><p>Puede visitar archivos con caracteres no ASCII, guardar texto no ASCII y pasar texto no ASCII entre Emacs y los programas que invoca (como
compiladores, correctores ortográficos y programas de correo). Configurar su entorno de lenguaje (vea <a class="reference internal" href="#id3"><span class="std std-ref">23.2 Entornos de Lenguaje (o Idioma)</span></a>) se encarga de
configurar los sistemas de codificación y otras opciones para un lenguaje o cultura específicos. Alternativamente, puede especificar cómo
Emacs debe codificar o decodificar el texto para cada comando; vea <a class="reference internal" href="#id10"><span class="std std-ref">23.9 Especificar un Sistema de Codificación para el Texto de un Archivo</span></a>.</p></li>
Emacs debe codificar o decodificar el texto para cada comando; vea <a class="reference internal" href="#id12"><span class="std std-ref">23.9 Especificar un Sistema de Codificación para el Texto de un Archivo</span></a>.</p></li>
<li><p>Puede mostrar caracteres no ASCII codificados por los distintos scripts. Esto funciona usando las fuentes apropiadas en las pantallas
gráficas (vea <a class="reference internal" href="#id16"><span class="std std-ref">23.15. Definir Juegos de Fuentes</span></a>), y enviando códigos especiales a las pantallas de texto (vea <a class="reference internal" href="#id14"><span class="std std-ref">23.13 Sistemas de Codificación para E/S de Terminal</span></a>). Si algunos caracteres no se
visualizan correctamente, consulte <a class="reference internal" href="#id25"><span class="std std-ref">23.17 Caracteres no Visualizables</span></a>, donde se describen los posibles problemas y se explica cómo solucionarlos.</p></li>
gráficas (vea <a class="reference internal" href="#id20"><span class="std std-ref">23.15. Definir Juegos de Fuentes</span></a>), y enviando códigos especiales a las pantallas de texto (vea <a class="reference internal" href="#id16"><span class="std std-ref">23.13 Sistemas de Codificación para E/S de Terminal</span></a>). Si algunos caracteres no se
visualizan correctamente, consulte <a class="reference internal" href="#id22"><span class="std std-ref">23.17 Caracteres no Visualizables</span></a>, donde se describen los posibles problemas y se explica cómo solucionarlos.</p></li>
<li><p>Los caracteres de escrituras cuyo orden natural del texto es de derecha a izquierda se reordenan para su visualización (véase
<a class="reference internal" href="#id27"><span class="std std-ref">23.20 Edición Bidireccional</span></a>). Estas escrituras incluyen el árabe, el hebreo, el siríaco, el thaana y algunas otras.</p></li>
<li><p>Puede insertar caracteres no ASCII o buscarlos. Para ello, puede especificar un método de entrada de Emacs (ver <a class="reference internal" href="#id5"><span class="std std-ref">23.4 Selección de un Método de Entrada</span></a>) adecuado para
su idioma, o usar el método de entrada por defecto configurado cuando elige su entorno de idioma. Si su teclado puede generar caracteres
no ASCII, puede seleccionar un sistema de codificación de teclado apropiado (vea <a class="reference internal" href="#id14"><span class="std std-ref">23.13 Sistemas de Codificación para E/S de Terminal</span></a>), y Emacs aceptará esos caracteres. En
pantallas gráficas, los sistemas modernos normalmente proporcionan sus métodos de entrada nativos, y los caracteres Latin-1 también pueden
ser introducidos usando el prefijo <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span></code>, ver <a class="reference internal" href="#id26"><span class="std std-ref">23.18 Modo de Edición Unibyte</span></a>.</p>
<a class="reference internal" href="#id24"><span class="std std-ref">23.20 Edición Bidireccional</span></a>). Estas escrituras incluyen el árabe, el hebreo, el siríaco, el thaana y algunas otras.</p></li>
<li><p>Puede insertar caracteres no ASCII o buscarlos. Para ello, puede especificar un método de entrada de Emacs (ver <a class="reference internal" href="#id5"><span class="std std-ref">23.4 Selección de un Método de Entrada</span></a>) adecuado
para su idioma, o usar el método de entrada por defecto configurado cuando elige su entorno de idioma. Si su teclado puede generar
caracteres no ASCII, puede seleccionar un sistema de codificación de teclado apropiado (vea <a class="reference internal" href="#id16"><span class="std std-ref">23.13 Sistemas de Codificación para E/S de Terminal</span></a>), y Emacs aceptará esos
caracteres. En pantallas gráficas, los sistemas modernos normalmente proporcionan sus métodos de entrada nativos, y los caracteres
Latin-1 también pueden ser introducidos usando el prefijo <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span></code>, ver <a class="reference internal" href="#id23"><span class="std std-ref">23.18 Modo de Edición Unibyte</span></a>.</p>
<p>Con el Sistema X Window, su configuración regional debería estar ajustada a un valor apropiado para asegurarse de que Emacs interpreta la
entrada de teclado correctamente; vea <a class="reference internal" href="#id13"><span class="std std-ref">23.12. Sistemas de Codificación para la Entrada de Teclado X</span></a>.</p>
entrada de teclado correctamente; vea <a class="reference internal" href="#id15"><span class="std std-ref">23.12. Sistemas de Codificación para la Entrada de Teclado X</span></a>.</p>
</li>
</ul>
</div></blockquote>
@ -186,7 +186,7 @@ entrada de teclado correctamente; vea <a class="reference internal" href="#id13"
<span id="id2"></span><h2>23.1 Introducción a los Juegos de Caracteres Internacionales<a class="headerlink" href="#introduccion-a-los-juegos-de-caracteres-internacionales" title="Link to this heading"></a></h2>
<p>Los Usuarios de juegos de caracteres y scripts internacionales han establecido muchos sistemas de codificación más o menos estándar para almacenar archivos. Estos sistemas de codificación son típicamente <em>multibyte</em>, lo que significa que se usan secuencias de dos o más bytes para representar caracteres individuales no ASCII.</p>
<p>Internamente, Emacs usa su propia codificación de caracteres multibyte, que es un superconjunto del estándar <em>Unicode</em>. Esta codificación interna permite mezclar caracteres de casi todas las escrituras conocidas en un único búfer o cadena. Emacs traduce entre la codificación de caracteres multibyte y otros sistemas de codificación cuando lee y escribe archivos, y cuando intercambia datos con subprocesos.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">h</span></code> (<code class="docutils literal notranslate"><span class="pre">view-hello-file</span></code>) muestra el archivo <code class="docutils literal notranslate"><span class="pre">etc/HELLO</span></code>, que ilustra varios scripts mostrando cómo decir «hola» en muchos idiomas. Si algunos caracteres no pueden mostrarse en su terminal, aparecen como <code class="docutils literal notranslate"><span class="pre">?</span></code> o como recuadros huecos (consulte <a class="reference internal" href="#id25"><span class="std std-ref">23.17 Caracteres no Visualizables</span></a>).</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">h</span></code> (<code class="docutils literal notranslate"><span class="pre">view-hello-file</span></code>) muestra el archivo <code class="docutils literal notranslate"><span class="pre">etc/HELLO</span></code>, que ilustra varios scripts mostrando cómo decir «hola» en muchos idiomas. Si algunos caracteres no pueden mostrarse en su terminal, aparecen como <code class="docutils literal notranslate"><span class="pre">?</span></code> o como recuadros huecos (consulte <a class="reference internal" href="#id22"><span class="std std-ref">23.17 Caracteres no Visualizables</span></a>).</p>
<p>Los teclados, incluso en los países donde se usan estos juegos de caracteres, no suelen tener teclas para todos los caracteres que contienen. Puede usar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">RET</span></code> (<code class="docutils literal notranslate"><span class="pre">insertar</span> <span class="pre">carácter</span></code>) para insertar caracteres que su teclado no admite. Véase <a class="reference internal" href="08_ComBasicEdic.html#id2"><span class="std std-ref">8.1 Inserción de Texto</span></a>. Existen abreviaturas para algunos caracteres comunes; por ejemplo, puede insertar una comilla simple izquierda <code class="docutils literal notranslate"><span class="pre"></span></code> tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">8</kbd><kbd class="kbd docutils literal notranslate">[</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">[</span></code>), o en el modo de Comillas Eléctricas, normalmente tecleando simplemente <kbd class="kbd docutils literal notranslate">`</kbd> (<code class="docutils literal notranslate"><span class="pre">`</span></code>). Vea <a class="reference internal" href="26_ComandsLengsHuma.html#id6"><span class="std std-ref">26.5 Comillas</span></a>. Emacs también soporta varios <em>métodos de entrada</em>, típicamente uno para cada script o lenguaje, que hacen más fácil teclear caracteres en el script. Ver <a class="reference internal" href="#id4"><span class="std std-ref">23.3 Métodos de Entrada</span></a>.</p>
<p>La tecla de prefijo <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span></code>) se usa para comandos relacionados con caracteres multibyte, sistemas de codificación y métodos de entrada.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">=</span></code> (<code class="docutils literal notranslate"><span class="pre">what-cursor-position</span></code>) muestra información sobre el carácter en el punto. Además de la posición del carácter, que se describió en <a class="reference internal" href="08_ComBasicEdic.html#id8"><span class="std std-ref">8.9 Información sobre la posición del cursor</span></a>, este comando muestra cómo está codificado el carácter. Por ejemplo, muestra la siguiente línea en el área de eco para el carácter <code class="docutils literal notranslate"><span class="pre">c</span></code>:</p>
@ -272,7 +272,7 @@ Latin-5, Latin-6, Latin-7, Latin-8, Latin-9, Latvian, Lithuanian, Malayalam, Ori
Slovak, Slovenian, Spanish, Swedish, TaiViet, Tajik, Tamil, Telugu, Thai, Tibetan, Turkish, UTF-8, Ukrainian, Vietnamese, Welsh, and
Windows-1255.</p>
</div></blockquote>
<p>Para mostrar la(s) secuencia(s) de comandos usada(s) por su entorno lingüístico en una pantalla gráfica, necesita tener fuentes adecuadas. Vea <a class="reference internal" href="#id15"><span class="std std-ref">23.14 Juegos de fuentes</span></a>, para más detalles sobre cómo configurar sus fuentes.</p>
<p>Para mostrar la(s) secuencia(s) de comandos usada(s) por su entorno lingüístico en una pantalla gráfica, necesita tener fuentes adecuadas. Vea <a class="reference internal" href="#id17"><span class="std std-ref">23.14 Conjunto de fuentes (fontsets)</span></a>, para más detalles sobre cómo configurar sus fuentes.</p>
<p>Algunos sistemas operativos le permiten especificar la configuración regional del juego de caracteres que está usando configurando las variables de entorno de configuración regional <code class="docutils literal notranslate"><span class="pre">LC_ALL</span></code>, <code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code> o <code class="docutils literal notranslate"><span class="pre">LANG</span></code>. (Si se establece más de una de ellas, la primera que no esté vacía especifica su configuración regional para este propósito). Durante el arranque, Emacs busca el nombre de su locale en la tabla de alias de locale del sistema, compara su nombre canónico con las entradas en el valor de las variables <code class="docutils literal notranslate"><span class="pre">locale-charset-language-names</span></code> y <code class="docutils literal notranslate"><span class="pre">locale-language-names</span></code> (la primera anula a la segunda), y selecciona el entorno de lenguaje correspondiente si encuentra una coincidencia. También ajusta la tabla de visualización y el sistema de codificación del terminal, el sistema de codificación de la configuración regional, el sistema de codificación preferido según sea necesario para la configuración regional y, por último pero no menos importante, la forma en que Emacs decodifica los caracteres no ASCII enviados por el teclado.</p>
<p>Si modifica las variables de entorno <code class="docutils literal notranslate"><span class="pre">LC_ALL</span></code>, <code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code>, o <code class="docutils literal notranslate"><span class="pre">LANG</span></code> mientras ejecuta Emacs (usando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">setenv</span></code>), puede que quiera invocar el comando <code class="docutils literal notranslate"><span class="pre">set-locale-environment</span></code> después para reajustar el entorno de lenguaje desde la nueva localización.</p>
<p>La función <code class="docutils literal notranslate"><span class="pre">set-locale-environment</span></code> normalmente usa el sistema de codificación preferido establecido por el entorno del lenguaje para decodificar los mensajes del sistema. Pero si su localización coincide con una entrada de la variable <code class="docutils literal notranslate"><span class="pre">locale-preferred-coding-systems</span></code>, Emacs usa el sistema de codificación correspondiente. Por ejemplo, si la localización <code class="docutils literal notranslate"><span class="pre">ja_JP.PCK</span></code> coincide con <code class="docutils literal notranslate"><span class="pre">japanese-shift-jis</span></code> en <code class="docutils literal notranslate"><span class="pre">locale-preferred-coding-systems</span></code>, Emacs usa esa codificación aunque normalmente use <code class="docutils literal notranslate"><span class="pre">utf-8</span></code>.</p>
@ -283,435 +283,489 @@ Windows-1255.</p>
</section>
<section id="metodos-de-entrada">
<span id="id4"></span><h2>23.3 Métodos de Entrada<a class="headerlink" href="#metodos-de-entrada" title="Link to this heading"></a></h2>
<p>Un método de entrada es un tipo de conversión de caracteres diseñado específicamente para la entrada interactiva. Esta sección describe los métodos de entrada que vienen con Emacs; para los métodos de entrada nativos proporcionados por el SO subyacente, vea Modo de Edición Unibyte.</p>
<p>Un <em>método de entrada</em> es un tipo de conversión de caracteres diseñado específicamente para la entrada interactiva. Esta sección describe los métodos de entrada que vienen con Emacs; para los métodos de entrada nativos proporcionados por el SO subyacente, vea <a class="reference internal" href="#id23"><span class="std std-ref">23.18 Modo de Edición Unibyte</span></a>.</p>
<p>En Emacs, normalmente cada lenguaje tiene su propio método de entrada; a veces varios lenguajes que usan los mismos caracteres pueden compartir un método de entrada. Algunos lenguajes soportan varios métodos de entrada.</p>
<p>El tipo más simple de método de entrada funciona mapeando letras ASCII en otro alfabeto; esto le permite usar otro alfabeto en lugar de ASCII. Los métodos de entrada griego y ruso funcionan de este modo.</p>
<p>Una técnica más potente es la composición: convertir secuencias de caracteres en una sola letra. Muchos métodos de entrada europeos usan la composición para producir una sola letra no ASCII a partir de una secuencia formada por una letra seguida de caracteres acentuados (o viceversa). Por ejemplo, algunos métodos convierten la secuencia o ^ en una sola letra acentuada. Estos métodos de entrada no tienen comandos especiales propios; lo único que hacen es componer secuencias de caracteres de imprenta.</p>
<p>Una técnica más potente es la composición: convertir secuencias de caracteres en una sola letra. Muchos métodos de entrada europeos usan la composición para producir una sola letra no ASCII a partir de una secuencia formada por una letra seguida de caracteres acentuados (o viceversa). Por ejemplo, algunos métodos convierten la secuencia <code class="docutils literal notranslate"><span class="pre">o</span> <span class="pre">^</span></code> en una sola letra acentuada. Estos métodos de entrada no tienen comandos especiales propios; lo único que hacen es componer secuencias de caracteres de imprenta.</p>
<p>Los métodos de entrada de caracteres silábicos suelen usar el mapeo seguido de la composición. Es el caso del tailandés y el coreano. En primer lugar, las letras se convierten en símbolos de determinados sonidos o marcas tonales y, a continuación, las secuencias que forman una sílaba completa se convierten en un signo silábico.</p>
<p>El chino y el japonés requieren métodos más complejos. En los métodos de entrada chinos, primero se introduce la grafía fonética de una palabra china (en el método de entrada chinese-py, entre otros), o una secuencia de porciones del carácter (métodos de entrada chinese-4corner y chinese-sw, entre otros). Una secuencia de entrada suele corresponder a muchos caracteres chinos posibles. El Usuario selecciona el que le interesa usando teclas como C-f, C-b, C-n, C-p (o las teclas de flecha) y dígitos, que tienen un significado especial en esta situación.</p>
<p>Los caracteres posibles están dispuestos conceptualmente en varias filas, cada una de las cuales contiene hasta 10 alternativas. Normalmente, Emacs muestra sólo una fila cada vez, en el área de eco; (i/j) aparece al principio, para indicar que ésta es la fila ith de un total de j filas. Teclee C-n o C-p para mostrar la fila siguiente o la anterior.</p>
<p>Teclee C-f y C-b para avanzar y retroceder entre las alternativas de la fila actual. Al hacer esto, Emacs resalta la alternativa actual con un color especial; teclee C-SPC para seleccionar la alternativa actual y usarla como entrada. Las alternativas de la fila también están numeradas; el número aparece antes de la alternativa. Al teclear un número se selecciona la alternativa asociada de la fila actual y se usa como entrada.</p>
<p>TAB en estos métodos de entrada en chino muestra un búfer con todos los caracteres posibles a la vez; si se pulsa con ratón-2 sobre uno de ellos, se selecciona esa alternativa. Las teclas C-f, C-b, C-n, C-p y los dígitos siguen funcionando como de costumbre, pero realizan el resaltado en el búfer que muestra los caracteres posibles, en lugar de hacerlo en el área de eco.</p>
<p>Para introducir caracteres según el método de transliteración pīnyīn en su lugar, use el método de entrada chino-sisheng. Se trata de un método basado en la composición, en el que, por ejemplo, pi1 da como resultado “pī”.</p>
<p>En los métodos de entrada japoneses, primero se introduce una palabra entera usando la ortografía fonética; después, una vez que la palabra está en el búfer, Emacs la convierte en uno o más caracteres usando un gran diccionario. Una ortografía fonética corresponde a varias palabras japonesas diferentes; para seleccionar una de ellas, use C-n y C-p para recorrer las alternativas.</p>
<p>A veces resulta útil interrumpir el procesamiento del método de entrada para que los caracteres que acaba de introducir no se combinen con los caracteres siguientes. Por ejemplo, en el método de entrada latin-1-postfix, la secuencia o ^ se combina para formar una «o» con acento. ¿Qué ocurre si desea introducirlos como caracteres separados?</p>
<p>Una forma es escribir el acento dos veces; se trata de una función especial para introducir la letra y el acento por separado. Por ejemplo, o ^ ^ le da los dos caracteres “o^”. Otra forma es escribir otra letra después de la o -algo que no se combine con ella- y borrarla inmediatamente. Por ejemplo, puede escribir o o DEL ^ para obtener “o” y “^” por separado. Otro método, más general pero no tan fácil de escribir, es usar C-C-entre dos caracteres para impedir que se combinen. Este es el comando C-(toggle-input-method) usado dos veces. Véase Seleccionar un Método de Entrada.</p>
<p>C-C-es especialmente útil dentro de una búsqueda incremental, porque deja de esperar a que se combinen más caracteres y empieza a buscar lo que ya ha introducido.</p>
<p>Para saber cómo introducir el carácter después del punto usando el método de entrada actual, escriba C-u C-x =. Véase Información sobre la Posición del Cursor.</p>
<p>Las variables input-method-highlight-flag y input-method-verbose-flag controlan cómo los métodos de entrada explican lo que está sucediendo. Si input-method-highlight-flag no es nulo, la secuencia parcial se resalta en el búfer (para la mayoría de los métodos de entrada-algunos desactivan esta característica). Si input-method-verbose-flag es no-nil, la lista de posibles caracteres a escribir a continuación se muestra en el área de eco (pero no cuando se está en el minibúfer).</p>
<p>Puede modificar el funcionamiento de un método de entrada realizando los cambios en una función que añada a la variable hook quail-activate-hook. Véase Ganchos. Por ejemplo, puede redefinir algunas de las teclas del método de entrada definiendo las combinaciones de teclas en el mapa de teclas devuelto por la función quail-translation-keymap, usando define-key. Véase Redefinición de Teclas en el Archivo de Inicio.</p>
<p>El chino y el japonés requieren métodos más complejos. En los métodos de entrada chinos, primero se introduce la grafía fonética de una palabra china (en el método de entrada <code class="docutils literal notranslate"><span class="pre">chinese-py</span></code>, entre otros), o una secuencia de porciones del carácter (métodos de entrada <code class="docutils literal notranslate"><span class="pre">chinese-4corner</span></code> y <code class="docutils literal notranslate"><span class="pre">chinese-sw</span></code>, entre otros). Una secuencia de entrada suele corresponder a muchos caracteres chinos posibles. El Usuario selecciona el que le interesa usando teclas como <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> (<code class="docutils literal notranslate"><span class="pre">C-f</span></code>), <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">C-b</span></code>), <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">C-n</span></code>), <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">p</kbd> (<code class="docutils literal notranslate"><span class="pre">C-p</span></code>) (o las teclas de flecha) y dígitos, que tienen un significado especial en esta situación.</p>
<p>Los caracteres posibles están dispuestos conceptualmente en varias filas, cada una de las cuales contiene hasta 10 alternativas. Normalmente, Emacs muestra sólo una fila cada vez, en el área de eco; (<code class="docutils literal notranslate"><span class="pre">i/j</span></code>) aparece al principio, para indicar que ésta es la fila <em>i</em>/enésima de un total de <em>j</em> filas. Teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">C-n</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">p</kbd> (<code class="docutils literal notranslate"><span class="pre">C-p</span></code>) para mostrar la fila siguiente o la anterior.</p>
<p>Teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> (<code class="docutils literal notranslate"><span class="pre">C-f</span></code>) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">C-b</span></code>) para avanzar y retroceder entre las alternativas de la fila actual. Al hacer esto, Emacs resalta la alternativa actual con un color especial; teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-SPC</span></code>) para seleccionar la alternativa actual y usarla como entrada. Las alternativas de la fila también están numeradas; el número aparece antes de la alternativa. Al teclear un número se selecciona la alternativa asociada de la fila actual y se usa como entrada.</p>
<p><code class="docutils literal notranslate"><span class="pre">TAB</span></code> en estos métodos de entrada en chino muestra un búfer con todos los caracteres posibles a la vez; si se pulsa con <code class="docutils literal notranslate"><span class="pre">ratón-2</span></code> sobre uno de ellos, se selecciona esa alternativa. Las teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> (<code class="docutils literal notranslate"><span class="pre">C-f</span></code>), <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">b</kbd> (<code class="docutils literal notranslate"><span class="pre">C-b</span></code>), <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">C-n</span></code>), <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">p</kbd> (<code class="docutils literal notranslate"><span class="pre">C-p</span></code>) y los dígitos siguen funcionando como de costumbre, pero realizan el resaltado en el búfer que muestra los caracteres posibles, en lugar de hacerlo en el área de eco.</p>
<p>Para introducir caracteres según el método de transliteración <em>pīnyīn</em> en su lugar, use el método de entrada <em>chino-sisheng</em>. Se trata de un método basado en la composición, en el que, por ejemplo, <code class="docutils literal notranslate"><span class="pre">pi1</span></code> da como resultado <code class="docutils literal notranslate"><span class="pre"></span></code>.</p>
<p>En los métodos de entrada japoneses, primero se introduce una palabra entera usando la ortografía fonética; después, una vez que la palabra está en el búfer, Emacs la convierte en uno o más caracteres usando un gran diccionario. Una ortografía fonética corresponde a varias palabras japonesas diferentes; para seleccionar una de ellas, use <code class="docutils literal notranslate"><span class="pre">C-n</span></code> y <code class="docutils literal notranslate"><span class="pre">C-p</span></code> para recorrer las alternativas.</p>
<p>A veces resulta útil interrumpir el procesamiento del método de entrada para que los caracteres que acaba de introducir no se combinen con los caracteres siguientes. Por ejemplo, en el método de entrada <code class="docutils literal notranslate"><span class="pre">latin-1-postfix</span></code>, la secuencia <code class="docutils literal notranslate"><span class="pre">o</span> <span class="pre">^</span></code> se combina para formar una <code class="docutils literal notranslate"><span class="pre">o</span></code> con acento. ¿Qué ocurre si desea introducirlos como caracteres separados?</p>
<p>Una forma es escribir el acento dos veces; se trata de una función especial para introducir la letra y el acento por separado. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">o</span> <span class="pre">^</span> <span class="pre">^</span></code> le da los dos caracteres <code class="docutils literal notranslate"><span class="pre">o^</span></code>. Otra forma es escribir otra letra después de la <code class="docutils literal notranslate"><span class="pre">o</span></code> -algo que no se combine con ella- y borrarla inmediatamente. Por ejemplo, puede escribir <code class="docutils literal notranslate"><span class="pre">o</span></code> o <code class="docutils literal notranslate"><span class="pre">DEL</span> <span class="pre">^</span></code> para obtener <code class="docutils literal notranslate"><span class="pre">o</span></code> y <code class="docutils literal notranslate"><span class="pre">^</span></code> por separado. Otro método, más general pero no tan fácil de escribir, es usar <code class="docutils literal notranslate"><span class="pre">C-\</span> <span class="pre">C-\</span></code> entre dos caracteres para impedir que se combinen. Este es el comando <code class="docutils literal notranslate"><span class="pre">C-\</span></code> (<code class="docutils literal notranslate"><span class="pre">toggle-input-method</span></code>) usado dos veces. Véase <a class="reference internal" href="#id5"><span class="std std-ref">23.4 Selección de un Método de Entrada</span></a>.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-\</span> <span class="pre">C-\</span></code> es especialmente útil dentro de una búsqueda incremental, porque deja de esperar a que se combinen más caracteres y empieza a buscar lo que ya ha introducido.</p>
<p>Para saber cómo introducir el carácter después del punto usando el método de entrada actual, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">=</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">=</span></code>). Véase <a class="reference internal" href="08_ComBasicEdic.html#id8"><span class="std std-ref">8.9 Información sobre la posición del cursor</span></a>.</p>
<p>Las variables <code class="docutils literal notranslate"><span class="pre">input-method-highlight-flag</span></code> y <code class="docutils literal notranslate"><span class="pre">input-method-verbose-flag</span></code> controlan cómo los métodos de entrada explican lo que está sucediendo. Si <code class="docutils literal notranslate"><span class="pre">input-method-highlight-flag</span></code> no es nulo, la secuencia parcial se resalta en el búfer (para la mayoría de los métodos de entrada, algunos desactivan esta característica). Si <code class="docutils literal notranslate"><span class="pre">input-method-verbose-flag</span></code> es no-<code class="docutils literal notranslate"><span class="pre">nil</span></code>, la lista de posibles caracteres a escribir a continuación se muestra en el área de eco (pero no cuando se está en el minibúfer).</p>
<p>Puede modificar el funcionamiento de un método de entrada realizando los cambios en una función que añada a la variable gancho <code class="docutils literal notranslate"><span class="pre">quail-activate-hook</span></code>. Véase <a class="reference internal" href="50_Personlzc.html#id7"><span class="std std-ref">50.2.2 Ganchos (Hooks)</span></a>. Por ejemplo, puede redefinir algunas de las teclas del método de entrada definiendo las combinaciones de teclas en el mapa de teclas devuelto por la función <code class="docutils literal notranslate"><span class="pre">quail-translation-keymap</span></code>, usando <code class="docutils literal notranslate"><span class="pre">define-key</span></code>. Véase <a class="reference internal" href="50_Personlzc.html#id20"><span class="std std-ref">50.3.6. Reasignación de Teclas en el Archivo de Inicio</span></a>.</p>
<p>Los métodos de entrada se inhiben cuando el texto del búfer es de sólo lectura por algún motivo. De este modo, las combinaciones de teclas de un solo carácter funcionan en modos que hacen que el texto del búfer o partes de él sean de sólo lectura, como el modo de sólo lectura y el modo de imagen, incluso cuando un método de entrada está activo.</p>
<p>Otra forma de escribir caracteres que no se encuentran en el teclado es usar C-x 8 RET (insertar carácter) para insertar un único carácter basándose en su nombre Unicode o punto de código; consulte Insertar texto.</p>
<p>Existen comandos especializados para insertar Emoji, que se pueden encontrar en el mapa de teclas C-x 8 e. C-x 8 e e (emoji-insert) le permitirá navegar por las diferentes categorías de Emoji y elegir una. C-x 8 e l (emoji-list) abrirá un nuevo búfer y listará todos los Emoji; pulsando (o usando RET) sobre un carácter emoji lo insertará en el búfer actual. Finalmente, C-x 8 e s (emoji-search) te permitirá buscar Emoji basados en sus nombres.</p>
<p>describe-char muestra mucha información sobre el carácter/glifo en cuestión (incluidos los emojis). A veces es útil obtener una descripción rápida del nombre, y puedes usar el comando C-x 8 e d (emoji-describe) para hacerlo. Está pensado principalmente para ayudarte a distinguir entre diferentes variantes de Emoji (que pueden parecerse mucho), pero también le dirá los nombres de caracteres que no son Emoji.</p>
<p>Otra forma de escribir caracteres que no se encuentran en el teclado es usar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">RET</span></code> (<code class="docutils literal notranslate"><span class="pre">insert-char</span></code>) para insertar un único carácter basándose en su nombre Unicode o punto de código; consulte <a class="reference internal" href="08_ComBasicEdic.html#id2"><span class="std std-ref">8.1 Inserción de Texto</span></a>.</p>
<p>Existen comandos especializados para insertar Emoji, que se pueden encontrar en el mapa de teclas <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">e</span></code>. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">e</span> <span class="pre">e</span></code> (<code class="docutils literal notranslate"><span class="pre">emoji-insert</span></code>) le permitirá navegar por las diferentes categorías de Emoji y elegir una. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">e</span> <span class="pre">l</span></code> (<code class="docutils literal notranslate"><span class="pre">emoji-list</span></code>) abrirá un nuevo búfer y listará todos los Emoji; pulsando (o usando <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>)) sobre un carácter emoji lo insertará en el búfer actual. Finalmente, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">e</span> <span class="pre">s</span></code> (<code class="docutils literal notranslate"><span class="pre">emoji-search</span></code>) le permitirá buscar Emoji basados en sus nombres.</p>
<p><code class="docutils literal notranslate"><span class="pre">describe-char</span></code> muestra mucha información sobre el carácter/glifo en cuestión (incluidos los emojis). A veces es útil obtener una descripción rápida del nombre, y puedes usar el comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">e</span> <span class="pre">d</span></code> (<code class="docutils literal notranslate"><span class="pre">emoji-describe</span></code>) para hacerlo. Está pensado principalmente para ayudarlo a distinguir entre diferentes variantes de Emoji (que pueden parecerse mucho), pero también le dirá los nombres de caracteres que no son Emoji.</p>
</section>
<section id="seleccion-de-un-metodo-de-entrada">
<span id="id5"></span><h2>23.4 Selección de un Método de Entrada<a class="headerlink" href="#seleccion-de-un-metodo-de-entrada" title="Link to this heading"></a></h2>
<dl class="simple">
<dt>C-</dt><dd><p>Activar o desactivar el uso del método de entrada seleccionado (toggle-input-method).</p>
</dd>
<dt>C-x RET C-method RET</dt><dd><p>Selecciona un nuevo método de entrada para el búfer actual (set-input-method).</p>
</dd>
<dt>C-x method RET</dt><dd><p>Activa temporalmente el método de entrada transitoria seleccionado ; se desactivará automáticamente tras insertar un solo carácter (activate-transient-input-method).</p>
</dd>
</dl>
<p>C-h I method RET
C-h C-method RET</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> (<code class="docutils literal notranslate"><span class="pre">C-\</span></code>)</p>
<blockquote>
<div><p>Describe el método de entrada (describe-input-method). Por defecto, describe el método de entrada actual (si existe). Esta descripción debería darle todos los detalles de cómo usar
cualquier método de entrada en particular.</p>
<div><p>Activa o desactiva el uso del método de entrada seleccionado (<code class="docutils literal notranslate"><span class="pre">toggle-input-method</span></code>).</p>
</div></blockquote>
<dl class="simple">
<dt>M-x list-input-methods</dt><dd><p>Muestra una lista de todos los métodos de entrada admitidos.</p>
</dd>
</dl>
<p>Para elegir un método de entrada para el búfer actual, use C-x RET C-(set-input-method). Este comando lee el nombre del método de entrada del minibúfer; el nombre normalmente empieza por el entorno de lenguaje con el que se va a usar. La variable current-input-method registra qué método de entrada está seleccionado.</p>
<p>Los métodos de entrada usan varias secuencias de caracteres ASCII para representar caracteres no ASCII. A veces es útil desactivar temporalmente el método de entrada. Para ello, escriba C-(toggle-input-method). Para volver a activar el método de entrada, escriba C-de nuevo.</p>
<p>Si teclea C-y aún no ha seleccionado un método de entrada, se le pedirá que especifique uno. Esto tiene el mismo efecto que usar C-x RET C-para especificar un método de entrada.</p>
<p>Cuando se invoca con un argumento numérico, como en C-u C-, toggle-input-method siempre le pregunta por un método de entrada, sugiriendo el seleccionado más recientemente como predeterminado.</p>
<p>Seleccionar un entorno de lenguaje especifica un método de entrada por defecto para usar en varios búferes. Cuando tiene un método de entrada por defecto, puede seleccionarlo en el búfer actual tecleando C-. La variable default-input-method especifica el método de entrada por defecto (nil significa que no hay ninguno).</p>
<p>En algunos entornos de lenguaje, que soportan varios métodos de entrada diferentes, puede que quiera usar un método de entrada diferente del elegido por defecto por set-language-environment. Si lo desea, puede ordenar a Emacs que seleccione un método de entrada por defecto diferente para un determinado entorno de lenguaje, usando set-language-environment-hook (ver set-language-environment-hook). Por ejemplo:</p>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> <em>método</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">C-\</span></code> <em>método</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><dl>
<dt>(defun my-chinese-setup ()</dt><dd><p>«Set up my private Chinese environment.»
(if (equal current-language-environment «Chinese-GB»)</p>
<div><p>Selecciona un nuevo método de entrada para el búfer actual (<code class="docutils literal notranslate"><span class="pre">set-input-method</span></code>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">\</kbd> <em>método</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">\</span></code> <em>método</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>(setq default-input-method «chinese-tonepy»)))</p>
<div><p>Activa temporalmente el método de entrada transitoria seleccionado ; se desactivará automáticamente tras insertar un solo carácter
(<code class="docutils literal notranslate"><span class="pre">activate-transient-input-method</span></code>).</p>
</div></blockquote>
</dd>
</dl>
<p>(add-hook “set-language-environment-hook “my-chinese-setup)</p>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">I</kbd> <em>método</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">I</span></code> <em>método</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> <em>método</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C-\</span></code> <em>método</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Describe el método de entrada (<code class="docutils literal notranslate"><span class="pre">describe-input-method</span></code>). Por defecto, describe el método de entrada actual (si existe). Esta
descripción debería darle todos los detalles de cómo usar cualquier método de entrada en particular.</p>
</div></blockquote>
<p>Esto establece que el método de entrada por defecto sea chinese-tonepy siempre que elijas un entorno de lenguaje Chinese-GB.</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">list-input-methods</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">list-input-methods</span></code>)</p>
<blockquote>
<div><p>Muestra una lista de todos los métodos de entrada admitidos.</p>
</div></blockquote>
<p>Para elegir un método de entrada para el búfer actual, use <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">C-\</span></code> (<code class="docutils literal notranslate"><span class="pre">set-input-method</span></code>). Este comando lee el nombre del método de entrada del minibúfer; el nombre normalmente empieza por el entorno de lenguaje con el que se va a usar. La variable <code class="docutils literal notranslate"><span class="pre">current-input-method</span></code> registra qué método de entrada está seleccionado.</p>
<p>Los métodos de entrada usan varias secuencias de caracteres ASCII para representar caracteres no ASCII. A veces es útil desactivar temporalmente el método de entrada. Para ello, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> (<code class="docutils literal notranslate"><span class="pre">C-\</span></code>, <code class="docutils literal notranslate"><span class="pre">toggle-input-method</span></code>). Para volver a activar el método de entrada, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> (<code class="docutils literal notranslate"><span class="pre">C-\</span></code>) de nuevo.</p>
<p>Si teclea <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> (<code class="docutils literal notranslate"><span class="pre">C-\</span></code>) y aún no ha seleccionado un método de entrada, se le pedirá que especifique uno. Esto tiene el mismo efecto que usar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">C-\</span></code> para especificar un método de entrada.</p>
<p>Cuando se invoca con un argumento numérico, como en <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-\</span></code>, <code class="docutils literal notranslate"><span class="pre">toggle-input-method</span></code> siempre le pregunta por un método de entrada, sugiriendo el seleccionado más recientemente como predeterminado.</p>
<p>Seleccionar un entorno de lenguaje especifica un método de entrada por defecto para usar en varios búferes. Cuando tiene un método de entrada por defecto, puede seleccionarlo en el búfer actual tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd>. La variable <code class="docutils literal notranslate"><span class="pre">default-input-method</span></code> especifica el método de entrada por defecto (<code class="docutils literal notranslate"><span class="pre">nil</span></code> significa que no hay ninguno).</p>
<p>En algunos entornos de lenguaje, que soportan varios métodos de entrada diferentes, puede que quiera usar un método de entrada diferente del elegido por defecto por <code class="docutils literal notranslate"><span class="pre">set-language-environment</span></code>. Si lo desea, puede ordenar a Emacs que seleccione un método de entrada por defecto diferente para un determinado entorno de lenguaje, usando <code class="docutils literal notranslate"><span class="pre">set-language-environment-hook</span></code> (ver <a class="reference internal" href="#id3"><span class="std std-ref">23.2 Entornos de Lenguaje (o Idioma)</span></a>). Por ejemplo:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">defun</span> <span class="n">my</span><span class="o">-</span><span class="n">chinese</span><span class="o">-</span><span class="n">setup</span> <span class="p">()</span>
<span class="s2">&quot;Set up my private Chinese environment.&quot;</span>
<span class="p">(</span><span class="k">if</span> <span class="p">(</span><span class="n">equal</span> <span class="n">current</span><span class="o">-</span><span class="n">language</span><span class="o">-</span><span class="n">environment</span> <span class="s2">&quot;Chinese-GB&quot;</span><span class="p">)</span>
<span class="p">(</span><span class="n">setq</span> <span class="n">default</span><span class="o">-</span><span class="nb">input</span><span class="o">-</span><span class="n">method</span> <span class="s2">&quot;chinese-tonepy&quot;</span><span class="p">)))</span>
<span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">hook</span> <span class="s1">&#39;set-language-environment-hook &#39;</span><span class="n">my</span><span class="o">-</span><span class="n">chinese</span><span class="o">-</span><span class="n">setup</span><span class="p">)</span>
</pre></div>
</div>
<p>Esto establece que el método de entrada por defecto sea <code class="docutils literal notranslate"><span class="pre">chinese-tonepy</span></code> siempre que elija un entorno de lenguaje Chinese-GB.</p>
<p>Puede ordenar a Emacs que active un determinado método de entrada automáticamente. Por ejemplo:</p>
<blockquote>
<div><dl class="simple">
<dt>(add-hook “text-mode-hook</dt><dd><p>(lambda () (set-input-method «german-prefix»)))</p>
</dd>
</dl>
</div></blockquote>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">hook</span> <span class="s1">&#39;text-mode-hook</span>
<span class="p">(</span><span class="k">lambda</span> <span class="p">()</span> <span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="nb">input</span><span class="o">-</span><span class="n">method</span> <span class="s2">&quot;german-prefix&quot;</span><span class="p">)))</span>
</pre></div>
</div>
<p>Esto activa automáticamente el método de entrada prefijo-alemán en el modo Texto.</p>
<p>Algunos métodos de entrada para scripts alfabéticos funcionan (en efecto) remapeando el teclado para emular varias distribuciones de teclado comúnmente usadas para esos scripts. La forma correcta de realizar esta reasignación depende de la distribución real de su teclado. Para especificar la distribución de tu teclado, usa el comando M-x quail-set-keyboard-layout.</p>
<p>Puede usar el comando M-x quail-show-key para mostrar qué tecla (o secuencia de teclas) debe teclear para introducir el carácter siguiente al punto, usando la distribución de teclado seleccionada. El comando C-u C-x = también muestra esa información, además de otra información sobre el carácter.</p>
<p>M-x list-input-methods muestra una lista de todos los métodos de entrada soportados. La lista ofrece información sobre cada método de entrada, incluida la cadena que lo representa en la línea de modo.</p>
<p>A veces puede ser conveniente activar un método de entrada de forma transitoria, para insertar un solo carácter. Tecleando C-x (activar-método-de-entrada-transitorio) habilitará temporalmente un método de entrada, le permitirá insertar un solo carácter usando las reglas del método de entrada, y luego deshabilitará automáticamente el método de entrada. Si aún no se ha seleccionado ningún método de entrada transitorio, C-x le pedirá un método de entrada; las siguientes invocaciones de este comando activarán el método de entrada transitorio seleccionado. Para seleccionar otro método de entrada de transitorios, escriba C-u C-x . Puede seleccionar un método transitorio que sea diferente del método de entrada que seleccionó usando C-u C-.</p>
<p>Algunos métodos de entrada para scripts alfabéticos funcionan (en efecto) remapeando el teclado para emular varias distribuciones de teclado comúnmente usadas para esos scripts. La forma correcta de realizar esta reasignación depende de la distribución real de su teclado. Para especificar la distribución de tu teclado, use el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">quail-set-keyboard-layout</span></code>.</p>
<p>Puede usar el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">quail-show-key</span></code> para mostrar qué tecla (o secuencia de teclas) debe pulsar para introducir el carácter siguiente al punto, usando la distribución de teclado seleccionada. El comando <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">=</span></code> también muestra esa información, además de otra información sobre el carácter.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">list-input-methods</span></code> muestra una lista de todos los métodos de entrada soportados. La lista ofrece información sobre cada método de entrada, incluida la cadena que lo representa en la línea de modo.</p>
<p>A veces puede ser conveniente activar un método de entrada de forma <em>transitoria</em>, para insertar un solo carácter. Tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">\</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">\</span></code>, <code class="docutils literal notranslate"><span class="pre">activate-transient-input-method</span></code>, activar-método-de-entrada-transitorio) habilitará temporalmente un método de entrada, le permitirá insertar un solo carácter usando las reglas del método de entrada, y luego deshabilitará automáticamente el método de entrada. Si aún no se ha seleccionado ningún método de entrada transitorio, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">\</span></code> le pedirá un método de entrada; las siguientes invocaciones de este comando activarán el método de entrada transitorio seleccionado. Para seleccionar otro método de entrada de transitorios, escriba <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">\</span></code>. Puede seleccionar un método transitorio que sea diferente del método de entrada que seleccionó usando <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-\</span></code>.</p>
</section>
<section id="sistemas-de-codificacion">
<span id="id6"></span><h2>23.5 Sistemas de Codificación<a class="headerlink" href="#sistemas-de-codificacion" title="Link to this heading"></a></h2>
<p>Usuarios de varios lenguajes han establecido muchos sistemas de codificación más o menos estándar para representarlos. Emacs no usa estos sistemas de codificación internamente; en su lugar, convierte de varios sistemas de codificación a su propio sistema cuando lee datos, y convierte el sistema de codificación interno a otros sistemas de codificación cuando escribe datos. La conversión es posible al leer o escribir archivos, al enviar o recibir desde el terminal, y al intercambiar datos con subprocesos.</p>
<p>Emacs asigna un nombre a cada sistema de codificación. La mayoría de los sistemas de codificación se usan para un idioma, y el nombre del sistema de codificación empieza con el nombre del idioma. Algunos sistemas de codificación se usan para varios idiomas; sus nombres suelen empezar por “iso”. También existen sistemas de codificación especiales, como no-conversion, raw-text y emacs-internal.</p>
<p>Una clase especial de sistemas de codificación, conocidos colectivamente como codepages, está diseñada para soportar texto codificado por software MS-Windows y MS-DOS. Los nombres de estos sistemas de codificación son cpnnnn, donde nnnn es un número de 3 ó 4 dígitos de la página de codificación. Puede usar estas codificaciones como cualquier otro sistema de codificación; por ejemplo, para visitar un archivo codificado en la página 850, escriba C-x RET c cp850 RET C-x C-f nombrearchivo RET.</p>
<p>Emacs asigna un nombre a cada sistema de codificación. La mayoría de los sistemas de codificación se usan para un idioma, y el nombre del sistema de codificación empieza con el nombre del idioma. Algunos sistemas de codificación se usan para varios idiomas; sus nombres suelen empezar por <code class="docutils literal notranslate"><span class="pre">iso</span></code>. También existen sistemas de codificación especiales, como <code class="docutils literal notranslate"><span class="pre">no-conversion</span></code>, <code class="docutils literal notranslate"><span class="pre">raw-text</span></code> y <code class="docutils literal notranslate"><span class="pre">emacs-internal</span></code>.</p>
<p>Una clase especial de sistemas de codificación, conocidos colectivamente como <em>codepages</em> (paginas de código), está diseñada para soportar texto codificado por software MS-Windows y MS-DOS. Los nombres de estos sistemas de codificación son <code class="docutils literal notranslate"><span class="pre">cpnnnn</span></code>, donde <em>nnnn</em> es un número de 3 ó 4 dígitos de la página de codificación. Puede usar estas codificaciones como cualquier otro sistema de codificación; por ejemplo, para visitar un archivo codificado en la página 850, escriba <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">c</span> <span class="pre">cp850</span> <span class="pre">RET</span> <span class="pre">C-x</span> <span class="pre">C-f</span></code> <em>nombrearchivo</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>.</p>
<p>Además de convertir varias representaciones de caracteres no ASCII, un sistema de codificación puede realizar la conversión de final de línea. Emacs maneja tres convenciones diferentes para separar líneas en un archivo: nueva línea (Unix), retorno de carro seguido de salto de línea (DOS) y sólo retorno de carro (Mac).</p>
<dl class="simple">
<dt>C-h C codificación RET</dt><dd><p>Describe la codificación del sistema de codificación (describe-coding-system).</p>
</dd>
<dt>C-h C RET</dt><dd><p>Describe los sistemas de codificación que se están usando en este momento (describe-coding-system).</p>
</dd>
<dt>M-x list-codificación-systems</dt><dd><p>Muestra una lista de todos los sistemas de codificación compatibles.</p>
</dd>
</dl>
<p>El comando C-h C (describe-coding-system) muestra información sobre sistemas de codificación particulares, incluyendo la conversión de final de línea especificada por esos sistemas de codificación. Puede especificar un nombre de sistema de codificación como argumento; alternativamente, con un argumento vacío, describe los sistemas de codificación actualmente seleccionados para varios propósitos, tanto en el búfer actual como por defecto, y la lista de prioridades para reconocer sistemas de codificación (ver Reconocimiento de Sistemas de Codificación).</p>
<p>Para mostrar una lista de todos los sistemas de codificación soportados, escriba M-x list-coding-systems. La lista ofrece información sobre cada sistema de codificación, incluida la letra que lo representa en la línea de modo (véase La Línea de Modo).</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C</span></code> <em>codificación</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>Describe la codificación del sistema de codificación (<code class="docutils literal notranslate"><span class="pre">describe-coding-system</span></code>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C</span> <span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>Describe los sistemas de codificación que se están usando en este momento (<code class="docutils literal notranslate"><span class="pre">describe-coding-system</span></code>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">list-codificación-systems</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">list-codificación-systems</span></code>)</p>
<blockquote>
<div><p>Muestra una lista de todos los sistemas de codificación compatibles.</p>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C</span></code> (<code class="docutils literal notranslate"><span class="pre">describe-coding-system</span></code>) muestra información sobre sistemas de codificación particulares, incluyendo la conversión de final de línea especificada por esos sistemas de codificación. Puede especificar un nombre de sistema de codificación como argumento; alternativamente, con un argumento vacío, describe los sistemas de codificación actualmente seleccionados para varios propósitos, tanto en el búfer actual como por defecto, y la lista de prioridades para reconocer sistemas de codificación (ver <a class="reference internal" href="#id9"><span class="std std-ref">23.6. Reconocimiento de Sistemas de Codificación</span></a>).</p>
<p>Para mostrar una lista de todos los sistemas de codificación soportados, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">list-coding-systems</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">list-coding-systems</span></code>). La lista ofrece información sobre cada sistema de codificación, incluida la letra que lo representa en la línea de modo (véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>).</p>
<p>Cada uno de los sistemas de codificación que aparecen en esta lista -excepto no-conversion, que significa sin conversión de ningún tipo- especifica cómo y si convertir los caracteres de impresión, pero deja que la elección de la conversión de final de línea se decida en función del contenido de cada archivo. Por ejemplo, si el archivo parece usar la secuencia de retorno de carro y salto de línea para separar líneas, se usará la conversión de fin de línea DOS.</p>
<p>Cada uno de los sistemas de codificación enumerados tiene tres variantes, que especifican exactamente qué hacer para la conversión de fin de línea:</p>
<dl class="simple">
<dt>…-unix</dt><dd><p>No haga ninguna conversión de final de línea; asuma que el archivo usa newline para separar líneas. (Esta es la convención normalmente usada en sistemas Unix y GNU, y macOS).</p>
<dt><code class="docutils literal notranslate"><span class="pre">…-unix</span></code></dt><dd><p>No haga ninguna conversión de final de línea; asuma que el archivo usa newline para separar líneas. (Esta es la convención normalmente
usada en sistemas Unix y GNU, y macOS).</p>
</dd>
<dt>…-dos</dt><dd><p>Suponga que el archivo usa el retorno de carro seguido del salto de línea para separar las líneas y haga la conversión correspondiente. (Esta es la convención que se usa normalmente
en los sistemas Microsoft.9)</p>
<dt><code class="docutils literal notranslate"><span class="pre">…-dos</span></code></dt><dd><p>Suponga que el archivo usa el retorno de carro seguido del salto de línea para separar las líneas y haga la conversión correspondiente.
(Esta es la convención que se usa normalmente en los sistemas Microsoft. <a class="footnote-reference brackets" href="#id8" id="id7" role="doc-noteref"><span class="fn-bracket">[</span>9<span class="fn-bracket">]</span></a> )</p>
</dd>
<dt>…-mac</dt><dd><p>Asuma que el archivo usa el retorno de carro para separar líneas, y haga la conversión apropiada. (Esta era la convención usada en el Mac OS clásico).</p>
<dt><code class="docutils literal notranslate"><span class="pre">…-mac</span></code></dt><dd><p>Asuma que el archivo usa el retorno de carro para separar líneas, y haga la conversión apropiada. (Esta era la convención usada en el
Mac OS clásico).</p>
</dd>
</dl>
<p>Estas variantes de los sistemas de codificación se omiten de la lista de sistemas de codificación para abreviar, ya que son totalmente predecibles. Por ejemplo, el sistema de codificación iso-latin-1 tiene variantes iso-latin-1-unix, iso-latin-1-dos e iso-latin-1-mac.</p>
<p>Los sistemas de codificación unix, dos y mac son alias de undecided-unix, undecided-dos y undecided-mac, respectivamente. Estos sistemas de codificación sólo especifican la conversión de final de línea, y dejan que la conversión del código de caracteres se deduzca del propio texto.</p>
<p>El sistema de codificación raw-text es bueno para un archivo que es principalmente texto ASCII, pero puede contener valores de bytes por encima de 127 que no están destinados a codificar caracteres no ASCII. Con raw-text, Emacs copia esos valores de byte sin cambiarlos, y pone enable-multibyte-characters a nil en el búfer actual para que se interpreten correctamente. raw-text maneja la conversión de final de línea de la forma habitual, basándose en los datos encontrados, y tiene las tres variantes habituales para especificar el tipo de conversión de final de línea a usar.</p>
<p>Por el contrario, el sistema de codificación sin conversión no especifica ninguna conversión de código de caracteres: ninguna para valores de bytes no ASCII y ninguna para finales de línea. Esto es útil para leer o escribir archivos binarios, archivos tar y otros archivos que deben examinarse textualmente. También establece enable-multibyte-characters a nil.</p>
<p>La forma más sencilla de editar un archivo sin ningún tipo de conversión es con el comando M-x find-file-literally. Esto usa no-conversion, y también suprime otras características de Emacs que podrían convertir el contenido del archivo antes de que lo vea. Ver Visitando archivos.</p>
<p>El sistema de codificación emacs-internal (o utf-8-emacs, que es equivalente) significa que el archivo contiene caracteres no ASCII almacenados con la codificación interna de Emacs. Este sistema de codificación maneja la conversión de final de línea basándose en los datos encontrados, y tiene las tres variantes habituales para especificar el tipo de conversión de final de línea.</p>
<ol class="arabic simple" start="9">
<li><p>También se especifica para cuerpos MIME “text/<a href="#id7"><span class="problematic" id="id8">*</span></a>” y en otros contextos de transporte de red. Es diferente del formato record-start/record-end de la sintaxis de referencia SGML, que Emacs no soporta directamente.</p></li>
</ol>
<p>Estas variantes de los sistemas de codificación (<code class="docutils literal notranslate"><span class="pre">list-coding-systems</span></code>) se omiten de la lista de sistemas de codificación para abreviar, ya que son totalmente predecibles. Por ejemplo, el sistema de codificación <code class="docutils literal notranslate"><span class="pre">iso-latin-1</span></code> tiene variantes <code class="docutils literal notranslate"><span class="pre">iso-latin-1-unix</span></code>, <code class="docutils literal notranslate"><span class="pre">iso-latin-1-dos</span></code> e <code class="docutils literal notranslate"><span class="pre">iso-latin-1-mac</span></code>.</p>
<p>Los sistemas de codificación <code class="docutils literal notranslate"><span class="pre">unix</span></code>, <code class="docutils literal notranslate"><span class="pre">dos</span></code> y <code class="docutils literal notranslate"><span class="pre">mac</span></code> son alias de <code class="docutils literal notranslate"><span class="pre">undecided-unix</span></code>, <code class="docutils literal notranslate"><span class="pre">undecided-dos</span></code> y <code class="docutils literal notranslate"><span class="pre">undecided-mac</span></code>, respectivamente. Estos sistemas de codificación sólo especifican la conversión de final de línea, y dejan que la conversión del código de caracteres se deduzca del propio texto.</p>
<p>El sistema de codificación <code class="docutils literal notranslate"><span class="pre">raw-text</span></code> es bueno para un archivo que es principalmente texto ASCII, pero puede contener valores de bytes por encima de 127 que no están destinados a codificar caracteres no ASCII. Con raw-text, Emacs copia esos valores de byte sin cambiarlos, y pone <code class="docutils literal notranslate"><span class="pre">enable-multibyte-characters</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code> en el búfer actual para que se interpreten correctamente. <code class="docutils literal notranslate"><span class="pre">raw-text</span></code> maneja la conversión de final de línea de la forma habitual, basándose en los datos encontrados, y tiene las tres variantes habituales para especificar el tipo de conversión de final de línea a usar.</p>
<p>Por el contrario, el sistema de codificación sin conversión no especifica ninguna conversión de código de caracteres: ninguna para valores de bytes no ASCII y ninguna para finales de línea. Esto es útil para leer o escribir archivos binarios, archivos tar y otros archivos que deben examinarse textualmente. También establece <code class="docutils literal notranslate"><span class="pre">enable-multibyte-characters</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>La forma más sencilla de editar un archivo sin ningún tipo de conversión es con el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">find-file-literally</span></code>. Esto usa <code class="docutils literal notranslate"><span class="pre">no-conversion</span></code>, y también suprime otras características de Emacs que podrían convertir el contenido del archivo antes de que lo vea. Ver <a class="reference internal" href="19_ManejoArchivos.html#id3"><span class="std std-ref">19.2 Visitar Archivos</span></a>.</p>
<p>El sistema de codificación emacs-internal (o <code class="docutils literal notranslate"><span class="pre">utf-8-emacs</span></code>, que es equivalente) significa que el archivo contiene caracteres no ASCII almacenados con la codificación interna de Emacs. Este sistema de codificación maneja la conversión de final de línea basándose en los datos encontrados, y tiene las tres variantes habituales para especificar el tipo de conversión de final de línea.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id8" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id7">9</a><span class="fn-bracket">]</span></span>
<p>También se especifica para cuerpos MIME <code class="docutils literal notranslate"><span class="pre">text/*</span></code> y en otros contextos de transporte de red. Es diferente del formato record-start/record-end de la sintaxis de referencia SGML, que Emacs no soporta directamente.</p>
</aside>
</aside>
</section>
<section id="reconocimiento-de-sistemas-de-codificacion">
<span id="id9"></span><h2>23.6. Reconocimiento de Sistemas de Codificación<a class="headerlink" href="#reconocimiento-de-sistemas-de-codificacion" title="Link to this heading"></a></h2>
<p>Siempre que Emacs lee un trozo de texto dado, intenta reconocer qué sistema de codificación usar. Esto se aplica a archivos que se leen, salidas de subprocesos, texto de selecciones X, etc. Emacs puede seleccionar el sistema de codificación correcto automáticamente la mayoría de las veces, una vez que hayas especificado tus preferencias.</p>
<p>Siempre que Emacs lee un trozo de texto dado, intenta reconocer qué sistema de codificación usar. Esto se aplica a archivos que se leen, salidas de subprocesos, texto de selecciones X, etc. Emacs puede seleccionar el sistema de codificación correcto automáticamente la mayoría de las veces, una vez que haya especificado sus preferencias.</p>
<p>Algunos sistemas de codificación pueden reconocerse o distinguirse por las secuencias de bytes que aparecen en los datos. Sin embargo, hay sistemas de codificación que no pueden distinguirse, ni siquiera potencialmente. Por ejemplo, no hay forma de distinguir entre Latin-1 y Latin-2; usan los mismos valores de byte con diferentes significados.</p>
<p>Emacs maneja esta situación mediante una lista prioritaria de sistemas de codificación. Siempre que Emacs lee un archivo, si no se especifica el sistema de codificación a usar, Emacs comprueba los datos contra cada sistema de codificación, empezando por el primero en prioridad y bajando por la lista, hasta que encuentra un sistema de codificación que se ajusta a los datos. Entonces convierte el contenido del archivo asumiendo que está representado en este sistema de codificación.</p>
<p>La lista de prioridades de los sistemas de codificación depende del entorno lingüístico seleccionado (véase Entornos de Lenguaje). Por ejemplo, si usa el francés, probablemente querrá que Emacs prefiera el latín-1 al latín-2; si usa el checo, probablemente querrá que se prefiera el latín-2. Esta es una de las razones para especificar un entorno de lenguaje.</p>
<p>Sin embargo, puede alterar la lista de prioridades del sistema de codificación en detalle con el comando M-x prefer-coding-system. Este comando lee el nombre de un sistema de codificación del minibúfer y lo añade al principio de la lista de prioridades, de modo que se prefiere a todos los demás. Si usa este comando varias veces, cada vez que lo use añadirá un elemento al principio de la lista de prioridades.</p>
<p>Si usa un sistema de codificación que especifica el tipo de conversión de final de línea, como iso-8859-1-dos, lo que esto significa es que Emacs debería intentar reconocer iso-8859-1 con prioridad, y debería usar la conversión de final de línea DOS cuando reconozca iso-8859-1.</p>
<p>A veces un nombre de archivo indica qué sistema de codificación usar para el archivo. La variable file-coding-system-alist especifica esta correspondencia. Existe una función especial modify-coding-system-alist para añadir elementos a esta lista. Por ejemplo, para leer y escribir todos los archivos “.txt” usando el sistema de codificación chinese-iso-8bit, puede ejecutar esta expresión Lisp:</p>
<blockquote>
<div><p>(modify-coding-system-alist “file «\.txt\”» “chinese-iso-8bit)</p>
</div></blockquote>
<p>El primer argumento debe ser archivo, el segundo argumento debe ser una expresión regular que determine a qué archivos se aplica esto, y el tercer argumento dice qué sistema de codificación usar para estos archivos.</p>
<p>Emacs reconoce qué tipo de conversión de fin de línea usar basándose en el contenido del archivo: si sólo ve retornos de carro, o sólo retornos de carro seguidos de secuencias de salto de línea, entonces elige la conversión de fin de línea en consecuencia. Puede inhibir el uso automático de la conversión de fin de línea estableciendo la variable inhibit-eol-conversion en no nil. Si lo hace, los archivos estilo DOS se mostrarán con los caracteres “^M” visibles en el búfer; algunas personas prefieren esto a la más sutil indicación de tipo de fin de línea “(DOS)” cerca del borde izquierdo de la línea de modo (véase eol-mnemonic).</p>
<p>Emacs maneja esta situación mediante una lista prioritaria de sistemas de codificación. Siempre que el Editor lee un archivo, si no se especifica el sistema de codificación a usar, este comprueba los datos contra cada sistema de codificación, empezando por el primero en prioridad y bajando por la lista, hasta que encuentra un sistema de codificación que se ajusta a los datos. Entonces convierte el contenido del archivo asumiendo que está representado en este sistema de codificación.</p>
<p>La lista de prioridades de los sistemas de codificación depende del entorno lingüístico seleccionado (véase <a class="reference internal" href="#id3"><span class="std std-ref">23.2 Entornos de Lenguaje (o Idioma)</span></a>). Por ejemplo, si usa el francés, probablemente querrá que Emacs prefiera el latín-1 al latín-2; si usa el checo, probablemente querrá que se prefiera el latín-2. Esta es una de las razones para especificar un entorno de lenguaje.</p>
<p>Sin embargo, puede alterar la lista de prioridades del sistema de codificación en detalle con el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">prefer-coding-system</span></code>. Este comando lee el nombre de un sistema de codificación del minibúfer y lo añade al principio de la lista de prioridades, de modo que se prefiere a todos los demás. Si usa este comando varias veces, cada vez que lo use añadirá un elemento al principio de la lista de prioridades.</p>
<p>Si usa un sistema de codificación que especifica el tipo de conversión de final de línea, como <code class="docutils literal notranslate"><span class="pre">iso-8859-1-dos</span></code>, lo que esto significa es que Emacs debería intentar reconocer <code class="docutils literal notranslate"><span class="pre">iso-8859-1</span></code> con prioridad, y debería usar la conversión de final de línea DOS cuando reconozca <code class="docutils literal notranslate"><span class="pre">iso-8859-1</span></code>.</p>
<p>A veces un nombre de archivo indica qué sistema de codificación usar para el archivo. La variable <code class="docutils literal notranslate"><span class="pre">file-coding-system-alist</span></code> especifica esta correspondencia. Existe una función especial <code class="docutils literal notranslate"><span class="pre">modify-coding-system-alist</span></code> para añadir elementos a esta lista. Por ejemplo, para leer y escribir todos los archivos <code class="docutils literal notranslate"><span class="pre">.txt</span></code> usando el sistema de codificación <code class="docutils literal notranslate"><span class="pre">chinese-iso-8bit</span></code>, puede ejecutar esta expresión Lisp:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">modify</span><span class="o">-</span><span class="n">coding</span><span class="o">-</span><span class="n">system</span><span class="o">-</span><span class="n">alist</span> <span class="s1">&#39;file &quot;</span><span class="se">\\</span><span class="s1">.txt</span><span class="se">\\</span><span class="s1">&#39;</span><span class="s2">&quot; &#39;chinese-iso-8bit)</span>
</pre></div>
</div>
<p>El primer argumento debe ser <code class="docutils literal notranslate"><span class="pre">file</span></code> (archivo), el segundo argumento debe ser una expresión regular que determine a qué archivos se aplica esto, y el tercer argumento dice qué sistema de codificación usar para estos archivos.</p>
<p>Emacs reconoce qué tipo de conversión de fin de línea usar basándose en el contenido del archivo: si sólo ve retornos de carro, o sólo retornos de carro seguidos de secuencias de salto de línea, entonces elige la conversión de fin de línea en consecuencia. Puede inhibir el uso automático de la conversión de fin de línea estableciendo la variable <code class="docutils literal notranslate"><span class="pre">inhibit-eol-conversion</span></code> en no-<code class="docutils literal notranslate"><span class="pre">nil</span></code>. Si lo hace, los archivos estilo DOS se mostrarán con los caracteres <code class="docutils literal notranslate"><span class="pre">^M</span></code> visibles en el búfer; algunas personas prefieren esto a la más sutil indicación de tipo de fin de línea <code class="docutils literal notranslate"><span class="pre">(DOS)</span></code> cerca del borde izquierdo de la línea de modo (véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>).</p>
<p>Por defecto, la detección automática del sistema de codificación es sensible a las secuencias de escape. Si Emacs ve una secuencia de caracteres que comienza con un carácter de escape, y la secuencia es válida como un código ISO-2022, eso le dice a Emacs que use una de las codificaciones ISO-2022 para decodificar el archivo.</p>
<p>Sin embargo, puede haber casos en los que desee leer secuencias de escape en un archivo tal cual. En tal caso, puede establecer la variable inhibit-iso-escape-detection a no nil. Entonces la detección de código ignora cualquier secuencia de escape, y nunca usa una codificación ISO-2022. El resultado es que todas las secuencias de escape se hacen visibles en el búfer.</p>
<p>El valor por defecto de inhibit-iso-escape-detection es nil. Le recomendamos que no lo cambie permanentemente, sólo para una operación específica. Esto se debe a que algunos archivos fuente de Emacs Lisp en la distribución de Emacs contienen caracteres no ASCII codificados en el sistema de codificación iso-2022-7bit, y no serán decodificados correctamente cuando visites esos archivos si suprimes la detección de secuencias de escape.</p>
<p>Las variables auto-coding-alist y auto-coding-regexp-alist son la forma más potente de especificar el sistema de codificación para ciertos patrones de nombres de archivo, o para archivos que contengan ciertos patrones, respectivamente. Estas variables incluso anulan las etiquetas “-<em>-coding:-</em>-” del propio archivo (véase Especificación del Sistema de Codificación de un Archivo). Por ejemplo, Emacs usa auto-coding-alist para ficheros tar y de archivo, para evitar que se confunda con una etiqueta “-<em>-coding:-</em>-” en un miembro del archivo y piense que se aplica al fichero de archivo como un todo.</p>
<p>Otra forma de especificar un sistema de codificación es con la variable auto-coding-functions. Por ejemplo, una de las funciones de codificación automática incorporadas detecta la codificación de los archivos XML. A diferencia de las dos anteriores, esta variable no anula ninguna etiqueta “-<em>-coding:-</em>-“.</p>
<p>Sin embargo, puede haber casos en los que desee leer secuencias de escape en un archivo tal cual. En tal caso, puede establecer la variable inhibit-iso-escape-detection a no nulo. Entonces la detección de código ignora cualquier secuencia de escape, y nunca usa una codificación ISO-2022. El resultado es que todas las secuencias de escape se hacen visibles en el búfer.</p>
<p>El valor por defecto de <code class="docutils literal notranslate"><span class="pre">inhibit-iso-escape-detection</span></code> es <code class="docutils literal notranslate"><span class="pre">nil</span></code>. Le recomendamos que no lo cambie permanentemente, sólo para una operación específica. Esto se debe a que algunos archivos fuente de Emacs Lisp en la distribución de Emacs contienen caracteres codificados en el sistema de codificación <code class="docutils literal notranslate"><span class="pre">iso-2022-7bit</span></code>, y no serán decodificados correctamente cuando visite esos archivos si suprime la detección de secuencias de escape.</p>
<p>Las variables <code class="docutils literal notranslate"><span class="pre">auto-coding-alist</span></code> y <code class="docutils literal notranslate"><span class="pre">auto-coding-regexp-alist</span></code> son la forma más potente de especificar el sistema de codificación para ciertos patrones de nombres de archivo, o para archivos que contengan ciertos patrones, respectivamente. Estas variables incluso anulan las etiquetas <code class="docutils literal notranslate"><span class="pre">-*-coding:-*-</span></code> del propio archivo (véase <a class="reference internal" href="#id10"><span class="std std-ref">23.7 Especificar el Sistema de Codificación de un Archivo</span></a>). Por ejemplo, Emacs usa <code class="docutils literal notranslate"><span class="pre">auto-coding-alist</span></code> para ficheros tar y de archivo, para evitar que se confunda con una etiqueta <code class="docutils literal notranslate"><span class="pre">-*-coding:-*-</span></code> en un miembro del archivo y piense que se aplica al fichero de archivos (al archivo empaquetado) como un todo.</p>
<p>Otra forma de especificar un sistema de codificación es con la variable <code class="docutils literal notranslate"><span class="pre">auto-coding-functions</span></code>. Por ejemplo, una de las funciones de codificación automática incorporadas detecta la codificación de los archivos XML. A diferencia de las dos anteriores, esta variable no anula ninguna etiqueta <code class="docutils literal notranslate"><span class="pre">-*-coding:-*-</span></code>.</p>
</section>
<section id="especificar-el-sistema-de-codificacion-de-un-archivo">
<h2>23.7 Especificar el Sistema de Codificación de un Archivo<a class="headerlink" href="#especificar-el-sistema-de-codificacion-de-un-archivo" title="Link to this heading"></a></h2>
<p>Si Emacs reconoce la codificación de un archivo incorrectamente, puede releer el archivo usando el sistema de codificación correcto con C-x RET r (revert-búfer-with-coding-system). Este comando pregunta por el sistema de codificación a usar. Para ver qué sistema de codificación usó Emacs para decodificar el archivo, mira la letra mnemotécnica del sistema de codificación cerca del borde izquierdo de la línea de modo (ver La línea de Modo), o teclea C-h C (describe-coding-system).</p>
<p>Puede especificar el sistema de codificación para un archivo en particular en el propio archivo, usando la construcción “-<em>-…-</em>-” al principio, o una lista de variables locales al final (vea Variables locales en archivos). Esto se hace definiendo un valor para la «variable» llamada codificación. Emacs no tiene realmente una variable codificación; en lugar de establecer una variable, esto usa el sistema de codificación especificado para el archivo. Por ejemplo, “-<em>-mode: C; coding: latin-1; -</em>-” especifica usar el sistema de codificación Latin-1, así como el modo C. Cuando se especifica la codificación explícitamente en el archivo, se anula la lista de sistemas de codificación del archivo.</p>
<span id="id10"></span><h2>23.7 Especificar el Sistema de Codificación de un Archivo<a class="headerlink" href="#especificar-el-sistema-de-codificacion-de-un-archivo" title="Link to this heading"></a></h2>
<p>Si Emacs reconoce la codificación de un archivo incorrectamente, puede releer el archivo usando el sistema de codificación correcto con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">r</span></code> (<code class="docutils literal notranslate"><span class="pre">revert-búfer-with-coding-system</span></code>). Este comando pregunta por el sistema de codificación a usar. Para ver qué sistema de codificación usó Emacs para decodificar el archivo, mira la letra mnemotécnica del sistema de codificación cerca del borde izquierdo de la línea de modo (ver <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>), o teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">C</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C</span></code>, <code class="docutils literal notranslate"><span class="pre">describe-coding-system</span></code>).</p>
<p>Puede especificar el sistema de codificación para un archivo en particular en el propio archivo, usando la construcción <code class="docutils literal notranslate"><span class="pre">-*-...-*-</span></code> al principio, o una lista de variables locales al final (vea <a class="reference internal" href="50_Personlzc.html#id9"><span class="std std-ref">50.2.4. Variables locales en Archivos</span></a>). Esto se hace definiendo un valor para la «variable» llamada <code class="docutils literal notranslate"><span class="pre">coding</span></code> (codificación). Emacs no tiene realmente una variable codificación; en lugar de establecer una variable, esto usa el sistema de codificación especificado para el archivo. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">-*-mode:</span> <span class="pre">C;</span> <span class="pre">coding:</span> <span class="pre">latin-1;</span> <span class="pre">-*-</span></code> especifica usar el sistema de codificación Latin-1, así como el modo C. Cuando se especifica la codificación explícitamente en el archivo, se anula <code class="docutils literal notranslate"><span class="pre">file-coding-system-alist</span></code> (lista de sistemas de codificación del archivo).</p>
</section>
<section id="eleccion-de-sistemas-de-codificacion-para-la-salida">
<h2>23.8. Elección de Sistemas de Codificación para la Salida<a class="headerlink" href="#eleccion-de-sistemas-de-codificacion-para-la-salida" title="Link to this heading"></a></h2>
<p>Una vez que Emacs ha elegido un sistema de codificación para un búfer, almacena ese sistema de codificación en buffer-file-coding-system. Esto lo convierte en el predeterminado para las operaciones que escriben desde este búfer a un archivo, como save-buffer y write-region. Puede especificar un sistema de codificación diferente para la salida de archivos desde el búfer usando set-buffer-file-coding-system (vea Especificando un Sistema de Codificación para Texto de Archivo).</p>
<p>Puede insertar cualquier carácter que Emacs soporte en cualquier búfer de Emacs, pero la mayoría de los sistemas de codificación sólo pueden manejar un subconjunto de estos caracteres. Por lo tanto, es posible que los caracteres que inserte no puedan ser codificados con el sistema de codificación que se usará para guardar el búfer. Por ejemplo, podría visitar un archivo de texto en polaco, codificado en iso-8859-2, y añadirle algunas palabras en ruso. Cuando guarde ese búfer, Emacs no podrá usar el valor actual de buffer-file-coding-system, porque los caracteres que añadió no pueden ser codificados por ese sistema de codificación.</p>
<p>Cuando ocurre esto, Emacs prueba el sistema de codificación más preferido (establecido por M-x prefer-coding-system o M-x set-language-environment). Si ese sistema de codificación puede codificar con seguridad todos los caracteres del búfer, Emacs lo usa, y almacena su valor en buffer-file-coding-system. Si no, Emacs muestra una lista de sistemas de codificación adecuados para codificar el contenido del búfer, y le pide que elija uno de esos sistemas de codificación.</p>
<span id="id11"></span><h2>23.8. Elección de Sistemas de Codificación para la Salida<a class="headerlink" href="#eleccion-de-sistemas-de-codificacion-para-la-salida" title="Link to this heading"></a></h2>
<p>Una vez que Emacs ha elegido un sistema de codificación para un búfer, almacena ese sistema de codificación en <code class="docutils literal notranslate"><span class="pre">buffer-file-coding-system</span></code>. Esto lo convierte en el predeterminado para las operaciones que escriben desde este búfer a un archivo, como <code class="docutils literal notranslate"><span class="pre">save-buffer</span></code> y <code class="docutils literal notranslate"><span class="pre">write-region</span></code>. Puede especificar un sistema de codificación diferente para la salida de archivos desde el búfer usando <code class="docutils literal notranslate"><span class="pre">set-buffer-file-coding-system</span></code> (vea <a class="reference internal" href="#id12"><span class="std std-ref">23.9 Especificar un Sistema de Codificación para el Texto de un Archivo</span></a>).</p>
<p>Puede insertar cualquier carácter que Emacs soporte en cualquier búfer de Emacs, pero la mayoría de los sistemas de codificación sólo pueden manejar un subconjunto de estos caracteres. Por lo tanto, es posible que los caracteres que inserte no puedan ser codificados con el sistema de codificación que se usará para guardar el búfer. Por ejemplo, podría visitar un archivo de texto en polaco, codificado en <code class="docutils literal notranslate"><span class="pre">iso-8859-2</span></code>, y añadirle algunas palabras en ruso. Cuando guarde ese búfer, Emacs no podrá usar el valor actual de <code class="docutils literal notranslate"><span class="pre">buffer-file-coding-system</span></code>, porque los caracteres que añadió no pueden ser codificados por ese sistema de codificación.</p>
<p>Cuando ocurre esto, Emacs prueba el sistema de codificación más preferido (establecido por <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">prefer-coding-system</span></code> o <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-language-environment</span></code>). Si ese sistema de codificación puede codificar con seguridad todos los caracteres del búfer, Emacs lo usa, y almacena su valor en <code class="docutils literal notranslate"><span class="pre">buffer-file-coding-system</span></code>. Si no, Emacs muestra una lista de sistemas de codificación adecuados para codificar el contenido del búfer, y le pide que elija uno de esos sistemas de codificación.</p>
<p>Si inserta los caracteres inadecuados en un mensaje de correo, Emacs se comporta de forma un poco diferente. Adicionalmente comprueba si el sistema de codificación más preferido está recomendado para usar en mensajes MIME; si no es así, le informa de este hecho y le pregunta por otro sistema de codificación. Esto se hace para que no envíe inadvertidamente un mensaje codificado de forma que el software de correo de su destinatario tenga dificultades para descodificarlo. (Todavía puede usar un sistema de codificación inadecuado si introduce su nombre en la pregunta).</p>
<p>Cuando envías un mensaje de correo (ver Enviando Correo), Emacs tiene cuatro maneras diferentes de determinar el sistema de codificación a usar para codificar el texto del mensaje. Primero prueba con el valor propio del búfer de sistema de codificación del archivo del búfer, si no es nulo. En segundo lugar, usa el valor de sendmail-coding-system, si no es nulo. En tercer lugar, usa el valor de default-sendmail-coding-system. Si estos tres valores son nulos, Emacs codifica el correo saliente usando el sistema de codificación por defecto para archivos nuevos (es decir, el valor por defecto de buffer-file-coding-system), que es controlado por la elección del entorno de lenguaje.</p>
<p>Cuando envía un mensaje de correo (ver <a class="reference internal" href="33_EnvioDeCorreo.html#id1"><span class="std std-ref">33 Envío de Correo</span></a>), Emacs tiene cuatro maneras diferentes de determinar el sistema de codificación a usar para codificar el texto del mensaje. Primero pruebe con el valor propio del búfer de sistema de codificación del archivo del búfer, si no es nulo. En segundo lugar, use el valor de <code class="docutils literal notranslate"><span class="pre">sendmail-coding-system</span></code>, si no es nulo. En tercer lugar, use el valor de <code class="docutils literal notranslate"><span class="pre">default-sendmail-coding-system</span></code>. Si estos tres valores son nulos, Emacs codifica el correo saliente usando el sistema de codificación por defecto para archivos nuevos (es decir, el valor por defecto de <code class="docutils literal notranslate"><span class="pre">buffer-file-coding-system</span></code>), que es controlado por la elección del entorno de lenguaje.</p>
</section>
<section id="especificar-un-sistema-de-codificacion-para-el-texto-de-un-archivo">
<span id="id10"></span><h2>23.9 Especificar un Sistema de Codificación para el Texto de un Archivo<a class="headerlink" href="#especificar-un-sistema-de-codificacion-para-el-texto-de-un-archivo" title="Link to this heading"></a></h2>
<span id="id12"></span><h2>23.9 Especificar un Sistema de Codificación para el Texto de un Archivo<a class="headerlink" href="#especificar-un-sistema-de-codificacion-para-el-texto-de-un-archivo" title="Link to this heading"></a></h2>
<p>En los casos en los que Emacs no elige automáticamente el sistema de codificación adecuado para el contenido de un archivo, puede usar estos comandos para especificar uno:</p>
<dl class="simple">
<dt>C-x RET f codificación RET</dt><dd><p>Usa la codificación del sistema para guardar o volver a visitar el archivo en el búfer actual (set-buffer-file-coding-system).</p>
</dd>
<dt>C-x RET c coding RET</dt><dd><p>Especifica la codificación del sistema de codificación para el comando inmediatamente siguiente (universal-coding-system-argument).</p>
</dd>
<dt>C-x RET r coding RET</dt><dd><p>Revierte el archivo actual usando el sistema de codificación (revert-búfer-with-coding-system).</p>
</dd>
<dt>M-x recode-region RET right RET wrong RET</dt><dd><p>Convierte una región que se descodificó usando un sistema de codificación incorrecto, descodificándola y usando en su lugar el sistema de codificación correcto.</p>
</dd>
</dl>
<p>El comando C-x RET f (set-buffer-file-coding-system) establece el sistema de codificación de archivos para el búfer actual (es decir, el sistema de codificación que se usará al guardar o revertir el archivo). El sistema de codificación se especifica usando el minibúfer. También puede invocar este comando haciendo clic con el ratón-3 en el indicador del sistema de codificación en la línea de modo (véase La línea de Modo).</p>
<p>Si especifica un sistema de codificación que no puede manejar todos los caracteres del búfer, Emacs le advertirá sobre los caracteres problemáticos, y le pedirá que elija otro sistema de codificación, cuando intente guardar el búfer (vea Elegir Sistemas de Codificación para la Salida).</p>
<p>También puede usar este comando para especificar la conversión de final de línea (vea conversión de final de línea) para codificar el búfer actual. Por ejemplo, C-x RET f dos RET hará que Emacs guarde el texto del búfer actual con retorno de carro estilo DOS seguido de finales de línea con salto de línea.</p>
<p>Otra forma de especificar el sistema de codificación de un archivo es cuando se visita el archivo. Primero use el comando C-x RET c (universal-coding-system-argument); este comando usa el minibúfer para leer un nombre de sistema de codificación. Después de salir del minibúfer, el sistema de codificación especificado se usa para el comando inmediatamente siguiente.</p>
<p>Así, por ejemplo, si el comando inmediatamente siguiente es C-x C-f, lee el archivo usando ese sistema de codificación (y registra el sistema de codificación para cuando guarde el archivo más tarde). O si el comando inmediatamente siguiente es C-x C-w, escribe el archivo usando ese sistema de codificación. Cuando se especifica el sistema de codificación para guardar de esta manera, en lugar de con C-x RET f, no hay advertencia si el búfer contiene caracteres que el sistema de codificación no puede manejar.</p>
<p>Otros comandos de archivo afectados por un sistema de codificación especificado son C-x i y C-x C-v, así como las variantes para otras ventanas de C-x C-f. C-x RET c también afecta a los comandos que inician subprocesos, incluyendo M-x shell (ver Ejecutar Comandos Shell desde Emacs). Si el comando inmediatamente siguiente no usa el sistema de codificación, entonces C-x RET c finalmente no tiene efecto.</p>
<p>Una forma sencilla de visitar un archivo sin conversión es con el comando M-x find-file-literally. Véase Visitar Archivos.</p>
<p>El valor por defecto de la variable buffer-file-coding-system especifica la elección del sistema de codificación que se puede usar cuando se crea un nuevo archivo. Se aplica cuando se encuentra un nuevo archivo, y cuando se puede crear un búfer y luego guardarlo en un archivo. Seleccionar un entorno de lenguaje típicamente establece esta variable a una buena elección de sistema de codificación por defecto para ese entorno de lenguaje.</p>
<p>Si visita un archivo con un sistema de codificación incorrecto, puede corregirlo con C-x RET r (revert-búfer-with-coding-system). Esto visita el archivo actual de nuevo, usando un sistema de codificación que usted especifique.</p>
<p>Si un trozo de texto ya ha sido insertado en un búfer usando un sistema de codificación incorrecto, puede rehacer la decodificación del mismo usando M-x recode-region. Esta opción le preguntará cuál es el sistema de codificación correcto y, a continuación, cuál es el sistema de codificación incorrecto que se ha usado, y realizará la conversión. Primero codifica la región usando el sistema de codificación incorrecto, y luego la decodifica de nuevo usando el sistema de codificación correcto.</p>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">f</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">f</span></code> <em>codificación</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Usa la <em>codificación</em> del sistema para guardar o volver a visitar el archivo en el búfer actual (<code class="docutils literal notranslate"><span class="pre">set-buffer-file-coding-system</span></code>).</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">c</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">c</span></code> <em>codificaión</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Especifica la <em>codificación</em> del sistema de codificación para el comando inmediatamente siguiente
(<code class="docutils literal notranslate"><span class="pre">universal-coding-system-argument</span></code>).</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">r</span></code> <em>codificación</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Revierte el archivo actual usando el sistema de <em>codificación</em> (<code class="docutils literal notranslate"><span class="pre">revert-búfer-with-coding-system</span></code>).</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">recode-region</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>correcto</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>erróneo</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">recode-region</span> <span class="pre">RET</span></code> <em>correcto</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code> <em>erróneo</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Convierte una región que se descodificó usando un sistema de codificación <em>erróneo</em>, descodificándola y usando en su lugar el sistema
de codificación <em>correcto</em>.</p>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">f</span></code> (<code class="docutils literal notranslate"><span class="pre">set-buffer-file-coding-system</span></code>) establece el sistema de codificación de archivos para el búfer actual (es decir, el sistema de codificación que se usará al guardar o revertir el archivo). El sistema de codificación se especifica usando el minibúfer. También puede invocar este comando haciendo clic con <code class="docutils literal notranslate"><span class="pre">ratón-3</span></code> en el indicador del sistema de codificación en la línea de modo (véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>).</p>
<p>Si especifica un sistema de codificación que no puede manejar todos los caracteres del búfer, Emacs le advertirá sobre los caracteres problemáticos, y le pedirá que elija otro sistema de codificación, cuando intente guardar el búfer (vea <a class="reference internal" href="#id11"><span class="std std-ref">23.8. Elección de Sistemas de Codificación para la Salida</span></a>).</p>
<p>También puede usar este comando para especificar la conversión de final de línea (vea conversión de final de línea) para codificar el búfer actual. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">f</span> <span class="pre">dos</span> <span class="pre">RET</span></code> hará que Emacs guarde el texto del búfer actual con retorno de carro estilo DOS seguido de finales de línea con salto de línea.</p>
<p>Otra forma de especificar el sistema de codificación de un archivo es cuando se visita el archivo. Primero use el comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">c</span></code> (<code class="docutils literal notranslate"><span class="pre">universal-coding-system-argument</span></code>); este comando usa el minibúfer para leer un nombre de sistema de codificación. Después de salir del minibúfer, el sistema de codificación especificado se usa para el <em>comando inmediatamente siguiente</em>.</p>
<p>Así, por ejemplo, si el comando inmediatamente siguiente es <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code>, lee el archivo usando ese sistema de codificación (y registra el sistema de codificación para cuando guarde el archivo más tarde). O si el comando inmediatamente siguiente es <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code>, escribe el archivo usando ese sistema de codificación. Cuando se especifica el sistema de codificación para guardar de esta manera, en lugar de con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">f</span></code>, no hay advertencia si el búfer contiene caracteres que el sistema de codificación no puede manejar.</p>
<p>Otros comandos de archivo afectados por un sistema de codificación especificado son <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">i</span></code> y <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-v</span></code>, así como las variantes para otras ventanas de <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span></code>. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">c</span></code> también afecta a los comandos que inician subprocesos, incluyendo <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">shell</span></code> (ver <a class="reference internal" href="39_ComndShellEmacs.html#id1"><span class="std std-ref">39 Ejecución de comandos de shell desde Emacs</span></a>). Si el comando inmediatamente siguiente no usa el sistema de codificación, entonces <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">c</span></code> finalmente no tiene efecto.</p>
<p>Una forma sencilla de visitar un archivo sin conversión es con el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">find-file-literally</span></code>. Véase <a class="reference internal" href="19_ManejoArchivos.html#id3"><span class="std std-ref">19.2 Visitar Archivos</span></a>.</p>
<p>El valor por defecto de la variable <code class="docutils literal notranslate"><span class="pre">buffer-file-coding-system</span></code> especifica la elección del sistema de codificación que se puede usar cuando se crea un nuevo archivo. Se aplica cuando se encuentra un nuevo archivo, y cuando se puede crear un búfer y luego guardarlo en un archivo. Seleccionar un entorno de lenguaje típicamente establece esta variable a una buena elección de sistema de codificación por defecto para ese entorno de lenguaje.</p>
<p>Si visita un archivo con un sistema de codificación incorrecto, puede corregirlo con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">r</span></code> (<code class="docutils literal notranslate"><span class="pre">revert-búfer-with-coding-system</span></code>). Esto visita el archivo actual de nuevo, usando un sistema de codificación que Usted especifique.</p>
<p>Si un trozo de texto ya ha sido insertado en un búfer usando un sistema de codificación incorrecto, puede rehacer la decodificación del mismo usando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">recode-region</span></code>. Esta opción le preguntará cuál es el sistema de codificación correcto y, a continuación, cuál es el sistema de codificación incorrecto que se ha usado, y realizará la conversión. Primero codifica la región usando el sistema de codificación <em>incorrecto</em>, y luego la decodifica de nuevo usando el sistema de codificación <em>correcto</em>.</p>
</section>
<section id="sistemas-de-codificacion-para-la-comunicacion-interprocesos">
<span id="id11"></span><h2>23.10 Sistemas de Codificación para la Comunicación Interprocesos<a class="headerlink" href="#sistemas-de-codificacion-para-la-comunicacion-interprocesos" title="Link to this heading"></a></h2>
<section id="sistemas-codificacion-para-la-comunicacion-interprocesos">
<span id="id13"></span><h2>23.10 Sistemas Codificación para la Comunicación Interprocesos<a class="headerlink" href="#sistemas-codificacion-para-la-comunicacion-interprocesos" title="Link to this heading"></a></h2>
<p>Esta sección explica cómo especificar sistemas de codificación para usar en la comunicación con otros procesos.</p>
<dl class="simple">
<dt>C-x RET x coding RET</dt><dd><p>Usa la codificación del sistema para transferir selecciones a y desde otras aplicaciones gráficas (set-selection-coding-system).</p>
</dd>
<dt>C-x RET X coding RET</dt><dd><p>Usa la codificación del sistema para transferir una selección-la siguiente-hacia o desde otra aplicación gráfica (set-next-selection-coding-system).</p>
</dd>
<dt>C-x RET p input-coding RET output-coding RET</dt><dd><p>Usa los sistemas de codificación input-coding y output-coding para la entrada y salida del subproceso en el búfer actual (set-buffer-process-coding-system).</p>
</dd>
</dl>
<p>El comando C-x RET x (set-selection-coding-system) especifica el sistema de codificación para enviar el texto seleccionado a otras aplicaciones de ventanas, y para recibir el texto de las selecciones realizadas en otras aplicaciones. Este comando se aplica a todas las selecciones posteriores, hasta que se anula usando el comando de nuevo. El comando C-x RET X (set-next-selection-coding-system) especifica el sistema de codificación para la siguiente selección hecha en Emacs o leída por Emacs.</p>
<p>La variable x-select-request-type especifica el tipo de datos a solicitar al sistema X Window para recibir selecciones de texto de otras aplicaciones. Si el valor es nil (por defecto), Emacs intenta UTF8_STRING y COMPOUND_TEXT, en este orden, y usa varios heurísticos para elegir el más apropiado de los dos resultados; si ninguno de ellos tiene éxito, Emacs vuelve a STRING. Si el valor de x-select-request-type es uno de los símbolos COMPOUND_TEXT, UTF8_STRING, STRING, o TEXT, Emacs usa sólo ese tipo de petición. Si el valor es una lista de algunos de estos símbolos, Emacs intenta sólo los tipos de petición de la lista, en orden, hasta que uno de ellos tiene éxito, o hasta que la lista se agota.</p>
<p>El comando C-x RET p (set-buffer-process-coding-system) especifica el sistema de codificación para la entrada y salida a un subproceso. Este comando se aplica al búfer actual; normalmente, cada subproceso tiene su propio búfer, por lo que puede usar este comando para especificar la traducción hacia y desde un subproceso concreto dando el comando en el búfer correspondiente.</p>
<p>También puede usar C-x RET c (universal-coding-system-argument) justo antes del comando que ejecuta o inicia un subproceso, para especificar el sistema de codificación para comunicarse con ese subproceso. Véase Especificación de un sistema de codificación para texto de archivo.</p>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">x</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">x</span></code> <em>codificación</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Usa la <em>codificación</em> del sistema para transferir selecciones a y desde otras aplicaciones gráficas (<code class="docutils literal notranslate"><span class="pre">set-selection-coding-system</span></code>).</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">X</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">X</span></code> <em>codificación</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Usa la <em>codificación</em> del sistema para transferir una selección -la siguiente- hacia o desde otra aplicación gráfica
(<code class="docutils literal notranslate"><span class="pre">set-next-selection-coding-system</span></code>).</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">p</kbd> <em>codificación-entrada</em> <code class="docutils literal notranslate"><span class="pre">RETURN</span></code> <em>codificación-salida</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">p</span></code> <em>codificación-entrada</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code> <em>codificación-salida</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Usa los sistemas de codificación <em>codificación-entrada</em> y <em>codificación-salida</em> para la entrada y salida del subproceso en el búfer
actual (<code class="docutils literal notranslate"><span class="pre">set-buffer-process-coding-system</span></code>).</p>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">x</span></code> (<code class="docutils literal notranslate"><span class="pre">set-selection-coding-system</span></code>) especifica el sistema de codificación para enviar el texto seleccionado a otras aplicaciones de ventanas, y para recibir el texto de las selecciones realizadas en otras aplicaciones. Este comando se aplica a todas las selecciones posteriores, hasta que se anula usando el comando de nuevo. El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">X</span></code> (<code class="docutils literal notranslate"><span class="pre">set-next-selection-coding-system</span></code>) especifica el sistema de codificación para la siguiente selección hecha en Emacs o leída por Emacs.</p>
<p>La variable <code class="docutils literal notranslate"><span class="pre">x-select-request-type</span></code> especifica el tipo de datos a solicitar al sistema X Window para recibir selecciones de texto de otras aplicaciones. Si el valor es <code class="docutils literal notranslate"><span class="pre">nil</span></code> (por defecto), Emacs intenta <code class="docutils literal notranslate"><span class="pre">UTF8_STRING</span> <span class="pre">y</span> <span class="pre">COMPOUND_TEXT</span></code>, en este orden, y usa varios heurísticos para elegir el más apropiado de los dos resultados; si ninguno de ellos tiene éxito, Emacs vuelve a <code class="docutils literal notranslate"><span class="pre">STRING</span></code>. Si el valor de <code class="docutils literal notranslate"><span class="pre">x-select-request-type</span></code> es uno de los símbolos <code class="docutils literal notranslate"><span class="pre">COMPOUND_TEXT</span></code>, <code class="docutils literal notranslate"><span class="pre">UTF8_STRING</span></code>, <code class="docutils literal notranslate"><span class="pre">STRING</span></code>, o <code class="docutils literal notranslate"><span class="pre">TEXT</span></code>, Emacs usa sólo ese tipo de petición. Si el valor es una lista de algunos de estos símbolos, el Editor intenta sólo los tipos de petición de la lista, en orden, hasta que uno de ellos tiene éxito, o hasta que la lista se agota.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">p</span></code> (<code class="docutils literal notranslate"><span class="pre">set-buffer-process-coding-system</span></code>) especifica el sistema de codificación para la entrada y salida a un subproceso. Este comando se aplica al búfer actual; normalmente, cada subproceso tiene su propio búfer, por lo que puede usar este comando para especificar la traducción hacia y desde un subproceso concreto dando el comando en el búfer correspondiente.</p>
<p>También puede usar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">c</span></code> (<code class="docutils literal notranslate"><span class="pre">universal-coding-system-argument</span></code>) justo antes del comando que ejecuta o inicia un subproceso, para especificar el sistema de codificación para comunicarse con ese subproceso. Véase <a class="reference internal" href="#id12"><span class="std std-ref">23.9 Especificar un Sistema de Codificación para el Texto de un Archivo</span></a>.</p>
<p>El valor predeterminado para la traducción de la entrada y salida del proceso depende del entorno lingüístico actual.</p>
<p>La variable locale-coding-system especifica un sistema de codificación a usar cuando se codifican y decodifican cadenas del sistema tales como mensajes de error del sistema y formatos format-time-string y marcas de tiempo. Ese sistema de codificación también puede usarse para decodificar entradas de teclado no ASCII en el sistema X Window y también se usará para codificar el texto enviado a la salida estándar y a los flujos de error en el modo por lotes. Debe elegir un sistema de codificación que sea compatible con la representación de texto del sistema subyacente, que normalmente se especifica mediante una de las variables de entorno LC_ALL, LC_CTYPE y LANG. (La primera, en el orden especificado anteriormente, cuyo valor no esté vacío es la que determina la representación de texto).</p>
<p>La variable <code class="docutils literal notranslate"><span class="pre">locale-coding-system</span></code> especifica un sistema de codificación a usar cuando se codifican y decodifican cadenas del sistema tales como mensajes de error del sistema y formatos <code class="docutils literal notranslate"><span class="pre">format-time-string</span></code> y marcas de tiempo. Ese sistema de codificación también puede usarse para decodificar entradas de teclado no ASCII en el sistema X Window y también se usará para codificar el texto enviado a la salida estándar y a los flujos de error en el modo por lotes. Debe elegir un sistema de codificación que sea compatible con la representación de texto del sistema subyacente, que normalmente se especifica mediante una de las variables de entorno <code class="docutils literal notranslate"><span class="pre">LC_ALL</span></code>, <code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code> y <code class="docutils literal notranslate"><span class="pre">LANG</span></code>. (La primera, en el orden especificado anteriormente, cuyo valor no esté vacío es la que determina la representación de texto).</p>
</section>
<section id="sistemas-de-codificacion-de-nombres-de-archivos">
<span id="id12"></span><h2>23.11 Sistemas de Codificación de Nombres de Archivos<a class="headerlink" href="#sistemas-de-codificacion-de-nombres-de-archivos" title="Link to this heading"></a></h2>
<dl class="simple">
<dt>C-x RET F coding RET</dt><dd><p>Usa el sistema de codificación para codificar y descodificar nombres de archivo (set-file-name-coding-system).</p>
</dd>
</dl>
<p>El comando C-x RET F (set-file-name-coding-system) especifica un sistema de codificación a usar para codificar los nombres de archivo. No tiene ningún efecto sobre la lectura y escritura del contenido de los archivos.</p>
<p>De hecho, todo lo que hace este comando es establecer el valor de la variable file-name-coding-system (nombre-de-archivo-sistema-de-codificación). Si establece la variable a un nombre de sistema de codificación (como un símbolo Lisp o una cadena), Emacs codifica los nombres de archivo usando ese sistema de codificación para todas las operaciones de archivo. Esto hace posible usar caracteres no ASCII en los nombres de archivo-o, al menos, aquellos caracteres no ASCII que el sistema de codificación especificado puede codificar.</p>
<p>Si file-name-coding-system es nil, Emacs usa un sistema de codificación por defecto determinado por el entorno de lenguaje seleccionado, y almacenado en la variable default-file-name-coding-system (normalmente UTF-8).</p>
<p>Cuando Emacs se ejecuta en versiones de MS-Windows descendientes de la familia NT (Windows 2000, XP y todas las versiones posteriores), el valor de file-name-coding-system se ignora en gran medida, ya que Emacs usa por defecto APIs que permiten pasar nombres de archivo Unicode directamente. Por el contrario, en Windows 9X, los nombres de archivo se codifican usando file-name-coding-system, que debe establecerse a la codepage (ver codepage) pertinente para la configuración regional actual del sistema. El valor de la variable w32-unicode-filenames controla si Emacs usa las APIs Unicode cuando llama a funciones del SO que aceptan nombres de archivo. Esta variable es establecida por el código de inicio a nil en Windows 9X, y a t en versiones más recientes de MS-Windows.</p>
<p>Advertencia: si cambia el sistema de codificación de nombres de archivo (o el entorno de lenguaje) en medio de una sesión de Emacs, pueden producirse problemas si ya ha visitado archivos cuyos nombres se codificaron usando el sistema de codificación anterior y no pueden codificarse (o se codifican de forma diferente) bajo el nuevo sistema de codificación. Si intenta guardar uno de estos búferes con el nombre de archivo visitado, es posible que al guardar se use un nombre de archivo incorrecto o que se produzca un error. En tal caso, use C-x C-w para especificar un nuevo nombre de archivo para ese búfer.</p>
<p>Si se produce un error al codificar un nombre de archivo, use el comando M-x recode-file-name para cambiar el sistema de codificación del nombre de archivo. Este comando solicita un nombre de archivo existente, su antiguo sistema de codificación y el sistema de codificación al que desea convertirlo.</p>
<span id="id14"></span><h2>23.11 Sistemas de Codificación de Nombres de Archivos<a class="headerlink" href="#sistemas-de-codificacion-de-nombres-de-archivos" title="Link to this heading"></a></h2>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">F</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">F</span></code> <em>codificación</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Usa el sistema de codificación para codificar y descodificar nombres de archivo (<code class="docutils literal notranslate"><span class="pre">set-file-name-coding-system</span></code>).</p>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">F</span></code> (<code class="docutils literal notranslate"><span class="pre">set-file-name-coding-system</span></code>) especifica un sistema de codificación a usar para codificar los nombres de archivo. No tiene ningún efecto sobre la lectura y escritura del contenido de los archivos.</p>
<p>De hecho, todo lo que hace este comando es establecer el valor de la variable <code class="docutils literal notranslate"><span class="pre">file-name-coding-system</span></code> (nombre-de-archivo-sistema-de-codificación). Si establece la variable a un nombre de sistema de codificación (como un símbolo Lisp o una cadena), Emacs codifica los nombres de archivo usando ese sistema de codificación para todas las operaciones de archivo. Esto hace posible usar caracteres no ASCII en los nombres de archivo-o, al menos, aquellos caracteres no ASCII que el sistema de codificación especificado puede codificar.</p>
<p>Si <code class="docutils literal notranslate"><span class="pre">file-name-coding-system</span></code> es <code class="docutils literal notranslate"><span class="pre">nil</span></code>, Emacs usa un sistema de codificación por defecto determinado por el entorno de lenguaje seleccionado, y almacenado en la variable <code class="docutils literal notranslate"><span class="pre">default-file-name-coding-system</span></code> (normalmente <code class="docutils literal notranslate"><span class="pre">UTF-8</span></code>).</p>
<p>Cuando Emacs se ejecuta en versiones de MS-Windows descendientes de la familia NT (Windows 2000, XP y todas las versiones posteriores), el valor de <code class="docutils literal notranslate"><span class="pre">file-name-coding-system</span></code> se ignora en gran medida, ya que Emacs usa por defecto APIs que permiten pasar nombres de archivo Unicode directamente. Por el contrario, en Windows 9X, los nombres de archivo se codifican usando <code class="docutils literal notranslate"><span class="pre">file-name-coding-system</span></code>, que debe establecerse a la codepage (ver <a class="reference internal" href="#id6"><span class="std std-ref">23.5 Sistemas de Codificación</span></a>) pertinente para la configuración regional actual del sistema. El valor de la variable <code class="docutils literal notranslate"><span class="pre">w32-unicode-filenames</span></code> controla si Emacs usa las APIs Unicode cuando llama a funciones del SO que aceptan nombres de archivo. Esta variable es establecida por el código de inicio a nil en Windows 9X, y a t en versiones más recientes de MS-Windows.</p>
<p>Si se produce un error al codificar un nombre de archivo, use el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">recode-file-name</span></code> para cambiar el sistema de codificación del nombre de archivo. Este comando solicita un nombre de archivo existente, su antiguo sistema de codificación y el sistema de codificación al que desea convertirlo.</p>
</section>
<section id="sistemas-de-codificacion-para-la-entrada-de-teclado-x">
<span id="id13"></span><h2>23.12. Sistemas de Codificación para la Entrada de Teclado X<a class="headerlink" href="#sistemas-de-codificacion-para-la-entrada-de-teclado-x" title="Link to this heading"></a></h2>
<p>Los métodos de entrada bajo el sistema X Window especifican sus propios sistemas de codificación que deben usarse para decodificar la entrada del teclado. Por defecto, Emacs determina el sistema de codificación usado para cada método de entrada automáticamente al establecer la conexión con el servidor del método de entrada, y usa ese sistema de codificación específico para decodificar la entrada del teclado. Sin embargo, esa determinación puede fallar a veces; en esa situación, se usa en su lugar el sistema de codificación locale (ver Sistemas de Codificación para la Comunicación entre Procesos).</p>
<p>Si el método de entrada no anuncia correctamente el sistema de codificación que usa para codificar el texto, entonces el sistema de codificación usado por Emacs para decodificar el texto de los métodos de entrada debe ser especificado manualmente. El valor de la variable x-input-coding-system, cuando se establece en un símbolo, se usa incondicionalmente como el sistema de codificación usado para decodificar la entrada del teclado desde los métodos de entrada.</p>
<span id="id15"></span><h2>23.12. Sistemas de Codificación para la Entrada de Teclado X<a class="headerlink" href="#sistemas-de-codificacion-para-la-entrada-de-teclado-x" title="Link to this heading"></a></h2>
<p>Los métodos de entrada bajo el sistema X Window especifican sus propios sistemas de codificación que deben usarse para decodificar la entrada del teclado. Por defecto, Emacs determina el sistema de codificación usado para cada método de entrada automáticamente al establecer la conexión con el servidor del método de entrada, y usa ese sistema de codificación específico para decodificar la entrada del teclado. Sin embargo, esa determinación puede fallar a veces; en esa situación, se usa en su lugar el sistema de codificación locale (ver <a class="reference internal" href="#id13"><span class="std std-ref">23.10 Sistemas Codificación para la Comunicación Interprocesos</span></a>).</p>
<p>Si el método de entrada no anuncia correctamente el sistema de codificación que usa para codificar el texto, entonces el sistema de codificación usado por Emacs para decodificar el texto de los métodos de entrada debe ser especificado manualmente. El valor de la variable <code class="docutils literal notranslate"><span class="pre">x-input-coding</span></code>-system, cuando se establece en un símbolo, se usa incondicionalmente como el sistema de codificación usado para decodificar la entrada del teclado desde los métodos de entrada.</p>
</section>
<section id="sistemas-de-codificacion-para-e-s-de-terminal">
<span id="id14"></span><h2>23.13 Sistemas de Codificación para E/S de Terminal<a class="headerlink" href="#sistemas-de-codificacion-para-e-s-de-terminal" title="Link to this heading"></a></h2>
<dl class="simple">
<dt>C-x RET t coding RET</dt><dd><p>Usa la codificación del sistema para la salida del terminal (set-terminal-coding-system).</p>
</dd>
<dt>C-x RET k coding RET</dt><dd><p>Usa la codificación del sistema para la entrada del teclado (set-keyboard-coding-system).</p>
</dd>
</dl>
<p>El comando C-x RET t (set-terminal-coding-system) especifica el sistema de codificación para la salida del terminal. Si especifica un código de caracteres para la salida del terminal, todos los caracteres emitidos al terminal se traducen a ese sistema de codificación.</p>
<p>Esta función es útil para algunos terminales de sólo caracteres construidos para soportar idiomas o conjuntos de caracteres específicos, por ejemplo, terminales europeos que soportan uno de los conjuntos de caracteres latinos ISO. Es necesario especificar el sistema de codificación del terminal cuando se usa texto multibyte, para que Emacs sepa qué caracteres puede manejar realmente el terminal.</p>
<p>Por defecto, la salida al terminal no se traduce en absoluto, a menos que Emacs pueda deducir el sistema de codificación apropiado de tu tipo de terminal o de tu especificación de localización (ver Entornos de Lenguaje).</p>
<p>El comando C-x RET k (set-keyboard-coding-system), o la variable keyboard-coding-system, especifica el sistema de codificación para la entrada del teclado. La traducción del código de caracteres de la entrada del teclado es útil para terminales con teclas que envían caracteres gráficos no ASCII, por ejemplo, algunos terminales diseñados para ISO Latin-1 o subconjuntos de ésta.</p>
<p>Por defecto, la entrada del teclado se traduce en función de la configuración regional del sistema. Si su terminal no admite realmente la codificación implícita en su configuración regional (por ejemplo, si descubre que inserta un carácter no ASCII al escribir M-i), deberá establecer keyboard-coding-system en nil para desactivar la codificación. Para ello, escriba</p>
<span id="id16"></span><h2>23.13 Sistemas de Codificación para E/S de Terminal<a class="headerlink" href="#sistemas-de-codificacion-para-e-s-de-terminal" title="Link to this heading"></a></h2>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">t</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">t</span></code> <em>codificación</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>(set-keyboard-coding-system nil)</p>
<div><p>Usa la codificación del sistema para la salida del terminal (<code class="docutils literal notranslate"><span class="pre">set-terminal-coding-system</span></code>).</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">k</kbd> <em>codificación</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">k</span></code> <em>codificación</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Usa la codificación del sistema para la entrada del teclado (<code class="docutils literal notranslate"><span class="pre">set-keyboard-coding-system</span></code>).</p>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">t</span></code> (<code class="docutils literal notranslate"><span class="pre">set-terminal-coding-system</span></code>) especifica el sistema de codificación para la salida del terminal. Si especifica un código de caracteres para la salida del terminal, todos los caracteres emitidos al terminal se traducen a ese sistema de codificación.</p>
<p>Esta función es útil para algunos terminales de sólo caracteres construidos para soportar idiomas o conjuntos de caracteres específicos, por ejemplo, terminales europeos que soportan uno de los conjuntos de caracteres latinos ISO. Es necesario especificar el sistema de codificación del terminal cuando se usa texto multibyte, para que Emacs sepa qué caracteres puede manejar realmente el terminal.</p>
<p>Por defecto, la salida al terminal no se traduce en absoluto, a menos que Emacs pueda deducir el sistema de codificación apropiado de tu tipo de terminal o de tu especificación de localización (ver <a class="reference internal" href="#id4"><span class="std std-ref">23.3 Métodos de Entrada</span></a>).</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">RET</span> <span class="pre">k</span></code> (<code class="docutils literal notranslate"><span class="pre">set-keyboard-coding-system</span></code>), o la variable <code class="docutils literal notranslate"><span class="pre">keyboard-coding-system</span></code>, especifica el sistema de codificación para la entrada del teclado. La traducción del código de caracteres de la entrada del teclado es útil para terminales con teclas que envían caracteres gráficos no ASCII, por ejemplo, algunos terminales diseñados para ISO Latin-1 o subconjuntos de ésta.</p>
<p>Por defecto, la entrada del teclado se traduce en función de la configuración regional del sistema. Si su terminal no admite realmente la codificación implícita en su configuración regional (por ejemplo, si descubre que inserta un carácter no ASCII al escribir <code class="docutils literal notranslate"><span class="pre">M-i</span></code>), deberá establecer <code class="docutils literal notranslate"><span class="pre">keyboard-coding-system</span></code> en <code class="docutils literal notranslate"><span class="pre">nil</span></code> para desactivar la codificación. Para ello, escriba</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">keyboard</span><span class="o">-</span><span class="n">coding</span><span class="o">-</span><span class="n">system</span> <span class="n">nil</span><span class="p">)</span>
</pre></div>
</div>
<p>en su archivo init.</p>
<p>Establecer keyboard-coding-system no tiene efecto en MS-Windows, excepto en sistemas Windows 9X antiguos, en cuyo caso la codificación debe coincidir con la actual codepage de la consola de MS-Windows, que puede cambiarse llamando a w32-set-console-codepage.</p>
<p>Establecer <code class="docutils literal notranslate"><span class="pre">keyboard-coding-system</span></code> no tiene efecto en MS-Windows, excepto en sistemas Windows 9X antiguos, en cuyo caso la codificación debe coincidir con la actual codepage de la consola de MS-Windows, que puede cambiarse llamando a <code class="docutils literal notranslate"><span class="pre">w32-set-console-codepage</span></code>.</p>
<p>Existe una similitud entre usar una traducción del sistema de codificación para la entrada del teclado, y usar un método de entrada: ambos definen secuencias de entrada del teclado que se traducen en caracteres individuales. Sin embargo, los métodos de entrada están diseñados para usarlos de forma interactiva por humanos, y las secuencias que se traducen suelen ser secuencias de caracteres de impresión ASCII. Los sistemas de codificación suelen traducir secuencias de caracteres no gráficos.</p>
</section>
<section id="juegos-de-fuentes">
<span id="id15"></span><h2>23.14 Juegos de fuentes<a class="headerlink" href="#juegos-de-fuentes" title="Link to this heading"></a></h2>
<p>Una fuente normalmente define formas para un único alfabeto o script. Por lo tanto, mostrar todo el rango de scripts que Emacs soporta requiere una colección de muchas fuentes. En Emacs, tal colección se llama conjunto de fuentes. Un conjunto de fuentes está definido por una lista de especificaciones de fuentes, cada una asignada para manejar un rango de códigos de caracteres, y puede recurrir a otro conjunto de fuentes para caracteres que no están cubiertos por las fuentes que especifica.</p>
<p>Cada fontset tiene un nombre, como una fuente. Sin embargo, mientras que las fuentes se almacenan en el sistema y los nombres de las fuentes disponibles los define el sistema, los conjuntos de fuentes se definen dentro del propio Emacs. Una vez que ha definido un fontset, puede usarlo dentro de Emacs especificando su nombre, en cualquier lugar donde podría usar una sola fuente. Por supuesto, los conjuntos de fuentes de Emacs pueden usar sólo las fuentes que soporta tu sistema. Si algunos caracteres aparecen en la pantalla como cajas vacías o códigos hexadecimales, esto significa que el juego de fuentes que se está usando para ellos no tiene un tipo de letra para esos caracteres. En este caso, o si los caracteres se muestran, pero no tan bien como le gustaría, puede que necesite instalar fuentes adicionales o modificar el juego de fuentes para usar fuentes específicas ya instaladas en su sistema (ver más abajo). Su sistema operativo puede tener fuentes opcionales que puede instalar; o puede instalar el paquete GNU Intlfonts, que incluye fuentes para la mayoría de los scripts soportados.10</p>
<p>Emacs crea automáticamente tres conjuntos de fuentes: el estándar, el de inicio y el predeterminado. El juego de fuentes por defecto es el más probable que tenga fuentes para una amplia variedad de caracteres no ASCII, y es la opción por defecto para los otros dos juegos de fuentes, y si estableces una fuente por defecto en lugar de un juego de fuentes. Sin embargo, no especifica los nombres de las familias de fuentes, por lo que los resultados pueden ser algo aleatorios si se usa directamente. Puede especificar un juego de fuentes concreto iniciando Emacs con la opción “-fn”. Por ejemplo,</p>
<blockquote>
<div><p>emacs -fn fontset-standard</p>
</div></blockquote>
<p>También puede especificar un conjunto de fuentes con el recurso “Font” (ver Opciones y Recursos X).</p>
<p>Si no se especifica un conjunto de fuentes para usar, Emacs usa una fuente ASCII, con “fontset-default” como alternativa para los caracteres que la fuente no cubre. El conjunto de fuentes estándar sólo se usa si se solicita explícitamente, a pesar de su nombre.</p>
<p>Para mostrar la información sobre un conjunto de fuentes específico, use el comando M-x describe-fontset. Este comando pide un nombre de juego de fuentes, por defecto el usado por el marco actual, y entonces muestra todos los subjuegos de caracteres y las fuentes asignadas a ellos en ese juego de fuentes. Para ver qué fuentes está usando Emacs en una sesión iniciada sin un juego de fuentes específico (que es lo que ocurre normalmente), escriba fontset-default RET en el prompt, o simplemente RET para describir el juego de fuentes usado por el marco actual.</p>
<p>Un juego de fuentes no especifica necesariamente una fuente para cada código de carácter. Si un juego de fuentes no especifica ninguna fuente para un carácter determinado, o si especifica una fuente que no existe en su sistema, no podrá mostrar ese carácter correctamente. En su lugar, mostrará el carácter como un código hexadecimal, un espacio en blanco o un recuadro vacío. (Ver Caracteres sin glifo, para más detalles.) O un fontset puede especificar una fuente para algún rango de caracteres, pero puede que no te guste su apariencia visual. Si esto ocurre, es posible que desee modificar su conjunto de fuentes; consulte Modificación de Conjuntos de Fuentes, para saber cómo hacerlo.</p>
<ol class="arabic simple" start="10">
<li><p>Si ejecuta Emacs en X, puede que necesite informar al servidor X sobre la ubicación de las fuentes recién instaladas con comandos como:</p></li>
</ol>
<blockquote>
<div><p>xset fp+ /usr/local/share/emacs/fonts
xset fp rehash</p>
</div></blockquote>
<section id="conjunto-de-fuentes-fontsets">
<span id="id17"></span><h2>23.14 Conjunto de fuentes (fontsets)<a class="headerlink" href="#conjunto-de-fuentes-fontsets" title="Link to this heading"></a></h2>
<p>Una fuente normalmente define formas para un único alfabeto o script. Por lo tanto, mostrar todo el rango de scripts que Emacs soporta requiere una colección de muchas fuentes. En Emacs, tal colección se llama <em>conjunto de fuentes</em> (fontsets). Un conjunto de fuentes está definido por una lista de especificaciones de fuentes, cada una asignada para manejar un rango de códigos de caracteres, y puede recurrir a otro conjunto de fuentes para caracteres que no están cubiertos por las fuentes que especifica.</p>
<p>Cada fontset tiene un nombre, como una fuente. Sin embargo, mientras que las fuentes se almacenan en el sistema y los nombres de las fuentes disponibles los define el sistema, los conjuntos de fuentes se definen dentro del propio Editor. Una vez que ha definido un conjunto de fuentes, puede usarlo dentro de Emacs especificando su nombre, en cualquier lugar donde podría usar una sola fuente. Por supuesto, los conjuntos de fuentes de Emacs pueden usar sólo las fuentes que soporta su sistema. Si algunos caracteres aparecen en la pantalla como cajas vacías o códigos hexadecimales, esto significa que el juego de fuentes que se está usando para ellos no tiene un tipo de letra para esos caracteres. En este caso, o si los caracteres se muestran, pero no tan bien como le gustaría, puede que necesite instalar fuentes adicionales o modificar el juego de fuentes para usar fuentes específicas ya instaladas en su sistema (ver más abajo). Su sistema operativo puede tener fuentes opcionales que puede instalar; o puede instalar el paquete GNU Intlfonts, que incluye fuentes para la mayoría de los scripts soportados. <a class="footnote-reference brackets" href="#id19" id="id18" role="doc-noteref"><span class="fn-bracket">[</span>10<span class="fn-bracket">]</span></a></p>
<p>Emacs crea automáticamente tres conjuntos de fuentes: el <em>estándar</em> (standard fontset), el de <em>inicio</em> (startup fontset) y el <em>predeterminado</em> (default fontset). El juego de fuentes por defecto es el más probable que tenga fuentes para una amplia variedad de caracteres no ASCII, y es la opción por defecto para los otros dos juegos de fuentes, y si establece una fuente por defecto en lugar de un juego de fuentes. Sin embargo, no especifica los nombres de las familias de fuentes, por lo que los resultados pueden ser algo aleatorios si se usa directamente. Puede especificar un juego de fuentes concreto iniciando Emacs con la opción <code class="docutils literal notranslate"><span class="pre">-fn</span></code>. Por ejemplo,</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">emacs</span> <span class="o">-</span><span class="n">fn</span> <span class="n">fontset</span><span class="o">-</span><span class="n">standard</span>
</pre></div>
</div>
<p>También puede especificar un conjunto de fuentes con el recurso <code class="docutils literal notranslate"><span class="pre">Font</span></code> (ver <a class="reference internal" href="ApendiceD.html#apendiced"><span class="std std-ref">Apéndice D Opciones y Recursos de X</span></a>).</p>
<p>Si no se especifica un conjunto de fuentes para usar, Emacs usa una fuente ASCII, con <code class="docutils literal notranslate"><span class="pre">fontset-default</span></code> como alternativa para los caracteres que la fuente no cubre. El conjunto de fuentes estándar sólo se usa si se solicita explícitamente, a pesar de su nombre.</p>
<p>Para mostrar la información sobre un conjunto de fuentes específico, use el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">describe-fontset</span></code>. Este comando pide un nombre de juego de fuentes, por defecto el usado por el marco actual, y entonces muestra todos los subjuegos de caracteres y las fuentes asignadas a ellos en ese juego de fuentes. Para ver qué fuentes está usando Emacs en una sesión iniciada sin un juego de fuentes específico (que es lo que ocurre normalmente), escriba <code class="docutils literal notranslate"><span class="pre">fontset-default</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">fontset-default</span> <span class="pre">RET</span></code>) en el prompt, o simplemente <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) para describir el juego de fuentes usado por el marco actual.</p>
<p>Un juego de fuentes no especifica necesariamente una fuente para cada código de carácter. Si un juego de fuentes no especifica ninguna fuente para un carácter determinado, o si especifica una fuente que no existe en su sistema, no podrá mostrar ese carácter correctamente. En su lugar, mostrará el carácter como un código hexadecimal, un espacio en blanco o un recuadro vacío. (Ver <a class="reference internal" href="15_ControlDisplay.html#id18"><span class="std std-ref">15.20 Cómo se Muestra el Texto</span></a>, para más detalles.) O un fontset puede especificar una fuente para algún rango de caracteres, pero puede que no te guste su apariencia visual. Si ocurre esto, es posible que desee modificar su conjunto de fuentes; consulte <a class="reference internal" href="#id21"><span class="std std-ref">23.16 Modificar Conjunto de Fuentes</span></a>, para saber cómo hacerlo.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id19" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id18">10</a><span class="fn-bracket">]</span></span>
<p>Si ejecuta Emacs en X, puede que necesite informar al servidor X sobre la ubicación de las fuentes recién instaladas con comandos como:</p>
</aside>
</aside>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">xset</span> <span class="n">fp</span><span class="o">+</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">local</span><span class="o">/</span><span class="n">share</span><span class="o">/</span><span class="n">emacs</span><span class="o">/</span><span class="n">fonts</span>
<span class="n">xset</span> <span class="n">fp</span> <span class="n">rehash</span>
</pre></div>
</div>
</section>
<section id="definir-juegos-de-fuentes">
<span id="id16"></span><h2>23.15. Definir Juegos de Fuentes<a class="headerlink" href="#definir-juegos-de-fuentes" title="Link to this heading"></a></h2>
<p>Cuando se ejecuta en X, Emacs crea automáticamente un juego de fuentes estándar de acuerdo con el valor de standard-fontset-spec. El nombre de este juego de fuentes es</p>
<blockquote>
<div><p>-<em>-fixed-medium-r-normal-</em>-16-<em>-</em>-<em>-</em>-<a href="#id17"><span class="problematic" id="id18">*</span></a>-fontset-standard</p>
</div></blockquote>
<p>o simplemente “fontset-standard” para abreviar.</p>
<p>En GNUstep y macOS, el conjunto de fuentes estándar se crea usando el valor de ns-standard-fontset-spec, y en MS Windows se crea usando el valor de w32-standard-fontset-spec.</p>
<p>Las variantes negrita, cursiva y negrita-cursiva del conjunto de fuentes estándar se crean automáticamente. Sus nombres tienen “bold” en lugar de “medium”, o “i” en lugar de “r”, o ambos.</p>
<p>Emacs genera un juego de fuentes automáticamente, basado en cualquier fuente ASCII por defecto que especifiques con el recurso “Font” o el argumento “-fn”, o la fuente por defecto que Emacs encontró cuando se inició. Este es el conjunto de fuentes de inicio y su nombre es fontset-startup. Emacs genera este juego de fuentes reemplazando el campo charset_registry por “fontset”, y reemplazando el campo charset_encoding por “startup”, y luego usando la cadena resultante para especificar un juego de fuentes.</p>
<span id="id20"></span><h2>23.15. Definir Juegos de Fuentes<a class="headerlink" href="#definir-juegos-de-fuentes" title="Link to this heading"></a></h2>
<p>Cuando se ejecuta en X, Emacs crea automáticamente un juego de fuentes estándar de acuerdo con el valor de <code class="docutils literal notranslate"><span class="pre">standard-fontset-spec</span></code>. El nombre de este juego de fuentes es</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-*-</span><span class="n">fixed</span><span class="o">-</span><span class="n">medium</span><span class="o">-</span><span class="n">r</span><span class="o">-</span><span class="n">normal</span><span class="o">-*-</span><span class="mi">16</span><span class="o">-*-*-*-*-*-</span><span class="n">fontset</span><span class="o">-</span><span class="n">standard</span>
</pre></div>
</div>
<p>o simplemente <code class="docutils literal notranslate"><span class="pre">fontset-standard</span></code> para abreviar.</p>
<p>En GNUstep y macOS, el conjunto de fuentes estándar se crea usando el valor de <code class="docutils literal notranslate"><span class="pre">ns-standard-fontset-spec</span></code>, y en MS Windows se crea usando el valor de <code class="docutils literal notranslate"><span class="pre">w32-standard-fontset-spec</span></code>.</p>
<p>Las variantes negrita (bold), cursiva (italic) y negrita-cursiva (bold-italic) del conjunto de fuentes estándar se crean automáticamente. Sus nombres tienen <code class="docutils literal notranslate"><span class="pre">bold</span></code> en lugar de <code class="docutils literal notranslate"><span class="pre">medium</span></code>, o <code class="docutils literal notranslate"><span class="pre">i</span></code> en lugar de <code class="docutils literal notranslate"><span class="pre">r</span></code> o ambos.</p>
<p>Emacs genera un juego de fuentes automáticamente, basado en cualquier fuente ASCII por defecto que especifiques con el recurso <code class="docutils literal notranslate"><span class="pre">Font</span></code> o el argumento <code class="docutils literal notranslate"><span class="pre">-fn</span></code>, o la fuente por defecto que Emacs encontró cuando se inició. Este es el conjunto de <em>fuentes de inicio</em> y su nombre es <code class="docutils literal notranslate"><span class="pre">fontset-startup</span></code>. Emacs genera este juego de fuentes reemplazando el campo <code class="docutils literal notranslate"><span class="pre">charset_registry</span></code> por <code class="docutils literal notranslate"><span class="pre">fontset</span></code>, y reemplazando el campo <code class="docutils literal notranslate"><span class="pre">charset_encoding</span></code> por <code class="docutils literal notranslate"><span class="pre">startup</span></code>, y luego usando la cadena resultante para especificar un juego de fuentes.</p>
<p>Por ejemplo, si inicia Emacs con una fuente de esta forma,</p>
<blockquote>
<div><p>emacs -fn «<em>courier-medium-r-normal14-140-</em>-iso8859-1»</p>
</div></blockquote>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">emacs</span> <span class="o">-</span><span class="n">fn</span> <span class="s2">&quot;*courier-medium-r-normal--14-140-*-iso8859-1&quot;</span>
</pre></div>
</div>
<p>Emacs genera el siguiente juego de fuentes y lo usa para el marco inicial de la ventana X:</p>
<blockquote>
<div><p>-<em>-courier-medium-r-normal-</em>-14-140-<em>-</em>-<em>-</em>-fontset-startup</p>
</div></blockquote>
<p>El conjunto de fuentes de inicio usará la fuente que especifique, o una variante con un registro y codificación diferentes, para todos los caracteres soportados por esa fuente, y recurrirá a “fontset-default” para otros caracteres.</p>
<p>Con el recurso X “Emacs.Font”, puede especificar un nombre de conjunto de fuentes igual que un nombre de fuente real. Pero tenga cuidado de no especificar un nombre de conjunto de fuentes en un recurso comodín como “Emacs*Font”-esa especificación comodín coincide con varios otros recursos, como los menús, y los menús no pueden manejar conjuntos de fuentes. Ver Opciones y Recursos X.</p>
<p>Puede especificar conjuntos de fuentes adicionales usando recursos X llamados “Fontset-n”, donde n es un número entero empezando por 0. El valor del recurso debe tener esta forma:</p>
<blockquote>
<div><p>fontpattern, [charset:font]…</p>
</div></blockquote>
<p>donde fontpattern debe tener la forma de un nombre de fuente X estándar (véase el ejemplo anterior de fontset-startup), excepto los dos últimos campos. Deben tener la forma “fontset-alias”.</p>
<p>Cada conjunto de fuentes tiene dos nombres, uno largo y otro corto. El nombre largo es fontpattern. El nombre corto es “fontset-alias”, los 2 últimos campos del nombre largo (por ejemplo, “fontset-startup” para el fontset creado automáticamente al iniciarse). Puede referirse al conjunto de fuentes por cualquiera de los dos nombres.</p>
<p>La construcción “charset:font” especifica qué fuente usar (en este conjunto de fuentes) para un conjunto de caracteres en particular. Aquí, charset es el nombre de un conjunto de caracteres, y font es la fuente a usar para ese conjunto de caracteres. Puede usar esta construcción cualquier número de veces al definir un juego de fuentes.</p>
<p>Para los otros juegos de caracteres, Emacs elige una fuente basándose en fontpattern. Reemplaza “fontset-alias” con valores que describen el juego de caracteres. Para la fuente de caracteres ASCII, “fontset-alias” se sustituye por “ISO8859-1”.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-*-</span><span class="n">courier</span><span class="o">-</span><span class="n">medium</span><span class="o">-</span><span class="n">r</span><span class="o">-</span><span class="n">normal</span><span class="o">-*-</span><span class="mi">14</span><span class="o">-</span><span class="mi">140</span><span class="o">-*-*-*-*-</span><span class="n">fontset</span><span class="o">-</span><span class="n">startup</span>
</pre></div>
</div>
<p>El conjunto de fuentes de inicio usará la fuente que especifique, o una variante con un registro y codificación diferentes, para todos los caracteres soportados por esa fuente, y recurrirá a <code class="docutils literal notranslate"><span class="pre">fontset-default</span></code> para otros caracteres.</p>
<p>Con el recurso X <code class="docutils literal notranslate"><span class="pre">Emacs.Font</span></code>, puede especificar un nombre de conjunto de fuentes igual que un nombre de fuente real. Pero tenga cuidado de no especificar un nombre de conjunto de fuentes en un recurso comodín como <code class="docutils literal notranslate"><span class="pre">Emacs*Font</span></code>, esa especificación comodín coincide con varios otros recursos, como los menús, y los menús no pueden manejar conjuntos de fuentes. Ver <a class="reference internal" href="ApendiceD.html#apendiced"><span class="std std-ref">Apéndice D Opciones y Recursos de X</span></a>.</p>
<p>Puede especificar conjuntos de fuentes adicionales usando recursos X llamados <code class="docutils literal notranslate"><span class="pre">Fontset-n</span></code>, donde <em>n</em> es un número entero empezando por 0. El valor del recurso debe tener esta forma:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>tipo de fuente, [conjunto de cracteres:fuente]…
</pre></div>
</div>
<p>donde <em>tipo de fuente</em> (fontpattern) debe tener la forma de un nombre de fuente X estándar (véase el ejemplo anterior de fontset-startup),
excepto los dos últimos campos. Deben tener la forma <code class="docutils literal notranslate"><span class="pre">fontset-alias</span></code>.</p>
<p>Cada <em>tipo de fuentes</em> (tipo de fuente) tiene dos nombres, uno largo y otro corto. El nombre largo es <em>tipo de fuente</em>. El nombre corto es <code class="docutils literal notranslate"><span class="pre">fontset-alias</span></code>, los 2 últimos campos del nombre largo (por ejemplo, <code class="docutils literal notranslate"><span class="pre">fontset-startup</span></code> para el fontset creado automáticamente al iniciarse). Puede referirse al conjunto de fuentes por cualquiera de los dos nombres.</p>
<p>La construcción <code class="docutils literal notranslate"><span class="pre">charset:font</span></code> especifica qué fuente usar (en este conjunto de fuentes) para un conjunto de caracteres en particular. Aquí, <em>conjunto de caracteres</em> (charset) es el nombre de un conjunto de caracteres, y <em>fuente</em> (fuente) es la fuente a usar para ese conjunto de caracteres. Puede usar esta construcción cualquier número de veces al definir un juego de fuentes.</p>
<p>Para los otros juegos de caracteres, Emacs elige una fuente basándose en fontpattern. Reemplaza <code class="docutils literal notranslate"><span class="pre">fontset-alias</span></code> con valores que describen el juego de caracteres. Para la fuente de caracteres ASCII, <code class="docutils literal notranslate"><span class="pre">fontset-alias</span></code> se sustituye por <code class="docutils literal notranslate"><span class="pre">ISO8859-1</span></code>.</p>
<p>Además, cuando varios campos consecutivos son comodines, Emacs los colapsa en un único comodín. Esto se hace para evitar usar fuentes autoescaladas. Las fuentes hechas escalando fuentes más grandes no son útiles para editar, y escalar una fuente más pequeña tampoco es útil, porque es mejor usar la fuente más pequeña en su propio tamaño, que es lo que hace Emacs.</p>
<p>Así, si fontpattern es</p>
<blockquote>
<div><p>-<em>-fixed-medium-r-normal-</em>-24-<em>-</em>-<em>-</em>-<a href="#id19"><span class="problematic" id="id20">*</span></a>-fontset-24</p>
</div></blockquote>
<p>Así, si <em>patrón o tipo de fuente</em> (fontpattern) es</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-*-</span><span class="n">fixed</span><span class="o">-</span><span class="n">medium</span><span class="o">-</span><span class="n">r</span><span class="o">-</span><span class="n">normal</span><span class="o">-*-</span><span class="mi">24</span><span class="o">-*-*-*-*-*-</span><span class="n">fontset</span><span class="o">-</span><span class="mi">24</span>
</pre></div>
</div>
<p>la especificación de la fuente para los caracteres ASCII sería la siguiente:</p>
<blockquote>
<div><p>-<em>-fixed-medium-r-normal-</em>-24-<a href="#id21"><span class="problematic" id="id22">*</span></a>-ISO8859-1</p>
</div></blockquote>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-*-</span><span class="n">fixed</span><span class="o">-</span><span class="n">medium</span><span class="o">-</span><span class="n">r</span><span class="o">-</span><span class="n">normal</span><span class="o">-*-</span><span class="mi">24</span><span class="o">-*-</span><span class="n">ISO8859</span><span class="o">-</span><span class="mi">1</span>
</pre></div>
</div>
<p>y la especificación de la fuente para los caracteres chinos GB2312 sería ésta:</p>
<blockquote>
<div><p>-<em>-fixed-medium-r-normal-</em>-24-<em>-gb2312</em>-*</p>
</div></blockquote>
<p>Es posible que no tenga ninguna fuente china que coincida con la especificación de fuentes anterior. La mayoría de las distribuciones X sólo incluyen fuentes chinas que tienen “song ti” o “fangsong ti” en el campo de familia. En tal caso, “Fontset-n” puede especificarse como:</p>
<blockquote>
<div><dl class="simple">
<dt>Emacs.Fontset-0: -<em>-fixed-medium-r-normal-</em>-24-<em>-</em>-<em>-</em>-<a href="#id23"><span class="problematic" id="id24">*</span></a>-fontset-24,</dt><dd><p>chinese-gb2312:-<em>-</em>-medium-r-normal-<em>-24-</em>-gb2312*-*</p>
</dd>
</dl>
</div></blockquote>
<p>Entonces, las especificaciones de fuentes para todos los caracteres excepto el chino GB2312 tienen “fixed” en el campo family, y la especificación de fuentes para los caracteres chinos GB2312 tiene un comodín “*” en el campo family.</p>
<p>La función que procesa el valor del recurso fontset para crear el conjunto de fuentes se llama create-fontset-from-fontset-spec. También puede llamar a esta función explícitamente para crear un conjunto de fuentes.</p>
<p>Consulte Fuentes, para obtener más información sobre la denominación de fuentes.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-*-</span><span class="n">fixed</span><span class="o">-</span><span class="n">medium</span><span class="o">-</span><span class="n">r</span><span class="o">-</span><span class="n">normal</span><span class="o">-*-</span><span class="mi">24</span><span class="o">-*-</span><span class="n">gb2312</span><span class="o">*-*</span>
</pre></div>
</div>
<p>Es posible que no tenga ninguna fuente china que coincida con la especificación de fuentes anterior. La mayoría de las distribuciones X sólo incluyen fuentes chinas que <code class="docutils literal notranslate"><span class="pre">song</span> <span class="pre">ti</span></code> o <code class="docutils literal notranslate"><span class="pre">fangsong</span> <span class="pre">ti</span></code> en el campo de familia. En tal caso, <code class="docutils literal notranslate"><span class="pre">Fontset-n</span></code> especificarse como:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Emacs</span><span class="o">.</span><span class="n">Fontset</span><span class="o">-</span><span class="mi">0</span><span class="p">:</span> <span class="o">-*-</span><span class="n">fixed</span><span class="o">-</span><span class="n">medium</span><span class="o">-</span><span class="n">r</span><span class="o">-</span><span class="n">normal</span><span class="o">-*-</span><span class="mi">24</span><span class="o">-*-*-*-*-*-</span><span class="n">fontset</span><span class="o">-</span><span class="mi">24</span><span class="p">,</span>\
<span class="n">chinese</span><span class="o">-</span><span class="n">gb2312</span><span class="p">:</span><span class="o">-*-*-</span><span class="n">medium</span><span class="o">-</span><span class="n">r</span><span class="o">-</span><span class="n">normal</span><span class="o">-*-</span><span class="mi">24</span><span class="o">-*-</span><span class="n">gb2312</span><span class="o">*-*</span>
</pre></div>
</div>
<p>Entonces, las especificaciones de fuentes para todos los caracteres excepto el chino GB2312 tienen <code class="docutils literal notranslate"><span class="pre">fixed</span></code> en el campo <em>familia</em>, y la especificación de fuentes para los caracteres chinos GB2312 tiene un comodín <code class="docutils literal notranslate"><span class="pre">*</span></code> en dicho campo.</p>
<p>La función que procesa el valor del recurso fontset para crear el conjunto de fuentes se llama <code class="docutils literal notranslate"><span class="pre">create-fontset-from-fontset-spec</span></code>. También puede llamar a esta función explícitamente para crear un conjunto de fuentes.</p>
<p>Consulte <a class="reference internal" href="22_MarcosPantallasGraf.html#id9"><span class="std std-ref">22.8 Fuentes</span></a>, para obtener más información sobre la denominación de fuentes.</p>
</section>
<section id="modificar-juegos-de-fuentes">
<h2>23.16 Modificar Juegos de Fuentes<a class="headerlink" href="#modificar-juegos-de-fuentes" title="Link to this heading"></a></h2>
<p>No siempre se pueden crear conjuntos de fuentes desde cero. Si sólo se requieren cambios menores, puede ser más fácil modificar un conjunto de fuentes existente, normalmente “fontset-default”. Modificar “fontset-default” también afectará a otros conjuntos de fuentes que lo usen como fallback, por lo que puede ser una forma efectiva de arreglar problemas con las fuentes que Emacs elige para un script en particular.</p>
<p>Los conjuntos de fuentes pueden modificarse usando la función set-fontset-font, especificando un carácter, un conjunto de caracteres, un script, o un rango de caracteres para modificar la fuente, y una especificación de fuente para la fuente a usar. Algunos ejemplos son:</p>
<blockquote>
<div><p>;; Prefer a big5 font for han characters.
(set-fontset-font «fontset-default»</p>
<blockquote>
<div><dl class="simple">
<dt>“han (font-spec :registry «big5»)</dt><dd><p>nil “prepend)</p>
</dd>
</dl>
</div></blockquote>
<p>;; Use MyPrivateFont for the Unicode private use area.
(set-fontset-font «fontset-default» “(#xe000 . #xf8ff)</p>
<blockquote>
<div><p>«MyPrivateFont»)</p>
</div></blockquote>
<p>;; Use Liberation Mono for latin-3 charset.
(set-fontset-font «fontset-default» “iso-8859-3</p>
<blockquote>
<div><p>«Liberation Mono»)</p>
</div></blockquote>
<p>;; Use DejaVu Sans Mono as a fallback in fontset-startup
;; before resorting to fontset-default.
(set-fontset-font «fontset-startup» nil «DejaVu Sans Mono»</p>
<blockquote>
<div><p>nil “append)</p>
</div></blockquote>
<p>;; Se prefiere una fuente big5 para los caracteres han.
(set-fontset-font «fontset-default»</p>
<blockquote>
<div><p>han (font-spec :registry «big5»)
nil “prepend)</p>
</div></blockquote>
<p>;; Usar MyPrivateFont para el área de uso privado Unicode.
(set-fontset-font «fontset-default» “(#xe000 . #xf8ff)</p>
<blockquote>
<div><p>«MyPrivateFont»)</p>
</div></blockquote>
<p>;; Usar Liberation Mono para el juego de caracteres latin-3.
(set-fontset-font «fontset-default» “iso-8859-3</p>
<blockquote>
<div><p>«Liberation Mono»)</p>
</div></blockquote>
<p>;; Usar DejaVu Sans Mono como alternativa en fontset-startup
;; antes de recurrir a fontset-default.
(set-fontset-font «fontset-startup» nil «DejaVu Sans Mono»</p>
<blockquote>
<div><p>nil “append)</p>
</div></blockquote>
</div></blockquote>
<p>Ver Fontsets en GNU Emacs Lisp Reference Manual, para más detalles sobre cómo usar la función set-fontset-font.</p>
<p>Si no conoce el punto-código del carácter o el script al que pertenece, puede preguntar a Emacs. Con el punto en el carácter, teclea C-u C-x = (what-cursor-position), y esta información, junto con mucha más, se mostrará en el búfer <em>Help</em> que Emacs despliega. Ver Información sobre la posición del cursor. Por ejemplo, los caracteres japoneses pertenecen a la escritura “kana”, pero el texto japonés también los mezcla con caracteres chinos, así que lo siguiente usa la escritura “han” para configurar Emacs para usar la fuente “Kochi Gothic” para el texto japonés:</p>
<blockquote>
<div><p>(set-fontset-font «fontset-default» “han «Kochi Gothic»)</p>
</div></blockquote>
<p>(Por comodidad, el script “han” en Emacs está configurado para soportar todos los caracteres chinos, japoneses y coreanos, también conocidos como CJK, no sólo los caracteres chinos).</p>
<p>Para ver la lista de scripts conocidos, consulta la variable script-representative-chars.</p>
<p>Los ajustes del juego de fuentes como los anteriores sólo afectan a los caracteres que la fuente por defecto no soporta, así que si la fuente “Kochi Gothic” cubre caracteres latinos, no se usará para mostrar escrituras latinas, ya que la fuente por defecto usada por Emacs suele cubrir el latín básico.</p>
<p>Algunas fuentes instaladas en tu sistema pueden estar rotas, o producir resultados desagradables para los caracteres para los que se usan, y puede que quiera ordenar a Emacs que las ignore completamente mientras busca una fuente adecuada para mostrar un carácter. Puede hacerlo añadiendo las fuentes problemáticas al valor de la variable face-ignored-fonts, que es una lista. Aquí tiene un ejemplo para poner en su ~/.emacs:</p>
<blockquote>
<div><p>(add-to-list “face-ignored-fonts «Some Bad Font»)</p>
</div></blockquote>
<section id="modificar-conjunto-de-fuentes">
<span id="id21"></span><h2>23.16 Modificar Conjunto de Fuentes<a class="headerlink" href="#modificar-conjunto-de-fuentes" title="Link to this heading"></a></h2>
<p>No siempre se pueden crear conjuntos de fuentes desde cero. Si sólo se requieren cambios menores, puede ser más fácil modificar un conjunto de fuentes existente, normalmente <code class="docutils literal notranslate"><span class="pre">fontset-default</span></code>. Modificar <code class="docutils literal notranslate"><span class="pre">fontset-default</span></code> también afectará a otros conjuntos de fuentes que lo usen como alternativa, por lo que puede ser una forma efectiva de arreglar problemas con las fuentes que Emacs elige para un script en particular.</p>
<p>Los conjuntos de fuentes pueden modificarse usando la función <code class="docutils literal notranslate"><span class="pre">set-fontset-font</span></code>, especificando un carácter, un conjunto de caracteres, un script, o un rango de caracteres para modificar la fuente, y una especificación de fuente para la fuente a usar. Algunos ejemplos son:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">;;</span> <span class="n">Prefer</span> <span class="n">a</span> <span class="n">big5</span> <span class="n">font</span> <span class="k">for</span> <span class="n">han</span> <span class="n">characters</span><span class="o">.</span>
<span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-default&quot;</span>
<span class="s1">&#39;han (font-spec :registry &quot;big5&quot;)</span>
<span class="n">nil</span> <span class="s1">&#39;prepend)</span>
<span class="p">;;</span> <span class="n">Use</span> <span class="n">MyPrivateFont</span> <span class="k">for</span> <span class="n">the</span> <span class="n">Unicode</span> <span class="n">private</span> <span class="n">use</span> <span class="n">area</span><span class="o">.</span>
<span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-default&quot;</span> <span class="s1">&#39;(#xe000 . #xf8ff)</span>
<span class="s2">&quot;MyPrivateFont&quot;</span><span class="p">)</span>
<span class="p">;;</span> <span class="n">Use</span> <span class="n">Liberation</span> <span class="n">Mono</span> <span class="k">for</span> <span class="n">latin</span><span class="o">-</span><span class="mi">3</span> <span class="n">charset</span><span class="o">.</span>
<span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-default&quot;</span> <span class="s1">&#39;iso-8859-3</span>
<span class="s2">&quot;Liberation Mono&quot;</span><span class="p">)</span>
<span class="p">;;</span> <span class="n">Use</span> <span class="n">DejaVu</span> <span class="n">Sans</span> <span class="n">Mono</span> <span class="k">as</span> <span class="n">a</span> <span class="n">fallback</span> <span class="ow">in</span> <span class="n">fontset</span><span class="o">-</span><span class="n">startup</span>
<span class="p">;;</span> <span class="n">before</span> <span class="n">resorting</span> <span class="n">to</span> <span class="n">fontset</span><span class="o">-</span><span class="n">default</span><span class="o">.</span>
<span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-startup&quot;</span> <span class="n">nil</span> <span class="s2">&quot;DejaVu Sans Mono&quot;</span>
<span class="n">nil</span> <span class="s1">&#39;append)</span>
</pre></div>
</div>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">;;</span> <span class="n">Se</span> <span class="n">prefiere</span> <span class="n">una</span> <span class="n">fuente</span> <span class="n">big5</span> <span class="n">para</span> <span class="n">los</span> <span class="n">caracteres</span> <span class="n">han</span><span class="o">.</span>
<span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-default&quot;</span>
<span class="n">han</span> <span class="p">(</span><span class="n">font</span><span class="o">-</span><span class="n">spec</span> <span class="p">:</span><span class="n">registry</span> <span class="s2">&quot;big5&quot;</span><span class="p">)</span>
<span class="n">nil</span> <span class="s1">&#39;prepend)</span>
<span class="p">;;</span> <span class="n">Usar</span> <span class="n">MyPrivateFont</span> <span class="n">para</span> <span class="n">el</span> <span class="n">área</span> <span class="n">de</span> <span class="n">uso</span> <span class="n">privado</span> <span class="n">Unicode</span><span class="o">.</span>
<span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-default&quot;</span> <span class="s1">&#39;(#xe000 . #xf8ff)</span>
<span class="s2">&quot;MyPrivateFont&quot;</span><span class="p">)</span>
<span class="p">;;</span> <span class="n">Usar</span> <span class="n">Liberation</span> <span class="n">Mono</span> <span class="n">para</span> <span class="n">el</span> <span class="n">juego</span> <span class="n">de</span> <span class="n">caracteres</span> <span class="n">latin</span><span class="o">-</span><span class="mf">3.</span>
<span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-default&quot;</span> <span class="s1">&#39;iso-8859-3</span>
<span class="s2">&quot;Liberation Mono&quot;</span><span class="p">)</span>
<span class="p">;;</span> <span class="n">Usar</span> <span class="n">DejaVu</span> <span class="n">Sans</span> <span class="n">Mono</span> <span class="n">como</span> <span class="n">alternativa</span> <span class="n">en</span> <span class="n">fontset</span><span class="o">-</span><span class="n">startup</span>
<span class="p">;;</span> <span class="n">antes</span> <span class="n">de</span> <span class="n">recurrir</span> <span class="n">a</span> <span class="n">fontset</span><span class="o">-</span><span class="n">default</span><span class="o">.</span>
<span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-startup&quot;</span> <span class="n">nil</span> <span class="s2">&quot;DejaVu Sans Mono&quot;</span>
<span class="n">nil</span> <span class="s1">&#39;append)</span>
</pre></div>
</div>
<p>Ver <strong>Conjunto de Fuentes</strong> en GNU Emacs Lisp Reference Manual, para más detalles sobre cómo usar la función <code class="docutils literal notranslate"><span class="pre">set-fontset-font</span></code>.</p>
<p>Si no conoce el código en el punto del carácter o el script al que pertenece, puede preguntar a Emacs. Con el punto en el carácter, teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">=</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">=</span></code>, <code class="docutils literal notranslate"><span class="pre">what-cursor-position</span></code>), y esta información, junto con mucha más, se mostrará en el búfer <code class="docutils literal notranslate"><span class="pre">*Help*</span></code> que Emacs despliega. Ver <a class="reference internal" href="08_ComBasicEdic.html#id8"><span class="std std-ref">8.9 Información sobre la posición del cursor</span></a>. Por ejemplo, los caracteres japoneses pertenecen a la escritura <code class="docutils literal notranslate"><span class="pre">kana</span></code>, pero el texto japonés también los mezcla con caracteres chinos, así que lo siguiente usa la escritura <code class="docutils literal notranslate"><span class="pre">han</span></code> para configurar Emacs para usar la fuente <code class="docutils literal notranslate"><span class="pre">Kochi</span> <span class="pre">Gothic</span></code> para el texto japonés:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="nb">set</span><span class="o">-</span><span class="n">fontset</span><span class="o">-</span><span class="n">font</span> <span class="s2">&quot;fontset-default&quot;</span> <span class="s1">&#39;han &quot;Kochi Gothic&quot;)</span>
</pre></div>
</div>
<p>(Por comodidad, el script <code class="docutils literal notranslate"><span class="pre">han</span></code> en Emacs está configurado para soportar todos los caracteres chinos, japoneses y coreanos, también conocidos como CJK, no sólo los caracteres chinos).</p>
<p>Para ver la lista de scripts conocidos, consulta la variable <code class="docutils literal notranslate"><span class="pre">script-representative-chars</span></code>.</p>
<p>Los ajustes del juego de fuentes como los anteriores sólo afectan a los caracteres que la fuente por defecto no soporta, así que si la fuente <code class="docutils literal notranslate"><span class="pre">Kochi</span> <span class="pre">Gothic</span></code> cubre caracteres latinos, no se usará para mostrar escrituras latinas, ya que la fuente por defecto usada por Emacs suele cubrir el latín básico.</p>
<p>Algunas fuentes instaladas en su sistema pueden estar rotas, o producir resultados desagradables para los caracteres para los que se usan, y puede que quiera ordenar a Emacs que las ignore completamente mientras busca una fuente adecuada para mostrar un carácter. Puede hacerlo añadiendo las fuentes problemáticas al valor de la variable <code class="docutils literal notranslate"><span class="pre">face-ignored-fonts</span></code>, que es una lista. Aquí tiene un ejemplo para poner en su <code class="docutils literal notranslate"><span class="pre">~/.emacs</span></code>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="nb">list</span> <span class="s1">&#39;face-ignored-fonts &quot;Some Bad Font&quot;)</span>
</pre></div>
</div>
</section>
<section id="caracteres-no-visualizables">
<span id="id25"></span><h2>23.17 Caracteres no Visualizables<a class="headerlink" href="#caracteres-no-visualizables" title="Link to this heading"></a></h2>
<p>Puede haber algunos caracteres no ASCII que su terminal no pueda mostrar. La mayoría de los terminales de texto soportan un único juego de caracteres (usa la variable default-terminal-coding-system para decirle a Emacs cuál es, Coding Systems for Terminal I/O); los caracteres que no pueden ser codificados en ese sistema de codificación se muestran como “?” por defecto.</p>
<span id="id22"></span><h2>23.17 Caracteres no Visualizables<a class="headerlink" href="#caracteres-no-visualizables" title="Link to this heading"></a></h2>
<p>Puede haber algunos caracteres no ASCII que su terminal no pueda mostrar. La mayoría de los terminales de texto soportan un único juego de caracteres (use la <code class="docutils literal notranslate"><span class="pre">variable</span> <span class="pre">default-terminal-coding-system</span></code> para decirle a Emacs cuál es, <a class="reference internal" href="#id16"><span class="std std-ref">23.13 Sistemas de Codificación para E/S de Terminal</span></a>); los caracteres que no pueden ser codificados en ese sistema de codificación se muestran como <code class="docutils literal notranslate"><span class="pre">?</span></code> por defecto.</p>
<p>Las pantallas gráficas pueden mostrar un rango más amplio de caracteres, pero puede que no tenga fuentes instaladas para todos ellos; los caracteres que no tienen fuente aparecen como una caja hueca.</p>
<p>Si usa caracteres Latin-1 pero su terminal no puede mostrar Latin-1, puede hacer que muestre secuencias ASCII mnemotécnicas en su lugar, por ejemplo, “«o” para o-umlaut. Para ello, carga la biblioteca iso-ascii.</p>
<p>Si su terminal puede mostrar Latin-1, puede mostrar caracteres de otros juegos de caracteres europeos usando una mezcla de caracteres Latin-1 equivalentes y mnemónicos ASCII. Para ello, personalice la variable latin1-display. Las secuencias mnemotécnicas ASCII corresponden en su mayoría a las de los métodos de entrada de prefijos.</p>
<p>Si usa caracteres Latin-1 pero su terminal no puede mostrar Latin-1, puede hacer que muestre secuencias ASCII mnemotécnicas en su lugar, por ejemplo, <code class="docutils literal notranslate"><span class="pre">&quot;o</span></code> para o-umlaut. Para ello, cargue la biblioteca <code class="docutils literal notranslate"><span class="pre">iso-ascii</span></code>.</p>
<p>Si su terminal puede mostrar Latin-1, puede mostrar caracteres de otros juegos de caracteres europeos usando una mezcla de caracteres Latin-1 equivalentes y mnemónicos ASCII. Para ello, personalice la variable <code class="docutils literal notranslate"><span class="pre">latin1-display</span></code>. Las secuencias mnemotécnicas ASCII corresponden en su mayoría a las de los métodos de entrada de prefijos.</p>
</section>
<section id="modo-de-edicion-unibyte">
<span id="id26"></span><h2>23.18 Modo de Edición Unibyte<a class="headerlink" href="#modo-de-edicion-unibyte" title="Link to this heading"></a></h2>
<p>Los juegos de caracteres ISO 8859 Latin-n definen códigos de caracteres en el rango 0240 a 0377 octal (160 a 255 decimal) para manejar las letras acentuadas y la puntuación que necesitan varios idiomas europeos (y algunos no europeos). Tenga en cuenta que Emacs considera los bytes con códigos en este rango como bytes brutos, no como caracteres, incluso en un búfer de unibyte, es decir, si desactiva los caracteres multibyte. Sin embargo, Emacs puede seguir manejando estos códigos de caracteres como si pertenecieran a uno de los conjuntos de caracteres de byte único a la vez. Para especificar cuál de estos códigos usar, invoque M-x set-language-environment y especifique un entorno de lenguaje adecuado como “Latin-n”. Ver Deshabilitar Caracteres Multibyte en el Manual de Referencia de GNU Emacs Lisp.</p>
<p>Emacs también puede mostrar bytes en el rango de 160 a 255 como caracteres legibles, siempre que el terminal o fuente en uso los soporte. Esto funciona automáticamente. En una pantalla gráfica, Emacs también puede mostrar caracteres de un byte a través de conjuntos de fuentes, en efecto mostrando los caracteres multibyte equivalentes según el entorno de lenguaje actual. Para solicitar esto, establece la variable unibyte-display-via-language-environment a un valor no nulo. Tenga en cuenta que esto sólo afecta a cómo se muestran estos bytes, pero no cambia el hecho fundamental de que Emacs los trata como bytes en bruto, no como caracteres.</p>
<p>Si su terminal no soporta la visualización del juego de caracteres Latin-1, Emacs puede mostrar estos caracteres como secuencias ASCII que al menos le dan una idea clara de lo que son los caracteres. Para ello, cargue la biblioteca iso-ascii. Podrían implementarse bibliotecas similares para otros conjuntos de caracteres Latin-n, pero no se ha hecho hasta ahora.</p>
<p>Normalmente los caracteres no ISO-8859 (códigos decimales entre 128 y 159 inclusive) se muestran como escapes octales. Puede cambiar esto para las versiones extendidas no estándar de los juegos de caracteres ISO-8859 usando la función standard-display-8bit de la biblioteca disp-table.</p>
<span id="id23"></span><h2>23.18 Modo de Edición Unibyte<a class="headerlink" href="#modo-de-edicion-unibyte" title="Link to this heading"></a></h2>
<p>Los juegos de caracteres ISO 8859 Latin-<em>n</em> definen códigos de caracteres en el rango 0240 a 0377 octal (160 a 255 decimal) para manejar las letras acentuadas y la puntuación que necesitan varios idiomas europeos (y algunos no europeos). Tenga en cuenta que Emacs considera los bytes con códigos en este rango como bytes brutos, no como caracteres, incluso en un búfer de unibyte, es decir, si desactiva los caracteres multibyte. Sin embargo, Emacs puede seguir manejando estos códigos de caracteres como si pertenecieran a <em>uno</em> de los conjuntos de caracteres de byte único a la vez. Para especificar <em>cuál</em> de estos códigos usar, invoque <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-language-environment</span></code> y especifique un entorno de lenguaje adecuado como <code class="docutils literal notranslate"><span class="pre">Latin-n</span></code>. <strong>Deshabilitar Caracteres Multibyte</strong> en el Manual de Referencia de GNU Emacs Lisp.</p>
<p>Emacs también puede mostrar bytes en el rango de 160 a 255 como caracteres legibles, siempre que el terminal o fuente en uso los soporte. Esto funciona automáticamente. En una pantalla gráfica, Emacs también puede mostrar caracteres de un byte a través de conjuntos de fuentes, en efecto mostrando los caracteres multibyte equivalentes según el entorno de lenguaje actual. Para solicitar esto, establezca la variable <code class="docutils literal notranslate"><span class="pre">unibyte-display-via-language-environment</span></code> a un valor no nulo. Tenga en cuenta que esto sólo afecta a cómo se muestran estos bytes, pero no cambia el hecho fundamental de que Emacs los trata como bytes en bruto, no como caracteres.</p>
<p>Si su terminal no soporta la visualización del juego de caracteres Latin-1, Emacs puede mostrar estos caracteres como secuencias ASCII que al menos le dan una idea clara de lo que son los caracteres. Para ello, cargue la biblioteca <code class="docutils literal notranslate"><span class="pre">iso-ascii</span></code>. Podrían implementarse bibliotecas similares para otros conjuntos de caracteres Latin-<em>n</em>, pero no se ha hecho hasta ahora.</p>
<p>Normalmente los caracteres no ISO-8859 (códigos decimales entre 128 y 159 inclusive) se muestran como escapes octales. Puede cambiar esto para las versiones extendidas no estándar de los juegos de caracteres ISO-8859 usando la función <code class="docutils literal notranslate"><span class="pre">standard-display-8bit</span></code> de la biblioteca <code class="docutils literal notranslate"><span class="pre">disp-table</span></code>.</p>
<p>Hay dos formas de introducir caracteres no ASCII de un solo byte:</p>
<blockquote>
<div><ul class="simple">
<li><p>Puede usar un método de entrada para el entorno lingüístico seleccionado. Véase Métodos de Entrada. Cuando se usa un método de entrada en un búfer unibyte, el carácter no ASCII que</p></li>
<div><ul>
<li><p>Puede usar un método de entrada para el entorno lingüístico seleccionado. Véase <a class="reference internal" href="#id4"><span class="std std-ref">23.3 Métodos de Entrada</span></a>. Cuando se usa un método de entrada en
un búfer unibyte, el carácter no ASCII que se especifica con él se convierte a unibyte.</p></li>
<li><p>Si su teclado puede generar códigos de caracteres 128 (decimal) y superiores, que representan caracteres no ASCII, puede escribir
directamente esos códigos de caracteres.</p>
<p>En una pantalla gráfica, no debería tener que hacer nada especial para usar estas teclas; simplemente deberían funcionar. En un
terminal de texto, debe usar el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">set-keyboard-coding-system</span></code> o personalizar la variable <code class="docutils literal notranslate"><span class="pre">keyboard-coding-system</span></code>
para especificar qué sistema de codificación usa su teclado (consulte <a class="reference internal" href="#id16"><span class="std std-ref">23.13 Sistemas de Codificación para E/S de Terminal</span></a>). Activar esta característica probablemente le
obligará a usar <kbd class="kbd docutils literal notranslate">ESC</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span></code>) para escribir caracteres Meta; sin embargo, en un terminal de consola o en un emulador de
terminal como <code class="docutils literal notranslate"><span class="pre">xterm</span></code>, puede hacer que Meta se convierta en <code class="docutils literal notranslate"><span class="pre">ESC</span></code> y seguir siendo capaz de escribir caracteres de 8 bits
presentes directamente en el teclado o usando las teclas Compose o <kbd class="kbd docutils literal notranslate">AltGr</kbd> (<code class="docutils literal notranslate"><span class="pre">AltGr</span></code>). Ver <a class="reference internal" href="../02_TipoEntrUsuario.html#id1"><span class="std std-ref">2 Tipos de Entrada del Usuario</span></a>.</p>
<p>Muchos sistemas modernos proporcionan métodos de entrada nativos para muchos lenguajes cuyos caracteres no tienen pulsaciones de
teclado asignadas. Si Emacs fue construido con soporte para estos métodos de entrada nativos, puede activar tal método de entrada y
escribir los caracteres que soportan. Cómo activar y usar estos métodos de entrada depende del sistema y del método de entrada, y no
se describirá aquí; consulte la documentación de su sistema. Aquí describimos algunas facilidades de Emacs para controlar el uso de
los métodos de entrada nativos.</p>
<p>En Emacs construido con el kit de herramientas GTK, la variable <code class="docutils literal notranslate"><span class="pre">x-gtk-use-native-input</span></code> controla si Emacs debe recibir caracteres
producidos por los métodos de entrada GTK. Si el valor es <code class="docutils literal notranslate"><span class="pre">nil</span></code>, por defecto, Emacs usa los métodos de entrada X (XIM), en caso
contrario use los métodos de entrada GTK. El recurso X: <code class="docutils literal notranslate"><span class="pre">useXIM</span></code> controla si usar XIM, y el recurso X <code class="docutils literal notranslate"><span class="pre">inputStyle</span></code> controla la
visualización en X del texto de previsualización generado por los métodos de entrada nativos; ver <a class="reference internal" href="ApendiceD.html#d-2"><span class="std std-ref">D.2 Tabla de Recursos X para Emacs</span></a>.</p>
<p>En MS-Windows, Emacs soporta métodos de entrada nativos proporcionados por IMM, el Gestor de Métodos de Entrada, pero eso puede
desactivarse si es necesario; ver <strong>Uso del Teclado en MS-Windows</strong>.</p>
</li>
<li><p>Puede usar la combinación de teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">8</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span></code>) como prefijo de caracteres de composición para
introducir caracteres latinos-1 no ASCII y otros caracteres de impresión. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span></code> sirve para la inserción (tanto en el minibúfer
como en otros búferes), para la búsqueda y en cualquier otro contexto en el que se permita una secuencia de teclas. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span></code>
funciona cargando la biblioteca <code class="docutils literal notranslate"><span class="pre">iso-transl</span></code>. Una vez cargada esa biblioteca, la tecla modificadora <kbd class="kbd docutils literal notranslate">Alt</kbd> (<code class="docutils literal notranslate"><span class="pre">Alt</span></code>), si el
teclado dispone de ella, sirve para lo mismo que <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span></code>: usar <code class="docutils literal notranslate"><span class="pre">Alt</span></code> junto con un carácter acentuado para modificar la letra
siguiente. Además, si el teclado dispone de teclas para los caracteres de acento muerto Latin-1, también se definen para componer
con el carácter siguiente, una vez cargado <code class="docutils literal notranslate"><span class="pre">iso-transl</span></code>.</p>
<p>Usar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">C-h</span></code> para listar todas las traducciones <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span></code> disponibles.</p>
</li>
</ul>
<p>se especifica con él se convierte a unibyte.</p>
<ul class="simple">
<li><p>Si su teclado puede generar códigos de caracteres 128 (decimal) y superiores, que representan caracteres no ASCII, puede escribir directamente esos códigos de caracteres.</p></li>
</ul>
<p>En una pantalla gráfica, no debería tener que hacer nada especial para usar estas teclas; simplemente deberían funcionar. En un terminal de texto, debe usar el comando M-x
set-keyboard-coding-system o personalizar la variable keyboard-coding-system para especificar qué sistema de codificación usa su teclado (consulte Sistemas de Codificación para E/S de
Terminal). Activar esta característica probablemente le obligará a usar ESC para escribir caracteres Meta; sin embargo, en un terminal de consola o en un emulador de terminal como
xterm, puede hacer que Meta se convierta en ESC y seguir siendo capaz de escribir caracteres de 8 bits presentes directamente en el teclado o usando las teclas Compose o AltGr. Ver
Tipos de Entrada de Usuario.</p>
<p>Muchos sistemas modernos proporcionan métodos de entrada nativos para muchos lenguajes cuyos caracteres no tienen teclas de teclado asignadas. Si Emacs fue construido con soporte para
estos métodos de entrada nativos, puede activar tal método de entrada y escribir los caracteres que soportan. Cómo activar y usar estos métodos de entrada depende del sistema y del
método de entrada, y no se describirá aquí; consulte la documentación de su sistema. Aquí describimos algunas facilidades de Emacs para controlar el uso de los métodos de entrada
nativos.</p>
<p>En Emacs construido con el kit de herramientas GTK, la variable x-gtk-use-native-input controla si Emacs debe recibir caracteres producidos por los métodos de entrada GTK. Si el valor
es nil, por defecto, Emacs usa los métodos de entrada X (XIM), en caso contrario usa los métodos de entrada GTK. El recurso useXIM X controla si usar XIM, y el recurso inputStyle X
controla la visualización en X del texto de previsualización generado por los métodos de entrada nativos; ver Tabla de recursos X para Emacs.</p>
<p>En MS-Windows, Emacs soporta métodos de entrada nativos proporcionados por IMM, el Gestor de Métodos de Entrada, pero eso puede desactivarse si es necesario; ver Uso del Teclado en
MS-Windows.</p>
<ul class="simple">
<li><p>Puede usar la tecla C-x 8 como prefijo de caracteres de composición para introducir caracteres latinos-1 no ASCII y otros caracteres de impresión. C-x 8 sirve para la inserción</p></li>
</ul>
<p>(tanto en el minibúfer como en otros búferes), para la búsqueda y en cualquier otro contexto en el que se permita una secuencia de teclas.
C-x 8 funciona cargando la biblioteca iso-transl. Una vez cargada esa biblioteca, la tecla modificadora Alt, si el teclado dispone de ella, sirve para lo mismo que C-x 8: usar Alt
junto con un carácter acentuado para modificar la letra siguiente. Además, si el teclado dispone de teclas para los caracteres de acento muerto Latin-1, también se definen para
componer con el carácter siguiente, una vez cargado iso-transl.</p>
<p>Usar C-x 8 C-h para listar todas las traducciones C-x 8 disponibles.</p>
</div></blockquote>
</section>
<section id="juegos-de-caracteres">
<h2>23.19 Juegos de Caracteres<a class="headerlink" href="#juegos-de-caracteres" title="Link to this heading"></a></h2>
<p>En Emacs, charset es la abreviatura de «juego de caracteres». Emacs soporta los juegos de caracteres más populares (como ascii, iso-8859-1, cp1250, big5 y unicode), además de algunos juegos de caracteres propios (como emacs, unicode-bmp y eight-bit). Todos los caracteres soportados pertenecen a uno o más conjuntos de caracteres.</p>
<p>En Emacs, <em>charset</em> es la abreviatura de «juego de caracteres» (character set). Emacs soporta los juegos de caracteres más populares (como <code class="docutils literal notranslate"><span class="pre">ascii</span></code>, <code class="docutils literal notranslate"><span class="pre">iso-8859-1</span></code>, <code class="docutils literal notranslate"><span class="pre">cp1250</span></code>, <code class="docutils literal notranslate"><span class="pre">big5</span></code> y <code class="docutils literal notranslate"><span class="pre">unicode</span></code>), además de algunos juegos de caracteres propios (como <code class="docutils literal notranslate"><span class="pre">emacs</span></code>, <code class="docutils literal notranslate"><span class="pre">unicode-bmp</span></code> y <code class="docutils literal notranslate"><span class="pre">eight-bit</span></code>). Todos los caracteres soportados pertenecen a uno o más conjuntos de caracteres.</p>
<p>Emacs normalmente hace lo correcto con respecto a los charsets, de modo que no tiene que preocuparse por ellos. Sin embargo, a veces es útil conocer algunos de los detalles subyacentes sobre los juegos de caracteres.</p>
<p>Un ejemplo es la selección de fuentes (véase Fuentes). Cada entorno de lenguaje (ver Entornos de Lenguaje) define una lista de prioridades para los distintos conjuntos de caracteres. Cuando se busca una fuente, Emacs inicialmente intenta encontrar una que pueda mostrar los conjuntos de caracteres de mayor prioridad. Por ejemplo, en el entorno de idioma japonés, el conjunto de caracteres japanese-jisx0208 tiene la prioridad más alta, por lo que Emacs intenta usar una fuente cuya propiedad de registro sea “JISX0208.1983-0”.</p>
<p>Hay dos comandos que se pueden usar para obtener información sobre los juegos de caracteres. El comando M-x list-charset-chars pide un nombre de juego de caracteres y muestra todos los caracteres de ese juego. El comando M-x describe-character-set pide un nombre de juego de caracteres, y muestra información sobre ese juego, incluyendo su representación interna dentro de Emacs.</p>
<p>M-x list-character-sets muestra una lista de todos los juegos de caracteres soportados. La lista proporciona los nombres de los juegos de caracteres e información adicional para identificar cada juego; para más detalles, consulte el Registro Internacional ISO de Juegos de Caracteres Codificados para Usar con Secuencias de Escape (ISO-IR) mantenido por la Sociedad de Procesamiento de la Información de Japón/Comisión de Estándares de Tecnología de la Información de Japón (IPSJ/ITSCJ). En esta lista, los conjuntos de caracteres se dividen en dos categorías: los conjuntos de caracteres normales aparecen en primer lugar, seguidos de los conjuntos de caracteres suplementarios. Un juego de caracteres suplementario es aquel que se usa para definir otro juego de caracteres (como padre o subconjunto), o para proporcionar compatibilidad con versiones anteriores de Emacs.</p>
<p>Para averiguar a qué juego de caracteres pertenece un carácter en el búfer, pon punto delante de él y teclea C-u C-x = (ver Introducción a los Juegos de Caracteres Internacionales).</p>
<p>Un ejemplo es la selección de fuentes (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id9"><span class="std std-ref">22.8 Fuentes</span></a>). Cada entorno de lenguaje (ver <a class="reference internal" href="#id3"><span class="std std-ref">23.2 Entornos de Lenguaje (o Idioma)</span></a>) define una lista de prioridades para los distintos conjuntos de caracteres. Cuando se busca una fuente, Emacs inicialmente intenta encontrar una que pueda mostrar los conjuntos de caracteres de mayor prioridad. Por ejemplo, en el entorno de idioma japonés, el conjunto de caracteres <code class="docutils literal notranslate"><span class="pre">japanese-jisx0208</span></code> tiene la prioridad más alta, por lo que Emacs intenta usar una fuente cuya propiedad de registro sea <code class="docutils literal notranslate"><span class="pre">JISX0208.1983-0</span></code>.</p>
<p>Hay dos comandos que se pueden usar para obtener información sobre los juegos de caracteres. El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">list-charset-chars</span></code> pide un nombre de juego de caracteres y muestra todos los caracteres de ese juego. El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">describe-character-set</span></code> pide un nombre de juego de caracteres, y muestra información sobre ese juego, incluyendo su representación interna dentro de Emacs.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">list-character-sets</span></code> muestra una lista de todos los juegos de caracteres soportados. La lista proporciona los nombres de los juegos de caracteres e información adicional para identificar cada juego; para más detalles, consulte el <a class="reference external" href="https://www.itscj.ipsj.or.jp/itscj_english/iso-ir/ISO-IR.pdf">Registro Internacional ISO de Juegos de Caracteres Codificados para Usar con Secuencias de Escape (ISO-IR)</a> mantenido por la Sociedad de Procesamiento de la Información de Japón/Comisión de Estándares de Tecnología de la Información de Japón (IPSJ/ITSCJ). En esta lista, los conjuntos de caracteres se dividen en dos categorías: los conjuntos de <em>caracteres normales</em> aparecen en primer lugar, seguidos de los conjuntos de <em>caracteres suplementarios</em>. Un juego de caracteres suplementario es aquel que se usa para definir otro juego de caracteres (como padre o subconjunto), o para proporcionar compatibilidad con versiones anteriores de Emacs.</p>
<p>Para averiguar a qué juego de caracteres pertenece un carácter en el búfer, pon punto delante de él y teclee <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">=</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">=</span></code>) (ver <a class="reference internal" href="#id2"><span class="std std-ref">23.1 Introducción a los Juegos de Caracteres Internacionales</span></a>).</p>
</section>
<section id="edicion-bidireccional">
<span id="id27"></span><h2>23.20 Edición Bidireccional<a class="headerlink" href="#edicion-bidireccional" title="Link to this heading"></a></h2>
<p>Emacs soporta la edición de texto escrito en alfabetos, como el árabe, el farsi y el hebreo, cuyo orden natural del texto horizontal es de derecha a izquierda. Sin embargo, los dígitos y el texto latino incrustado en estos alfabetos se muestran de izquierda a derecha. Tampoco es infrecuente que haya pequeñas porciones de texto en árabe o hebreo incrustadas en un documento que, por lo demás, es latino; por ejemplo, como comentarios y cadenas en el archivo fuente de un programa. Por estas razones, el texto que usa estos alfabetos es bidireccional: una mezcla de caracteres de izquierda a derecha y de derecha a izquierda.</p>
<span id="id24"></span><h2>23.20 Edición Bidireccional<a class="headerlink" href="#edicion-bidireccional" title="Link to this heading"></a></h2>
<p>Emacs soporta la edición de texto escrito en alfabetos, como el Árabe, el Farsi y el Hebreo, cuyo orden natural del texto horizontal es de derecha a izquierda. Sin embargo, los dígitos y el texto latino incrustado en estos alfabetos se muestran de izquierda a derecha. Tampoco es infrecuente que haya pequeñas porciones de texto en árabe o hebreo incrustadas en un documento que, por lo demás, es latino; por ejemplo, como comentarios y cadenas en el archivo fuente de un programa. Por estas razones, el texto que usa estos alfabetos es <em>bidireccional:</em> una mezcla de caracteres de izquierda a derecha y de derecha a izquierda.</p>
<p>Esta sección describe las facilidades y opciones proporcionadas por Emacs para editar texto bidireccional.</p>
<p>Emacs almacena el texto de derecha a izquierda y bidireccional en el llamado orden lógico (o de lectura): la posición del búfer o cadena del primer carácter que se lee precede a la del siguiente carácter. El reordenamiento del texto bidireccional en el orden visual se produce en el momento de la visualización. Como resultado, las posiciones de los caracteres ya no aumentan monotónicamente con sus posiciones en pantalla. Emacs implementa el Algoritmo Bidireccional Unicode (UBA) descrito en el Anexo #9 del Estándar Unicode, para la reordenación del texto bidireccional en pantalla. Se desvía del UBA sólo en cómo se muestran las líneas de continuación cuando la dirección del texto es opuesta a la dirección del párrafo base, por ejemplo, cuando una línea larga de texto en inglés aparece en un párrafo de derecha a izquierda.</p>
<p>La variable local del búfer bidi-display-reordering controla si el texto del búfer se reordena para su visualización. Si su valor no es nulo, Emacs reordena los caracteres que tienen direccionalidad de derecha a izquierda cuando se muestran. El valor por defecto es t.</p>
<p>Cada párrafo de texto bidireccional puede tener su propia dirección base, de derecha a izquierda o de izquierda a derecha. El texto de los párrafos de izquierda a derecha comienza en la pantalla en el margen izquierdo de la ventana y se trunca o continúa cuando alcanza el margen derecho. Por el contrario, el texto de los párrafos de derecha a izquierda se muestra comenzando en el margen derecho y se continúa o trunca en el margen izquierdo. Por defecto, los límites de los párrafos son líneas vacías, es decir, líneas formadas enteramente por caracteres de espacio en blanco. Para cambiar esto, puede personalizar las dos variables bidi-paragraph-start-re y bidi-paragraph-separate-re, cuyos valores deben ser expresiones regulares (cadenas); por ejemplo, para que una sola nueva línea inicie un nuevo párrafo, establezca ambas variables a «^». Estas dos variables son locales al búfer (ver Variables Locales).</p>
<p>Emacs determina la dirección base de cada párrafo dinámicamente, basándose en el texto al principio del párrafo. Sin embargo, a veces un búfer puede necesitar forzar una cierta dirección base para sus párrafos. La variable bidi-paragraph-direction, si no es nula, desactiva la determinación dinámica de la dirección base, y en su lugar fuerza a todos los párrafos del búfer a tener la dirección especificada por su valor buffer-local. El valor puede ser de derecha a izquierda o de izquierda a derecha. Cualquier otro valor se interpreta como nil.</p>
<p>Alternativamente, puede controlar la dirección base de un párrafo insertando caracteres especiales de formato delante del párrafo. El carácter especial RIGHT-TO-LEFT MARK (MARCA DE DERECHA A IZQUIERDA), o RLM, fuerza la dirección de derecha a izquierda en el párrafo siguiente, mientras que LEFT-TO-RIGHT MARK (MARCA DE IZQUIERDA A DERECHA), o LRM, fuerza la dirección de izquierda a derecha. (Puede usar C-x 8 RET para insertar estos caracteres.) En una sesión GUI, los caracteres LRM y RLM se muestran como caracteres en blanco muy finos; en terminales de texto se muestran como espacios en blanco.</p>
<p>Debido a que los caracteres son reordenados para su visualización, los comandos de Emacs que operan en el orden lógico o en tramos de posiciones del búfer pueden producir efectos inusuales. Por ejemplo, los comandos C-f y C-b mueven el punto en el orden lógico, por lo que el cursor a veces saltará cuando el punto atraviese texto bidireccional reordenado. Del mismo modo, una región resaltada que cubra un rango contiguo de posiciones de caracteres puede parecer discontinua si la región abarca texto reordenado. Esto es normal y similar al comportamiento de otros programas que soportan texto bidireccional.</p>
<p>Los comandos de movimiento del cursor vinculados a las teclas de flecha, como IZQUIERDA y C-DERECHA, son sensibles a la dirección base del párrafo actual. En un párrafo de izquierda a derecha, los comandos ligados a DERECHA con o sin modificadores se mueven hacia delante a través del texto del búfer, pero en un párrafo de derecha a izquierda se mueven hacia atrás. Esto refleja el hecho de que en un párrafo de derecha a izquierda las posiciones del búfer aumentan predominantemente al desplazarse hacia la izquierda en la pantalla.</p>
<p>Emacs almacena el texto de derecha a izquierda y bidireccional en el llamado <em>orden lógico</em> (o <em>de lectura</em>): la posición del búfer o cadena del primer carácter que se lee precede a la del siguiente carácter. El reordenamiento del texto bidireccional en el orden visual se produce en el momento de la visualización. Como resultado, las posiciones de los caracteres ya no aumentan monotónicamente con sus posiciones en pantalla. Emacs implementa el Algoritmo Bidireccional Unicode (UBA) descrito en el <a class="reference external" href="https://unicode.org/reports/tr9/">Anexo #9 del Estándar Unicode</a>, para la reordenación del texto bidireccional en pantalla. Se desvía del UBA sólo en cómo se muestran las líneas de continuación cuando la dirección del texto es opuesta a la dirección del párrafo base, por ejemplo, cuando una línea larga de texto en inglés aparece en un párrafo de derecha a izquierda.</p>
<p>La variable local del búfer <code class="docutils literal notranslate"><span class="pre">bidi-display-reordering</span></code> controla si el texto del búfer se reordena para su visualización. Si su valor no es nulo, Emacs reordena los caracteres que tienen direccionalidad de derecha a izquierda cuando se muestran. El valor por defecto es <code class="docutils literal notranslate"><span class="pre">t</span></code>.</p>
<p>Cada párrafo de texto bidireccional puede tener su propia <em>dirección base</em>, de derecha a izquierda o de izquierda a derecha. El texto de los párrafos de izquierda a derecha comienza en la pantalla en el margen izquierdo de la ventana y se trunca o continúa cuando alcanza el margen derecho. Por el contrario, el texto de los párrafos de derecha a izquierda se muestra comenzando en el margen derecho y se continúa o trunca en el margen izquierdo. Por defecto, los límites de los párrafos son líneas vacías, es decir, líneas formadas enteramente por caracteres de espacio en blanco. Para cambiar esto, puede personalizar las dos variables <code class="docutils literal notranslate"><span class="pre">bidi-paragraph-start-re</span></code> y <code class="docutils literal notranslate"><span class="pre">bidi-paragraph-separate-re</span></code>, cuyos valores deben ser expresiones regulares (cadenas); por ejemplo, para que una sola nueva línea inicie un nuevo párrafo, establezca ambas variables a <code class="docutils literal notranslate"><span class="pre">&quot;^&quot;</span></code>. Estas dos variables son locales al búfer (ver <a class="reference internal" href="50_Personlzc.html#id8"><span class="std std-ref">50.2.3 Variables Locales</span></a>).</p>
<p>Emacs determina la dirección base de cada párrafo dinámicamente, basándose en el texto al principio del párrafo. Sin embargo, a veces un búfer puede necesitar forzar una cierta dirección base para sus párrafos. La variable <code class="docutils literal notranslate"><span class="pre">bidi-paragraph-direction</span></code>, si no es nula, desactiva la determinación dinámica de la dirección base, y en su lugar fuerza a todos los párrafos del búfer a tener la dirección especificada por su valor buffer-local. El valor puede ser <code class="docutils literal notranslate"><span class="pre">right-to-left</span></code> (de derecha a izquierda) o <code class="docutils literal notranslate"><span class="pre">left-to-right</span></code> (de izquierda a derecha). Cualquier otro valor se interpreta como nil.</p>
<p>Alternativamente, puede controlar la dirección base de un párrafo insertando caracteres especiales de formato delante del párrafo. El carácter especial <code class="docutils literal notranslate"><span class="pre">RIGHT-TO-LEFT</span> <span class="pre">MARK</span></code> (MARCA DE DERECHA A IZQUIERDA), o RLM, fuerza la dirección de derecha a izquierda en el párrafo siguiente, mientras que <code class="docutils literal notranslate"><span class="pre">LEFT-TO-RIGHT</span> <span class="pre">MARK</span></code> (MARCA DE IZQUIERDA A DERECHA), o LRM, fuerza la dirección de izquierda a derecha. (Puede usar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">RET</span></code> para insertar estos caracteres.) En una sesión GUI, los caracteres LRM y RLM se muestran como caracteres en blanco muy finos; en terminales de texto se muestran como espacios en blanco.</p>
<p>Debido a que los caracteres son reordenados para su visualización, los comandos de Emacs que operan en el orden lógico o en tramos de posiciones del búfer pueden producir efectos inusuales. Por ejemplo, los comandos <code class="docutils literal notranslate"><span class="pre">C-f</span></code> y <code class="docutils literal notranslate"><span class="pre">C-b</span></code> mueven el punto en el orden lógico, por lo que el cursor a veces saltará cuando el punto atraviese texto bidireccional reordenado. Del mismo modo, una región resaltada que cubra un rango contiguo de posiciones de caracteres puede parecer discontinua si la región abarca texto reordenado. Esto es normal y similar al comportamiento de otros programas que soportan texto bidireccional.</p>
<p>Los comandos de movimiento del cursor vinculados a las teclas de flecha, como <kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">LEFT</span></code>, IZQUIERDA) y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">C-RIGHT</span></code> C-DERECHA), son sensibles a la dirección base del párrafo actual. En un párrafo de izquierda a derecha, los comandos ligados a DERECHA con o sin modificadores se mueven hacia <em>adelante</em> a través del texto del búfer, pero en un párrafo de derecha a izquierda se mueven hacia <em>atrás</em>. Esto refleja el hecho de que en un párrafo de derecha a izquierda las posiciones del búfer aumentan predominantemente al desplazarse hacia la izquierda en la pantalla.</p>
<p>Cuando se sale de un párrafo, el significado de las teclas de flecha puede cambiar si la dirección base del párrafo anterior o del siguiente es diferente de la del párrafo del que se ha salido. Cuando esto ocurra, deberá ajustar la tecla de flecha que pulse a la nueva dirección base.</p>
<p>Por defecto, IZQUIERDA y DERECHA se mueven en el orden lógico, pero si visual-order-cursor-movement es no nulo, estos comandos se mueven al carácter que está, correspondientemente, a la izquierda o a la derecha de la posición actual de la pantalla, moviéndose a la línea de pantalla siguiente o anterior según corresponda. Ten en cuenta que esto podría mover el punto a muchas posiciones de búfer, dependiendo del contexto bidireccional circundante.</p>
<p>El texto bidireccional a veces usa caracteres de formato especiales para afectar a la reordenación del texto en pantalla. Los caracteres LRM y RLM, mencionados anteriormente, son dos de ellos, pero hay más. Se muestran por defecto como glifos de espacio fino en los marcos GUI, y como espacios simples en los marcos de modo texto. Si quiere conocer estos caracteres de control especiales, para que su efecto en la visualización no sea una sorpresa, puede activar el modo de visualización sin glifos (vea Cómo se Visualiza el Texto). Este modo menor hará que estos caracteres de formato se muestren como siglas dentro de un pequeño recuadro, de modo que destaquen en pantalla y su efecto sea más fácil de entender.</p>
<p>Por defecto, <code class="docutils literal notranslate"><span class="pre">LEFT</span></code> (IZQUIERDA) y <code class="docutils literal notranslate"><span class="pre">RIGHT</span></code> (DERECHA) se mueven en el orden lógico, pero si <code class="docutils literal notranslate"><span class="pre">visual-order-cursor-movement</span></code> es no nulo, estos comandos se mueven al carácter que está, correspondientemente, a la izquierda o a la derecha de la posición actual de la pantalla, moviéndose a la línea de pantalla siguiente o anterior según corresponda. Tenga en cuenta que esto podría mover el punto a muchas posiciones de búfer, dependiendo del contexto bidireccional circundante.</p>
<p>El texto bidireccional a veces usa caracteres de formato especiales para afectar a la reordenación del texto en pantalla. Los caracteres LRM y RLM, mencionados anteriormente, son dos de ellos, pero hay más. Se muestran por defecto como glifos de espacio fino en los marcos GUI, y como espacios simples en los marcos de modo texto. Si quiere conocer estos caracteres de control especiales, para que su efecto en la visualización no sea una sorpresa, puede activar el modo de visualización sin glifos (<code class="docutils literal notranslate"><span class="pre">glyphless-display-mode</span></code>) (vea <a class="reference internal" href="15_ControlDisplay.html#id18"><span class="std std-ref">15.20 Cómo se Muestra el Texto</span></a>). Este modo menor hará que estos caracteres de formato se muestren como siglas dentro de un pequeño recuadro, de modo que destaquen en pantalla y su efecto sea más fácil de entender.</p>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -141,156 +141,151 @@
<section id="modos-mayores-y-menores">
<span id="id1"></span><h1>24 Modos Mayores y Menores<a class="headerlink" href="#modos-mayores-y-menores" title="Link to this heading"></a></h1>
<p>Emacs contiene muchos modos de edición que alteran su comportamiento básico de forma útil. Se dividen en modos mayores y modos menores.</p>
<p>Los modos principales proporcionan facilidades especializadas para trabajar con un tipo de archivo en particular, como un fichero fuente C (ver Edición de Programas), o un tipo particular de búfer no-fichero, como un búfer de shell (ver Ejecución de Comandos de Shell desde Emacs). Los modos principales son mutuamente excluyentes; cada búfer tiene uno y sólo un modo principal en cualquier momento.</p>
<p>Los modos menores son características opcionales que puedes activar o desactivar, no necesariamente específicas de un tipo de archivo o búfer. Por ejemplo, el modo Relleno automático (Auto Fill mode) es un modo secundario en el que SPC interrumpe las líneas entre palabras a medida que escribe (consulte Auto Fill Mode). Los modos secundarios son independientes entre sí y del modo principal seleccionado.</p>
<p>Emacs contiene muchos <em>modos de edición</em> que alteran su comportamiento básico de forma útil. Se dividen en <em>modos mayores</em> y <em>modos menores</em>.</p>
<p>Los modos principales proporcionan facilidades especializadas para trabajar con un tipo de archivo en particular, como un fichero fuente C (ver <a class="reference internal" href="27_EdDePrograms.html#id1"><span class="std std-ref">27 Edición de Programas</span></a>), o un tipo particular de búfer no-fichero, como un búfer de shell (ver <a class="reference internal" href="39_ComndShellEmacs.html#id1"><span class="std std-ref">39 Ejecución de comandos de shell desde Emacs</span></a>). Los modos principales son mutuamente excluyentes; cada búfer tiene uno y sólo un modo principal en cualquier momento.</p>
<p>Los modos menores son características opcionales que puedes activar o desactivar, no necesariamente específicas de un tipo de archivo o búfer. Por ejemplo, el modo Relleno automático (Auto Fill mode) es un modo secundario en el que <code class="docutils literal notranslate"><span class="pre">SPC</span></code> interrumpe las líneas entre palabras a medida que escribe (consulte <a class="reference internal" href="26_ComandsLengsHuma.html#id8"><span class="std std-ref">26.6.1 Modo Auto Fill</span></a>). Los modos secundarios son independientes entre sí y del modo principal seleccionado.</p>
<section id="modos-mayores-o-principales">
<span id="id2"></span><h2>24.1 Modos Mayores (o Principales)<a class="headerlink" href="#modos-mayores-o-principales" title="Link to this heading"></a></h2>
<p>Cada búfer posee un modo principal, que determina el comportamiento de edición de Emacs mientras ese búfer está activo. La línea de modo normalmente muestra el nombre del modo principal actual, entre paréntesis (ver La línea de Modo).</p>
<p>El modo principal menos especializado se llama modo fundamental. Este modo no tiene redefiniciones específicas de modo o ajustes de variables, de modo que cada comando de Emacs se comporta de la manera más general, y cada variable de opción de Usuario está en su estado por defecto.</p>
<p>Para editar texto de un tipo específico que Emacs conoce, como código Lisp o texto en inglés, se suele usar un modo principal más especializado, como el modo Lisp o el modo Texto. La mayoría de los modos principales se dividen en tres grandes grupos. El primer grupo contiene modos para texto normal, ya sea simple o con marcas. Incluye el modo Texto, el modo HTML, el modo SGML, el modo TeX y el modo Esquema. El segundo grupo contiene modos para lenguajes de programación específicos. Entre ellos están el modo Lisp (que tiene varias variantes), el modo C, el modo Fortran y otros. El tercer grupo consiste en modos principales que no están asociados directamente con archivos; se usan en búferes creados para propósitos específicos por Emacs. Los ejemplos incluyen el modo Dired para búferes hechos por Dired (ver Dired, el Editor de Directorios), el modo Message para búferes hechos por C-x m (ver Enviando Correo), y el modo Shell para búferes usados para comunicarse con un proceso shell inferior (ver Subshell Interactivo).</p>
<p>Normalmente, el modo principal es establecido automáticamente por Emacs, cuando visita por primera vez un archivo o crea un búfer (vea Eligiendo Modos de Archivo). Puede seleccionar explícitamente un nuevo modo principal usando un comando M-x. Toma el nombre del modo y añade -mode para obtener el nombre del comando para seleccionar ese modo (e.g., M-x lisp-mode entra en modo Lisp). Dado que cada búfer tiene exactamente un modo principal, no hay forma de «desactivar» un modo principal; en su lugar, debe cambiar a uno diferente.</p>
<p>El valor de la variable búfer-local major-mode es un símbolo con el mismo nombre que la orden major mode (por ejemplo, lisp-mode). Esta variable se establece automáticamente; no debe cambiarla Usted mismo.</p>
<p>El valor por defecto de major-mode determina el modo mayor a usar para archivos que no especifican un modo mayor, y para nuevos búferes creados con C-x b. Normalmente, este valor por defecto es el símbolo fundamental-mode, que especifica el modo Fundamental. Puede cambiar este valor por defecto a través de la interfaz de personalización (vea Interfaz de Personalización Fácil), o añadiendo una línea como esta a su archivo init (vea El Archivo de Inicialización de Emacs):</p>
<blockquote>
<div><p>(setq-default major-mode “text-mode)</p>
</div></blockquote>
<p>Si el valor por defecto de major-mode es nil, el modo mayor se toma del búfer previamente actual.</p>
<p>Los modos principales especializados a menudo cambian el significado de ciertas teclas para hacer algo más adecuado para el modo. Por ejemplo, los modos de lenguaje de programación vinculan TAB para sangrar la línea actual de acuerdo con las reglas del lenguaje (ver Sangría). Las teclas que suelen cambiarse son TAB, DEL y C-j. Muchos modos también definen comandos especiales propios, normalmente ligados a secuencias de teclas cuyo prefijo es C-c (ver Teclas). Los modos principales también pueden alterar las opciones y variables del Usuario; por ejemplo, los modos de lenguaje de programación suelen establecer un valor local en el búfer para la variable comment-start, que determina cómo se delimitan los comentarios del código fuente (véase Manipulación de Comentarios).</p>
<p>Para ver la documentación del modo principal actual, incluida una lista de sus combinaciones de teclas, escriba C-h m (describir-modo). Consulte Otros Comandos de Ayuda.</p>
<p>Cada modo principal, aparte del modo Fundamental, define un hook (gancho) de modo, una lista personalizable de funciones Lisp que se ejecutarán cada vez que se active el modo en un búfer. Para obtener más información sobre ganchos, consulte Ganchos. Cada hook de modo recibe el nombre de su modo principal, por ejemplo, el modo Fortran tiene fortran-mode-hook. Además, todos los modos principales basados en texto ejecutan text-mode-hook, y muchos modos de lenguaje de programación 11 (incluyendo todos los distribuidos con Emacs) ejecutan prog-mode-hook, antes de ejecutar sus propios hooks de modo. Las funciones gancho pueden mirar el valor de la variable major-mode para ver en qué modo se está entrando realmente.</p>
<p>Los ganchos de modo se usan comúnmente para habilitar modos menores (vea Modos Menores). Por ejemplo, puede poner las siguientes líneas en su archivo init para habilitar el modo menor Flyspell en todos los modos mayores basados en texto (vea Comprobación y Corrección de Ortografía), y el modo menor ElDoc en el modo Emacs Lisp (vea Búsqueda de Documentación en Lenguajes de Programación):</p>
<blockquote>
<div><p>(add-hook “text-mode-hook “flyspell-mode)
(add-hook “emacs-lisp-mode-hook “eldoc-mode)</p>
</div></blockquote>
<ol class="arabic simple" start="11">
<li><p>Más concretamente, los modos «derivados» de prog-mode (véase Modos Derivados en el Manual de Referencia de Emacs Lisp).</p></li>
</ol>
<p>Cada búfer posee un modo principal, que determina el comportamiento de edición de Emacs mientras ese búfer está activo. La línea de modo normalmente muestra el nombre del modo principal actual, entre paréntesis (ver <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>).</p>
<p>El modo principal menos especializado se llama <em>modo fundamental</em>. Este modo no tiene redefiniciones específicas de modo o ajustes de variables, de modo que cada comando de Emacs se comporta de la manera más general, y cada variable de opción de Usuario está en su estado por defecto.</p>
<p>Para editar texto de un tipo específico que Emacs conoce, como código Lisp o texto en inglés, se suele usar un modo principal más especializado, como el modo Lisp o el modo Texto. La mayoría de los modos principales se dividen en tres grandes grupos. El primer grupo contiene modos para texto normal, ya sea simple o con marcas. Incluye el modo Texto, el modo HTML, el modo SGML, el modo TeX y el modo Esquema. El segundo grupo contiene modos para lenguajes de programación específicos. Entre ellos están el modo Lisp (que tiene algunas variantes), el modo C, el modo Fortran y otros. El tercer grupo consiste en modos principales que no están asociados directamente con archivos; se usan en búferes creados para propósitos específicos por Emacs. Los ejemplos incluyen el modo Dired para búferes hechos por Dired (ver <a class="reference internal" href="31_DiredEditDirect.html#id1"><span class="std std-ref">31 Dired, el Editor de Directorios</span></a>), el modo Message para búferes hechos por <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">m</span></code> (ver <a class="reference internal" href="33_EnvioDeCorreo.html#id1"><span class="std std-ref">33 Envío de Correo</span></a>), y el modo Shell para búferes usados para comunicarse con un proceso shell inferior (ver <a class="reference internal" href="39_ComndShellEmacs.html#id4"><span class="std std-ref">39.2 Subshell Interactiva</span></a>).</p>
<p>Normalmente, el modo principal es establecido automáticamente por Emacs, cuando visita por primera vez un archivo o crea un búfer (vea <a class="reference internal" href="#id6"><span class="std std-ref">24.3 Elección de los Modos de Archivo</span></a>). Puede seleccionar explícitamente un nuevo modo principal usando un comando `` M-x``.y Toma el nombre del modo y añade <code class="docutils literal notranslate"><span class="pre">-mode</span></code> para obtener el nombre del comando para seleccionar ese modo (ejemplo: <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">lisp-mode</span></code> entra en modo Lisp). Dado que cada búfer tiene exactamente un modo principal, no hay forma de «desactivar» un modo principal; en su lugar, debe cambiar a uno diferente.</p>
<p>El valor de la variable de búfer-local <code class="docutils literal notranslate"><span class="pre">major-mode</span></code> es un símbolo con el mismo nombre que la orden major mode (por ejemplo, <code class="docutils literal notranslate"><span class="pre">lisp-mode</span></code>). Esta variable se establece automáticamente; no debe cambiarla Usted mismo.</p>
<p>El valor por defecto de <code class="docutils literal notranslate"><span class="pre">major-mode</span></code> determina el modo mayor a usar para archivos que no especifican un modo mayor, y para nuevos búferes creados con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">b</span></code>. Normalmente, este valor por defecto es el símbolo fundamental-mode, que especifica el modo Fundamental. Puede cambiar este valor por defecto a través de la interfaz de personalización (vea <a class="reference internal" href="50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>), o añadiendo una línea como esta a su archivo init (vea <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">setq</span><span class="o">-</span><span class="n">default</span> <span class="n">major</span><span class="o">-</span><span class="n">mode</span> <span class="s1">&#39;text-mode)</span>
</pre></div>
</div>
<p>Si el valor por defecto de <code class="docutils literal notranslate"><span class="pre">major-mode</span></code> es <code class="docutils literal notranslate"><span class="pre">nil</span></code>, el modo mayor se toma del búfer previamente actual.</p>
<p>Los modos principales especializados a menudo cambian el significado de ciertas teclas para hacer algo más adecuado para el modo. Por ejemplo, los modos de lenguaje de programación vinculan <code class="docutils literal notranslate"><span class="pre">TAB</span></code> para sangrar la línea actual de acuerdo con las reglas del lenguaje (ver <a class="reference internal" href="25_Indentacion.html#id1"><span class="std std-ref">25 Indentación</span></a>). Las teclas que suelen cambiarse son <code class="docutils literal notranslate"><span class="pre">TAB</span></code>, <code class="docutils literal notranslate"><span class="pre">DEL</span></code> y <code class="docutils literal notranslate"><span class="pre">C-j</span></code>. Muchos modos también definen comandos especiales propios, normalmente ligados a secuencias de teclas cuyo prefijo es <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-c</span></code>) (ver <a class="reference internal" href="../03_Teclas.html#id1"><span class="std std-ref">3 Teclas</span></a>). Los modos principales también pueden alterar las opciones y variables del Usuario; por ejemplo, los modos de lenguaje de programación suelen establecer un valor local en el búfer para la variable <code class="docutils literal notranslate"><span class="pre">comment-start</span></code>, que determina cómo se delimitan los comentarios del código fuente (véase <a class="reference internal" href="27_EdDePrograms.html#id7"><span class="std std-ref">27.5. Manipulación de Comentarios</span></a>).</p>
<p>Para ver la documentación del modo principal actual, incluida una lista de sus combinaciones de teclas, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">m</span></code>, <code class="docutils literal notranslate"><span class="pre">describe-mode</span></code>). Consulte <a class="reference internal" href="11_Ayuda.html#id7"><span class="std std-ref">11.8 Otros comandos de Ayuda</span></a>.</p>
<p>Cada modo principal, aparte del modo Fundamental, define un gancho (hook) de modo, una lista personalizable de funciones Lisp que se ejecutarán cada vez que se active el modo en un búfer. Para obtener más información sobre ganchos, consulte <a class="reference internal" href="50_Personlzc.html#id7"><span class="std std-ref">50.2.2 Ganchos (Hooks)</span></a>. Cada gancho de modo recibe el nombre de su modo principal, por ejemplo, el modo Fortran tiene <code class="docutils literal notranslate"><span class="pre">fortran-mode-hook</span></code>. Además, todos los modos principales basados en texto ejecutan <code class="docutils literal notranslate"><span class="pre">text-mode-hook</span></code>, y muchos modos de lenguaje de programación <a class="footnote-reference brackets" href="#id4" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>11<span class="fn-bracket">]</span></a> (incluyendo todos los distribuidos con Emacs) ejecutan <code class="docutils literal notranslate"><span class="pre">prog-mode-hook</span></code>, antes de ejecutar sus propios ganchos de modo. Las funciones gancho pueden mirar el valor de la variable <code class="docutils literal notranslate"><span class="pre">major-mode</span></code> para ver en qué modo se está entrando realmente.</p>
<p>Los ganchos de modo se usan comúnmente para habilitar modos menores (vea <a class="reference internal" href="#id5"><span class="std std-ref">24.2 Modos Menores</span></a>). Por ejemplo, puede poner las siguientes líneas en su archivo init para habilitar el modo menor Flyspell en todos los modos mayores basados en texto (vea <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id5"><span class="std std-ref">17.4 Comprobar y Corregir la Ortografía</span></a>), y el modo menor ElDoc en el modo Emacs Lisp (vea <a class="reference internal" href="27_EdDePrograms.html#id17"><span class="std std-ref">27.6.3. Búsqueda de Documentación en Lenguajes de Programación</span></a>):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">hook</span> <span class="s1">&#39;text-mode-hook &#39;</span><span class="n">flyspell</span><span class="o">-</span><span class="n">mode</span><span class="p">)</span>
<span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">hook</span> <span class="s1">&#39;emacs-lisp-mode-hook &#39;</span><span class="n">eldoc</span><span class="o">-</span><span class="n">mode</span><span class="p">)</span>
</pre></div>
</div>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id4" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id3">11</a><span class="fn-bracket">]</span></span>
<p>Más concretamente, los modos «derivados» de <code class="docutils literal notranslate"><span class="pre">prog-mode</span></code> (véase <strong>Modos Derivados</strong> en el Manual de Referencia de Emacs Lisp).</p>
</aside>
</aside>
</section>
<section id="modos-menores">
<span id="id3"></span><h2>24.2 Modos Menores<a class="headerlink" href="#modos-menores" title="Link to this heading"></a></h2>
<p>Un modo menor es un modo de edición opcional que altera el comportamiento de Emacs de alguna manera bien definida. A diferencia de los modos mayores, cualquier número de modos menores puede estar activo en cualquier momento. Algunos modos menores son locales al búfer, y pueden activarse (habilitarse) en ciertos búferes y desactivarse (deshabilitarse) en otros. Otros modos menores son globales: mientras están activados, afectan a todo lo que hagas en la sesión de Emacs, en todos los búferes. La mayoría de los modos menores están desactivados por defecto, pero unos pocos están activados por defecto.</p>
<p>La mayoría de los modos menores locales al búfer dicen en la línea de modo cuando están habilitados, justo después del indicador de modo mayor. Por ejemplo, “Fill” en la línea de modo significa que el modo Auto Fill está habilitado. Ver La línea de Modo.</p>
<p>Al igual que los modos principales, cada modo secundario está asociado a un comando de modo, cuyo nombre consiste en el nombre del modo seguido de “-mode”. Por ejemplo, el comando de modo para el modo Relleno automático es auto-fill-mode. Pero a diferencia de un comando de modo principal, que simplemente activa el modo, el comando de modo para un modo secundario puede activarlo o desactivarlo:</p>
<span id="id5"></span><h2>24.2 Modos Menores<a class="headerlink" href="#modos-menores" title="Link to this heading"></a></h2>
<p>Un modo menor es un modo de edición opcional que altera el comportamiento de Emacs de alguna manera bien definida. A diferencia de los modos mayores, cualquier número de modos menores puede estar activo en cualquier momento. Algunos modos menores corresponden al <em>búfer local</em>, y pueden activarse (habilitarse) en ciertos búferes y desactivarse (deshabilitarse) en otros. Otros modos menores son <em>globales:</em> mientras están activados, afectan a todo lo que haga en la sesión del Editor, en todos los búferes. La mayoría de los modos menores están desactivados por defecto, pero unos pocos están activados por defecto.</p>
<p>La mayoría de los modos menores locales al búfer dicen en la línea de modo cuando están habilitados, justo después del indicador de modo mayor. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">Fill</span></code> en la línea de modo significa que el modo Auto Fill está habilitado. Ver <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>.</p>
<p>Al igual que los modos principales, cada modo menor (también llamando <em>modo secundario</em>) está asociado a un <em>comando de modo</em>, cuyo nombre consiste en el nombre del modo seguido de <code class="docutils literal notranslate"><span class="pre">-mode</span></code>. Por ejemplo, el comando de modo para el modo Relleno automático es <code class="docutils literal notranslate"><span class="pre">auto-fill-mode</span></code>. Pero a diferencia de un comando de modo principal, que simplemente activa el modo, el comando de modo para un modo secundario puede activarlo o desactivarlo:</p>
<blockquote>
<div><ul class="simple">
<li><p>Si invoca el comando mode directamente sin argumento de prefijo (ya sea a través de M-x, o vinculándolo a una tecla y tecleando esa tecla; consulte Personalización de las</p></li>
<li><p>Si invoca el comando mode directamente sin argumento de prefijo (ya sea a través de <code class="docutils literal notranslate"><span class="pre">M-x</span></code>, o vinculándolo a una tecla y tipeando
esa tecla; consulte <a class="reference internal" href="50_Personlzc.html#id17"><span class="std std-ref">50.3 Personalizar las Combinaciones de Teclas</span></a>), se activa el modo secundario. El modo menor se activa si estaba desactivado, y se desactiva si
estaba activado.</p></li>
<li><p>Si invoca la orden mode con un argumento prefijo, el modo menor se desactiva incondicionalmente si ese argumento es cero o negativo;
en caso contrario, se activa incondicionalmente.</p></li>
<li><p>Si el comando mode se invoca a través de Lisp, el modo menor se activa incondicionalmente si el argumento se omite o es nulo. Esto
facilita la activación de un modo secundario desde el gancho de modo de un modo principal (véase <a class="reference internal" href="#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>). Un argumento no nulo se
trata como un argumento prefijo interactivo, como se ha descrito anteriormente.</p></li>
</ul>
<p>Asignaciones de Teclas), se activa el modo secundario. El modo menor se activa si estaba desactivado, y se desactiva si estaba activado.</p>
<ul class="simple">
<li><p>Si invoca la orden mode con un argumento prefijo, el modo menor se desactiva incondicionalmente si ese argumento es cero o negativo; en caso contrario, se activa incondicionalmente.</p></li>
<li><p>Si el comando mode se invoca a través de Lisp, el modo menor se activa incondicionalmente si el argumento se omite o es nulo. Esto facilita la activación de un modo secundario desde</p></li>
</ul>
<p>el gancho de modo de un modo principal (véase Modos Principales). Un argumento no nil se trata como un argumento prefijo interactivo, como se ha descrito anteriormente.</p>
</div></blockquote>
<p>La mayoría de los modos menores también tienen una variable mode, con el mismo nombre que el comando mode. Su valor es no nil si el modo está habilitado, y nil si está deshabilitado. En general, no debería intentar activar o desactivar el modo cambiando el valor de la variable mode directamente en Lisp; en su lugar, debería ejecutar la orden mode. Sin embargo, al establecer la variable mode a través de la interfaz Customize (véase Interfaz de Personalización Fácil) siempre se habilitará o deshabilitará correctamente el modo, ya que Customize ejecuta automáticamente el comando mode por Usted.</p>
<p>La mayoría de los modos menores también tienen una <em>variable de modo</em> con el mismo nombre que el comando mode. Su valor es no <code class="docutils literal notranslate"><span class="pre">nil</span></code> si el modo está habilitado, y <code class="docutils literal notranslate"><span class="pre">nil</span></code> si está deshabilitado. En general, no debería intentar activar o desactivar el modo cambiando el valor de la variable mode directamente en Lisp; en su lugar, debería ejecutar la orden <code class="docutils literal notranslate"><span class="pre">mode</span></code>. Sin embargo, al establecer la variable <code class="docutils literal notranslate"><span class="pre">mode</span></code> a través de la interfaz Customize (Personalizar) (véase <a class="reference internal" href="50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>) siempre se habilitará o deshabilitará correctamente el modo, ya que Customize ejecuta automáticamente el comando mode por Usted.</p>
<p>La siguiente es una lista de algunos modos menores locales de búfer:</p>
<blockquote>
<div><ul class="simple">
<li><p>El modo Abbrev amplía automáticamente el texto basándose en definiciones de abreviaturas predefinidas. Consulte Abreviaturas.</p></li>
<li><p>El modo Relleno automático inserta nuevas líneas a medida que escribe para evitar que las líneas se alarguen demasiado. Ver Rellenar Texto.</p></li>
<li><p>El modo Autoguardar guarda el contenido del búfer periódicamente para reducir la cantidad de trabajo que puede perder en caso de fallo. Véase Autoguardado: Protección Contra</p></li>
</ul>
<p>Desastres.</p>
<ul class="simple">
<li><p>El modo Electric Quote convierte automáticamente las comillas. Por ejemplo, entrecomilla el texto escrito <a href="#id4"><span class="problematic" id="id5">`</span></a>así” a texto <a href="#id6"><span class="problematic" id="id7">`</span></a>así”. Puede controlar en qué tipo de texto funciona, y puede</p></li>
</ul>
<p>desactivarlo por completo en búferes individuales. Véase Comillas.</p>
<ul class="simple">
<li><p>El modo enriquecido (enriched mode) permite editar y guardar texto formateado. Véase Texto Enriquecido.</p></li>
<li><p>El modo Flyspell (Flyspell mode) resalta automáticamente las palabras mal escritas. Véase Comprobar y Corregir la Ortografía.</p></li>
<li><p>El modo Font-Lock resalta automáticamente ciertas unidades textuales que se encuentran en los programas. Está activado globalmente por defecto, pero puede desactivarlo en búferes</p></li>
</ul>
<p>individuales. Véase Caras de Texto.</p>
<ul class="simple">
<li><p>El modo Visualizar números de línea (Display Line Numbers mode) es un práctico asistente para la visualización de números de línea (display-line-numbers), que se configura usando el</p></li>
</ul>
<p>valor de display-line-numbers-type. Véase Personalización de la Visualización.</p>
<ul class="simple">
<li><p>El modo menor Outline proporciona facilidades similares al modo mayor llamado Outline mode. Véase Modo Contorno.</p></li>
<li><p>El modo de sobrescritura hace que los caracteres de impresión normales sustituyan al texto existente en lugar de desplazarlo a la derecha. Por ejemplo, si hay un punto delante de la</p></li>
</ul>
<p>«B» de «FOOBAR», en el modo de sobrescritura, si se escribe una «G», se convierte en «FOOGAR», en lugar de producir «FOOGBAR» como de costumbre. En el modo de sobrescritura, el comando
C-q inserta el siguiente carácter, sea cual sea, incluso si es un dígito, lo que le permite insertar un carácter en lugar de sustituir un carácter existente. El comando de modo,
overwrite-mode, está ligado a la tecla Insert.</p>
<ul class="simple">
<li><p>El modo Sobrescritura binaria es una variante del modo Sobrescritura para la edición de archivos binarios; trata las nuevas líneas y los tabuladores como otros caracteres, de modo</p></li>
</ul>
<p>que sobrescriben otros caracteres y pueden ser sobrescritos por ellos. En el modo Sobrescritura binaria, los dígitos después de C-q especifican un código de carácter octal, como es
habitual.</p>
<ul class="simple">
<li><p>El modo Línea visual realiza el ajuste de palabras, haciendo que las líneas largas se ajusten a los límites de palabra. Véase Modo de Línea Visual.</p></li>
<li><p>El modo Abbrev amplía automáticamente el texto basándose en definiciones de abreviaturas predefinidas. Consulte <a class="reference internal" href="30_Abreviaturas.html#id1"><span class="std std-ref">30 Abreviaturas</span></a>.</p></li>
<li><p>El modo Relleno automático (Auto Fill mode) inserta nuevas líneas a medida que escribe para evitar que las líneas se alarguen
demasiado. Ver <a class="reference internal" href="26_ComandsLengsHuma.html#id7"><span class="std std-ref">26.6 Rellenar Texto</span></a>.</p></li>
<li><p>El modo Autoguardar (Auto Save mode) guarda el contenido del búfer periódicamente para reducir la cantidad de trabajo que puede
perder en caso de fallo. Véase <a class="reference internal" href="19_ManejoArchivos.html#id16"><span class="std std-ref">19.6 Guardado Automático: Protección Frente a Desastres</span></a>.</p></li>
<li><p>El modo Electric Quote convierte automáticamente las comillas. Por ejemplo, entrecomilla el texto escrito <code class="docutils literal notranslate"><span class="pre">`así'</span></code> a texto
<code class="docutils literal notranslate"><span class="pre">así</span></code>. Puede controlar en qué tipo de texto funciona, y puede desactivarlo por completo en búferes individuales. Véase
<a class="reference internal" href="26_ComandsLengsHuma.html#id6"><span class="std std-ref">26.5 Comillas</span></a>.</p></li>
<li><p>El modo enriquecido (Enriched mode) permite editar y guardar texto formateado. Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id23"><span class="std std-ref">26.14 Texto enriquecido</span></a>.</p></li>
<li><p>El modo Flyspell (Flyspell mode) resalta automáticamente las palabras mal escritas. Véase <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id5"><span class="std std-ref">17.4 Comprobar y Corregir la Ortografía</span></a>.</p></li>
<li><p>El modo Bloqueo de Fuentes (Font-Lock mode) resalta automáticamente ciertas unidades de texto que se encuentran en los programas.
Está activado globalmente por defecto, pero puede desactivarlo en búferes individuales. Véase <a class="reference internal" href="15_ControlDisplay.html#id8"><span class="std std-ref">15.8. Caras de Texto</span></a>.</p></li>
<li><p>El modo Visualizar números de línea (Display Line Numbers mode) es un práctico asistente para la visualización de números de línea
(<code class="docutils literal notranslate"><span class="pre">display-line-numbers</span></code>), que se configura usando el valor de <code class="docutils literal notranslate"><span class="pre">display-line-numbers-type</span></code>. Véase <a class="reference internal" href="15_ControlDisplay.html#id22"><span class="std std-ref">15.24 Personalización de la Pantalla</span></a>.</p></li>
<li><p>El modo menor Esquema (Outline mode) proporciona facilidades similares al modo mayor llamado Outline mode. Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id12"><span class="std std-ref">26.9 Modo Esquema</span></a>.</p></li>
<li><p>El modo de Sobrescritura (Overwrite mode) hace que los caracteres de impresión normales sustituyan al texto existente en lugar de
desplazarlo a la derecha. Por ejemplo, si hay un punto delante de la <code class="docutils literal notranslate"><span class="pre">B</span></code> de <code class="docutils literal notranslate"><span class="pre">FOOBAR</span></code>, en el modo de sobrescritura, si se escribe
una <code class="docutils literal notranslate"><span class="pre">G</span></code>, se convierte en <code class="docutils literal notranslate"><span class="pre">FOOGAR</span></code>, en lugar de producir <code class="docutils literal notranslate"><span class="pre">FOOGBAR</span></code> como de costumbre. En el modo de sobrescritura, el comando
<code class="docutils literal notranslate"><span class="pre">C-q</span></code> inserta el siguiente carácter, sea cual sea, incluso si es un dígito, lo que le permite insertar un carácter en lugar de
sustituir uno existente. El comando de modo, <code class="docutils literal notranslate"><span class="pre">overwrite-mode</span></code>, está ligado a la tecla <kbd class="kbd docutils literal notranslate">Insert</kbd> (<code class="docutils literal notranslate"><span class="pre">Insert</span></code>).</p></li>
<li><p>El modo Sobrescritura Binaria (Binary Overwrite mode) es una variante del modo Sobrescritura para la edición de archivos binarios;
trata las nuevas líneas y los tabuladores como otros caracteres, de modo que sobrescriben a otros y pueden ser sobrescritos por
ellos. En el modo Sobrescritura binaria, los dígitos después de <code class="docutils literal notranslate"><span class="pre">C-q</span></code> especifican un código de carácter octal, como es habitual.</p></li>
<li><p>El modo Línea visual (Visual Line mode) realiza el ajuste de palabras, haciendo que las líneas largas se ajusten a los límites de
palabra. Véase <a class="reference internal" href="15_ControlDisplay.html#id21"><span class="std std-ref">15.23 Modo de Línea Visual</span></a>.</p></li>
</ul>
</div></blockquote>
<p>Y aquí hay algunos modos menores globales útiles:</p>
<blockquote>
<div><ul class="simple">
<li><p>El modo Número de Columna permite mostrar el número de columna actual en la línea de modo. Véase La línea de Modo.</p></li>
<li><p>El modo Borrar Selección hace que la inserción de texto borre primero el texto de la región, si la región está activa. Véase Operar en la Región.</p></li>
<li><p>El modo Icompletar muestra una indicación de las terminaciones disponibles cuando se está en el minibúfer y la terminación está activa. Véase Selección Rápida del Minibúfer.</p></li>
<li><p>El modo Número de línea (Line Number mode) permite mostrar el número de línea actual en la línea de modo. Está activado por defecto. Véase La línea de Modo.</p></li>
<li><p>El modo Barra de Menús proporciona a cada marco una barra de menús. Está activado por defecto. Véase Barras de Menú.</p></li>
<li><p>El modo Barra de Desplazamiento proporciona a cada ventana una barra de desplazamiento. Está activado por defecto, pero la barra de desplazamiento sólo aparece en los terminales</p></li>
<li><p>El modo Número de Columna (Column Number mode) permite mostrar el número de columna actual en la línea de modo. Véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>.</p></li>
<li><p>El modo Borrar Selección (Delete Selection mode) hace que la inserción de texto borre primero el texto de la región, si la región
está activa. Véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id6"><span class="std std-ref">12.3 Operar en la Región</span></a>.</p></li>
<li><p>El modo Icompletar muestra una indicación de las terminaciones disponibles cuando se está en el minibúfer y la terminación está
activa. Véase <a class="reference internal" href="20_UsarVariosBuferes.html#id9"><span class="std std-ref">20.7.2 Selección Rápida del Minibúfer</span></a>.</p></li>
<li><p>El modo Número de línea (Line Number mode) permite mostrar el número de línea actual en la línea de modo. Está activado por defecto.
Véase <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>.</p></li>
<li><p>El modo Barra de Menús (Menu Bar mode) proporciona a cada marco una barra de menús. Está activado por defecto. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id14"><span class="std std-ref">22.15 Barras de Menús</span></a>.</p></li>
<li><p>El modo Barra de Desplazamiento (Scroll Bar mode) proporciona a cada ventana una barra de desplazamiento. Está activado por defecto,
pero la barra de desplazamiento sólo aparece en los terminales gráficos. Ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id11"><span class="std std-ref">22.12. Barras de Desplazamiento</span></a>.</p></li>
<li><p>El modo Barra de herramientas (Tool Bar mode) proporciona a cada marco una barra de herramientas. Está activado por defecto, pero la
barra de herramientas sólo se muestra en los terminales gráficos. Véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id15"><span class="std std-ref">22.16. Barras de Herramientas</span></a>.</p></li>
<li><p>El modo Barra de Pestañas (Barra de Pestañas) proporciona a cada marco una barra de pestañas. Ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id16"><span class="std std-ref">22.17 Barras de Pestañas</span></a>.</p></li>
<li><p>El modo Línea de Pestañas (Tab Line mode) proporciona a cada ventana una barra de pestañas. Véase <a class="reference internal" href="21_VariasVentanas.html#id8"><span class="std std-ref">21.8 Línea de Pestañas de Ventana</span></a>.</p></li>
<li><p>El modo Marca transitoria (Transient Mark mode) resalta la región, y hace que muchos comandos de Emacs operen en la región cuando la
marca está activa. Está activado por defecto. Véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id1"><span class="std std-ref">12 La marca y la región</span></a>.</p></li>
</ul>
<p>gráficos. Ver Barras de Desplazamiento.</p>
<ul class="simple">
<li><p>El modo Barra de herramientas (Tool Bar mode) proporciona a cada marco una barra de herramientas. Está activado por defecto, pero la barra de herramientas sólo se muestra en los</p></li>
</ul>
<p>terminales gráficos. Véase Barra de Herramientas.</p>
<ul class="simple">
<li><p>El modo Barra de Pestañas proporciona a cada marco una barra de pestañas. Ver Barra de Pestañas.</p></li>
<li><p>El modo Barra de Pestañas (Tab Line mode) proporciona a cada ventana una barra de pestañas. Véase Barra de Pestañas de Ventana.</p></li>
<li><p>El modo Marca transitoria (Transient Mark mode) resalta la región, y hace que muchos comandos de Emacs operen en la región cuando la marca está activa. Está activado por defecto.</p></li>
</ul>
<p>Véase La marca y la Región.</p>
</div></blockquote>
</section>
<section id="eleccion-de-los-modos-de-archivo">
<span id="id8"></span><h2>24.3 Elección de los Modos de Archivo<a class="headerlink" href="#eleccion-de-los-modos-de-archivo" title="Link to this heading"></a></h2>
<p>Cuando visita un archivo, Emacs elige un modo principal automáticamente. Normalmente, hace la elección basándose en el nombre del archivo, por ejemplo, los archivos cuyos nombres terminan en “.c” se editan normalmente en modo C-pero a veces elige el modo principal basándose en un texto especial en el archivo. Este texto especial también puede usarse para habilitar modos menores locales al búfer.</p>
<span id="id6"></span><h2>24.3 Elección de los Modos de Archivo<a class="headerlink" href="#eleccion-de-los-modos-de-archivo" title="Link to this heading"></a></h2>
<p>Cuando visita un archivo, Emacs elige un modo principal automáticamente. Normalmente, hace la elección basándose en el nombre del archivo, por ejemplo, los archivos cuyos nombres terminan en <code class="docutils literal notranslate"><span class="pre">.c</span></code> se editan normalmente en modo C, pero a veces elige el modo principal basándose en un texto especial en el archivo. Este texto especial también puede usarse para habilitar modos menores locales al búfer.</p>
<p>Este es el procedimiento exacto:</p>
<p>Primero, Emacs comprueba si el archivo contiene variables de modo local de archivo. Ver Variables Locales en Archivos. Si hay una variable local de archivo que especifica un modo mayor, entonces Emacs usa ese modo mayor, ignorando todos los demás criterios. Hay varios métodos para especificar un modo principal usando una variable local de archivo; el más simple es poner el nombre del modo en la primera línea no en blanco, precedida y seguida por “-<a href="#id9"><span class="problematic" id="id10">*</span></a>-”. También puede aparecer otro texto en la línea. Por ejemplo,</p>
<blockquote>
<div><p>; -<em>-Lisp-</em>-</p>
</div></blockquote>
<p>Primero, el Editor comprueba si el archivo contiene variables de modo local de archivo. Ver <a class="reference internal" href="50_Personlzc.html#id9"><span class="std std-ref">50.2.4. Variables locales en Archivos</span></a>. Si hay una variable local de archivo que especifica un modo mayor, entonces Emacs usa ese modo mayor, ignorando todos los demás criterios. Hay varios métodos para especificar un modo principal usando una variable local de archivo; el más simple es poner el nombre del modo en la primera línea no en blanco, precedida y seguida por <code class="docutils literal notranslate"><span class="pre">-*-</span></code>. También puede aparecer otro texto en la línea. Por ejemplo,</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">;</span> <span class="o">-*-</span><span class="n">Lisp</span><span class="o">-*-</span>
</pre></div>
</div>
<p>le dice a Emacs que use el modo Lisp. Observe cómo se usa el punto y coma para que Lisp trate esta línea como un comentario. De forma equivalente, podría escribir</p>
<blockquote>
<div><p>; -<em>- mode: Lisp;-</em>-</p>
</div></blockquote>
<p>También puede usar variables locales de archivo para especificar modos menores locales de búfer, usando especificaciones eval. Por ejemplo, esta primera línea no en blanco pone el búfer en modo Lisp y activa el modo Auto-Fill:</p>
<blockquote>
<div><p>; -<em>- mode: Lisp; eval: (auto-fill-mode 1); -</em>-</p>
</div></blockquote>
<p>Tenga en cuenta, sin embargo, que normalmente es inapropiado activar los modos menores de esta forma, ya que la mayoría de ellos representan preferencias individuales del Usuario. Si personalmente quiere usar un modo menor para un tipo de archivo en particular, es mejor activar el modo menor a través de un hook de modo mayor (ver Modos Mayores).</p>
<p>En segundo lugar, Emacs comprueba si la extensión del archivo coincide con una entrada de cualquier lista de modos automáticos local del directorio. Estas se encuentran usando la herramienta .dir-locals.el (ver Variables Locales Por-Directorio).</p>
<p>En tercer lugar, si no hay ninguna variable de archivo que especifique un modo principal, Emacs comprueba si el contenido del archivo empieza por “#!”. Si es así, eso indica que el archivo puede servir como un comando de shell ejecutable, que funciona ejecutando un intérprete nombrado en la primera línea del archivo (el resto del archivo se usa como entrada para el intérprete). Por lo tanto, Emacs intenta usar el nombre del intérprete para elegir un modo. Por ejemplo, un archivo que comienza con “#!/usr/bin/perl” se abre en modo Perl. La variable interpreter-mode-alist especifica la correspondencia entre los nombres de los programas intérpretes y los modos principales.</p>
<p>Cuando la primera línea empieza con “#!”, normalmente no puede usar la función “-<em>-” en la primera línea, porque el sistema se confundiría al ejecutar el intérprete. Así que Emacs busca “-</em>-” en la segunda línea de tales archivos así como en la primera línea. Lo mismo ocurre con las páginas de manual que empiezan con la cadena mágica “”&quot; para especificar una lista de preprocesadores troff.</p>
<p>Cuarto, Emacs intenta determinar el modo principal mirando el texto al principio del búfer, basándose en la variable magic-mode-alist. Por defecto, esta variable es nil (una lista vacía), por lo que Emacs se salta este paso; sin embargo, puede personalizarla en su archivo init (vea El archivo de inicialización de Emacs). El valor debe ser una lista de elementos de la forma</p>
<blockquote>
<div><p>(regexp . mode-function)</p>
</div></blockquote>
<p>donde regexp es una expresión regular (ver Sintaxis de Expresiones Regulares), y mode-function es un comando de modo principal. Si el texto al principio del archivo coincide con regexp, Emacs elige el modo principal especificado por mode-function.</p>
<p>Alternativamente, un elemento de magic-mode-alist puede tener la forma</p>
<blockquote>
<div><p>(match-function . mode-function)</p>
</div></blockquote>
<p>donde match-function es una función Lisp que se llama al principio del búfer; si la función devuelve un valor no nulo, Emacs establece el modo principal con mode-function.</p>
<p>Quinto -si Emacs todavía no ha encontrado un modo principal adecuado- mira el nombre del archivo. La correspondencia entre nombres de archivo y modos principales está controlada por la variable auto-mode-alist. Su valor es una lista en la que cada elemento tiene esta forma,</p>
<blockquote>
<div><p>(regexp . mode-function)</p>
</div></blockquote>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">;</span> <span class="o">-*-</span> <span class="n">mode</span><span class="p">:</span> <span class="n">Lisp</span><span class="p">;</span><span class="o">-*-</span>
</pre></div>
</div>
<p>También puede usar variables locales de archivo para especificar modos menores locales de búfer, usando especificaciones <code class="docutils literal notranslate"><span class="pre">eval</span></code>. Por ejemplo, esta primera línea no en blanco pone el búfer en modo Lisp y activa el modo de Relleno Automático (Auto-Fill mode):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">;</span> <span class="o">-*-</span> <span class="n">mode</span><span class="p">:</span> <span class="n">Lisp</span><span class="p">;</span> <span class="nb">eval</span><span class="p">:</span> <span class="p">(</span><span class="n">auto</span><span class="o">-</span><span class="n">fill</span><span class="o">-</span><span class="n">mode</span> <span class="mi">1</span><span class="p">);</span> <span class="o">-*-</span>
</pre></div>
</div>
<p>Tenga en cuenta, sin embargo, que normalmente es inapropiado activar los modos menores de esta forma, ya que la mayoría de ellos representan preferencias individuales del Usuario. Si personalmente quiere usar un modo menor para un tipo de archivo en particular, es mejor activar el modo menor a través de un gancho de modo mayor (ver <a class="reference internal" href="#id2"><span class="std std-ref">24.1 Modos Mayores (o Principales)</span></a>).</p>
<p>En segundo lugar, Emacs comprueba si la extensión del archivo coincide con una entrada de cualquier lista de modos automáticos local del directorio (<code class="docutils literal notranslate"><span class="pre">automode-mode-alist</span></code>). Estas se encuentran usando la herramienta <code class="docutils literal notranslate"><span class="pre">.dir-locals.el</span></code> (ver <a class="reference internal" href="50_Personlzc.html#id16"><span class="std std-ref">50.2.5 Variables Locales por Directorio</span></a>).</p>
<p>En tercer lugar, si no hay ninguna variable de archivo que especifique un modo principal, Emacs comprueba si el contenido del archivo empieza por <code class="docutils literal notranslate"><span class="pre">#!</span></code>. Si es así, eso indica que el archivo puede servir como un comando de shell ejecutable, que funciona corriendo un intérprete nombrado en la primera línea del archivo (el resto del archivo se usa como entrada para el intérprete). Por lo tanto, Emacs intenta usar el nombre del intérprete para elegir un modo. Por ejemplo, un archivo que comienza con <code class="docutils literal notranslate"><span class="pre">#!/usr/bin/perl</span></code> se abre en modo Perl. La variable <code class="docutils literal notranslate"><span class="pre">interpreter-mode-alist</span></code> especifica la correspondencia entre los nombres de los programas intérpretes y los modos principales.</p>
<p>Cuando la primera línea empieza con <code class="docutils literal notranslate"><span class="pre">#!</span></code>, normalmente no puede usar la función <code class="docutils literal notranslate"><span class="pre">-*-</span></code> en la primera línea, porque el sistema se confundiría al ejecutar el intérprete. De modo que el Editor busca <code class="docutils literal notranslate"><span class="pre">-*-</span></code> tanto en la primera como en la segunda línea de tales archivos. Lo mismo ocurre con las páginas de manual que empiezan con la cadena mágica <code class="docutils literal notranslate"><span class="pre">'\&quot;</span></code> para especificar una lista de preprocesadores troff.</p>
<p>Cuarto, Emacs intenta determinar el modo principal mirando el texto al principio del búfer, basándose en la variable <code class="docutils literal notranslate"><span class="pre">magic-mode-alist</span></code>. Por defecto, esta variable es <code class="docutils literal notranslate"><span class="pre">nil</span></code> (una lista vacía), por lo que Emacs se salta este paso; sin embargo, puede personalizarla en su archivo init (vea <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>). El valor debe ser una lista de elementos de la forma</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">regexp</span> <span class="o">.</span> <span class="n">mode</span><span class="o">-</span><span class="n">function</span><span class="p">)</span>
</pre></div>
</div>
<p>donde <em>regexp</em> es una expresión regular (ver <a class="reference internal" href="16_BusqReemp.html#id13"><span class="std std-ref">16.6 Sintaxis de las Expresiones Regulares</span></a>), y <em>mode-function</em> es un comando de modo principal. Si el texto al principio del archivo coincide con <em>regexp</em>, Emacs elige el modo principal especificado por <em>mode-function</em>.</p>
<p>Alternativamente, un elemento de <code class="docutils literal notranslate"><span class="pre">magic-mode-alist</span></code> puede tener la forma</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">match</span><span class="o">-</span><span class="n">function</span> <span class="o">.</span> <span class="n">mode</span><span class="o">-</span><span class="n">function</span><span class="p">)</span>
</pre></div>
</div>
<p>donde <em>match-function</em> es una función Lisp que se llama al principio del búfer; si la función devuelve un valor no nulo, Emacs establece el modo principal con mode-function.</p>
<p>2Quinto -si Emacs todavía no ha encontrado un modo principal adecuado- mira el nombre del archivo. La correspondencia entre nombres de archivo y modos principales está controlada por la variable <code class="docutils literal notranslate"><span class="pre">auto-mode-alist</span></code>. Su valor es una lista en la que cada elemento tiene esta forma,</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">regexp</span> <span class="o">.</span> <span class="n">mode</span><span class="o">-</span><span class="n">function</span><span class="p">)</span>
</pre></div>
</div>
<p>o con este formulario,</p>
<blockquote>
<div><p>(regexp mode-function flag)</p>
</div></blockquote>
<p>Por ejemplo, un elemento que normalmente se encuentra en la lista tiene la forma (»\.c\”» . c-mode), y es el responsable de seleccionar el modo C para los archivos cuyos nombres terminan en .c. (Tenga en cuenta que “\” es necesario en la sintaxis Lisp para incluir un “' en la cadena, que debe usarse para suprimir el significado especial de “.” en los regexps).</p>
<p>Si el elemento tiene la forma (regexp mode-function flag) y flag es no nil, entonces después de llamar a mode-function (si es no nil), Emacs descarta el sufijo que coincidió con regexp y busca de nuevo en la lista otra coincidencia. Esta «eliminación recursiva de extensiones» se usa para archivos que tienen múltiples extensiones, y la extensión «externa» oculta la «interna» que realmente especifica el modo correcto. Por ejemplo, los archivos de copia de seguridad y los archivos cifrados con GPG con extensión .gpg usan esta función.</p>
<p>En GNU/Linux y otros sistemas con nombres de archivo que distinguen mayúsculas de minúsculas, Emacs realiza una búsqueda que distingue mayúsculas de minúsculas a través de la lista auto-mode-alist; si esta búsqueda falla, realiza una segunda búsqueda que no distingue mayúsculas de minúsculas a través de la lista alist. Para suprimir la segunda búsqueda, cambie la variable auto-mode-case-fold a nil. En sistemas con nombres de archivo que no distinguen mayúsculas de minúsculas, como Microsoft Windows, Emacs realiza una única búsqueda que no distingue mayúsculas de minúsculas a través de auto-mode-alist.</p>
<p>Finalmente, si Emacs todavía no ha encontrado un modo principal que usar, compara el texto al principio del búfer con la variable magic-fallback-mode-alist. Esta variable funciona como magic-mode-alist, descrita anteriormente, excepto que se consulta sólo después de auto-mode-alist. Por defecto, magic-fallback-mode-alist contiene formularios que comprueban archivos de imagen, archivos HTML/XML/SGML, archivos PostScript y archivos Conf estilo Unix.</p>
<p>Una vez que se encuentra un modo principal, Emacs hace una comprobación final para ver si el modo ha sido remapeado por major-mode-remap-alist, en cuyo caso usa el modo remapeado en su lugar. Esto se usa cuando se pueden usar varios modos principales diferentes para el mismo tipo de archivo, para que pueda especificar qué modo prefiere.</p>
<p>Si ha cambiado el modo principal de un búfer, puede volver al modo principal que Emacs habría elegido automáticamente, tecleando M-x normal-mode. Esta es la misma función que find-file llama para elegir el modo principal. Si el búfer está visitando un archivo, este comando también procesa la línea “-<em>-” del archivo y la lista de variables locales del archivo (si existe). Véase Variables Locales en Archivos. Si el búfer no visita un archivo, el comando procesa sólo la especificación de modo principal, si la hay, en la línea “-</em>-” y en la lista de variables locales del archivo.</p>
<p>Los comandos C-x C-w y set-visited-file-name cambian a un nuevo modo principal si el nuevo nombre de archivo implica un modo (véase Guardar Archivos). (C-x C-s también lo hace, si el búfer no estaba visitando un archivo.) Sin embargo, esto no ocurre si el contenido del búfer especifica un modo principal, y ciertos modos principales especiales no permiten cambiar el modo. Puede desactivar esta función de cambio de modo estableciendo change-major-mode-with-file-name en nil.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">regexp</span> <span class="n">mode</span><span class="o">-</span><span class="n">function</span> <span class="n">flag</span><span class="p">)</span>
</pre></div>
</div>
<p>Por ejemplo, un elemento que normalmente se encuentra en la lista tiene la forma (<code class="docutils literal notranslate"><span class="pre">&quot;\\.c\\'&quot;</span> <span class="pre">.</span> <span class="pre">c-mode</span></code>), y es el responsable de seleccionar el modo C para los archivos cuyos nombres terminan en <code class="docutils literal notranslate"><span class="pre">.c.</span></code> (Tenga en cuenta que <code class="docutils literal notranslate"><span class="pre">\\</span></code> es necesario en la sintaxis Lisp para incluir un <code class="docutils literal notranslate"><span class="pre">\'</span> <span class="pre">en</span> <span class="pre">la</span> <span class="pre">cadena,</span> <span class="pre">que</span> <span class="pre">debe</span> <span class="pre">usarse</span> <span class="pre">para</span> <span class="pre">suprimir</span> <span class="pre">el</span> <span class="pre">significado</span> <span class="pre">especial</span> <span class="pre">de</span> <span class="pre">``'.</span></code> en las expreg).</p>
<p>Si el elemento tiene la forma (<code class="docutils literal notranslate"><span class="pre">regexp</span> <span class="pre">mode-function</span> <span class="pre">flag</span></code>) y <em>flag</em> es no <code class="docutils literal notranslate"><span class="pre">nil</span></code>, entonces después de llamar a <em>mode-function</em> (si es no <code class="docutils literal notranslate"><span class="pre">nil</span></code>), Emacs descarta el sufijo que coincidió con <em>expreg</em> y busca de nuevo en la lista otra coincidencia. Esta «eliminación recursiva de extensiones» se usa para archivos que tienen múltiples extensiones, y la extensión «externa» oculta la «interna» que realmente especifica el modo correcto. Por ejemplo, los archivos de copia de seguridad y los archivos cifrados con GPG con extensión .gpg usan esta función.</p>
<p>En GNU/Linux y otros sistemas con nombres de archivo que distinguen mayúsculas de minúsculas, Emacs realiza una búsqueda que distingue mayúsculas de minúsculas a través de la lista <code class="docutils literal notranslate"><span class="pre">auto-mode-alist</span></code>; si esta búsqueda falla, realiza una segunda búsqueda que no distingue mayúsculas de minúsculas a través de la lista alist. Para suprimir la segunda búsqueda, cambie la variable <code class="docutils literal notranslate"><span class="pre">auto-mode-case-fold</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>. En sistemas con nombres de archivo que no distinguen mayúsculas de minúsculas, como Microsoft Windows, Emacs realiza una única búsqueda que no distingue mayúsculas de minúsculas a través de <code class="docutils literal notranslate"><span class="pre">auto-mode-alist</span></code>.</p>
<p>Finalmente, si Emacs todavía no ha encontrado un modo principal que usar, compara el texto al principio del búfer con la variable <code class="docutils literal notranslate"><span class="pre">magic-fallback-mode-alist</span></code>. Esta variable funciona como <code class="docutils literal notranslate"><span class="pre">magic-mode-alist</span></code>, descrita anteriormente, excepto que se consulta sólo después de <code class="docutils literal notranslate"><span class="pre">auto-mode-alist</span></code>. Por defecto, <code class="docutils literal notranslate"><span class="pre">magic-fallback-mode-alist</span></code> contiene formularios que comprueban archivos de imagen, archivos HTML/XML/SGML, archivos PostScript y archivos Conf estilo Unix.</p>
<p>Una vez que se encuentra un modo principal, Emacs hace una comprobación final para ver si el modo ha sido remapeado por <code class="docutils literal notranslate"><span class="pre">major-mode-remap-alist</span></code>, en cuyo caso usa el modo remapeado en su lugar. Esto se usa cuando se pueden usar varios modos principales diferentes para el mismo tipo de archivo, para que pueda especificar qué modo prefiere.</p>
<p>Si ha cambiado el modo principal de un búfer, puede volver al modo principal que Emacs habría elegido automáticamente, tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-kbd:<cite>x</cite> <code class="docutils literal notranslate"><span class="pre">normal-mode</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">normal-mode</span></code>). Esta es la misma función que <code class="docutils literal notranslate"><span class="pre">find-file</span></code> llama para elegir el modo principal. Si el búfer está visitando un archivo, este comando también procesa la línea <code class="docutils literal notranslate"><span class="pre">-*-</span></code> del archivo y la lista de variables locales del archivo (si existe). Véase <a class="reference internal" href="50_Personlzc.html#id9"><span class="std std-ref">50.2.4. Variables locales en Archivos</span></a>. Si el búfer no visita un archivo, el comando procesa sólo la especificación de modo principal, si la hay, en la línea <code class="docutils literal notranslate"><span class="pre">-*-</span></code> y en la lista de variables locales del archivo.</p>
<p>Los comandos <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-w</span></code> y`` set-visited-file-name`` cambian a un nuevo modo principal si el nuevo nombre de archivo implica un modo (véase <a class="reference internal" href="19_ManejoArchivos.html#id4"><span class="std std-ref">19.3 Guardar Archivos</span></a>). (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-s</span></code> también lo hace, si el búfer no estaba visitando un archivo.) Sin embargo, esto no ocurre si el contenido del búfer especifica un modo principal, y ciertos modos principales especiales no permiten cambiar el modo. Puede desactivar esta función de cambio de modo estableciendo <code class="docutils literal notranslate"><span class="pre">change-major-mode-with-file-name</span></code> en <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -301,7 +301,7 @@
<span id="id7"></span><h2>26.6 Rellenar Texto<a class="headerlink" href="#rellenar-texto" title="Link to this heading"></a></h2>
<p>Rellenar texto significa dividirlo en líneas que se ajusten a un ancho especificado. Emacs rellena el texto de dos maneras. En el modo Relleno automático (Auto Fill mode), la inserción de texto con caracteres autoinsertables también lo rellena automáticamente. También hay comandos de relleno explícitos que puede usar al editar texto.</p>
<section id="modo-auto-fill">
<h3>26.6.1 Modo Auto Fill<a class="headerlink" href="#modo-auto-fill" title="Link to this heading"></a></h3>
<span id="id8"></span><h3>26.6.1 Modo Auto Fill<a class="headerlink" href="#modo-auto-fill" title="Link to this heading"></a></h3>
<p>El modo Auto Fill es un modo menor local del búfer (ver Modos Menores) en el que las líneas se rompen automáticamente cuando la línea se vuelve demasiado ancha y se teclea SPC o RET.</p>
<dl class="simple">
<dt>M-x auto-fill-mode</dt><dd><p>Activa o desactiva el modo Relleno Automático (Auto Fill mode).</p>
@ -320,7 +320,7 @@ RET</p>
<p>Una función similar que rellena automáticamente las líneas largas en el momento de la visualización es el Modo de línea visual (véase Modo de Línea Visual).</p>
</section>
<section id="comandos-de-relleno-explicito">
<span id="id8"></span><h3>26.6.2 Comandos de Relleno Explícito<a class="headerlink" href="#comandos-de-relleno-explicito" title="Link to this heading"></a></h3>
<span id="id9"></span><h3>26.6.2 Comandos de Relleno Explícito<a class="headerlink" href="#comandos-de-relleno-explicito" title="Link to this heading"></a></h3>
<dl class="simple">
<dt>M-q</dt><dd><p>Rellena el párrafo actual (fill-paragraph).</p>
</dd>
@ -345,7 +345,7 @@ RET</p>
<p>Emacs puede mostrar un indicador en la posición de columna de relleno usando el modo Display fill column indicator (ver display-fill-column-indicator).</p>
</section>
<section id="el-prefijo-de-relleno">
<span id="id9"></span><h3>26.6.3 El Prefijo de Relleno<a class="headerlink" href="#el-prefijo-de-relleno" title="Link to this heading"></a></h3>
<span id="id10"></span><h3>26.6.3 El Prefijo de Relleno<a class="headerlink" href="#el-prefijo-de-relleno" title="Link to this heading"></a></h3>
<p>La característica de prefijo de relleno permite rellenar párrafos de forma que cada línea comience con una cadena especial de caracteres (como una secuencia de espacios, dando un párrafo sangrado). Puede especificar un prefijo de relleno explícitamente; de lo contrario, Emacs intenta deducir uno automáticamente (véase Relleno Adaptativo).</p>
<dl class="simple">
<dt>C-x .</dt><dd><p>Establece el prefijo de relleno (set-fill-prefix).</p>
@ -400,7 +400,7 @@ RET</p>
</section>
</section>
<section id="comandos-de-conversion-de-mayusculas-y-minusculas">
<span id="id10"></span><h2>26.7. Comandos de Conversión de Mayúsculas y Minúsculas<a class="headerlink" href="#comandos-de-conversion-de-mayusculas-y-minusculas" title="Link to this heading"></a></h2>
<span id="id11"></span><h2>26.7. Comandos de Conversión de Mayúsculas y Minúsculas<a class="headerlink" href="#comandos-de-conversion-de-mayusculas-y-minusculas" title="Link to this heading"></a></h2>
<p>Emacs tiene comandos para convertir una sola palabra o cualquier rango arbitrario de texto a mayúsculas o minúsculas.</p>
<dl class="simple">
<dt>M-l</dt><dd><p>Convierte la siguiente palabra a minúsculas (downcase-word).</p>
@ -432,7 +432,7 @@ RET</p>
<p>Las siguientes secciones describen varios modos principales derivados del modo Texto. Estos derivados comparten la mayoría de las características del modo Texto descritas anteriormente. En particular, los derivados del modo Texto ejecutan text-mode-hook antes de ejecutar sus propios hooks de modo.</p>
</section>
<section id="modo-esquema">
<span id="id11"></span><h2>26.9 Modo Esquema<a class="headerlink" href="#modo-esquema" title="Link to this heading"></a></h2>
<span id="id12"></span><h2>26.9 Modo Esquema<a class="headerlink" href="#modo-esquema" title="Link to this heading"></a></h2>
<p>El modo Esquema (Outilne mode) es un modo principal derivado del modo Texto, que está especializado en la edición de esquemas. Proporciona comandos para navegar entre las entradas de la estructura del esquema, y comandos para hacer temporalmente invisibles partes de un búfer, de forma que la estructura del esquema pueda verse más fácilmente. Escriba M-x outline-mode para cambiar al modo Outline. Al entrar en modo Esquema se ejecuta el gancho text-mode-hook seguido del gancho outline-mode-hook (ver Ganchos).</p>
<p>Cuando usa un comando del modo Contorno para hacer invisible una línea (ver Comandos de Visibilidad de Contorno), la línea desaparece de la pantalla. Se muestra una elipsis (tres puntos seguidos) al final de la línea visible anterior, para indicar el texto oculto. Varias líneas invisibles consecutivas producen una sola elipsis.</p>
<p>Los comandos de edición que operan sobre líneas, como C-n y C-p, tratan el texto de la línea invisible como parte de la línea visible anterior. Matar la elipsis al final de una línea visible realmente mata todo el texto invisible siguiente asociado con la elipsis.</p>
@ -458,7 +458,7 @@ Este es el cuerpo del encabezado de segundo nivel.</p>
También podría tener
un cuerpo también, con
varias líneas.</p>
<p><a href="#id12"><span class="problematic" id="id13">**</span></a>* Comida Dormitorio</p>
<p><a href="#id13"><span class="problematic" id="id14">**</span></a>* Comida Dormitorio</p>
<ul class="simple">
<li><p>Albergue</p></li>
</ul>
@ -470,7 +470,7 @@ varias líneas.</p>
<p>Puede especificar explícitamente una regla para calcular el nivel de una línea de encabezamiento estableciendo la variable outline-level. El valor de outline-level debe ser una función que no reciba argumentos y devuelva el nivel del encabezamiento actual. Las formas recomendadas de establecer esta variable son en un comando de modo principal o con una variable local de archivo.</p>
</section>
<section id="comandos-de-movimiento-en-el-modo-esquema">
<span id="id14"></span><h3>26.9.3 Comandos de Movimiento en el Modo Esquema<a class="headerlink" href="#comandos-de-movimiento-en-el-modo-esquema" title="Link to this heading"></a></h3>
<span id="id15"></span><h3>26.9.3 Comandos de Movimiento en el Modo Esquema<a class="headerlink" href="#comandos-de-movimiento-en-el-modo-esquema" title="Link to this heading"></a></h3>
<p>El modo Esquema (Outilne mode) proporciona comandos de movimiento especiales que se mueven hacia adelante y hacia atrás en las líneas de encabezamiento.</p>
<dl class="simple">
<dt>C-c C-n</dt><dd><p>Mueve el punto a la siguiente línea de encabezado visible (outline-next-visible-heading).</p>
@ -487,7 +487,7 @@ varias líneas.</p>
<p>Todos los comandos anteriores aceptan argumentos numéricos como cuentas de repetición. Por ejemplo, C-c C-f, cuando se le da un argumento, avanza tantas líneas de encabezamiento visibles en el mismo nivel, y C-c C-u con un argumento sale de tantos niveles anidados.</p>
</section>
<section id="comandos-de-visibilidad-del-modo-esquema">
<span id="id15"></span><h3>26.9.4 Comandos de Visibilidad del Modo Esquema<a class="headerlink" href="#comandos-de-visibilidad-del-modo-esquema" title="Link to this heading"></a></h3>
<span id="id16"></span><h3>26.9.4 Comandos de Visibilidad del Modo Esquema<a class="headerlink" href="#comandos-de-visibilidad-del-modo-esquema" title="Link to this heading"></a></h3>
<p>El modo Esquema proporciona varios comandos para ocultar o revelar temporalmente partes del búfer, basándose en la estructura del esquema. Estos comandos no se pueden deshacer; sus efectos simplemente no son registrados por el mecanismo de deshacer, por lo que se puede deshacer justo después de ellos (véase Deshacer).</p>
<p>Muchos de estos comandos actúan sobre la línea de rumbo actual. Si el punto está en una línea de encabezado, esa es la línea de encabezado actual; si el punto está en una línea de cuerpo, la línea de encabezado actual es la línea de encabezado precedente más cercana.</p>
<dl class="simple">
@ -524,7 +524,7 @@ varias líneas.</p>
<p>La variable outline-default-state controla qué encabezados serán visibles después de activar el modo Outline. Si no es nula, algunos encabezados se muestran inicialmente. Si es igual a un número, sólo se muestran los encabezados hasta el nivel correspondiente. Si es igual a outline-show-all, se muestra todo el texto del búfer. Si es igual a outline-show-only-headings, sólo se muestran los encabezados, sea cual sea su nivel. Si es igual a una función lambda o a un nombre de función, se espera que esta función conmute la visibilidad de los encabezados, y será llamada sin argumentos una vez activado el modo.</p>
</section>
<section id="visualizacion-de-un-esquema-en-varias-vistas">
<span id="id16"></span><h3>26.9.5 Visualización de un Esquema en Varias Vistas<a class="headerlink" href="#visualizacion-de-un-esquema-en-varias-vistas" title="Link to this heading"></a></h3>
<span id="id17"></span><h3>26.9.5 Visualización de un Esquema en Varias Vistas<a class="headerlink" href="#visualizacion-de-un-esquema-en-varias-vistas" title="Link to this heading"></a></h3>
<p>Puede visualizar dos vistas de un mismo esquema al mismo tiempo, en ventanas diferentes. Para ello, puede crear un búfer indirecto utilizando M-x make-indirect-buffer. El primer argumento de este comando es el nombre del búfer de contorno existente, y su segundo argumento es el nombre a usar para el nuevo búfer indirecto. Véase Búferes Indirectos.</p>
<p>Una vez que el búfer indirecto existe, puedes mostrarlo en una ventana de forma normal, con C-x 4 b u otros comandos de Emacs. Los comandos del modo Esquema para mostrar y ocultar partes del texto operan en cada búfer independientemente; como resultado, cada búfer puede tener su propia vista. Si desea más de dos vistas en el mismo esquema, puede crear búferes indirectos adicionales.</p>
</section>
@ -600,7 +600,7 @@ varias líneas.</p>
<li><p>Este texto usa =un tipo de letra teletipo=</p></li>
</ul>
<p>#+begin_quote
<a href="#id17"><span class="problematic" id="id18">``</span></a>Esto es una cita””.
<a href="#id18"><span class="problematic" id="id19">``</span></a>Esto es una cita””.
#+end_quote</p>
<p>#+begin_example
Esto es un ejemplo.
@ -641,7 +641,7 @@ Packages); una vez instalado, consulte el manual de AUCTeX, que se incluye con e
<dt>C-c }</dt><dd><p>Avanza hasta el siguiente corchete cerrado no emparejado (up-list, lista ascendente).</p>
</dd>
</dl>
<p>En TeX, normalmente no se usa el carácter “»”; en su lugar, las comillas empiezan con “``” y terminan con “”””. Por lo tanto, el modo TeX vincula la tecla « al comando tex-insert-quote. Esto inserta <a href="#id19"><span class="problematic" id="id20">``</span></a>” después de un espacio en blanco o una llave abierta, “»” después de una barra invertida y “””” después de cualquier otro carácter.</p>
<p>En TeX, normalmente no se usa el carácter “»”; en su lugar, las comillas empiezan con “``” y terminan con “”””. Por lo tanto, el modo TeX vincula la tecla « al comando tex-insert-quote. Esto inserta <a href="#id20"><span class="problematic" id="id21">``</span></a>” después de un espacio en blanco o una llave abierta, “»” después de una barra invertida y “””” después de cualquier otro carácter.</p>
<p>Como excepción especial, si teclea « cuando el texto anterior al punto es “``” o “”””, Emacs sustituye el texto anterior por un único carácter “»”. Por lo tanto, puede escribir «» para insertar “»”, si alguna vez lo necesita. (También puede usar C-q « para insertar este carácter).</p>
<p>En el modo TeX, “$” tiene un código sintáctico especial que intenta comprender la forma en que coinciden los delimitadores del modo matemático de TeX. Cuando se inserta un “$” para salir del modo matemático, se muestra durante un segundo la posición del “$” coincidente que entró en el modo matemático. Esta es la misma función que muestra la llave abierta que coincide con una llave cerrada que se inserta. Sin embargo, no hay forma de saber si un “$” entra en modo matemático o sale de él; así que cuando se inserta un “$” que entra en modo matemático, la posición del “$” anterior se muestra como si coincidiera, aunque en realidad no estén relacionados.</p>
<p>TeX usa las llaves como delimitadores que deben coincidir. Algunos Usuarios prefieren mantener las llaves compensadas en todo momento, en lugar de insertarlas individualmente. Usa C-c { (tex-insert-braces) para insertar un par de llaves. Deja un punto entre las dos llaves para que pueda insertar el texto que pertenece dentro. Después, usa el comando C-c } (up-list, lista ascendente) para avanzar más allá de la llave de cierre. También puede invocar C-c { después de marcar algún texto: entonces el comando encierra el texto marcado entre llaves.</p>
@ -746,7 +746,7 @@ etiqueta de cierre.</p>
<p>Puede usar el modo SGML, menos potente, para editar XML, ya que XML es un subconjunto estricto de SGML. Para activar el modo SGML en un búfer existente, escriba M-x sgml-mode. Al activar el modo SGML, Emacs examina el búfer para determinar si es XML; si es así, establece la variable sgml-xml-mode en un valor no nulo. Esto hace que los comandos de inserción de etiquetas del modo SGML, descritos anteriormente, inserten siempre también etiquetas de cierre explícitas.</p>
</section>
<section id="modo-nroff">
<span id="id21"></span><h2>26.13 Modo Nroff<a class="headerlink" href="#modo-nroff" title="Link to this heading"></a></h2>
<span id="id22"></span><h2>26.13 Modo Nroff<a class="headerlink" href="#modo-nroff" title="Link to this heading"></a></h2>
<p>El modo Nroff, un modo principal derivado del modo Texto, está especializado en la edición de archivos nroff (por ejemplo, páginas man de Unix). Escriba M-x nroff-mode para entrar en este modo. Al entrar en modo Nroff se ejecuta el gancho text-mode-hook, y luego nroff-mode-hook (ver Ganchos).</p>
<p>En modo Nroff, las líneas de comandos nroff se tratan como separadores de párrafo, las páginas se separan con comandos “.bp” y los comentarios empiezan con barra invertida-doble comilla. También define estos comandos:</p>
<dl class="simple">
@ -761,7 +761,7 @@ etiqueta de cierre.</p>
<p>Si utiliza el modo Esquema menor con el modo Nroff (véase Modo Esquema), las líneas de encabezamiento son líneas de la forma “.H” seguidas de un número (el nivel de encabezamiento).</p>
</section>
<section id="texto-enriquecido">
<span id="id22"></span><h2>26.14 Texto enriquecido<a class="headerlink" href="#texto-enriquecido" title="Link to this heading"></a></h2>
<span id="id23"></span><h2>26.14 Texto enriquecido<a class="headerlink" href="#texto-enriquecido" title="Link to this heading"></a></h2>
<p>El modo enriquecido es un modo secundario para editar archivos de texto formateados en modo WYSIWYG (What You See Is What You Get, Lo que ves, es lo que obtienes). Cuando el modo enriquecido está activado, puede aplicar varias propiedades de formato al texto del búfer, como fuentes y colores; al guardar el búfer, esas propiedades se guardan junto con el texto, utilizando el formato de archivo MIME “text/enriched”.</p>
<p>El modo enriquecido se utiliza normalmente con el modo Texto (véase Modo Texto). No es compatible con el modo Font Lock, utilizado por muchos modos principales, incluidos la mayoría de los modos de lenguajes de programación, para resaltar la sintaxis (véase Modo Font Lock). A diferencia del modo Enriquecido, el modo Bloqueo de fuente asigna las propiedades del texto automáticamente, basándose en el contenido actual del búfer; esas propiedades no se guardan en el disco.</p>
<p>El archivo enriched.txt en el directorio de datos de Emacs sirve como ejemplo de las características del modo Enriquecido.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -92,7 +92,10 @@
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#manipulacion-de-comentarios">27.5. Manipulación de Comentarios</a></li>
<li class="toctree-l2"><a class="reference internal" href="#busqueda-de-documentacion">27.6 Búsqueda de Documentación</a></li>
<li class="toctree-l2"><a class="reference internal" href="#busqueda-de-documentacion">27.6 Búsqueda de Documentación</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#busqueda-de-documentacion-en-lenguajes-de-programacion">27.6.3. Búsqueda de Documentación en Lenguajes de Programación</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#modo-secundario-hideshow">27.7 Modo Secundario Hideshow</a></li>
<li class="toctree-l2"><a class="reference internal" href="#completado-de-nombres-de-simbolos">27.8 Completado de Nombres de Símbolos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#palabras-en-mayusculas-y-minusculas">27.9 Palabras en Mayúsculas y Minúsculas</a></li>
@ -490,7 +493,7 @@ C-c C-c (in C-like modes)</p>
<p>Emacs también intenta alinear los comentarios en líneas adyacentes. Para anular esto, la función puede devolver una cons de dos enteros (posiblemente iguales) para indicar un rango aceptable de sangría.</p>
</section>
<section id="busqueda-de-documentacion">
<h2>27.6 Búsqueda de Documentación<a class="headerlink" href="#busqueda-de-documentacion" title="Link to this heading"></a></h2>
<span id="id14"></span><h2>27.6 Búsqueda de Documentación<a class="headerlink" href="#busqueda-de-documentacion" title="Link to this heading"></a></h2>
<p>Emacs proporciona varias características que puede usar para buscar la documentación de funciones, variables y comandos que planea usar en su programa.</p>
<p>27.6.1 Búsqueda de Documentación en Info</p>
<p>Para los modos principales que se aplican a lenguajes que tienen documentación en Info, puede usar C-h S (info-lookup-symbol) para ver la documentación Info de un símbolo usado en el programa. Especifique el símbolo con el minibúfer; el valor predeterminado es el símbolo que aparece en el búfer en el punto. Por ejemplo, en modo C se busca el símbolo en el Manual de la Biblioteca C. El comando sólo funciona si están instalados los archivos Info del manual correspondiente.</p>
@ -501,12 +504,13 @@ C-c C-c (in C-like modes)</p>
<p>Puede leer la página man de un comando del sistema operativo, función de biblioteca o llamada al sistema, con el comando M-x man. Esto solicita un tema, con completado (ver Completado), y ejecuta el programa man para formatear la página man correspondiente. Si el sistema lo permite, ejecuta man de forma asíncrona, para que pueda seguir editando mientras se formatea la página. El resultado va a un búfer llamado <em>Man topic</em>. Estos búferes usan un modo principal especial, el modo Man, que facilita el desplazamiento y el salto a otras páginas de manual. Para más detalles, teclee C-h m mientras se encuentre en un búfer en modo Man (man Mode).</p>
<p>Cada página del manual pertenece a una de las diez o más secciones, cada una de ellas nombrada por un dígito o por un dígito y una letra. A veces hay páginas del manual con el mismo nombre en diferentes secciones. Para leer una página del manual de una sección específica, escriba “topic(section)” o “section topic” cuando M-x man le pregunte por el tema. Por ejemplo, la página del manual de la función chmod de la biblioteca C está en la sección 2, pero hay un comando de shell con el mismo nombre, cuya página del manual está en la sección 1; para ver la primera, escriba M-x man RET chmod(2) RET.</p>
<p>Si no especifica una sección, M-x man normalmente muestra sólo la primera página man encontrada. En algunos sistemas, el programa man acepta una opción de línea de comandos “-a”, que le indica que muestre todas las páginas man del tema especificado. Para usar esta opción, cambie el valor de la variable Man-switches a “»-a»”. Entonces, en el búfer del modo Man, puede escribir M-n y M-p para cambiar entre páginas de manual de diferentes secciones. La línea de modo muestra cuántas páginas de manual hay disponibles.</p>
<p>Una forma alternativa de leer páginas de manual es el comando M-x woman. A diferencia de M-x man, no ejecuta ningún programa externo para formatear y mostrar las páginas de manual; el formateo lo hace Emacs, por lo que funciona en sistemas como MS-Windows donde el programa man puede no estar disponible. Pide una página man, y la muestra en un búfer llamado <a href="#id14"><span class="problematic" id="id15">*</span></a>WoMan section topic.</p>
<p>Una forma alternativa de leer páginas de manual es el comando M-x woman. A diferencia de M-x man, no ejecuta ningún programa externo para formatear y mostrar las páginas de manual; el formateo lo hace Emacs, por lo que funciona en sistemas como MS-Windows donde el programa man puede no estar disponible. Pide una página man, y la muestra en un búfer llamado <a href="#id15"><span class="problematic" id="id16">*</span></a>WoMan section topic.</p>
<p>M-x woman calcula la lista de completado de las páginas de manual la primera vez que se invoca el comando. Con un argumento numérico, vuelve a calcular esta lista; esto es útil si añade o elimina páginas de manual.</p>
<p>Si escribe el nombre de una página de manual y M-x woman encuentra que existen varias páginas de manual con el mismo nombre en diferentes secciones, aparece una ventana con posibles candidatos pidiéndole que elija uno de ellos.</p>
<p>Tenga en cuenta que M-x woman aún no soporta las últimas características de las páginas man modernas, por lo que recomendamos usar M-x man si está disponible en su sistema.</p>
<p>Para más información sobre cómo configurar y usar M-x woman, vea el manual WoMan Info, que se distribuye con Emacs.</p>
<p>27.6.3. Búsqueda de Documentación en Lenguajes de Programación</p>
<section id="busqueda-de-documentacion-en-lenguajes-de-programacion">
<span id="id17"></span><h3>27.6.3. Búsqueda de Documentación en Lenguajes de Programación<a class="headerlink" href="#busqueda-de-documentacion-en-lenguajes-de-programacion" title="Link to this heading"></a></h3>
<p>Cuando edite código Emacs Lisp, puede usar los comandos C-h f (describe-function) y C-h v (describe-variable) para ver la documentación incorporada para las funciones y variables Lisp que quiera usar. Consulte Ayuda por Comando o Nombre de Variable.</p>
<p>ElDoc15 es un modo menor de búfer local que ayuda a buscar documentación de símbolos (funciones, métodos, clases, variables, etc.) en su programa. Cuando este modo está activado, el área de eco muestra información útil siempre que haya un símbolo documentado en el punto. Por ejemplo, en búferes bajo el modo Emacs Lisp, muestra la lista de argumentos de una función en el punto, y para una variable Lisp muestra la primera línea de la cadena de documentación de la variable.</p>
<p>Para activar el modo ElDoc, escriba M-x eldoc-mode. También existe un modo ElDoc global, que está activado por defecto, y activa el modo ElDoc en los búferes cuyo modo principal establece las variables que se describen a continuación. Use M-x global-eldoc-mode para desactivarlo globalmente.</p>
@ -548,6 +552,7 @@ del búfer de esta variable.</p>
</dd>
</dl>
</section>
</section>
<section id="modo-secundario-hideshow">
<h2>27.7 Modo Secundario Hideshow<a class="headerlink" href="#modo-secundario-hideshow" title="Link to this heading"></a></h2>
<p>El modo Hideshow (modo de ocultamiento) es un modo menor local del búfer que le permite mostrar selectivamente porciones de un programa, que se denominan bloques. Escriba M-x hs-minor-mode para activar este modo menor (ver Modos Menores).</p>
@ -593,7 +598,7 @@ comentarios). El valor por defecto es code.</p>
</dl>
</section>
<section id="completado-de-nombres-de-simbolos">
<span id="id16"></span><h2>27.8 Completado de Nombres de Símbolos<a class="headerlink" href="#completado-de-nombres-de-simbolos" title="Link to this heading"></a></h2>
<span id="id18"></span><h2>27.8 Completado de Nombres de Símbolos<a class="headerlink" href="#completado-de-nombres-de-simbolos" title="Link to this heading"></a></h2>
<p>El completado se hace normalmente en el minibúfer (ver Completado), pero también puede completar nombres de símbolos en búferes Emacs ordinarios.</p>
<p>En la mayoría de los modos de lenguaje de programación, C-M-i (o M-TAB16) invoca el comando completion-at-point, que genera la lista de posibles terminaciones para el símbolo en el punto. Este comando usa las facilidades de soporte disponibles para obtener las terminaciones candidatas:</p>
<p>Si Eglot está activado para el proyecto del búfer actual (véase Trabajar con Proyectos) y el modo principal del búfer actual, el comando intenta usar el servidor de idiomas correspondiente para producir la lista de candidatos a finalización. Véase Características de Eglot en Eglot: El cliente LSP de Emacs.</p>
@ -679,7 +684,7 @@ precedente. Con el argumento prefijo n, retrocede n - 1 sentencias.</p>
</section>
<section id="caracteres-c-electricos">
<h3>27.12.2 Caracteres C Eléctricos<a class="headerlink" href="#caracteres-c-electricos" title="Link to this heading"></a></h3>
<p>En modo C y modos relacionados, ciertos caracteres de impresión son eléctricos, además de insertarse a sí mismos, también reentintan la línea actual, y opcionalmente también insertan nuevas líneas. Los caracteres eléctricos son {, }, :, #, ;, ,, &lt;, &gt;, /, <a href="#id17"><span class="problematic" id="id18">*</span></a>, (, y ).</p>
<p>En modo C y modos relacionados, ciertos caracteres de impresión son eléctricos, además de insertarse a sí mismos, también reentintan la línea actual, y opcionalmente también insertan nuevas líneas. Los caracteres eléctricos son {, }, :, #, ;, ,, &lt;, &gt;, /, <a href="#id19"><span class="problematic" id="id20">*</span></a>, (, y ).</p>
<p>Puede que la sangría eléctrica le resulte incómoda si está editando código con sangría caótica. Si es nuevo en el modo CC, puede que le resulte desconcertante. Puede activar la acción eléctrica con el comando C-c C-l; cuando está activada, “/cl” aparece en la línea de modo después del nombre del modo (donde c, si está presente, es “*” o “/”, dependiendo de si el estilo de comentario es bloque o línea). Consulte Modos Menores en el Manual del Modo CC, para más información sobre los indicadores de línea de modo en el Modo CC.</p>
<dl class="simple">
<dt>C-c C-l</dt><dd><p>Alterna la acción eléctrica (c-toggle-electric-state). Con un argumento prefijo positivo, este comando activa la acción eléctrica, con uno negativo la desactiva.</p>
@ -716,7 +721,7 @@ desactiva si es negativo.</p>
<p>La variable c-hungry-delete-key controla si la función hungry-delete está activada.</p>
</section>
<section id="otros-comandos-para-el-modo-c">
<span id="id19"></span><h3>27.12.4 Otros comandos para el Modo C<a class="headerlink" href="#otros-comandos-para-el-modo-c" title="Link to this heading"></a></h3>
<span id="id21"></span><h3>27.12.4 Otros comandos para el Modo C<a class="headerlink" href="#otros-comandos-para-el-modo-c" title="Link to this heading"></a></h3>
<dl>
<dt>M-x c-context-line-break</dt><dd><p>Este comando inserta un salto de línea y aplica a la nueva línea la sangría adecuada al contexto. En código normal, hace el trabajo de RET (newline, nueva línea), en una línea de
preprocesador C inserta adicionalmente un “' en el salto de línea, y dentro de los comentarios es como M-j (c-indent-new-comment-line).</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -91,7 +91,7 @@
<li class="toctree-l1"><a class="reference internal" href="38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">39 Ejecución de comandos de shell desde Emacs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#comandos-de-shell-simples">39.1 Comandos de shell Simples</a></li>
<li class="toctree-l2"><a class="reference internal" href="#subcomando-interactivo">39.2 Subcomando Interactivo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#subshell-interactiva">39.2 Subshell Interactiva</a></li>
<li class="toctree-l2"><a class="reference internal" href="#modo-shell">39.3 Modo Shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="#avisos-de-shell">39.4 Avisos de Shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="#historial-de-ordenes-del-shell">39.5 Historial de Órdenes del Shell</a><ul>
@ -198,8 +198,8 @@
<p>Tenga en cuenta que si esta opción no es nula, la salida mostrada en el área de eco podría ser de más de la última orden, ya que el área de eco sólo muestra una parte del búfer de salida.</p>
<p>En caso de que el búfer de salida no sea el búfer actual, la salida del comando shell se añade al final de este búfer.</p>
</section>
<section id="subcomando-interactivo">
<h2>39.2 Subcomando Interactivo<a class="headerlink" href="#subcomando-interactivo" title="Link to this heading"></a></h2>
<section id="subshell-interactiva">
<span id="id4"></span><h2>39.2 Subshell Interactiva<a class="headerlink" href="#subshell-interactiva" title="Link to this heading"></a></h2>
<p>Para ejecutar un subproceso interactivamente, escriba M-x shell. Esto crea (o reutiliza) un buffer llamado <em>shell</em>, y ejecuta un subproceso shell con entrada proveniente de y salida hacia ese buffer. Es decir, cualquier salida de terminal del subproceso va al búfer, avanzando un punto, y cualquier entrada de terminal para el subproceso proviene del texto del búfer. Para dar entrada a la subshell, vaya al final del buffer y escriba la entrada, terminada por RET.</p>
<p>Por defecto, cuando la subshell es invocada interactivamente, el <em>shell</em> buffer es mostrado en una nueva ventana, a menos que la ventana actual ya muestre el <em>shell</em> buffer. Este comportamiento puede personalizarse mediante display-buffer-alist (ver Cómo Trabaja display-buffer).</p>
<p>Mientras la subshell está esperando o ejecutando un comando, puede cambiar de ventana o de búfer y realizar otras ediciones en Emacs. Emacs inserta la salida del subshell en el buffer Shell siempre que tiene tiempo para procesarla (por ejemplo, mientras espera la entrada del teclado).</p>
@ -388,7 +388,7 @@ comint-use-prompt-regexp no es nil, o si el clic no es sobre la entrada antigua,
<p>También puede utilizar el modo Dirtrack, un modo menor de búfer local que implementa un método alternativo de seguimiento del directorio de trabajo del intérprete de comandos. Para utilizar este método, el prompt de su shell debe contener el directorio de trabajo en todo momento, y debe proporcionar una expresión regular para reconocer qué parte del prompt contiene el directorio de trabajo; consulte la documentación de la variable dirtrack-list para más detalles. Para utilizar el modo Dirtrack, escriba M-x dirtrack-mode en el buffer de Shell, o añada dirtrack-mode a shell-mode-hook (ver Ganchos).</p>
</section>
<section id="opciones-del-modo-shell">
<span id="id4"></span><h2>39.7 Opciones del Modo Shell<a class="headerlink" href="#opciones-del-modo-shell" title="Link to this heading"></a></h2>
<span id="id5"></span><h2>39.7 Opciones del Modo Shell<a class="headerlink" href="#opciones-del-modo-shell" title="Link to this heading"></a></h2>
<p>Si la variable comint-scroll-to-bottom-on-input es distinta de nil, los comandos de inserción y yank desplazan la ventana seleccionada hasta el final antes de insertar. El valor por defecto es nulo.</p>
<p>Si comint-scroll-show-maximum-output es no nil, la llegada de la salida cuando el punto está al final intenta desplazar la última línea de texto hasta la línea inferior de la ventana, mostrando tanto texto útil como sea posible. (Esto imita el comportamiento de desplazamiento de la mayoría de los terminales.) El valor por defecto es t.</p>
<p>Configurando comint-move-point-for-output, puede optar por que point salte al final del buffer cuando llegue la salida - sin importar en qué punto del buffer estaba antes. Si el valor es this, el punto salta en la ventana seleccionada. Si el valor es all, el punto salta en cada ventana que muestre el buffer Comint. Si el valor es other, el punto salta en todas las ventanas no seleccionadas que muestren el búfer actual. El valor por defecto es nil, lo que significa que el punto no salta al final.</p>
@ -413,7 +413,7 @@ comint-use-prompt-regexp no es nil, o si el clic no es sobre la entrada antigua,
<p>A diferencia del modo Shell, el modo Term no realiza un seguimiento del directorio actual mediante el examen de su entrada. Pero algunos shells pueden decirle a Term cuál es el directorio actual. Esto se hace automáticamente con bash versión 1. 15 y posteriores.</p>
</section>
<section id="modo-term">
<span id="id5"></span><h2>39.9 Modo Term<a class="headerlink" href="#modo-term" title="Link to this heading"></a></h2>
<span id="id6"></span><h2>39.9 Modo Term<a class="headerlink" href="#modo-term" title="Link to this heading"></a></h2>
<p>Para cambiar entre modo línea y modo char en el modo Term, utilice estos comandos:</p>
<dl class="simple">
<dt>C-c c-j</dt><dd><p>Cambia al modo línea (term-line-mode). No hace nada si ya está en modo línea.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -690,7 +690,7 @@ mode: mi-nuevo-modo</p>
</section>
</section>
<section id="variables-locales-por-directorio">
<h3>50.2.5 Variables Locales por Directorio<a class="headerlink" href="#variables-locales-por-directorio" title="Link to this heading"></a></h3>
<span id="id16"></span><h3>50.2.5 Variables Locales por Directorio<a class="headerlink" href="#variables-locales-por-directorio" title="Link to this heading"></a></h3>
<p>A veces, es posible que desee definir el mismo conjunto de variables locales para todos los archivos de un determinado directorio y sus subdirectorios, como el árbol de directorios de un gran proyecto de software. Esto se puede conseguir con variables locales de directorio. Las variables locales de archivo anulan las variables locales de directorio, por lo que si algunos de los ficheros de un directorio necesitan ajustes especializados, puede especificar los ajustes para la mayoría de los archivos del directorio en variables de directorio, y luego definir variables locales de archivo en unos pocos ficheros que necesiten que se anulen los ajustes generales.</p>
<p>La forma habitual de definir variables locales de directorio es poner un archivo llamado .dir-locals.el24 en un directorio. Siempre que Emacs visite cualquier fichero en ese directorio o en cualquiera de sus subdirectorios, aplicará las variables locales de directorio especificadas en .dir-locals.el, como si hubieran sido definidas como variables locales de archivo para ese fichero (ver Variables Locales en Archivos). Emacs busca .dir-locals.el empezando en el directorio del fichero visitado, y moviéndose hacia arriba en el árbol de directorios. Para evitar ralentizaciones, esta búsqueda se omite para archivos remotos. Si es necesario, la búsqueda puede extenderse para ficheros remotos estableciendo la variable enable-remote-dir-locals a t.</p>
<p>También puede usar .dir-locals-2.el; si se encuentra, Emacs lo carga además de .dir-locals.el. Esto es útil cuando .dir-locals.el está bajo control de versiones en un repositorio compartido y no puede ser usado para personalizaciones.</p>
@ -776,11 +776,11 @@ mode: mi-nuevo-modo</p>
</section>
</section>
<section id="personalizar-las-combinaciones-de-teclas">
<span id="id16"></span><h2>50.3 Personalizar las Combinaciones de Teclas<a class="headerlink" href="#personalizar-las-combinaciones-de-teclas" title="Link to this heading"></a></h2>
<span id="id17"></span><h2>50.3 Personalizar las Combinaciones de Teclas<a class="headerlink" href="#personalizar-las-combinaciones-de-teclas" title="Link to this heading"></a></h2>
<p>Esta sección describe las combinaciones de teclas, que asignan teclas a comandos, y los mapas de teclas, que registran estas combinaciones. También se explica cómo personalizar las dichsa combinaciones, lo que se hace editando el fichero init (consulte Volver a Combinar Teclas en el Archivo init).</p>
<p>Dado que la mayoría de los modos definen sus propias combinaciones de teclas, la activación de un modo puede anular las combinaciones de teclas personalizadas. Un pequeño número de teclas están reservadas para las combinaciones definidas por el Usuario, y no deberían ser utilizadas por los modos, por lo que las combinaciones de teclas que utilizan esas mismas teclas son más seguras en este sentido. Las secuencias de teclas reservadas son las que consisten en C-c seguida de una letra (mayúscula o minúscula), y las teclas de función F5 a F9 sin modificadores (ver Teclas Modificadoras).</p>
<section id="mapas-de-teclas">
<span id="id17"></span><h3>50.3.1 Mapas de teclas<a class="headerlink" href="#mapas-de-teclas" title="Link to this heading"></a></h3>
<span id="id18"></span><h3>50.3.1 Mapas de teclas<a class="headerlink" href="#mapas-de-teclas" title="Link to this heading"></a></h3>
<p>Como se describe en Teclas y Comandos, cada comando Emacs es una función Lisp cuya definición permite su uso interactivo. Como toda función Lisp, un comando tiene un nombre de función, que normalmente consiste en letras minúsculas y guiones.</p>
<p>Una secuencia de teclas (tecla, para abreviar) es una secuencia de eventos de entrada que tienen un significado como unidad. Los eventos de entrada incluyen caracteres, teclas de función y botones del ratón: todas las entradas que puede enviar al ordenador. Una secuencia de teclas obtiene su significado de su vinculación, que dice qué comando ejecuta.</p>
<p>Los enlaces entre secuencias de teclas y funciones de comandos se registran en estructuras de datos llamadas mapas de teclas. Emacs tiene muchos de estos, cada uno usado en ocasiones particulares.</p>
@ -832,7 +832,7 @@ mode: mi-nuevo-modo</p>
</div></blockquote>
</section>
<section id="cambiar-las-combinaciones-de-teclas-interactivamente">
<span id="id18"></span><h3>50.3.5. Cambiar las combinaciones de teclas interactivamente<a class="headerlink" href="#cambiar-las-combinaciones-de-teclas-interactivamente" title="Link to this heading"></a></h3>
<span id="id19"></span><h3>50.3.5. Cambiar las combinaciones de teclas interactivamente<a class="headerlink" href="#cambiar-las-combinaciones-de-teclas-interactivamente" title="Link to this heading"></a></h3>
<p>La forma de redefinir una tecla de Emacs es cambiar su entrada en un mapa de teclas. Puedes cambiar el mapa de teclado global, en cuyo caso el cambio es efectivo en todos los modos principales (excepto en aquellos que tienen sus propios enlaces locales para la misma tecla). O puedes cambiar un mapa de teclado local, que afecta a todos los buffers que utilizan el mismo modo principal.</p>
<p>En esta sección, describimos cómo reasignar teclas para la sesión actual de Emacs. Mira Rebinding Keys in Your Init File, para una descripción de cómo hacer que el reasignado de teclas afecte a futuras sesiones de Emacs.</p>
<dl class="simple">
@ -864,7 +864,7 @@ mode: mi-nuevo-modo</p>
<p>Si quiere evitar invocar un comando por error, es mejor desactivar el comando que indefinir la tecla. Un comando desactivado es menos trabajoso de invocar cuando realmente lo desea. Consulte Desactivar Comandos.</p>
</section>
<section id="reasignacion-de-teclas-en-el-archivo-de-inicio">
<span id="id19"></span><h3>50.3.6. Reasignación de Teclas en el Archivo de Inicio<a class="headerlink" href="#reasignacion-de-teclas-en-el-archivo-de-inicio" title="Link to this heading"></a></h3>
<span id="id20"></span><h3>50.3.6. Reasignación de Teclas en el Archivo de Inicio<a class="headerlink" href="#reasignacion-de-teclas-en-el-archivo-de-inicio" title="Link to this heading"></a></h3>
<p>Si tiene un conjunto de combinaciones de teclas que le gustaría usar todo el tiempo, puede especificarlas en su archivo de inicialización escribiendo código Lisp. Vea El Archivo de Inicialización de Emacs, para una descripción de este archivo.</p>
<p>La forma recomendada de escribir una combinación de teclas usando Lisp es usar las funciones keymap-global-set o keymap-set. Por ejemplo, aquí está cómo enlazar C-z al comando shell en el keymap global (ver Subshell Interactivo):</p>
<blockquote>
@ -906,7 +906,7 @@ mode: mi-nuevo-modo</p>
</div></blockquote>
</section>
<section id="teclas-modificadoras">
<span id="id20"></span><h3>50.3.7. Teclas Modificadoras<a class="headerlink" href="#teclas-modificadoras" title="Link to this heading"></a></h3>
<span id="id21"></span><h3>50.3.7. Teclas Modificadoras<a class="headerlink" href="#teclas-modificadoras" title="Link to this heading"></a></h3>
<p>Las combinaciones de teclas por defecto en Emacs están configuradas para que los caracteres alfabéticos modificados no distingan mayúsculas de minúsculas. En otras palabras, C-A hace lo mismo que C-a, y M-A hace lo mismo que M-a. Esto sólo afecta a los caracteres alfabéticos y no se aplica a las versiones modificadas de otras teclas; por ejemplo, C-&#64; no es lo mismo que C-2.</p>
<p>Un carácter alfabético modificado por Control se considera generalmente insensible a mayúsculas y minúsculas: Emacs siempre trata C-A como C-a, C-B como C-b, y así sucesivamente. La razón de esto es histórica: en entornos no gráficos no hay distinción entre esas pulsaciones. Sin embargo, puedes enlazar pulsaciones de teclas alfabéticas con control de mayúsculas en marcos GUI:</p>
<blockquote>
@ -963,7 +963,7 @@ kp-insert , kp-delete</p>
<p>Con un terminal ASCII normal, no hay forma de distinguir entre TAB y C-i (y lo mismo para otros pares de este tipo), porque el terminal envía el mismo carácter en ambos casos.</p>
</section>
<section id="reenlazar-los-botones-del-raton">
<span id="id21"></span><h3>50.3.10. Reenlazar los Botones del Ratón<a class="headerlink" href="#reenlazar-los-botones-del-raton" title="Link to this heading"></a></h3>
<span id="id22"></span><h3>50.3.10. Reenlazar los Botones del Ratón<a class="headerlink" href="#reenlazar-los-botones-del-raton" title="Link to this heading"></a></h3>
<p>Emacs también usa símbolos Lisp para designar los botones del ratón. Los eventos ordinarios del ratón en Emacs son eventos de clic; estos ocurren cuando pulsa un botón y lo suelta sin mover el ratón. También puede obtener eventos de arrastre, cuando mueve el ratón mientras mantiene pulsado el botón. Los eventos de arrastre ocurren cuando finalmente suelta el botón.</p>
<p>Los símbolos para los eventos de clic básicos son ratón-1 para el botón situado más a la izquierda, ratón-2 para el siguiente, y así sucesivamente. Así es como puede redefinir el segundo botón del ratón para dividir la ventana actual:</p>
<blockquote>
@ -1004,7 +1004,7 @@ kp-insert , kp-delete</p>
<p>Se puede poner más de un botón del ratón en una secuencia de teclas, pero no es habitual hacerlo.</p>
</section>
<section id="deshabilitar-comandos">
<span id="id22"></span><h3>50.3.11 Deshabilitar Comandos<a class="headerlink" href="#deshabilitar-comandos" title="Link to this heading"></a></h3>
<span id="id23"></span><h3>50.3.11 Deshabilitar Comandos<a class="headerlink" href="#deshabilitar-comandos" title="Link to this heading"></a></h3>
<p>Deshabilitar un comando significa que al invocarlo interactivamente se pide confirmación al Usuario. El propósito de deshabilitar un comando es prevenir que los Usuarios lo ejecuten por accidente; hacemos esto para comandos que pueden ser confusos para los no iniciados.</p>
<p>Al intentar invocar un comando deshabilitado interactivamente en Emacs se muestra una ventana que contiene el nombre del comando, su documentación, y algunas instrucciones sobre qué hacer inmediatamente; luego Emacs pregunta si se desea ejecutar el comando como se solicita, habilitarlo y ejecutarlo, o cancelarlo. Si decide activar el comando, debe responder a otra pregunta: si desea hacerlo permanentemente o sólo para la sesión actual. (La habilitación permanente funciona editando automáticamente su archivo de inicialización). También puede escribir ! para activar todos los comandos, sólo para la sesión actual.</p>
<p>El mecanismo directo para desactivar un comando es poner una propiedad disabled no nula en el símbolo Lisp del comando. Aquí está el programa Lisp para hacer esto:</p>
@ -1014,7 +1014,7 @@ kp-insert , kp-delete</p>
<p>Si el valor de la propiedad disabled es una cadena, esa cadena se incluye en el mensaje que aparece cuando se utiliza el comando:</p>
<blockquote>
<div><dl class="simple">
<dt>(put “delete-region “disabled</dt><dd><p>«En su lugar es mejor usar <a href="#id23"><span class="problematic" id="id24">`</span></a>kill-region”.n»)</p>
<dt>(put “delete-region “disabled</dt><dd><p>«En su lugar es mejor usar <a href="#id24"><span class="problematic" id="id25">`</span></a>kill-region”.n»)</p>
</dd>
</dl>
</div></blockquote>
@ -1033,7 +1033,7 @@ kp-insert , kp-delete</p>
</section>
</section>
<section id="el-archivo-de-inicializacion-de-emacs">
<span id="id25"></span><h2>50.4. El Archivo de Inicialización de Emacs<a class="headerlink" href="#el-archivo-de-inicializacion-de-emacs" title="Link to this heading"></a></h2>
<span id="id26"></span><h2>50.4. El Archivo de Inicialización de Emacs<a class="headerlink" href="#el-archivo-de-inicializacion-de-emacs" title="Link to this heading"></a></h2>
<p>Cuando Emacs se inicia, normalmente intenta cargar un programa Lisp desde un archivo de inicialización, o archivo init para abreviar. Este fichero, si existe, especifica cómo inicializar Emacs por Ud. Tradicionalmente, el archivo ~/.emacs se usa como archivo init, aunque Emacs también busca en ~/.emacs.el, ~/.emacs.d/init.el, ~/.config/emacs/init.el, u otras localizaciones. Ver Cómo encuentra Emacs su Archivo de Inicio.</p>
<p>Puede que encuentre conveniente tener toda la configuración de Emacs en un directorio, en cuyo caso debería usar ~/.emacs.d/init.el o el ~/.config/emacs/init.el compatible con XDG.</p>
<p>Puede utilizar el modificador de línea de comandos “-q” para evitar que se cargue su archivo de init, y “-u” (o “user”) para especificar el archivo de init de un Usuario diferente (consulte Opciones Iniciales).</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.62
Traducción Revisón: 1.66
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

Some files were not shown because too many files have changed in this diff Show More