Compare commits

...

4 Commits

Author SHA1 Message Date
tanomarcelo 5e66a95402 magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-03-01 12:43:22 -03:00
tanomarcelo c9da3c2560 magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-02-29 11:14:11 -03:00
tanomarcelo 11d38b3a5a magit; GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-02-28 23:01:42 -03:00
tanomarcelo c8a02f897d magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-02-28 13:31:19 -03:00
80 changed files with 566 additions and 548 deletions

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -168,7 +168,7 @@
<p>El área de eco se llama así porque una de las cosas para las que se utiliza es para <em>hacer eco</em>, lo que significa mostrar los caracteres de un comando de varios caracteres a medida que se escribe. Los comandos de un solo carácter no tienen eco. Los comandos de varios caracteres (ver <a class="reference internal" href="03_Teclas.html#id1"><span class="std std-ref">3 Teclas</span></a>) se repiten si hace una pausa de más de un segundo en medio de un comando. Emacs entonces hace eco de todos los caracteres del comando hasta el momento, para preguntarle por el resto. Una vez que el eco ha comenzado, el resto del comando se hace eco inmediatamente mientras lo teclea. Este comportamiento está diseñado para dar a los Usuarios confiados una respuesta rápida, mientras que a los Usuarios indecisos les proporciona la mejor retroalimentación.</p>
<p>El área de eco también se usa para mostrar un <em>mensaje de error</em> cuando un comando no puede hacer su trabajo. Los mensajes de error pueden ir acompañados de un pitido o de un parpadeo de la pantalla.</p>
<p>Algunos comandos muestran mensajes informativos en el área de eco para decirle lo que ha hecho el comando, o para proporcionarle alguna información específica. Estos mensajes <em>informativos</em>, a diferencia de los mensajes de error, no van acompañados de un pitido o parpadeo. Por ejemplo, <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> mantenga pulsada la tecla <kbd class="kbd docutils literal notranslate">Ctrl</kbd> y escriba <kbd class="kbd docutils literal notranslate">x</kbd>, luego suelte la tecla <kbd class="kbd docutils literal notranslate">Ctrl</kbd> y escriba <kbd class="kbd docutils literal notranslate">=</kbd>) muestra un mensaje que describe el carácter en el punto, su posición en el búfer intermedia y su columna actual en la ventana. Los comandos que llevan mucho tiempo suelen mostrar mensajes que terminan en <code class="docutils literal notranslate"><span class="pre">...</span></code> mientras trabajan (a veces también indican cuánto se ha avanzado, en porcentaje), y añaden <code class="docutils literal notranslate"><span class="pre">done</span></code> (terminado) cuando finaliza.</p>
<p>Los mensajes informativos del área de eco se guardan en un búfer especial denominado <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code> (*Mensajes*). (Aún no hemos explicado los búferes; consulte <a class="reference internal" href="CapConSecciones/20_UsarVariosBuferes.html#id1"><span class="std std-ref">20 Uso de Varios Búferes</span></a>, para obtener más información sobre ellos). Si se pierde un mensaje que ha aparecido brevemente en la pantalla, puede pasar al búfer <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code> para volver a verlo. Este búfer está limitado a un cierto número de líneas, especificado por la variable <code class="docutils literal notranslate"><span class="pre">message-log-max</span></code>. (Tampoco hemos explicado las variables; véase <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id3"><span class="std std-ref">50.2 Variables</span></a>, para más información sobre ellas). Más allá de este límite, se borra una línea del principio cada vez que se añade una nueva línea de mensaje al final.</p>
<p>Los mensajes informativos del área de eco se guardan en un búfer especial denominado <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code> (*Mensajes*). (Aún no hemos explicado los búferes; consulte <a class="reference internal" href="CapConSecciones/20_UsarVariosBuferes.html#id1"><span class="std std-ref">20 Uso de Varios Búferes</span></a>, para obtener más información sobre ellos). Si se pierde un mensaje que ha aparecido brevemente en la pantalla, puede pasar al búfer <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code> para volver a verlo. Este búfer está limitado a un cierto número de líneas, especificado por la variable <code class="docutils literal notranslate"><span class="pre">message-log-max</span></code>. (Tampoco hemos explicado las variables; véase <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id4"><span class="std std-ref">50.2 Variables</span></a>, para más información sobre ellas). Más allá de este límite, se borra una línea del principio cada vez que se añade una nueva línea de mensaje al final.</p>
<p>Vea <a class="reference internal" href="CapConSecciones/15_ControlDisplay.html#id3"><span class="std std-ref">15.4 Desplazamiento Horizontal</span></a>, para opciones que controlan cómo Emacs usa el área de eco.</p>
<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#id15"><span class="std std-ref">15.24 Personalización de la Pantalla</span></a>.</p>
</section>
@ -195,7 +195,7 @@
<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>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#id4"><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#id4"><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#id12"><span class="std std-ref">22.19 Información 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#id4"><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#id12"><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">
<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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -140,7 +140,7 @@
<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>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#id12"><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#id13"><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>

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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -138,10 +138,10 @@
<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#id11"><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#id12"><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#id3"><span class="std std-ref">50.2 Variables</span></a>) y la información sobre variables específicas tendrá sentido.</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#id4"><span class="std std-ref">50.2 Variables</span></a>) y la información sobre variables específicas tendrá sentido.</p>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</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#id7"><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#id15"><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#id8"><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#id16"><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.38
Traducción Revisón: 1.43
</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#id11"><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#id12"><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.38
Traducción Revisón: 1.43
</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#id4"><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#id3"><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>
@ -181,9 +181,9 @@ A-[ (if the Alt key works)
` (in Electric Quote mode)
</pre></div>
</div>
<p>Un argumento numérico para <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>) o <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">...</span></code> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">...</span></code>) especifica cuántas copias del carácter se insertarán (véase <a class="reference internal" href="#id8"><span class="std std-ref">8.10 Argumentos Numéricos</span></a>).</p>
<p>Un argumento numérico para <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>) o <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">...</span></code> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span> <span class="pre">...</span></code>) especifica cuántas copias del carácter se insertarán (véase <a class="reference internal" href="#id9"><span class="std std-ref">8.10 Argumentos Numéricos</span></a>).</p>
<p>Como alternativa a <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">8</span></code>, puede seleccionar el método de entrada transitorio correspondiente 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">iso-transl</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">\</span> <span class="pre">iso-transl</span> <span class="pre">RET</span></code>) , luego activar temporalmente este método de entrada transitorio tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">\</kbd> <kbd class="kbd docutils literal notranslate">[</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">\</span> <span class="pre">[</span></code>) insertará el mismo carácter <code class="docutils literal notranslate"><span class="pre"></span></code> (ver <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id7"><span class="std std-ref">23.4 Selección de un Método de Entrada</span></a>).</p>
<p>Además, en algunos contextos, si escribe una cita utilizando acento grave y apóstrofo <code class="docutils literal notranslate"><span class="pre">\`como</span> <span class="pre">esta'</span></code>, se convierte en una forma <code class="docutils literal notranslate"><span class="pre">\``como</span> <span class="pre">esta''</span></code> usando comillas simples, incluso sin comandos <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>). Del mismo modo, si escribe una cita <code class="docutils literal notranslate"><span class="pre">como</span> <span class="pre">ésta''</span></code> usando doble acento grave y apóstrofo, se convierte en una forma <code class="docutils literal notranslate"><span class="pre">“como</span> <span class="pre">ésta”</span></code> usando comillas dobles. Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id3"><span class="std std-ref">26.5 Comillas</span></a>.</p>
<p>Además, en algunos contextos, si escribe una cita utilizando acento grave y apóstrofo <code class="docutils literal notranslate"><span class="pre">\`como</span> <span class="pre">esta'</span></code>, se convierte en una forma <code class="docutils literal notranslate"><span class="pre">\``como</span> <span class="pre">esta''</span></code> usando comillas simples, incluso sin comandos <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>). Del mismo modo, si escribe una cita <code class="docutils literal notranslate"><span class="pre">como</span> <span class="pre">ésta''</span></code> usando doble acento grave y apóstrofo, se convierte en una forma <code class="docutils literal notranslate"><span class="pre">“como</span> <span class="pre">ésta”</span></code> usando comillas dobles. Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id6"><span class="std std-ref">26.5 Comillas</span></a>.</p>
</section>
<section id="cambiar-la-ubicacion-del-punto">
<span id="id3"></span><h2>8.2 Cambiar la Ubicación del Punto<a class="headerlink" href="#cambiar-la-ubicacion-del-punto" title="Link to this heading"></a></h2>
@ -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#id19"><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#id20"><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#id19"><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#id20"><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#id19"><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#id20"><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,14 +254,14 @@ 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#id19"><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#id20"><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>
<div><p>Sin mover el texto en la pantalla, reposiciona el punto en el margen izquierdo de la línea de texto situada más al centro de la ventana; en invocaciones consecutivas posteriores,
mueve el punto al margen izquierdo de la línea situada más arriba, a la línea situada más abajo, y así sucesivamente, en orden cíclico (<code class="docutils literal notranslate"><span class="pre">move-to-window-line-top-bottom</span></code>).</p>
<p>Un argumento numérico dice en qué línea de la pantalla colocar el punto, contando hacia abajo desde la parte superior de la ventana (cero significa la línea superior). Un argumento
negativo cuenta las líneas hacia arriba desde la parte inferior (-1 significa la línea inferior). Véase <a class="reference internal" href="#id8"><span class="std std-ref">8.10 Argumentos Numéricos</span></a>, para más información sobre argumentos numéricos.</p>
negativo cuenta las líneas hacia arriba desde la parte inferior (-1 significa la línea inferior). Véase <a class="reference internal" href="#id9"><span class="std std-ref">8.10 Argumentos Numéricos</span></a>, para más información sobre argumentos numéricos.</p>
</div></blockquote>
<p><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-&lt;</span></code>)</p>
<blockquote>
@ -321,13 +321,13 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
<blockquote>
<div><p>Anula la columna de meta. En adelante, <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> intentan conservar la posición horizontal, como de costumbre.</p>
</div></blockquote>
<p>Cuando una línea de texto en el buffer es más larga que el ancho de la ventana, Emacs normalmente la muestra en dos o más líneas de pantalla. Por comodidad, <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>) y <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>) mueven el punto por líneas de pantalla, al igual que las teclas equivalentes abajo y arriba. Puede forzar que estos comandos se muevan según las líneas lógicas (es decir, según las líneas de texto en el buffer) estableciendo la variable <code class="docutils literal notranslate"><span class="pre">line-move-visual</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>; si una línea lógica ocupa varias líneas de pantalla, el cursor se salta entonces las líneas de pantalla adicionales. Para más detalles, véase <a class="reference internal" href="#id6"><span class="std std-ref">8.8 Líneas de continuación</span></a>. Véase <a class="reference internal" href="50_Personlzc.html#id3"><span class="std std-ref">50.2 Variables</span></a>, para saber cómo establecer variables como <code class="docutils literal notranslate"><span class="pre">line-move-visual</span></code>.</p>
<p>Cuando una línea de texto en el buffer es más larga que el ancho de la ventana, Emacs normalmente la muestra en dos o más líneas de pantalla. Por comodidad, <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>) y <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>) mueven el punto por líneas de pantalla, al igual que las teclas equivalentes abajo y arriba. Puede forzar que estos comandos se muevan según las líneas lógicas (es decir, según las líneas de texto en el buffer) estableciendo la variable <code class="docutils literal notranslate"><span class="pre">line-move-visual</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>; si una línea lógica ocupa varias líneas de pantalla, el cursor se salta entonces las líneas de pantalla adicionales. Para más detalles, véase <a class="reference internal" href="#id7"><span class="std std-ref">8.8 Líneas de continuación</span></a>. Véase <a class="reference internal" href="50_Personlzc.html#id4"><span class="std std-ref">50.2 Variables</span></a>, para saber cómo establecer variables como <code class="docutils literal notranslate"><span class="pre">line-move-visual</span></code>.</p>
<p>A diferencia de <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>, la mayoría de los comandos Emacs que trabajan sobre líneas trabajan sobre líneas lógicas. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">C-a</span></code> (<code class="docutils literal notranslate"><span class="pre">move-beginning-of-line</span></code>, mover-principio-de-línea) y <code class="docutils literal notranslate"><span class="pre">C-e</span></code> (<code class="docutils literal notranslate"><span class="pre">move-end-of-line</span></code>, mover-fin-de-línea) se mueven respectivamente al principio y al final de la línea lógica. Siempre que encontremos comandos que trabajen sobre líneas de pantalla, como <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>, los señalaremos.</p>
<p>Cuando <code class="docutils literal notranslate"><span class="pre">line-move-visual</span></code> es <code class="docutils literal notranslate"><span class="pre">nil</span></code> (nulo), también puede establecer la variable <code class="docutils literal notranslate"><span class="pre">track-eol</span></code> a un valor no nulo. Entonces <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>, cuando empiezan al final de la línea lógica, se mueven al final de la siguiente línea lógica. Normalmente, <code class="docutils literal notranslate"><span class="pre">track-eol</span></code> es <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-n</span></code> normalmente se detiene al final del buffer cuando lo usa en la última línea del buffer. Sin embargo, si establece la variable next-line-add-newlines a un valor no nulo, <code class="docutils literal notranslate"><span class="pre">C-n</span></code> en la última línea de un buffer crea una línea adicional al final y se mueve hacia abajo en ella.</p>
</section>
<section id="borrar-texto">
<h2>8.3 Borrar Texto<a class="headerlink" href="#borrar-texto" title="Link to this heading"></a></h2>
<span id="id4"></span><h2>8.3 Borrar Texto<a class="headerlink" href="#borrar-texto" title="Link to this heading"></a></h2>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>)</div>
<div class="line"><kbd class="kbd docutils literal notranslate">BACKSPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">BACKSPACE</span></code>)</div>
@ -356,7 +356,7 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
<div><p>Mata al principio de la palabra anterior (<code class="docutils literal notranslate"><span class="pre">backward-kill-word</span></code>)</p>
</div></blockquote>
<p>El comando <kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>, <code class="docutils literal notranslate"><span class="pre">delete-backward-char</span></code>) elimina el carácter anterior al punto, moviendo el cursor y los caracteres posteriores hacia atrás. Si el punto estaba al principio de una línea, borra la nueva línea precedente, uniendo esta línea a la anterior.</p>
<p>Si, por el contrario, la región está activa, <kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>) borra el texto de la región. Véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id5"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>, para una descripción de la región.</p>
<p>Si, por el contrario, la región está activa, <kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>) borra el texto de la región. Véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id8"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>, para una descripción de la región.</p>
<p>En la mayoría de los teclados, la tecla <kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>) se denomina <em>BACKSPACE</em> (RETROCESO), pero en este manual nos referiremos a ella como <kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>). (No confunda <code class="docutils literal notranslate"><span class="pre">DEL</span></code> con la tecla <kbd class="kbd docutils literal notranslate">Supr</kbd> (Suprimir); hablaremos de Suprimir momentáneamente.) En algunos terminales de texto, Emacs puede no reconocer la tecla <kbd class="kbd docutils literal notranslate">DEL</kbd> correctamente. Vea <a class="reference internal" href="52_LidiarProblEmacs.html#id5"><span class="std std-ref">52.8 Si DEL no Borra</span></a> se encuentra con este problema.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">Delete</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-forward-char</span></code>) borra en la dirección opuesta: borra el carácter después del punto, es decir, el carácter bajo el cursor. Si el punto estaba al final de una línea, une la línea siguiente a ésta. Al igual que <code class="docutils literal notranslate"><span class="pre">Delete</span></code>, borra el texto de la región si ésta está activa (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>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> (<code class="docutils literal notranslate"><span class="pre">C-d</span></code>, <code class="docutils literal notranslate"><span class="pre">delete-char</span></code>) borra el carácter después del punto, de forma similar a <code class="docutils literal notranslate"><span class="pre">Delete</span></code>, pero independientemente de si la región está activa.</p>
@ -380,7 +380,7 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
<p>Para obtener más información sobre el comando deshacer, consulte <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id2"><span class="std std-ref">17.1 Deshacer</span></a>.</p>
</section>
<section id="archivos">
<span id="id4"></span><h2>8.5 Archivos<a class="headerlink" href="#archivos" title="Link to this heading"></a></h2>
<span id="id5"></span><h2>8.5 Archivos<a class="headerlink" href="#archivos" title="Link to this heading"></a></h2>
<p>El texto que inserta en un búfer de Emacs sólo dura lo que dura la sesión de Emacs. Para mantener cualquier texto permanentemente, deberá ponerlo en un <em>archivo</em>.</p>
<p>Suponga que hay un fichero llamado <code class="docutils literal notranslate"><span class="pre">test.emacs</span></code> en su directorio personal. Para empezar a editar este archivo en Emacs, escriba</p>
<p><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">test.emacs</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-f</span> <span class="pre">test.emacs</span> <span class="pre">RET</span></code>)</p>
@ -396,7 +396,7 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
<p>Para más detalles, consulte <a class="reference internal" href="11_Ayuda.html#id1"><span class="std std-ref">11 Ayuda</span></a>.</p>
</section>
<section id="lineas-en-blanco">
<span id="id5"></span><h2>8.7 Líneas en blanco<a class="headerlink" href="#lineas-en-blanco" title="Link to this heading"></a></h2>
<span id="id6"></span><h2>8.7 Líneas en blanco<a class="headerlink" href="#lineas-en-blanco" title="Link to this heading"></a></h2>
<p>Aquí encontrará comandos y técnicas especiales para insertar y eliminar líneas en blanco.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">o</kbd> (<code class="docutils literal notranslate"><span class="pre">Ctrl-o</span></code>)</p>
<blockquote>
@ -407,19 +407,19 @@ 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#id5"><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#id8"><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">
<span id="id6"></span><h2>8.8 Líneas de continuación<a class="headerlink" href="#lineas-de-continuacion" title="Link to this heading"></a></h2>
<span id="id7"></span><h2>8.8 Líneas de continuación<a class="headerlink" href="#lineas-de-continuacion" title="Link to this heading"></a></h2>
<p>A veces, una línea de texto en el buffer -una <em>línea lógica</em>- es demasiado larga para caber en la ventana, y Emacs la muestra como dos o más <em>líneas en pantalla</em>. Esto se llama <em>ajuste de línea o continuación</em>, y la línea lógica larga se llama <em>línea continuada</em>. En una pantalla gráfica, el Editor indica el ajuste de línea con pequeñas flechas dobladas en los bordes izquierdo y derecho de la ventana. En un terminal de texto, Emacs indica el ajuste de línea mostrando un carácter <code class="docutils literal notranslate"><span class="pre">\</span></code> en el margen derecho.</p>
<p>La mayoría de los comandos que actúan sobre líneas lo hacen sobre líneas lógicas, no sobre líneas de pantalla. Por ejemplo, <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>) elimina una línea lógica. Como se describió anteriormente, <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>, <code class="docutils literal notranslate"><span class="pre">next-line</span></code>, línea-siguiente) y <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>, <code class="docutils literal notranslate"><span class="pre">previous-line</span></code>, línea-anterior) son excepciones especiales: mueven el punto hacia abajo y hacia arriba, respectivamente, una línea de pantalla (ver <a class="reference internal" href="#id3"><span class="std std-ref">8.2 Cambiar la Ubicación del Punto</span></a>).</p>
<p>Emacs puede opcionalmente <em>truncar</em> líneas lógicas largas en lugar de continuarlas. Esto significa que cada línea lógica ocupa una sola línea de pantalla; si es más larga que el ancho de la ventana, el resto de la línea no se muestra. En una pantalla gráfica, una línea truncada se indica mediante una pequeña flecha recta en la franja derecha; en un terminal de texto, se indica mediante un carácter <code class="docutils literal notranslate"><span class="pre">$</span></code> en el margen derecho. Véase <a class="reference internal" href="15_ControlDisplay.html#id13"><span class="std std-ref">15.22 Truncado de Línea</span></a>.</p>
<p>Por defecto, las líneas continuas se ajustan al borde derecho de la ventana. Dado que el ajuste puede producirse en medio de una palabra, las líneas continuas pueden ser difíciles de leer. La solución habitual es romper las líneas antes de que sean demasiado largas, insertando nuevas líneas. Si lo prefiere, puede hacer que Emacs inserte una nueva línea automáticamente cuando una línea se hace demasiado larga, usando el modo Auto Relleno (Auto Fill mode). Vea <a class="reference internal" href="26_ComandsLengsHuma.html#id4"><span class="std std-ref">26.6 Rellenar Texto</span></a>.</p>
<p>Por defecto, las líneas continuas se ajustan al borde derecho de la ventana. Dado que el ajuste puede producirse en medio de una palabra, las líneas continuas pueden ser difíciles de leer. La solución habitual es romper las líneas antes de que sean demasiado largas, insertando nuevas líneas. Si lo prefiere, puede hacer que Emacs inserte una nueva línea automáticamente cuando una línea se hace demasiado larga, usando el modo Auto Relleno (Auto Fill mode). Vea <a class="reference internal" href="26_ComandsLengsHuma.html#id7"><span class="std std-ref">26.6 Rellenar Texto</span></a>.</p>
<p>A veces, puede que necesite editar ficheros que contienen muchas líneas lógicas largas, y puede que no sea práctico romperlas todas añadiendo nuevas líneas. En ese caso, puedes usar el modo Línea Visual, que activa el <em>ajuste de palabras:</em> en lugar de ajustar las líneas largas exactamente en el borde derecho de la ventana, Emacs las ajusta en los límites de palabra (es decir, espacios o tabuladores) más cercanos al borde derecho de la ventana. El modo Línea Visual también redefine comandos de edición como <code class="docutils literal notranslate"><span class="pre">C-a</span></code>, <code class="docutils literal notranslate"><span class="pre">C-n</span></code>, y <code class="docutils literal notranslate"><span class="pre">C-k</span></code> para operar en líneas de pantalla en lugar de líneas lógicas. Véase <a class="reference internal" href="15_ControlDisplay.html#id14"><span class="std std-ref">15.23 Modo de Línea Visual</span></a>.</p>
</section>
<section id="informacion-sobre-la-posicion-del-cursor">
<span id="id7"></span><h2>8.9 Información sobre la posición del cursor<a class="headerlink" href="#informacion-sobre-la-posicion-del-cursor" title="Link to this heading"></a></h2>
<span id="id8"></span><h2>8.9 Información sobre la posición del cursor<a class="headerlink" href="#informacion-sobre-la-posicion-del-cursor" title="Link to this heading"></a></h2>
<p>Aquí hay comandos para obtener información sobre el tamaño y la posición de partes del buffer, y para contar palabras y líneas.</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">what-line</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">what-line</span></code>)</p>
<blockquote>
@ -472,7 +472,7 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
<p>Una función relacionada, pero diferente, es el modo de visualización de números de línea (véase <a class="reference internal" href="15_ControlDisplay.html#id15"><span class="std std-ref">15.24 Personalización de la Pantalla</span></a>).</p>
</section>
<section id="argumentos-numericos">
<span id="id8"></span><h2>8.10 Argumentos Numéricos<a class="headerlink" href="#argumentos-numericos" title="Link to this heading"></a></h2>
<span id="id9"></span><h2>8.10 Argumentos Numéricos<a class="headerlink" href="#argumentos-numericos" title="Link to this heading"></a></h2>
<p>En la terminología de las matemáticas y la informática, <em>argumento</em> significa «datos proporcionados a una función u operación». Puede dar a cualquier comando de Emacs un <em>argumento numérico</em> (también llamado <em>argumento prefijo</em>). Algunos comandos interpretan el argumento como un recuento de repeticiones. Por ejemplo, dar a <code class="docutils literal notranslate"><span class="pre">C-f</span></code> un argumento de diez hace que avance el punto diez caracteres en lugar de uno. Con estos comandos, ningún argumento es equivalente a un argumento de uno, y los argumentos negativos hacen que se muevan o actúen en sentido contrario.</p>
<p>La forma más sencilla de especificar un argumento numérico es escribir un dígito y/o un signo menos mientras se mantiene pulsada la tecla <code class="docutils literal notranslate"><span class="pre">Meta</span></code> (<kbd class="kbd docutils literal notranslate">Alt</kbd>). Por ejemplo,</p>
<blockquote>
@ -488,7 +488,7 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
<p>En lugar de escribir <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">1</kbd> (<code class="docutils literal notranslate"><span class="pre">M-1</span></code>), <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">2</kbd> (<code class="docutils literal notranslate"><span class="pre">M-2</span></code>), etc., otra forma de especificar un argumento numérico es escribir <code class="docutils literal notranslate"><span class="pre">C-u</span></code> (<code class="docutils literal notranslate"><span class="pre">universal-argument</span></code>) seguido de algunos dígitos, o (para un argumento negativo) un signo menos seguido de dígitos. Un signo menos sin dígitos normalmente significa -1.</p>
<p><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>) sola tiene el significado especial de «cuatro veces»: multiplica por cuatro el argumento de la siguiente orden. <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">u</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-u</span></code>) lo multiplica por dieciséis. Así, <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">u</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-u</span> <span class="pre">C-u</span> <span class="pre">C-f</span></code>) avanza dieciséis caracteres. Otras combinaciones útiles son <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">n</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-n</span></code>), <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">u</kbd> <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-u</span> <span class="pre">C-u</span> <span class="pre">C-n</span></code>) (baja una buena fracción de pantalla), <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">u</kbd> <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-u</span> <span class="pre">C-u</span> <span class="pre">C-o</span></code>) (hace dieciséis líneas en blanco) y <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">k</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-k</span></code>, mata cuatro líneas).</p>
<p>Puede utilizar un argumento numérico antes de un carácter autoinsertado para insertar varias copias del mismo. Esto es sencillo cuando el carácter no es un dígito; por ejemplo, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">6</kbd><kbd class="kbd docutils literal notranslate">4</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">6</span> <span class="pre">4</span></code>) a inserta 64 copias del carácter <code class="docutils literal notranslate"><span class="pre">a</span></code>. Pero esto no funciona para insertar dígitos; <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">6</kbd><kbd class="kbd docutils literal notranslate">4</kbd><kbd class="kbd docutils literal notranslate">1</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">6</span> <span class="pre">4</span> <span class="pre">1</span></code>) especifica un argumento de 641. Puede separar el argumento del dígito a insertar con otra combinación de teclas <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>); por ejemplo, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">6</kbd><kbd class="kbd docutils literal notranslate">4</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">1</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">6</span> <span class="pre">4</span> <span class="pre">C-u</span> <span class="pre">1</span></code>) inserta 64 copias del carácter <code class="docutils literal notranslate"><span class="pre">1</span></code>.</p>
<p>Algunos comandos se preocupan de si hay un argumento, pero ignoran su valor. Por ejemplo, el comando <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">q</kbd> (<code class="docutils literal notranslate"><span class="pre">M-q</span></code>. <code class="docutils literal notranslate"><span class="pre">fill-paragraph</span></code>, rellenar-párrafo) rellena texto; con un argumento, también justifica el texto. (Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id4"><span class="std std-ref">26.6 Rellenar Texto</span></a>, para más información sobre <code class="docutils literal notranslate"><span class="pre">M-q</span></code>.) Para estos comandos, basta con especificar el argumento con una sola <code class="docutils literal notranslate"><span class="pre">C-u</span></code>.</p>
<p>Algunos comandos se preocupan de si hay un argumento, pero ignoran su valor. Por ejemplo, el comando <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">q</kbd> (<code class="docutils literal notranslate"><span class="pre">M-q</span></code>. <code class="docutils literal notranslate"><span class="pre">fill-paragraph</span></code>, rellenar-párrafo) rellena texto; con un argumento, también justifica el texto. (Véase <a class="reference internal" href="26_ComandsLengsHuma.html#id7"><span class="std std-ref">26.6 Rellenar Texto</span></a>, para más información sobre <code class="docutils literal notranslate"><span class="pre">M-q</span></code>.) Para estos comandos, basta con especificar el argumento con una sola <code class="docutils literal notranslate"><span class="pre">C-u</span></code>.</p>
<p>Algunos comandos usan el valor del argumento como contador de repeticiones, pero hacen algo especial cuando no hay argumento. Por ejemplo, el comando (<code class="docutils literal notranslate"><span class="pre">C-k</span></code>, <code class="docutils literal notranslate"><span class="pre">kill-line</span></code>) con argumento <em>n</em> mata <em>n</em> líneas, incluyendo sus nuevas líneas finales. Pero <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>) sin argumento es especial: mata el texto hasta la siguiente nueva línea o, si el punto está justo al final de la línea, mata la propia nueva línea. Así, dos comandos <code class="docutils literal notranslate"><span class="pre">C-k</span></code> sin argumentos pueden eliminar una línea que no esté en blanco, igual que <code class="docutils literal notranslate"><span class="pre">C-k</span></code> con un argumento de uno. (Ver <a class="reference internal" href="13_MatarMoverTxt.html#id1"><span class="std std-ref">13 Matar y Mover Texto</span></a>, para más información sobre <code class="docutils literal notranslate"><span class="pre">C-k</span></code>.)</p>
<p>Algunos comandos tratan a <code class="docutils literal notranslate"><span class="pre">C-u</span></code> de forma diferente a un argumento ordinario. Otros pocos pueden tratar un argumento de sólo un signo menos de forma diferente a un argumento de -1. Estos casos inusuales se describen cuando aparecen; existen para hacer que un comando individual sea más conveniente, y están documentados en la cadena de documentación de ese comando.</p>
<p>Usamos el término <em>argumento prefijo</em> para enfatizar que estos argumentos se escriben <em>antes</em> del comando, y para distinguirlos de los argumentos del minibuffer (vea <a class="reference internal" href="09_ElMinibufer.html#id1"><span class="std std-ref">9 El Minibúfer</span></a>), que se introducen <em>después</em> de invocar el comando.</p>
@ -496,7 +496,7 @@ verticalmente. La columna de meta permanece vigente hasta que se cancela.</p>
</section>
<section id="repeticion-de-una-orden">
<h2>8.11 Repetición de una orden<a class="headerlink" href="#repeticion-de-una-orden" title="Link to this heading"></a></h2>
<p>Muchos comandos sencillos, como los que se invocan con una sola tecla o con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <em>nombre-comando</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span></code> <em>nombre-comando</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>), pueden repetirse invocándolos con un argumento numérico que sirve como contador de repeticiones (véase <a class="reference internal" href="#id8"><span class="std std-ref">8.10 Argumentos Numéricos</span></a>). Sin embargo, si el comando que desea repetir solicita entrada, o utiliza un argumento numérico de otra forma, ese método no funcionará.</p>
<p>Muchos comandos sencillos, como los que se invocan con una sola tecla o con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <em>nombre-comando</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span></code> <em>nombre-comando</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>), pueden repetirse invocándolos con un argumento numérico que sirve como contador de repeticiones (véase <a class="reference internal" href="#id9"><span class="std std-ref">8.10 Argumentos Numéricos</span></a>). Sin embargo, si el comando que desea repetir solicita entrada, o utiliza un argumento numérico de otra forma, ese método no funcionará.</p>
<p>El comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">z</span></code>, <code class="docutils literal notranslate"><span class="pre">repeat</span></code>, repetir) proporciona otra forma de repetir un comando Emacs muchas veces. Este comando repite el último comando del Editor, sea cual sea. Repetir un comando usa los mismos argumentos que se usaron antes; no lee nuevos argumentos cada vez.</p>
<p>Para repetir el comando más de una vez, escriba <code class="docutils literal notranslate"><span class="pre">z</span></code>s adicionales: cada <code class="docutils literal notranslate"><span class="pre">z</span></code> repite el comando una vez más. La repetición finaliza cuando se teclea un carácter distinto de <code class="docutils literal notranslate"><span class="pre">z</span></code> o se pulsa un botón del ratón.</p>
<p>También puede activar el modo de repetición, que permite repetir comandos vinculados a secuencias de dos o más teclas tecleando un solo carácter. Por ejemplo, después de teclear <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>, <code class="docutils literal notranslate"><span class="pre">undo</span></code>, deshacer, véase <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id2"><span class="std std-ref">17.1 Deshacer</span></a>) para deshacer las ediciones más recientes, puede deshacer muchas más ediciones tecleando <kbd class="kbd docutils literal notranslate">u</kbd><kbd class="kbd docutils literal notranslate">u</kbd><kbd class="kbd docutils literal notranslate">u</kbd> (<code class="docutils literal notranslate"><span class="pre">u</span> <span class="pre">u</span> <span class="pre">u</span></code>)…. Del mismo modo, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">x</kbd><kbd class="kbd docutils literal notranslate">o</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> <span class="pre">o</span> <span class="pre">o</span></code>)… en lugar de <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">o</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">o</kbd> <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></code> <code class="docutils literal notranslate"><span class="pre">o</span></code> <code class="docutils literal notranslate"><span class="pre">C-x</span></code> <code class="docutils literal notranslate"><span class="pre">o</span></code> <code class="docutils literal notranslate"><span class="pre">C-x</span></code> <code class="docutils literal notranslate"><span class="pre">o</span></code>)… para cambiar a la ventana situada a varias ventanas de distancia. Esto funciona entrando en un modo de repetición transitorio después de teclear la secuencia de teclas completa que invoca el comando; los atajos de una sola tecla se muestran en el área de eco.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -165,7 +165,7 @@
</section>
<section id="minibuffers-para-nombres-de-ficheros">
<span id="id2"></span><h2>9.2 Minibuffers para nombres de ficheros<a class="headerlink" href="#minibuffers-para-nombres-de-ficheros" title="Link to this heading"></a></h2>
<p>Comandos como <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>) usan el minibuffer para leer un argumento de nombre de archivo (ver <a class="reference internal" href="08_ComBasicEdic.html#id4"><span class="std std-ref">8.5 Archivos</span></a>). Cuando se usa el minibuffer para leer un nombre de fichero, normalmente empieza con un texto inicial que termina en una barra. Este es el <em>directorio por defecto</em>. Por ejemplo, puede empezar así:</p>
<p>Comandos como <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>) usan el minibuffer para leer un argumento de nombre de archivo (ver <a class="reference internal" href="08_ComBasicEdic.html#id5"><span class="std std-ref">8.5 Archivos</span></a>). Cuando se usa el minibuffer para leer un nombre de fichero, normalmente empieza con un texto inicial que termina en una barra. Este es el <em>directorio por defecto</em>. Por ejemplo, puede empezar así:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Find</span> <span class="n">file</span><span class="p">:</span> <span class="o">/</span><span class="n">u2</span><span class="o">/</span><span class="n">emacs</span><span class="o">/</span><span class="n">src</span><span class="o">/</span>
</pre></div>
</div>
@ -186,7 +186,7 @@
<section id="edicion-en-el-minibuffer">
<span id="id3"></span><h2>9.3 Edición en el minibuffer<a class="headerlink" href="#edicion-en-el-minibuffer" title="Link to this heading"></a></h2>
<p>El minibuffer es un buffer Emacs, aunque peculiar, y los comandos Emacs habituales están disponibles para editar el texto del argumento. (El prompt, sin embargo, es de <em>sólo lectura</em>, y no puede cambiarse).</p>
<p>Como <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) en el minibuffer envía el argumento, no puede usarlo para insertar una nueva línea. Puede hacerlo con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">q</kbd> <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> <span class="pre">C-j</span></code>), que inserta un carácter de control <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 es formalmente equivalente a un carácter de nueva línea (véase <a class="reference internal" href="08_ComBasicEdic.html#id2"><span class="std std-ref">8.1 Inserción de Texto</span></a>). También puede utilizar el comando <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>) (véase <a class="reference internal" href="08_ComBasicEdic.html#id5"><span class="std std-ref">8.7 Líneas en blanco</span></a> Líneas en Blanco).</p>
<p>Como <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) en el minibuffer envía el argumento, no puede usarlo para insertar una nueva línea. Puede hacerlo con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">q</kbd> <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> <span class="pre">C-j</span></code>), que inserta un carácter de control <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 es formalmente equivalente a un carácter de nueva línea (véase <a class="reference internal" href="08_ComBasicEdic.html#id2"><span class="std std-ref">8.1 Inserción de Texto</span></a>). También puede utilizar el comando <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>) (véase <a class="reference internal" href="08_ComBasicEdic.html#id6"><span class="std std-ref">8.7 Líneas en blanco</span></a> Líneas en Blanco).</p>
<p>Dentro de un minibuffer, las teclas <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">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">SPC</span></code>) y <kbd class="kbd docutils literal notranslate">?</kbd> (<code class="docutils literal notranslate"><span class="pre">?</span></code>) suelen estar vinculadas a <em>comandos de completado</em>, que permiten rellenar fácilmente el texto deseado sin tener que escribirlo todo. Véase <a class="reference internal" href="#id4"><span class="std std-ref">9.4 Completado</span></a>. Al igual que con <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>), puede utilizar <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>) para insertar un <code class="docutils literal notranslate"><span class="pre">TAB</span></code>, <code class="docutils literal notranslate"><span class="pre">SPC</span></code> o un carácter <code class="docutils literal notranslate"><span class="pre">?</span></code> Si quiere hacer que <code class="docutils literal notranslate"><span class="pre">SPC</span></code> y <code class="docutils literal notranslate"><span class="pre">?</span></code> se inserten normalmente en lugar de iniciar el completado, puede poner lo siguiente en su archivo init:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">keymap</span><span class="o">-</span><span class="n">unset</span> <span class="n">minibuffer</span><span class="o">-</span><span class="n">local</span><span class="o">-</span><span class="n">completion</span><span class="o">-</span><span class="nb">map</span> <span class="s2">&quot;SPC&quot;</span><span class="p">)</span>
<span class="p">(</span><span class="n">keymap</span><span class="o">-</span><span class="n">unset</span> <span class="n">minibuffer</span><span class="o">-</span><span class="n">local</span><span class="o">-</span><span class="n">completion</span><span class="o">-</span><span class="nb">map</span> <span class="s2">&quot;?&quot;</span><span class="p">)</span>
@ -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#id11"><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#id14"><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>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</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#id10"><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#id11"><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>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -156,7 +156,7 @@
<p>Si está buscando una determinada función, pero no sabe cómo se llama o dónde buscarla, le recomendamos tres métodos. Primero, pruebe un comando apropos, luego intente buscar en el índice del manual, después busque en las FAQ y en las palabras clave del paquete, y finalmente intente listar paquetes externos.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">a</kbd> <em>argumento</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">a</span></code> <em>argumento</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>Busca comandos cuyos nombres coincidan con los temas del <em>argumento</em>. El argumento puede ser una palabra clave, una lista de palabras clave o una expresión regular (véase <span class="xref std std-ref">16.66</span>). Véase <a class="reference internal" href="#id4"><span class="std std-ref">11.4 Apropos</span></a>.</p>
<div><p>Busca comandos cuyos nombres coincidan con los temas del <em>argumento</em>. El argumento puede ser una palabra clave, una lista de palabras clave o una expresión regular (véase <a class="reference internal" href="16_BusqReemp.html#id4"><span class="std std-ref">16.6 Sintaxis de las Expresiones Regulares</span></a>). Véase <a class="reference internal" href="#id4"><span class="std std-ref">11.4 Apropos</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">h</kbd> <kbd class="kbd docutils literal notranslate">i</kbd><kbd class="kbd docutils literal notranslate">d</kbd><kbd class="kbd docutils literal notranslate">m</kbd> <em>emacs</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">i</kbd> <em>argumento</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
@ -326,7 +326,7 @@ Puede usar una expresión regular como <em>argumento</em>.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> también es útil para verificar que ha escrito correctamente el nombre de una función. Si el prompt del minibúfer para <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> muestra el nombre de la función del búfer por defecto, significa que ese nombre está definido como una función Lisp. Escriba <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>) para cancelar el comando <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> si realmente no desea ver la documentación.</p>
<p>Si solicita ayuda para una función autocargada cuyo formulario <code class="docutils literal notranslate"><span class="pre">autoload</span></code> (<strong>vea Autocarga</strong> en el Manual de Referencia de Emacs Lisp) no proporciona una cadena doc, el búfer <code class="docutils literal notranslate"><span class="pre">*Help*</span></code> no tendrá ninguna cadena doc para mostrar. En ese caso, si <code class="docutils literal notranslate"><span class="pre">help-enable-symbol-autoload</span></code> es distinto de <code class="docutils literal notranslate"><span class="pre">nil</span></code>, Emacs intentará cargar el fichero en el que está definida la función para ver si hay una cadena doc allí.</p>
<p>Puede obtener una visión general de las funciones relevantes para un tema en particular usando el comando <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">shortdoc</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">shortdoc</span></code>). Esto le preguntará por un área de interés, por ejemplo, <kbd class="kbd docutils literal notranslate">string</kbd> (cadena), y le llevará a un búfer donde se listan muchas de las funciones relevantes para el manejo de cadenas.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">v</span></code> (<code class="docutils literal notranslate"><span class="pre">describe-variable</span></code>) es como <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> pero describe variables Lisp en lugar de funciones Lisp. Su valor por defecto es el símbolo Lisp alrededor o antes de punto, si ese es el nombre de una variable Lisp definida. Véase <a class="reference internal" href="50_Personlzc.html#id3"><span class="std std-ref">50.2 Variables</span></a>.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">v</span></code> (<code class="docutils literal notranslate"><span class="pre">describe-variable</span></code>) es como <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> pero describe variables Lisp en lugar de funciones Lisp. Su valor por defecto es el símbolo Lisp alrededor o antes de punto, si ese es el nombre de una variable Lisp definida. Véase <a class="reference internal" href="50_Personlzc.html#id4"><span class="std std-ref">50.2 Variables</span></a>.</p>
<p>Los búferes de ayuda que describen variables y funciones Emacs normalmente tienen hipervínculos al código fuente correspondiente, si tiene instalados los archivos fuente (vea <a class="reference internal" href="47_FuncHiperv-Y-NavWeb.html#id1"><span class="std std-ref">47 Funciones de Hiperenlace y Navegación web</span></a>).</p>
<p>Para encontrar la documentación de un comando en un manual, use <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">F</kbd> (<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">Info-goto-emacs-command-node</span></code>). Esto conoce varios manuales, no sólo el manual de Emacs, y encuentra el correcto.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">o</span></code> (<code class="docutils literal notranslate"><span class="pre">describe-symbol</span></code>) es como <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">f</span></code> y <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">v</span></code>, pero describe cualquier símbolo, ya sea una función, una variable o una cara. si el símbolo tiene más de una definición, como por ejemplo tiene ambas definiciones, como función y como variable, este comando mostrará la documentación de todas ellas, una tras otra.</p>
@ -477,13 +477,13 @@ 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#id10"><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#id11"><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>
<section id="archivos-de-ayuda">
<span id="id8"></span><h2>11.9 Archivos de Ayuda<a class="headerlink" href="#archivos-de-ayuda" title="Link to this heading"></a></h2>
<p>Aparte de la documentación incorporada y los manuales, Emacs contiene otros archivos que describen temas como condiciones de copia, notas de la versión, instrucciones para depurar e informar de errores, etcétera. Puede utilizar los siguientes comandos para ver estos archivos. Aparte de <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">g</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">g</span></code>), todos tienen la forma <code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">C</span></code> <strong>char</strong>.</p>
<p>Aparte de la documentación incorporada y los manuales, Emacs contiene otros archivos que describen temas como condiciones de copia, notas de la versión, instrucciones para depurar e informar de errores, etcétera. Puede utilizar los siguientes comandos para ver estos archivos. Aparte de <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">g</kbd> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">g</span></code>), todos tienen la forma <code class="docutils literal notranslate"><span class="pre">C-h</span></code> <em>char</em>.</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>-<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-h</span> <span class="pre">C-c</span></code>)</p>
<blockquote>
<div><p>Muestra las normas según las cuales puedes copiar y redistribuir Emacs (<code class="docutils literal notranslate"><span class="pre">describe-copying</span></code>).</p>
@ -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 texto activo (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 tooltip. <strong>Véase Información sobre Herramientas</strong>.</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#id12"><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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -148,15 +148,15 @@
<p>Emacs, como muchas otras aplicaciones, le permite seleccionar alguna parte arbitraria del texto del buffer e invocar comandos que operan sobre dicho <em>texto seleccionado</em>. En Emacs, llamamos <em>región</em> al texto seleccionado; su manejo es muy similar al del texto seleccionado en otros programas, pero también hay diferencias importantes.</p>
<p>La región es la porción del buffer entre <em>la marca</em> y la posición actual del <em>punto</em>. Puede definir una región colocando la marca en algún lugar (por ejemplo, con el comando <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code>) y moviendo el punto hasta donde desee que termine la región. (O puede usar el ratón para definir una región).</p>
<p>La región siempre se extiende entre el punto y la marca, independientemente de cuál de ellos se encuentre antes en el texto; cada vez que mueve el punto, la región cambia.</p>
<p>Al colocar la marca en una posición del texto, ésta se activa. Cuando la marca está activa, decimos también que la región está activa; Emacs indica su extensión resaltando el texto dentro de ella, usando la cara de la <code class="docutils literal notranslate"><span class="pre">region</span></code> (<strong>ver Personalizar Caras</strong>).</p>
<p>Después de ciertos comandos que no son de movimiento, incluyendo cualquier comando que cambie el texto en el buffer, Emacs desactiva automáticamente la marca; esto apaga el resaltado. También puede desactivar explícitamente la marca en cualquier momento, 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>) (<strong>véase Salir y Abortar</strong>).</p>
<p>Al colocar la marca en una posición del texto, ésta se <em>activa</em>. Cuando la marca está activa, decimos también que la región está activa; Emacs indica su extensión resaltando el texto dentro de ella, usando la cara de la <code class="docutils literal notranslate"><span class="pre">region</span></code> (ver <a class="reference internal" href="50_Personlzc.html#id3"><span class="std std-ref">50.1.5. Personalización de Caras</span></a>).</p>
<p>Después de ciertos comandos que no son de movimiento, incluyendo cualquier comando que cambie el texto en el buffer, Emacs desactiva automáticamente la marca; esto apaga el resaltado. También puede desactivar explícitamente la marca en cualquier momento, 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="51-SalirAbortar.html#id1"><span class="std std-ref">51 Salir y Abortar</span></a>).</p>
<p>Muchos comandos limitan el texto sobre el que actúan a la región activa. Por ejemplo, el comando <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>) (que reemplaza el texto coincidente) normalmente funciona en toda la porción accesible del buffer, pero si tiene una región activa, funcionará sólo en esa región.</p>
<p>La marca es útil aunque no esté activa. Por ejemplo, puede desplazarse a ubicaciones de marcas anteriores usando el anillo de marcas. <strong>Véase El Anillo de Marcas</strong>. Además, algunos comandos tendrán efecto incluso en una región inactiva (por ejemplo, <code class="docutils literal notranslate"><span class="pre">upcase-region</span></code>). También puede reactivar la región con comandos como <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> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>).</p>
<p>El comportamiento anterior, que es el predeterminado en las sesiones interactivas, se conoce como modo Marca Transitoria. Deshabilitando el modo de Marca Transitoria cambia Emacs a un comportamiento alternativo, en el que la región normalmente no está resaltada. <strong>Véase Desactivar el Modo de Marca Transitoria</strong>.</p>
<p>Establecer la marca en un buffer no tiene efecto en las marcas de otros buffers. Cuando vuelva a un búfer con una marca activa, la marca estará en el mismo lugar que antes. Cuando varias ventanas muestran el mismo búfer, pueden tener diferentes valores de punto y, por tanto, diferentes regiones, pero todas comparten una posición de marca común. Véase Ventanas Múltiples. Normalmente, sólo la ventana seleccionada resalta su región; sin embargo, si la variable <code class="docutils literal notranslate"><span class="pre">highlight-nonselected-windows</span></code> es distinta de <code class="docutils literal notranslate"><span class="pre">nil</span></code>, cada ventana resalta su propia región.</p>
<p>Existe otro tipo de región: la región rectangular. <strong>Véase Rectángulos</strong>.</p>
<p>La marca es útil aunque no esté activa. Por ejemplo, puede desplazarse a ubicaciones de marcas anteriores usando el anillo de marcas. Véase <a class="reference internal" href="#id7"><span class="std std-ref">12.4 El Anillo de Marcas</span></a>. Además, algunos comandos tendrán efecto incluso en una región inactiva (por ejemplo, <em>upcase-region</em>). También puede reactivar la región con comandos como <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> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>).</p>
<p>El comportamiento anterior, que es el predeterminado en las sesiones interactivas, se conoce como modo Marca Transitoria. Deshabilitando el modo de Marca Transitoria cambia Emacs a un comportamiento alternativo, en el que la región normalmente no está resaltada. Véase <a class="reference internal" href="#id8"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>.</p>
<p>Establecer la marca en un buffer no tiene efecto en las marcas de otros buffers. Cuando vuelva a un búfer con una marca activa, la marca estará en el mismo lugar que antes. Cuando varias ventanas muestran el mismo búfer, pueden tener diferentes valores de punto y, por tanto, diferentes regiones, pero todas comparten una posición de marca común. Véase <a class="reference internal" href="21_VariasVentanas.html#id1"><span class="std std-ref">21 Varias Ventanas</span></a>. Normalmente, sólo la ventana seleccionada resalta su región; sin embargo, si la variable <code class="docutils literal notranslate"><span class="pre">highlight-nonselected-windows</span></code> es distinta de <code class="docutils literal notranslate"><span class="pre">nil</span></code>, cada ventana resalta su propia región.</p>
<p>Existe otro tipo de región: la región rectangular. Véase <a class="reference internal" href="13_MatarMoverTxt.html#id12"><span class="std std-ref">13.5 Rectángulos</span></a>.</p>
<section id="fijar-la-marca">
<h2>12.1 Fijar la Marca<a class="headerlink" href="#fijar-la-marca" title="Link to this heading"></a></h2>
<span id="id2"></span><h2>12.1 Fijar la Marca<a class="headerlink" href="#fijar-la-marca" title="Link to this heading"></a></h2>
<p>A continuación se indican algunos comandos para fijar la marca:</p>
<p><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>)</p>
<blockquote>
@ -171,31 +171,31 @@
<div><p>Coloca la marca en el punto y la activa; a continuación, mueve el punto donde estaba la marca (<code class="docutils literal notranslate"><span class="pre">exchange-point-and-mark</span></code>).</p>
</div></blockquote>
<dl class="simple">
<dt>Arrastrar con ratón-1</dt><dd><p>Establece el punto y la marca alrededor del texto que arrastra.</p>
<dt>Arrastrar con <code class="docutils literal notranslate"><span class="pre">ratón-1</span></code></dt><dd><p>Establece el punto y la marca alrededor del texto que arrastra.</p>
</dd>
<dt>ratón-3</dt><dd><p>Coloca la marca en el punto y, a continuación, desplaza el punto al lugar en el que hace clic (<code class="docutils literal notranslate"><span class="pre">mouse-save-then-kill</span></code>).</p>
<dt><code class="docutils literal notranslate"><span class="pre">ratón-3</span></code></dt><dd><p>Coloca la marca en el punto y, a continuación, desplaza el punto al lugar en el que hace clic (<code class="docutils literal notranslate"><span class="pre">mouse-save-then-kill</span></code>).</p>
</dd>
<dt>Desplazar con Teclas de Movimiento del Cursor</dt><dd><p>Fija la marca en el punto si la marca está inactiva, luego mueve el punto. <strong>Véase Desplazar Selección</strong>.</p>
<dt>Desplazar con Teclas de Movimiento del Cursor</dt><dd><p>Fija la marca en el punto si la marca está inactiva, luego mueve el punto. Véase <a class="reference internal" href="#id8"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>.</p>
</dd>
</dl>
<p>La forma más común de fijar la marca es con <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> (<code class="docutils literal notranslate"><span class="pre">set-mark-command</span></code>) <a class="footnote-reference brackets" href="#id3" id="id2" role="doc-noteref"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></a>. Esto fija la marca donde está el punto, y la activa. A continuación, puede mover el punto, dejando la marca detrás.</p>
<p>Por ejemplo, supongamos que desea convertir parte del búfer a mayúsculas. Para ello, vaya a un extremo del texto deseado, escriba <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>) y mueva el punto hasta que la parte deseada del texto quede resaltada. Ahora 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">u</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-u</span></code>, región de mayúsculas). Esto convierte el texto de la región a mayúsculas y desactiva la marca.</p>
<p>Siempre que la marca esté activa, puede desactivarla 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>) (<strong>véase Salir y abortar</strong>). La mayoría de los comandos que operan sobre la región también desactivan automáticamente la marca, como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-u</span></code> en el ejemplo anterior.</p>
<p>En lugar de activar la marca para operar en una región, también puede usarla para recordar una posición en el buffer (tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">SPACE</kbd> <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> <span class="pre">C-SPC</span></code>)), y más tarde saltar de nuevo allí (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">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code>)). <strong>Véase El Anillo de Marcas</strong>, para más detalles.</p>
<p>La forma más común de fijar la marca es con <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> (<code class="docutils literal notranslate"><span class="pre">set-mark-command</span></code>) <a class="footnote-reference brackets" href="#id4" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></a>. Esto fija la marca donde está el punto, y la activa. A continuación, puede mover el punto, dejando la marca detrás.</p>
<p>Por ejemplo, supongamos que desea convertir parte del búfer a mayúsculas. Para ello, vaya a un extremo del texto deseado, escriba <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>) y mueva el punto hasta que la parte deseada del texto quede resaltada. Ahora 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">u</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-u</span></code>, <code class="docutils literal notranslate"><span class="pre">upcase-region</span></code>, región de mayúsculas). Esto convierte el texto de la región a mayúsculas y desactiva la marca.</p>
<p>Siempre que la marca esté activa, puede desactivarla 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="51-SalirAbortar.html#id1"><span class="std std-ref">51 Salir y Abortar</span></a>). La mayoría de los comandos que operan sobre la región también desactivan automáticamente la marca, como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-u</span></code> en el ejemplo anterior.</p>
<p>En lugar de activar la marca para operar en una región, también puede usarla para recordar una posición en el buffer (tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">SPACE</kbd> <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> <span class="pre">C-SPC</span></code>)), y más tarde saltar de nuevo allí (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">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code>)). Véase <a class="reference internal" href="#id7"><span class="std std-ref">12.4 El Anillo de Marcas</span></a>, para más detalles.</p>
<p>El 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">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>, <code class="docutils literal notranslate"><span class="pre">exchange-point-and-mark</span></code>) intercambia las posiciones del punto y la marca. <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> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>) es útil cuando está satisfecho con la posición del punto pero desea mover el otro extremo de la región (donde está la marca). Si es necesario, al usar <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code> por segunda vez, la marca se coloca en la nueva posición y el punto vuelve a su posición original. Normalmente, si la marca está inactiva, este comando reactiva primero la marca donde se fijó por última vez, para asegurarse de que la región queda resaltada. Sin embargo, si lo llama con un argumento prefijo, deja la marca inactiva y la región sin resaltar; puede usarlo para saltar a la marca de forma similar a <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code>.</p>
<p>También puede fijar la marca con el ratón. Si pulsa el botón izquierdo del ratón (<code class="docutils literal notranslate"><span class="pre">down-mouse-1</span></code>) y arrastra el ratón a través de un rango de texto, esto establece la marca donde pulsó por primera vez el botón del ratón y pone el punto donde lo suelta. Alternativamente, pulsar el botón derecho del ratón (<code class="docutils literal notranslate"><span class="pre">mouse-3</span></code>, ratón-3) fija la marca en el punto y luego mueve el punto al lugar donde pulsó. Para una descripción más detallada de estos comandos del ratón, <strong>véase Comandos del Ratón para Editar</strong>.</p>
<p>Por último, puede fijar la marca manteniendo pulsada la tecla Mayús (<kbd class="kbd docutils literal notranslate">Shift</kbd>) mientras escribe determinados comandos de movimiento del cursor (como <code class="docutils literal notranslate"><span class="pre">S-DERECHA</span></code> (<kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate"></kbd>), <code class="docutils literal notranslate"><span class="pre">S-C-f</span></code> (<kbd class="kbd docutils literal notranslate">Shift</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">S-C-n</span></code> (<kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd>), etc.). Esto se denomina <em>selección de mayúsculas</em>. Establece la marca en el punto antes de mover el punto, pero sólo si no hay ninguna marca activa establecida mediante una selección de mayúsculas anterior o comandos del ratón. La marca establecida por comandos del ratón y por la selección con mayúsculas se comporta de forma ligeramente diferente a la marca habitual: cualquier comando de movimiento del cursor sin mayúsculas posterior la desactiva automáticamente. Para más detalles, <strong>consulte Selección por Desplazamientos</strong>.</p>
<p>Muchos comandos que insertan texto, como <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-y</span></code>, <code class="docutils literal notranslate"><span class="pre">yank</span></code>), fijan la marca en el otro extremo del texto insertado, sin activarla. Esto le permite volver fácilmente a esa posición (<strong>véase El Anillo de Marcas</strong>). Puede saber que un comando hace esto cuando muestra <code class="docutils literal notranslate"><span class="pre">Mark</span> <span class="pre">set</span></code> (Marca fijada) en el área de eco.</p>
<p>En X, cada vez que la región activa cambia, Emacs guarda el texto de la región en la <em>selección primaria*a6. Esto le permite insertar ese texto en otras aplicaciones X con 2 clics del ratón. **Ver Cortar y Pegar con Otras Aplicaciones de Ventana*</em>.</p>
<p>También puede fijar la marca con el ratón. Si pulsa el botón izquierdo del ratón (<code class="docutils literal notranslate"><span class="pre">down-mouse-1</span></code>) y arrastra el ratón a través de un rango de texto, esto establece la marca donde pulsó por primera vez el botón del ratón y pone el punto donde lo suelta. Alternativamente, pulsar el botón derecho del ratón (<code class="docutils literal notranslate"><span class="pre">mouse-3</span></code>, ratón-3) fija la marca en el punto y luego mueve el punto al lugar donde pulsó. Para una descripción más detallada de estos comandos del ratón, véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id2"><span class="std std-ref">22.1 Comandos del Ratón para Edición</span></a>.</p>
<p>Por último, puede fijar la marca manteniendo pulsada la tecla Mayús (<kbd class="kbd docutils literal notranslate">Shift</kbd>) mientras escribe determinados comandos de movimiento del cursor (como <code class="docutils literal notranslate"><span class="pre">S-DERECHA</span></code> (<kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate"></kbd>), <code class="docutils literal notranslate"><span class="pre">S-C-f</span></code> (<kbd class="kbd docutils literal notranslate">Shift</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">S-C-n</span></code> (<kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd>), etc.). Esto se denomina <em>selección de mayúsculas</em>. Establece la marca en el punto antes de mover el punto, pero sólo si no hay ninguna marca activa establecida mediante una selección de mayúsculas anterior o comandos del ratón. La marca establecida por comandos del ratón y por la selección con mayúsculas se comporta de forma ligeramente diferente a la marca habitual: cualquier comando de movimiento del cursor sin mayúsculas posterior la desactiva automáticamente. Para más detalles, consulte <a class="reference internal" href="#id8"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>.</p>
<p>Muchos comandos que insertan texto, como <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-y</span></code>, <code class="docutils literal notranslate"><span class="pre">yank</span></code>), fijan la marca en el otro extremo del texto insertado, sin activarla. Esto le permite volver fácilmente a esa posición (véase <a class="reference internal" href="#id7"><span class="std std-ref">12.4 El Anillo de Marcas</span></a>). Puede saber que un comando hace esto cuando muestra <code class="docutils literal notranslate"><span class="pre">Mark</span> <span class="pre">set</span></code> (Marca fijada) en el área de eco.</p>
<p>En X, cada vez que la región activa cambia, Emacs guarda el texto de la región en la <em>selección primaria</em>. Esto le permite insertar ese texto en otras aplicaciones X haciendo clic con <code class="docutils literal notranslate"><span class="pre">ratón-2</span></code>. Ver <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>.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id3" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id2">5</a><span class="fn-bracket">]</span></span>
<aside class="footnote brackets" id="id4" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id3">5</a><span class="fn-bracket">]</span></span>
<p>No existe un carácter <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> en ASCII; normalmente, al teclear <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> en un terminal de texto se obtiene el carácter <code class="docutils literal notranslate"><span class="pre">C-&#64;</span></code>. Esta tecla también está vinculada a <code class="docutils literal notranslate"><span class="pre">set-mark-command</span></code>, por lo que a menos que tenga la mala suerte de tener un terminal de texto que se comporte de forma diferente, puede pensar en <code class="docutils literal notranslate"><span class="pre">C-&#64;</span></code> como <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code>.</p>
</aside>
</aside>
</section>
<section id="comandos-para-marcar-objetos-textuales">
<span id="id4"></span><h2>12.2 Comandos para Marcar Objetos Textuales<a class="headerlink" href="#comandos-para-marcar-objetos-textuales" title="Link to this heading"></a></h2>
<span id="id5"></span><h2>12.2 Comandos para Marcar Objetos Textuales<a class="headerlink" href="#comandos-para-marcar-objetos-textuales" title="Link to this heading"></a></h2>
<p>Estos son los comandos para colocar el punto y la marca alrededor de un objeto textual, como una palabra, una lista, un párrafo o una página:</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">&#64;</kbd> (<code class="docutils literal notranslate"><span class="pre">M-&#64;</span></code>)</p>
<blockquote>
@ -221,75 +221,72 @@
<blockquote>
<div><p>Mueve el punto al principio del buffer, y fija la marca al final (<code class="docutils literal notranslate"><span class="pre">mark-whole-buffer</span></code>).</p>
</div></blockquote>
<p><code class="docutils literal notranslate"><span class="pre">M-&#64;</span></code>, (<code class="docutils literal notranslate"><span class="pre">mark-word</span></code>, marcar palabra) coloca la marca al final de la palabra siguiente (<strong>véase Palabras</strong>, para obtener información sobre las palabras). Las invocaciones repetidas de este comando amplían la región haciendo avanzar la marca una palabra cada vez. Como excepción, si la marca está activa y situada antes del punto, <code class="docutils literal notranslate"><span class="pre">M-&#64;</span></code> desplaza la marca hacia atrás desde su posición actual una palabra cada vez.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-&#64;</span></code>, (<code class="docutils literal notranslate"><span class="pre">mark-word</span></code>, marcar palabra) coloca la marca al final de la palabra siguiente (véase <a class="reference internal" href="26_ComandsLengsHuma.html#id2"><span class="std std-ref">26.1 Palabras</span></a>, para obtener información sobre las palabras). Las invocaciones repetidas de este comando amplían la región haciendo avanzar la marca una palabra cada vez. Como excepción, si la marca está activa y situada antes del punto, <code class="docutils literal notranslate"><span class="pre">M-&#64;</span></code> desplaza la marca hacia atrás desde su posición actual una palabra cada vez.</p>
<p>Este comando también acepta un argumento numérico <em>n</em>, que le indica que avance la marca <em>n</em> palabras. Un argumento negativo <em>-n</em> hace retroceder la marca <em>n</em> palabras.</p>
<p>Del mismo modo, <code class="docutils literal notranslate"><span class="pre">C-M-&#64;</span></code> (<code class="docutils literal notranslate"><span class="pre">marca-sexp</span></code>) coloca la marca al final de la siguiente expresión equilibrada (<strong>véase Expresiones con Paréntesis Equilibrados</strong>). Las invocaciones repetidas extienden la región a expresiones posteriores, mientras que los argumentos numéricos positivos o negativos desplazan la marca hacia delante o hacia atrás el número de expresiones especificado.</p>
<p>Los demás comandos de la lista anterior establecen tanto el punto como la marca, para delimitar un objeto en el búfer. <code class="docutils literal notranslate"><span class="pre">M-h</span></code> (<code class="docutils literal notranslate"><span class="pre">mark-paragraph</span></code>) marca párrafos (véase Párrafos), <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>) marca definiciones de nivel superior (<strong>véase Moverse por Definiciones de Función</strong>), y <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-p</span></code> (<code class="docutils literal notranslate"><span class="pre">mark-page</span></code>) marca páginas (véase Páginas). Las invocaciones repetidas juegan de nuevo el mismo papel, extendiendo la región a objetos consecutivos; de forma similar, los argumentos numéricos especifican por cuántos objetos mover la marca.</p>
<p>Del mismo modo, <code class="docutils literal notranslate"><span class="pre">C-M-&#64;</span></code> (<code class="docutils literal notranslate"><span class="pre">marca-sexp</span></code>) coloca la marca al final de la siguiente expresión equilibrada (véase <a class="reference internal" href="27_EdDePrograms.html#id4"><span class="std std-ref">27.4.1 Expresiones con Paréntesis Equilibrados</span></a>). Las invocaciones repetidas extienden la región a expresiones posteriores, mientras que los argumentos numéricos positivos o negativos desplazan la marca hacia delante o hacia atrás el número de expresiones especificado.</p>
<p>Los demás comandos de la lista anterior establecen tanto el punto como la marca, para delimitar un objeto en el búfer. <code class="docutils literal notranslate"><span class="pre">M-h</span></code> (<code class="docutils literal notranslate"><span class="pre">mark-paragraph</span></code>) marca párrafos (véase véase <a class="reference internal" href="26_ComandsLengsHuma.html#id5"><span class="std std-ref">26.4 Páginas</span></a>), <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>) marca definiciones de nivel superior (véase <a class="reference internal" href="27_EdDePrograms.html#id2"><span class="std std-ref">27.2 Definiciones de Nivel Superior, o Defuns</span></a>), y <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-p</span></code> (<code class="docutils literal notranslate"><span class="pre">mark-page</span></code>) marca páginas. Las invocaciones repetidas juegan de nuevo el mismo papel, extendiendo la región a objetos consecutivos; de forma similar, los argumentos numéricos especifican por cuántos objetos mover la marca.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">h</span></code> (<code class="docutils literal notranslate"><span class="pre">mark-whole-buffer</span></code>) establece todo el buffer como región, poniendo el punto al principio y la marca al final.</p>
</section>
<section id="operar-en-la-region">
<h2>12.3 Operar en la Región<a class="headerlink" href="#operar-en-la-region" title="Link to this heading"></a></h2>
<span id="id6"></span><h2>12.3 Operar en la Región<a class="headerlink" href="#operar-en-la-region" title="Link to this heading"></a></h2>
<p>Una vez que tenga una región, aquí tiene algunas formas de operar sobre ella:</p>
<blockquote>
<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>, <strong>ver Matar y Mover Texto</strong>).</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>, <strong>vea Matar y Mover Texto</strong>).</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>) (<strong>ver Comandos de Conversión
de Mayúsculas y Minúsculas</strong>).</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>, <strong>ver Deshacer</strong>).</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>, <strong>ver Reemplazar Consulta</strong>).</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> , <strong>ver Sangría</strong>).</p></li>
<li><p>Rellénelo como texto 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>) rellenar-región (<strong>véase Rellenar Texto</strong>).</p></li>
<li><p>Comprobar la ortografía de las palabras que contiene 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>, <strong>consulte Comprobación y Corrección de la Ortografía</strong>).</p></li>
<li><p>Evaluar como código Lisp con <code class="docutils literal notranslate"><span class="pre">M-x</span></code> <strong>eval-region</strong> (<strong>vea Evaluando Expresiones Emacs Lisp</strong>).</p></li>
<li><p>Guardar en un registro con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">s</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">s</span></code>, <strong>vea Registros</strong>).</p></li>
<li><p>Guardarlo en un buffer o en un fichero (<strong>vea Acumulación de Texto</strong>).</p></li>
<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#id9"><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#id6"><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>
<li><p>Rellenar como texto 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>) <code class="docutils literal notranslate"><span class="pre">fill-region</span></code> (véase <a class="reference internal" href="26_ComandsLengsHuma.html#id7"><span class="std std-ref">26.6 Rellenar Texto</span></a>).</p></li>
<li><p>Comprobar la ortografía de las palabras que contiene 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>, consulte <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>Evaluar como código Lisp con <code class="docutils literal notranslate"><span class="pre">M-x</span></code> <code class="docutils literal notranslate"><span class="pre">eval-region</span></code> (vea <a class="reference internal" href="28_CompProbProg.html#id7"><span class="std std-ref">28.9. Evaluación de Expresiones Emacs Lisp</span></a>).</p></li>
<li><p>Guardar en un registro con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">s</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">s</span></code>, vea <a class="reference internal" href="14_Registros.html#id1"><span class="std std-ref">14 Registros</span></a>).</p></li>
<li><p>Guardarlo en un buffer o en un fichero (vea <a class="reference internal" href="13_MatarMoverTxt.html#id11"><span class="std std-ref">13.4 Acumular Texto</span></a>).</p></li>
</ul>
</div></blockquote>
<p>Algunos comandos tienen un comportamiento por defecto cuando la marca está inactiva, pero operan en la región si la marca está activa. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">M-$</span></code> (<code class="docutils literal notranslate"><span class="pre">ispell-word</span></code>) normalmente comprueba la ortografía de la palabra en el punto, pero comprueba el texto en la región si la marca está activa (<strong>véase Comprobar y Corregir la Ortografía</strong>). Normalmente, estos comandos utilizan su comportamiento por defecto si la región está vacía (es decir, si la marca y el punto están en la misma posición). Si desea que operen en la región vacía, cambie la variable <code class="docutils literal notranslate"><span class="pre">use-empty-active-region</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>.</p>
<p>Como se describe en <strong>Borrar texto</strong>, los comandos <code class="docutils literal notranslate"><span class="pre">DEL</span></code> (<code class="docutils literal notranslate"><span class="pre">backward-delete-char</span></code>) y <code class="docutils literal notranslate"><span class="pre">Delete</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-forward-char</span></code>) también actúan de esta forma. Si la marca está activa, borran el texto de la región. (Como excepción, si proporciona un argumento numérico <em>n</em>, donde <em>n</em> no es uno, estos comandos borran <em>n</em> caracteres independientemente de si la marca está activa). Si cambia la variable <code class="docutils literal notranslate"><span class="pre">delete-active-region</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, estos comandos no actuarán de forma diferente cuando la marca esté activa. Si cambia el valor a matar, estos comandos matan la región en lugar de borrarla (<strong>véase Matar y Mover Texto</strong>).</p>
<p>Otros comandos operan siempre sobre la región y no tienen un comportamiento predeterminado. Estos comandos suelen llevar la palabra región en sus nombres, como <code class="docutils literal notranslate"><span class="pre">C-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-region</span></code>) y <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-u</span></code> (<code class="docutils literal notranslate"><span class="pre">upcase-region</span></code>). Si la marca está inactiva, actúan sobre la región inactiva, es decir, sobre el texto situado entre el punto y la posición en la que se estableció la marca por última vez (<strong>véase El Anillo de Marcas</strong>). Para desactivar este comportamiento, cambie la variable <code class="docutils literal notranslate"><span class="pre">mark-even-if-inactive</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>. Entonces estos comandos señalarán un error si la marca está inactiva.</p>
<p>Por defecto, la inserción de texto se produce normalmente incluso si la marca está activa; por ejemplo, al escribir a se inserta el carácter <code class="docutils literal notranslate"><span class="pre">a</span></code> y, a continuación, se desactiva la marca. El modo Borrar selección (Delete Selection mode), un modo secundario, modifica este comportamiento: si activa este modo, la inserción de texto mientras la marca está activa hace que el texto de la región se borre primero. Sin embargo, puede ajustar este comportamiento personalizando la opción <code class="docutils literal notranslate"><span class="pre">delete-selection-temporary-region</span></code> (borrar-selección-región-temporal). Su valor predeterminado es <code class="docutils literal notranslate"><span class="pre">nil</span></code>, pero puede establecerlo en <code class="docutils literal notranslate"><span class="pre">t</span></code>, en cuyo caso sólo se reemplazarán las regiones temporalmente activas: las que se establezcan arrastrando el ratón (<strong>véase Establecer la Marca</strong>) o mediante selección con Mayúsculas (<strong>véase Selección con Mayúsculas</strong>), así como mediante <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">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">C-x</span></code>) cuando el Modo de Marca Transitoria esté desactivado. Puede ajustar aún más el comportamiento estableciendo <code class="docutils literal notranslate"><span class="pre">delete-selection-temporary-region</span></code> en <code class="docutils literal notranslate"><span class="pre">selection</span></code>: entonces no se reemplazarán las regiones temporales mediante <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">C-x</span></code>, sino sólo las activadas al arrastrar el ratón o mediante shift-selection. Para activar o desactivar el modo Eliminar selección (Delete Selection mode), escriba <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">delete-selection-mode</span></code>.</p>
<p>Algunos comandos tienen un comportamiento por defecto cuando la marca está inactiva, pero operan en la región si la marca está activa. Por ejemplo, <code class="docutils literal notranslate"><span class="pre">M-$</span></code> (<code class="docutils literal notranslate"><span class="pre">ispell-word</span></code>) normalmente comprueba la ortografía de la palabra en el punto, pero comprueba el texto en la región si la marca está activa (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>). Normalmente, estos comandos utilizan su comportamiento por defecto si la región está vacía (es decir, si la marca y el punto están en la misma posición). Si desea que operen en la región vacía, cambie la variable <code class="docutils literal notranslate"><span class="pre">use-empty-active-region</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>.</p>
<p>Como se describe en <a class="reference internal" href="08_ComBasicEdic.html#id4"><span class="std std-ref">8.3 Borrar Texto</span></a> Borrar texto, los comandos <code class="docutils literal notranslate"><span class="pre">DEL</span></code> (<code class="docutils literal notranslate"><span class="pre">backward-delete-char</span></code>) y <code class="docutils literal notranslate"><span class="pre">Delete</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-forward-char</span></code>) también actúan de esta forma. Si la marca está activa, borran el texto de la región. (Como excepción, si proporciona un argumento numérico <em>n</em>, donde <em>n</em> no es uno, estos comandos borran <em>n</em> caracteres independientemente de si la marca está activa). Si cambia la variable <code class="docutils literal notranslate"><span class="pre">delete-active-region</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, estos comandos no actuarán de forma diferente cuando la marca esté activa. Si cambia el valor a <em>kill</em> (matar), estos comandos matan la región en lugar de borrarla (véase <a class="reference internal" href="13_MatarMoverTxt.html#id1"><span class="std std-ref">13 Matar y Mover Texto</span></a>).</p>
<p>Otros comandos operan siempre sobre la región y no tienen un comportamiento predeterminado. Estos comandos suelen llevar la palabra región en sus nombres, como <code class="docutils literal notranslate"><span class="pre">C-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-region</span></code>) y <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-u</span></code> (<code class="docutils literal notranslate"><span class="pre">upcase-region</span></code>). Si la marca está inactiva, actúan sobre la región inactiva, es decir, sobre el texto situado entre el punto y la posición en la que se estableció la marca por última vez (véase <a class="reference internal" href="#id2"><span class="std std-ref">12.1 Fijar la Marca</span></a>). Para desactivar este comportamiento, cambie la variable <code class="docutils literal notranslate"><span class="pre">mark-even-if-inactive</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>. Entonces estos comandos señalarán un error si la marca está inactiva.</p>
<p>Por defecto, la inserción de texto se produce normalmente incluso si la marca está activa; por ejemplo, al escribir a se inserta el carácter <code class="docutils literal notranslate"><span class="pre">a</span></code> y, a continuación, se desactiva la marca. El modo Borrar selección (Delete Selection mode), un modo secundario, modifica este comportamiento: si activa este modo, la inserción de texto mientras la marca está activa hace que el texto de la región se borre primero. Sin embargo, puede ajustar este comportamiento personalizando la opción <code class="docutils literal notranslate"><span class="pre">delete-selection-temporary-region</span></code> (borrar-selección-región-temporal). Su valor predeterminado es <code class="docutils literal notranslate"><span class="pre">nil</span></code>, pero puede establecerlo en <code class="docutils literal notranslate"><span class="pre">t</span></code>, en cuyo caso sólo se reemplazarán las regiones temporalmente activas: las que se establezcan arrastrando el ratón (véase <a class="reference internal" href="#id2"><span class="std std-ref">12.1 Fijar la Marca</span></a>) o mediante selección con Mayúsculas (véase <a class="reference internal" href="#id8"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>), así como mediante <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">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">C-x</span></code>) cuando el Modo de Marca Transitoria esté desactivado. Puede ajustar aún más el comportamiento estableciendo <code class="docutils literal notranslate"><span class="pre">delete-selection-temporary-region</span></code> en <code class="docutils literal notranslate"><span class="pre">selection</span></code>: entonces no se reemplazarán las regiones temporales mediante <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">C-x</span></code>, sino sólo las activadas al arrastrar el ratón o mediante shift-selection. Para activar o desactivar el modo Eliminar selección (Delete Selection mode), escriba <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">delete-selection-mode</span></code>.</p>
</section>
<section id="el-anillo-de-marcas">
<h2>12.4 El Anillo de Marcas<a class="headerlink" href="#el-anillo-de-marcas" title="Link to this heading"></a></h2>
<p>Cada búfer recuerda las ubicaciones anteriores de la marca, en el anillo de marcas. Los comandos que fijan la marca también empujan la marca anterior a este anillo. Uno de los usos del anillo de marcas es recordar puntos a los que puede querer volver.</p>
<span id="id7"></span><h2>12.4 El Anillo de Marcas<a class="headerlink" href="#el-anillo-de-marcas" title="Link to this heading"></a></h2>
<p>Cada búfer recuerda las ubicaciones anteriores de la marca, en el <em>anillo de marcas</em>. Los comandos que fijan la marca también empujan la marca anterior a este anillo. Uno de los usos del anillo de marcas es recordar puntos a los que puede querer volver.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">SPACE</kbd> <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> <span class="pre">C-SPC</span></code>)</p>
<blockquote>
<div><p>Coloca la marca, empujándola sobre el anillo de marca, sin activarla.</p>
</div></blockquote>
<p><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">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code>)</p>
<blockquote>
<div><p>Mueva el punto a donde estaba la marca y restaure la marca del anillo de marcas anteriores.</p>
<div><p>Mueve el punto a donde estaba la marca y restaure la marca del anillo de marcas anteriores.</p>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-SPC</span> <span class="pre">C-SPC</span></code> es útil cuando se quiere usar la marca para recordar una posición a la que se desea volver. Empuja el punto actual al anillo de marca, sin activar la marca (lo que haría que Emacs resaltara la región). En realidad se trata de dos invocaciones consecutivas de <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> (<code class="docutils literal notranslate"><span class="pre">set-mark-command</span></code>); la primera <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> activa la marca, y la segunda <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> la desactiva. (Cuando el modo de marca transitoria (Transient Mark mode) está desactivado, <code class="docutils literal notranslate"><span class="pre">C-SPC</span> <span class="pre">C-SPC</span></code> activa en su lugar el modo de marca transitoria temporalmente; <strong>véase Desactivar el Modo de Marca Transitoria</strong>).</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-SPC</span> <span class="pre">C-SPC</span></code> es útil cuando se quiere usar la marca para recordar una posición a la que se desea volver. Empuja el punto actual al anillo de marca, sin activar la marca (lo que haría que Emacs resaltara la región). En realidad se trata de dos invocaciones consecutivas de <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> (<code class="docutils literal notranslate"><span class="pre">set-mark-command</span></code>); la primera <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> activa la marca, y la segunda <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> la desactiva. (Cuando el modo de marca transitoria (Transient Mark mode) está desactivado, <code class="docutils literal notranslate"><span class="pre">C-SPC</span> <span class="pre">C-SPC</span></code> activa en su lugar el modo de marca transitoria temporalmente; véase <a class="reference internal" href="#id9"><span class="std std-ref">12.7 Desactivar el Modo de Marca Transitoria</span></a>).</p>
<p>Para volver a una posición marcada, use <code class="docutils literal notranslate"><span class="pre">set-mark-command</span></code> con un argumento prefijo: <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code>. Esto mueve el punto a donde estaba la marca, y desactiva la marca si estaba activa. Cada <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code> posterior salta a una posición anterior almacenada en el anillo de marcas. Las posiciones por las que se desplaza de este modo no se pierden; van al final del anillo.</p>
<p>Si establece <code class="docutils literal notranslate"><span class="pre">set-mark-command-repeat-pop</span></code> como no nulo, inmediatamente después de escribir <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code>, puede escribir <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> en lugar de <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code> para recorrer el anillo de marcas. Por defecto, <code class="docutils literal notranslate"><span class="pre">set-mark-command-repeat-pop</span></code> es <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>Cada búfer tiene su propio anillo de marcas. Todos los comandos de edición utilizan el anillo de marcas del búfer actual. En particular, <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code> siempre permanece en el mismo búfer.</p>
<p>La variable <code class="docutils literal notranslate"><span class="pre">mark-ring-max</span></code> especifica el número máximo de entradas a mantener en el anillo de marcas. Por defecto es de 16 entradas. Si existen tantas entradas y se introduce otra, se descarta la más antigua de la lista. Repitiendo <code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code> hace un ciclo a través de las posiciones actualmente en el anillo.</p>
<p>Si desea volver al mismo lugar una y otra vez, puede que el anillo de marcas no sea lo suficientemente práctico. Si es así, puede grabar la posición en un registro para recuperarla más tarde (<strong>consulte Guardar Posiciones en Registros</strong>).</p>
<p>Si desea volver al mismo lugar una y otra vez, puede que el anillo de marcas no sea lo suficientemente práctico. Si es así, puede grabar la posición en un registro para recuperarla más tarde (consulte <a class="reference internal" href="14_Registros.html#id2"><span class="std std-ref">14.1 Guardar Posiciones en Registros</span></a>).</p>
</section>
<section id="el-anillo-de-marcas-global">
<h2>12.5 El Anillo de Marcas Global<a class="headerlink" href="#el-anillo-de-marcas-global" title="Link to this heading"></a></h2>
<p>Además del anillo de marcas ordinario que pertenece a cada búfer, Emacs tiene un único anillo de marcas global. Cada vez que establezca una marca, ésta se registra en el anillo de marcas global además del propio anillo de marcas del búfer actual, si ha cambiado de búfer desde el anterior ajuste de marca. Por lo tanto, el anillo de marca global registra una secuencia de memorias intermedias en las que ha estado y, para cada memoria intermedia, un lugar en el que ha establecido la marca. La longitud del anillo de marca global está controlada por <code class="docutils literal notranslate"><span class="pre">global-mark-ring-max</span></code>, y es 16 por defecto.</p>
<p>Además del anillo de marcas ordinario que pertenece a cada búfer, Emacs tiene un único <em>anillo de marcas global</em>. Cada vez que establezca una marca, ésta se registra en el anillo de marcas global además del propio anillo de marcas del búfer actual, si ha cambiado de búfer desde el anterior ajuste de marca. Por lo tanto, el anillo de marca global registra una secuencia de memorias intermedias en las que ha estado y, para cada memoria intermedia, un lugar en el que ha establecido la marca. La longitud del anillo de marca global está controlada por <code class="docutils literal notranslate"><span class="pre">global-mark-ring-max</span></code>, y es 16 por defecto.</p>
<p>El 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">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-SPC</span></code>, <code class="docutils literal notranslate"><span class="pre">pop-global-mark</span></code>) salta al búfer y a la posición de la última entrada en el anillo global. También gira el anillo, de modo que los usos sucesivos de <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-SPC</span></code> le llevan a búferes y posiciones de marca anteriores.</p>
</section>
<section id="seleccion-mediante-mayusculas-shift">
<span id="id5"></span><h2>12.6 Selección mediante Mayúsculas (Shift)<a class="headerlink" href="#seleccion-mediante-mayusculas-shift" title="Link to this heading"></a></h2>
<p>Si mantiene pulsada la tecla Shift mientras escribe un comando de movimiento del cursor, se establece la marca antes de mover el punto, de modo que la región se extiende desde la posición original del punto hasta su nueva posición. Esta función se denomina selección con Mayúsculas. Es similar a la forma en que se selecciona texto en otros editores.</p>
<p>La marca establecida a través de la selección de Mayúsculas se comporta de forma un poco diferente a la descrita anteriormente. En primer lugar, además de las formas habituales de desactivar la marca (como cambiar el texto de la memoria intermedia o teclear <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>)), la marca se desactiva con cualquier comando de movimiento del cursor sin desplazamiento. En segundo lugar, cualquier comando de movimiento del cursor desplazado posterior evita volver a activar la marca. Por lo tanto, una serie de comandos de movimiento del cursor desplazado ajustará continuamente la región.</p>
<p>La selección mediante Mayús sólo funciona si la tecla de movimiento del cursor desplazado no está asociada a un comando independiente (véase Personalización). Por ejemplo, si vincula <kbd class="kbd docutils literal notranslate">Shift</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">S-C-f</span></code>) a otro comando, al teclear <kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> se ejecutará ese comando en lugar de realizar una versión de <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>, <code class="docutils literal notranslate"><span class="pre">forward-char</span></code>) con selección de mayúsculas.</p>
<p>Una marca establecida mediante comandos del ratón se comporta igual que una marca establecida mediante la selección por desplazamiento (<strong>véase Establecer la Marca</strong>). Por ejemplo, si especifica una región arrastrando el ratón, puede seguir ampliando la región mediante comandos de movimiento del cursor desplazado. En ambos casos, cualquier comando de movimiento del cursor sin desplazamiento desactiva la marca.</p>
<p>Para desactivar la selección por desplazamiento, establezca el modo de <code class="docutils literal notranslate"><span class="pre">shift-select-mode</span></code> (selección por desplazamiento) en <code class="docutils literal notranslate"><span class="pre">nil</span></code>. Al hacerlo, no se desactiva el establecimiento de la marca mediante comandos del ratón. Si establece <code class="docutils literal notranslate"><span class="pre">shift-select-mode</span></code> en el valor <code class="docutils literal notranslate"><span class="pre">permanent</span></code>, las teclas de movimiento del cursor que no hayan sido desplazadas por shift no desactivarán la marca, por lo que, por ejemplo, la región establecida por comandos anteriores puede ampliarse mediante shift-selection, y las teclas de movimiento del cursor no desplazadas ampliarán la región establecida por shift-selection.</p>
<span id="id8"></span><h2>12.6 Selección mediante Mayúsculas (Shift)<a class="headerlink" href="#seleccion-mediante-mayusculas-shift" title="Link to this heading"></a></h2>
<p>Si mantiene pulsada la tecla <kbd class="kbd docutils literal notranslate">Shift</kbd> mientras escribe un comando de movimiento del cursor, se establece la marca antes de mover el punto, de modo que la región se extiende desde la posición original del punto hasta su nueva posición. Esta función se denomina <em>selección con Mayúsculas</em> (shift-selection). Es similar a la forma en que se selecciona texto en otros editores.</p>
<p>La marca establecida a través de la selección de Mayúsculas se comporta de forma un poco diferente a la descrita anteriormente. En primer lugar, además de las formas habituales de desactivar la marca (como cambiar el texto del búfer o teclear <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>)), la marca se desactiva con cualquier comando de movimiento del cursor <em>sin desplazamiento</em>. En segundo lugar, cualquier comando de movimiento del cursor desplazado posterior evita volver a activar la marca. Por lo tanto, una serie de comandos de movimiento del cursor <em>desplazado</em> ajustará continuamente la región.</p>
<p>La selección mediante mayúsculas sólo funciona si la tecla de movimiento del cursor desplazado no está asociada a un comando independiente (véase <a class="reference internal" href="50_Personlzc.html#id1"><span class="std std-ref">50 Personalización</span></a>). Por ejemplo, si vincula <kbd class="kbd docutils literal notranslate">Shift</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">S-C-f</span></code>) a otro comando, al teclear <kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> se ejecutará ese comando en lugar de realizar una versión de <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>, <code class="docutils literal notranslate"><span class="pre">forward-char</span></code>) con selección de mayúsculas.</p>
<p>Una marca establecida mediante comandos del ratón se comporta igual que una marca establecida mediante la selección por desplazamiento (véase <a class="reference internal" href="#id2"><span class="std std-ref">12.1 Fijar la Marca</span></a>). Por ejemplo, si especifica una región arrastrando el ratón, puede seguir ampliando la región mediante comandos de movimiento del cursor desplazado. En ambos casos, cualquier comando de movimiento del cursor sin desplazamiento desactiva la marca.</p>
<p>Para desactivar la selección por mayúsculas, establezca el modo <code class="docutils literal notranslate"><span class="pre">shift-select-mode</span></code> (modo selección por desplazamiento) en <code class="docutils literal notranslate"><span class="pre">nil</span></code>. Al hacerlo, no se desactiva el establecimiento de la marca mediante comandos del ratón. Si establece <code class="docutils literal notranslate"><span class="pre">shift-select-mode</span></code> en el valor <code class="docutils literal notranslate"><span class="pre">permanent</span></code>, las teclas de movimiento del cursor que no hayan sido desplazadas por shift no desactivarán la marca, por lo que, por ejemplo, la región establecida por comandos anteriores puede ampliarse mediante shift-selection (selección de mayúsculas), y las teclas de movimiento del cursor no desplazadas ampliarán la región establecida por <em>selección de mayúsculas</em>.</p>
</section>
<section id="desactivar-el-modo-de-marca-transitoria">
<h2>12.7 Desactivar el Modo de Marca Transitoria<a class="headerlink" href="#desactivar-el-modo-de-marca-transitoria" title="Link to this heading"></a></h2>
<p>El comportamiento por defecto de la marca y la región, en el que al fijar la marca se activa ésta y se resalta la región, se denomina Transient Mark mode (modo Marca Transitoria). Se trata de un modo menor que está activado por defecto en las sesiones interactivas. Puede activarse con M-x transient-mark-mode, o con la opción Highlight Active Region (Resaltar Región Activa) del menú Options (Opciones). Si se desactiva, Emacs pasa a un modo de funcionamiento alternativo:</p>
<span id="id9"></span><h2>12.7 Desactivar el Modo de Marca Transitoria<a class="headerlink" href="#desactivar-el-modo-de-marca-transitoria" title="Link to this heading"></a></h2>
<p>El comportamiento por defecto de la marca y la región, en el que al fijar la marca se activa ésta y se resalta la región, se denomina Transient Mark mode (modo Marca Transitoria). Se trata de un modo menor que está activado por defecto en las sesiones interactivas. Puede activarse con M-<code class="docutils literal notranslate"><span class="pre">x</span> <span class="pre">transient-mark-mode</span></code>, o con la opción <code class="docutils literal notranslate"><span class="pre">Highlight</span> <span class="pre">Active</span> <span class="pre">Region</span></code> (Resaltar Región Activa) del menú <code class="docutils literal notranslate"><span class="pre">Options</span></code> (Opciones). Si se desactiva, Emacs pasa a un modo de funcionamiento alternativo:</p>
<blockquote>
<div><ul class="simple">
<li><p>Al fijar la marca, con comandos como <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>) 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">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>), no se resalta la región. Por lo tanto, no se
puede saber con sólo mirar dónde se encuentra la marca; hay que acordarse. La solución habitual a este problema es fijar la marca y utilizarla pronto, antes de que se le olvide dónde
está. También puede comprobar dónde está la marca utilizando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>, que intercambia las posiciones del punto y de la marca (<strong>véase Fijar la Marca</strong>).</p></li>
<li><p>Al fijar la marca, con comandos como <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>) 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">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>), no se resalta la región. Por lo tanto, no se puede saber con sólo mirar dónde se encuentra la marca; hay que acordarse. La solución habitual a este problema es fijar la marca y utilizarla pronto, antes de que se le olvide dónde está. También puede comprobar dónde está la marca utilizando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>, que intercambia las posiciones del punto y de la marca (véase <a class="reference internal" href="#id2"><span class="std std-ref">12.1 Fijar la Marca</span></a>).</p></li>
<li><p>Algunos comandos, que normalmente actúan sobre la región cuando la marca está activa, ya no lo hacen. Por ejemplo, normalmente (<code class="docutils literal notranslate"><span class="pre">M-%</span></code>, <code class="docutils literal notranslate"><span class="pre">query-replace</span></code>, consulta-reemplazo)
realiza reemplazos dentro de la región, si la marca está activa. Cuando el modo de marca transitoria está desactivado, siempre actúa desde el punto hasta el final de la memoria
intermedia. Los comandos que actúan de este modo se identifican en su propia documentación.</p></li>
@ -307,7 +304,7 @@ trata de un comando independiente; está usando el comando <code class="docutils
comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code>, <code class="docutils literal notranslate"><span class="pre">exchange-point-and-mark</span></code>, con un argumento de prefijo).</p>
</div></blockquote>
<p>Estos comandos establecen o activan la marca, y habilitan el modo Marca Transitoria sólo hasta que se desactiva la marca. Una de las razones por las que es posible que desee utilizarlos es que algunos comandos operan en todo el búfer intermedia en lugar de en la región cuando el modo Marca transitoria está desactivado. La activación momentánea del modo Marca Transitoria permite utilizar estos comandos en la región.</p>
<p>Cuando especifique una región con el ratón (<strong>véase Establecer la Marca</strong>), o con la selección de mayúsculas (<strong>véase Selección mediante Mayúsculas</strong>), también se activará temporalmente el modo Marca Transitoria y se resaltará la región.</p>
<p>Cuando especifique una región con el ratón (véase <a class="reference internal" href="#id2"><span class="std std-ref">12.1 Fijar la Marca</span></a>), o con la selección de mayúsculas (véase <a class="reference internal" href="#id8"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>), también se activará temporalmente el modo Marca Transitoria y se resaltará la región.</p>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -72,7 +72,7 @@
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#tirar-de-un-texto">13.2 Tirar de un Texto</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#anillo-de-muerte">13.2.1 Anillo de Muerte</a></li>
<li class="toctree-l3"><a class="reference internal" href="#anillo-de-muertes">13.2.1 Anillo de Muertes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#borrar-muertes-anteriores">13.2.2 Borrar Muertes Anteriores</a></li>
<li class="toctree-l3"><a class="reference internal" href="#anadir-muertes">13.2.3 Añadir Muertes</a></li>
</ul>
@ -160,18 +160,18 @@
<section id="matar-y-mover-texto">
<span id="id1"></span><h1>13 Matar y Mover Texto<a class="headerlink" href="#matar-y-mover-texto" title="Link to this heading"></a></h1>
<p>En Emacs, <em>matar</em> significa borrar texto y copiarlo en el anillo de muertes. <em>Desplazar</em> significa traer texto del anillo de destrucción de vuelta al buffer. (Algunas aplicaciones utilizan los términos «cortar» y «pegar» para operaciones similares). El anillo de muertes se llama así porque se puede visualizar como un conjunto de bloques de texto dispuestos en un anillo, al que se puede acceder en orden cíclico. <strong>Véase El Anillo de Muertes</strong>.</p>
<p>Los comandos kill y yanking son la forma más común de mover o copiar texto dentro de Emacs. Es muy versátil, porque hay comandos para matar muchos tipos diferentes de unidades sintácticas.</p>
<p>En Emacs, <em>kill</em> (matar) significa borrar texto y copiarlo en el <em>anillo de muertes*(kill ring). *Yank</em> (desplazar, tirar de o copiar desde) significa traer texto del anillo de muertes de vuelta al búfer. (Algunas aplicaciones utilizan los términos «cortar» y «pegar» para operaciones similares). El anillo de muertes se llama así porque se puede visualizar como un conjunto de bloques de texto dispuestos en un anillo, al que se puede acceder en orden cíclico. Véase <a class="reference internal" href="#id5"><span class="std std-ref">13.2.1 Anillo de Muertes</span></a>.</p>
<p>Los comandos kill (matar) y yanking (tirar de) son la forma más común de mover o copiar texto dentro de Emacs. Es muy versátil, porque hay comandos para matar muchos tipos diferentes de unidades sintácticas.</p>
<section id="borrar-y-matar">
<span id="id2"></span><h2>13.1 Borrar y Matar<a class="headerlink" href="#borrar-y-matar" title="Link to this heading"></a></h2>
<p>La mayoría de las órdenes que borran texto del búfer lo guardan en el anillo de muertes (<strong>ver El Anillo de Muertes</strong>). Se conocen como comandos <em>kill</em>, y sus nombres normalmente contienen la palabra <code class="docutils literal notranslate"><span class="pre">kill</span></code> (por ejemplo, <code class="docutils literal notranslate"><span class="pre">kill-line</span></code>). El kill ring almacena varios kills recientes, no sólo el último, por lo que matar es una operación muy segura: no tiene que preocuparse mucho por perder texto que haya matado previamente. El anillo de muertes es compartido por todos los buffers, por lo que el texto que es matado en un buffer puede ser arrastrado a otro buffer.</p>
<p>Cuando se usa <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">undo</span></code>, deshacer) para deshacer un comando de eliminación (<strong>ver Deshacer</strong>), el texto eliminado vuelve al búfer, pero no se elimina del anillo de muertes.</p>
<p>En las pantallas gráficas, al matar el texto también se copia en el portapapeles del sistema. Ver Operaciones de «Cortar y Pegar» en Pantallas Gráficas.</p>
<p>Los comandos que borran el texto pero no lo guardan en el anillo de destrucción se conocen como comandos de borrado; sus nombres suelen contener la palabra <code class="docutils literal notranslate"><span class="pre">delete</span></code> (borrar). Entre ellos se incluyen <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> (<code class="docutils literal notranslate"><span class="pre">C-d</span></code>, <code class="docutils literal notranslate"><span class="pre">delete-char</span></code>) y <kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>, <code class="docutils literal notranslate"><span class="pre">delete-backward-char</span></code>), que borran sólo un carácter cada vez, y los comandos que borran sólo espacios o nuevas líneas. Los comandos que pueden borrar cantidades significativas de datos no triviales generalmente realizan una operación de borrado.</p>
<p>También puede utilizar el ratón para matar y tirar. <strong>Vea Operaciones de «Cortar y Pegar» en Pantallas Gráficas</strong>.</p>
<p>La mayoría de las órdenes que borran texto del búfer lo guardan en el anillo de muertes (ver <a class="reference internal" href="#id5"><span class="std std-ref">13.2.1 Anillo de Muertes</span></a>). Se conocen como comandos <em>kill</em>, y sus nombres normalmente contienen la palabra <code class="docutils literal notranslate"><span class="pre">kill</span></code> (por ejemplo, <code class="docutils literal notranslate"><span class="pre">kill-line</span></code>). El kill ring (anillo de muertes) almacena varias muertes recientes, no sólo el último, por lo que matar es una operación muy segura: no tiene que preocuparse mucho por perder texto que haya matado previamente. El anillo de muertes es compartido por todos los búferes, por lo que el texto que es matado en un búfer puede ser arrastrado a otro búfer.</p>
<p>Cuando se usa <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">undo</span></code>, deshacer) para deshacer un comando de eliminación (ver <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id2"><span class="std std-ref">17.1 Deshacer</span></a>), el texto eliminado vuelve al búfer, pero no se elimina del anillo de muertes.</p>
<p>En las pantallas gráficas, al matar el texto también se copia en el portapapeles del sistema. Ver <a class="reference internal" href="#id8"><span class="std std-ref">13.3 Operaciones de «cortar y pegar» en Entornos Gráficos de Escritorio</span></a>.</p>
<p>Los comandos que borran el texto pero no lo guardan en el anillo de muertes se conocen como comandos de borrado; sus nombres suelen contener la palabra <code class="docutils literal notranslate"><span class="pre">delete</span></code> (borrar). Entre ellos se incluyen <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> (<code class="docutils literal notranslate"><span class="pre">C-d</span></code>, <code class="docutils literal notranslate"><span class="pre">delete-char</span></code>) y <kbd class="kbd docutils literal notranslate">DEL</kbd> (<code class="docutils literal notranslate"><span class="pre">DEL</span></code>, <code class="docutils literal notranslate"><span class="pre">delete-backward-char</span></code>), que borran sólo un carácter cada vez, y los comandos que borran sólo espacios o nuevas líneas. Los comandos que pueden borrar cantidades significativas de datos no triviales generalmente realizan una operación de borrado.</p>
<p>También puede utilizar el ratón para matar y tirar. Vea <a class="reference internal" href="#id8"><span class="std std-ref">13.3 Operaciones de «cortar y pegar» en Entornos Gráficos de Escritorio</span></a>.</p>
<section id="borrado">
<span id="id3"></span><h3>13.1.1 Borrado<a class="headerlink" href="#borrado" title="Link to this heading"></a></h3>
<p>Borrar significa borrar texto y no guardarlo en el anillo de muertes. En su mayor parte, los comandos de Emacs que borran texto son los que borran sólo un carácter o sólo espacios en blanco.</p>
<p><em>Borrado*</em> significa borrar texto y no guardarlo en el anillo de muertes. En su mayor parte, los comandos de Emacs que borran texto son los que borran sólo un carácter o sólo espacios en blanco.</p>
<div class="line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">DEL</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">BACKSPACE</span></code></div>
@ -203,12 +203,12 @@
<blockquote>
<div><p>Une dos líneas eliminando la nueva línea intermedia, junto con cualquier sangría que la siga (<code class="docutils literal notranslate"><span class="pre">delete-indentation</span></code>).</p>
</div></blockquote>
<p>Ya hemos descrito los comandos básicos de borrado <code class="docutils literal notranslate"><span class="pre">DEL</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-backward-char</span></code>), <code class="docutils literal notranslate"><span class="pre">delete</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-forward-char</span></code>) y <code class="docutils literal notranslate"><span class="pre">C-d</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-char</span></code>). <strong>Véase Borrar Texto</strong>. Con un argumento numérico, borran el número especificado de caracteres. Si el argumento numérico se omite o es uno, <code class="docutils literal notranslate"><span class="pre">DEL</span></code> y <code class="docutils literal notranslate"><span class="pre">delete</span></code> borran todo el texto de la región si está activa (<strong>véase Operar en la Región</strong>).</p>
<p>Ya hemos descrito los comandos básicos de borrado <code class="docutils literal notranslate"><span class="pre">DEL</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-backward-char</span></code>), <code class="docutils literal notranslate"><span class="pre">delete</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-forward-char</span></code>) y <code class="docutils literal notranslate"><span class="pre">C-d</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-char</span></code>). Véase <a class="reference internal" href="08_ComBasicEdic.html#id4"><span class="std std-ref">8.3 Borrar Texto</span></a>. Con un argumento numérico, borran el número especificado de caracteres. Si el argumento numérico se omite o es uno, <code class="docutils literal notranslate"><span class="pre">DEL</span></code> y <code class="docutils literal notranslate"><span class="pre">delete</span></code> borran todo el texto de la región si 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>
<p>Los otros comandos de borrado son los que borran sólo caracteres de espacio en blanco: espacios, tabuladores y nuevas líneas. <code class="docutils literal notranslate"><span class="pre">M-\</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-horizontal-space</span></code>, borrar-espacio-horizontal) borra todos los espacios y caracteres de tabulación antes y después del punto. Con un argumento de prefijo, sólo borra los espacios y tabuladores antes del punto.</p>
<p><code class="docutils literal notranslate"><span class="pre">just-one-space</span></code> (sólo-un-espacio) hace lo mismo pero deja un único espacio antes del punto, independientemente del número de espacios que existieran previamente (incluso si antes no había ninguno). Con un argumento numérico <em>n</em>, deja <em>n</em> espacios antes del punto si <em>n</em> es positivo; si <em>n</em> es negativo, borra las nuevas líneas además de los espacios y tabuladores, dejando <em>-n</em> espacios antes del punto.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">cycle-spacing</span></code> (<code class="docutils literal notranslate"><span class="pre">M-SPC</span></code>) actúa como una versión más flexible de <code class="docutils literal notranslate"><span class="pre">just-one-space</span></code>. Realiza diferentes acciones de limpieza de espacio definidas por <code class="docutils literal notranslate"><span class="pre">cycle-spacing-actions</span></code>, de forma cíclica, si se llama repetidamente en sucesión.</p>
<p><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>, borrar-líneas-en-blanco) borra todas las líneas en blanco después de la línea actual. Si la línea actual está en blanco, borra también todas las líneas en blanco anteriores a la línea actual (dejando una línea en blanco, la línea actual). En una sola línea en blanco, borra esa línea.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-^</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-indentation</span></code>, eliminar-indentación) une la línea actual y la línea anterior, suprimiendo una nueva línea y todos los espacios circundantes, dejando normalmente un solo espacio. <strong>Véase M-^</strong>.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-^</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-indentation</span></code>, eliminar-indentación) une la línea actual y la línea anterior, suprimiendo una nueva línea y todos los espacios circundantes, dejando normalmente un solo espacio. Véase <a class="reference internal" href="25_Indentacion.html#id1"><span class="std std-ref">25 Indentación</span></a>.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">delete-duplicate-lines</span></code> (borrar-línas-duplicadas) busca en la región líneas idénticas, y elimina todas menos una copia de cada una. Normalmente mantiene la primera instancia de cada línea repetida, pero con un argumento de prefijo <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>) mantiene la última. Con un argumento de prefijo <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">u</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-u</span></code>), sólo busca líneas idénticas adyacentes. Este es un modo de operación más eficiente, útil cuando las líneas ya han sido ordenadas. Con un argumento de prefijo <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">u</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-u</span> <span class="pre">C-u</span> <span class="pre">C-u</span></code>), conserva las líneas en blanco repetidas.</p>
</section>
<section id="matar-por-lineas">
@ -221,9 +221,9 @@
<blockquote>
<div><p>Mata toda una línea a la vez (<code class="docutils literal notranslate"><span class="pre">kill-whole-line</span></code>).</p>
</div></blockquote>
<p>El comando kill más sencillo es <code class="docutils literal notranslate"><span class="pre">C-k</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-line</span></code>). Si se usa al final de una línea, elimina el carácter de nueva línea con el que termina la línea, fusionando la línea siguiente con la actual (de este modo, se elimina por completo una línea en blanco). De lo contrario, <code class="docutils literal notranslate"><span class="pre">C-k</span></code> elimina todo el texto desde el punto hasta el final de la línea; si el punto estaba originalmente al principio de la línea, la deja en blanco.</p>
<p>La orden de matar más sencilla es <code class="docutils literal notranslate"><span class="pre">C-k</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-line</span></code>). Si se usa al final de una línea, elimina el carácter de nueva línea con el que termina la línea, fusionando la línea siguiente con la actual (de este modo, se elimina por completo una línea en blanco). De lo contrario, <code class="docutils literal notranslate"><span class="pre">C-k</span></code> elimina todo el texto desde el punto hasta el final de la línea; si el punto estaba originalmente al principio de la línea, la deja en blanco.</p>
<p>Los espacios y tabuladores al final de la línea se ignoran al decidir qué caso se aplica. Siempre que el punto esté después del último carácter de la línea que no sea un espacio en blanco, puede estar seguro de que <code class="docutils literal notranslate"><span class="pre">C-k</span></code> eliminará la nueva línea. Para eliminar toda una línea que no esté en blanco, vaya al principio y escriba <code class="docutils literal notranslate"><span class="pre">C-k</span></code> dos veces.</p>
<p>En este contexto, «línea» significa una línea de texto lógica, no una línea de pantalla (<strong>ver Líneas de Continuación</strong>).</p>
<p>En este contexto, «línea» significa una línea de texto lógica, no una línea de pantalla (ver <a class="reference internal" href="08_ComBasicEdic.html#id7"><span class="std std-ref">8.8 Líneas de continuación</span></a>).</p>
<p>Cuando a <code class="docutils literal notranslate"><span class="pre">C-k</span></code> se le da un argumento positivo <em>n</em>, elimina <em>n</em> líneas y las nuevas líneas que las siguen (el texto en la línea actual antes del punto no se elimina). Con un argumento negativo <em>-n</em>, elimina n líneas anteriores a la línea actual, junto con el texto de la línea actual anterior al punto. <code class="docutils literal notranslate"><span class="pre">C-k</span></code> con un argumento cero elimina el texto anterior al punto en la línea actual.</p>
<p>Si la variable <code class="docutils literal notranslate"><span class="pre">kill-whole-line</span></code> es distinta de <code class="docutils literal notranslate"><span class="pre">nil</span></code>, <code class="docutils literal notranslate"><span class="pre">C-k</span></code> al principio de una línea elimina toda la línea, incluida la nueva línea siguiente. Esta variable es normalmente nula.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-S-backspace</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-whole-line</span></code>) elimina una línea completa incluyendo su nueva línea, independientemente de la posición del punto dentro de la línea. Tenga en cuenta que muchos terminales de texto le impedirán escribir la secuencia de teclas <code class="docutils literal notranslate"><span class="pre">C-S-backspace</span></code>.</p>
@ -236,11 +236,11 @@
</div></blockquote>
<p><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>)</p>
<blockquote>
<div><p>Copia la región dentro del anillo de muertes (<code class="docutils literal notranslate"><span class="pre">kill-ring-save</span></code>).</p>
<div><p>Copia la región en el anillo de muertes (<code class="docutils literal notranslate"><span class="pre">kill-ring-save</span></code>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> (<code class="docutils literal notranslate"><span class="pre">M-d</span></code>)</p>
<blockquote>
<div><p>Mata la siguiente palara (<code class="docutils literal notranslate"><span class="pre">kill-word</span></code>).</p>
<div><p>Mata la siguiente palara (<code class="docutils literal notranslate"><span class="pre">kill-word</span></code>). Vea <a class="reference internal" href="26_ComandsLengsHuma.html#id2"><span class="std std-ref">26.1 Palabras</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">BACKSPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">M-Del</span></code>)</p>
<blockquote>
@ -248,32 +248,30 @@
</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">BACKSPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">DEL</span></code>)</p>
<blockquote>
<div><p>Mata hasta el principio de la frase (<code class="docutils literal notranslate"><span class="pre">backward-kill-sentence</span></code>). <strong>Vea Sentencias</strong>.</p>
<div><p>Mata hasta el principio de la frase (<code class="docutils literal notranslate"><span class="pre">backward-kill-sentence</span></code>). Vea <a class="reference internal" href="26_ComandsLengsHuma.html#id3"><span class="std std-ref">26.2 Frases</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> (<code class="docutils literal notranslate"><span class="pre">M-k</span></code>)</p>
<blockquote>
<div><p>Mata al final de la frase (<code class="docutils literal notranslate"><span class="pre">kill-sentence</span></code>).</p>
<div><p>Mata hasta final de la frase (<code class="docutils literal notranslate"><span class="pre">kill-sentence</span></code>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-k</span></code>)</p>
<blockquote>
<div><p>Mata la siguiente expresión equilibrada (<code class="docutils literal notranslate"><span class="pre">kill-sexp</span></code>). <strong>Véase Expresiones con Paréntesis Equilibrados</strong>.</p>
<div><p>Mata la siguiente expresión equilibrada (<code class="docutils literal notranslate"><span class="pre">kill-sexp</span></code>). Véase <a class="reference internal" href="27_EdDePrograms.html#id4"><span class="std std-ref">27.4.1 Expresiones con Paréntesis Equilibrados</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> <strong>caracter</strong> (<code class="docutils literal notranslate"><span class="pre">M-z</span></code> <strong>caracter</strong>)</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> <em>caracter</em> (<code class="docutils literal notranslate"><span class="pre">M-z</span></code> <em>caracter</em>)</p>
<blockquote>
<div><p>Mata hasta la siguiente aparición de <em>caracter</em> (<code class="docutils literal notranslate"><span class="pre">zap-to-char</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">zap-up-to-char</span></code> <strong>caracter</strong> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">zap-up-to-char</span></code> <strong>caracter</strong>)</p>
<blockquote>
<div><p>Mata hasta, pero sin incluir, la siguiente aparición de <em>caracter</em>.</p>
</div></blockquote>
<p>Uno de los comandos de eliminación más usados es <code class="docutils literal notranslate"><span class="pre">C-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-region</span></code>), que elimina el texto de la región (<strong>véase La Marca y la Región</strong>). Del mismo modo, <code class="docutils literal notranslate"><span class="pre">M-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-ring-save</span></code>) copia el texto de la región en el anillo de muertes sin eliminarlo del búfer. Si la marca está inactiva cuando teclea <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>) o <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>), el comando actúa sobre el texto entre el punto y donde puso la marca por última vez (<strong>ver Operar Sobre la Región</strong>).</p>
<p>Emacs también proporciona comandos para matar unidades sintácticas específicas: palabras, con <code class="docutils literal notranslate"><span class="pre">M-DEL</span></code> y <code class="docutils literal notranslate"><span class="pre">M-d</span></code> (<strong>vea Palabras</strong>); expresiones compuestas, con <code class="docutils literal notranslate"><span class="pre">C-M-k</span></code> (<strong>vea Expresiones con paréntesis balanceados</strong>); y frases, con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">DEL</span></code> y <code class="docutils literal notranslate"><span class="pre">M-k</span></code> (<strong>vea Frases</strong>).</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">M-z</span></code> (<code class="docutils literal notranslate"><span class="pre">zap-to-char</span></code>) combina matar con buscar: lee un carácter y mata desde el punto hasta (e incluyendo) la siguiente aparición de ese carácter en el buffer. Un argumento numérico actúa como contador de repeticiones; un argumento negativo significa buscar hacia atrás y matar el texto anterior al punto. Se mantiene un historial de los caracteres usados anteriormente, al que se puede acceder mediante las teclas <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">p</kbd> / <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">M-p</span></code>/<code class="docutils literal notranslate"><span class="pre">M-n</span></code>). Esto es útil sobre todo si el carácter que se va a utilizar tiene que introducirse mediante un método de entrada complicado. Un comando similar <code class="docutils literal notranslate"><span class="pre">zap-up-to-char</span></code> mata desde el punto hasta, pero sin incluir, la siguiente aparición de un carácter, con un argumento numérico que actúa como contador de repeticiones.</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">zap-up-to-char</span></code> <em>caracter</em> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">zap-up-to-char</span></code> <em>caracter</em>)</p>
<p>20 Mata hasta, pero sin incluir, la siguiente aparición de <em>caracter</em>.</p>
<p>Uno de los comandos de eliminación más usados es <code class="docutils literal notranslate"><span class="pre">C-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-region</span></code>), que elimina el texto de la región (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>). Del mismo modo, <code class="docutils literal notranslate"><span class="pre">M-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-ring-save</span></code>) copia el texto de la región en el anillo de muertes sin eliminarlo del búfer. Si la marca está inactiva cuando teclea <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>) o <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>), el comando actúa sobre el texto entre el punto y donde puso la marca por última vez (ver <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>
<p>Emacs también proporciona comandos para matar unidades sintácticas específicas: palabras, con <code class="docutils literal notranslate"><span class="pre">M-DEL</span></code> y <code class="docutils literal notranslate"><span class="pre">M-d</span></code> (vea <a class="reference internal" href="26_ComandsLengsHuma.html#id2"><span class="std std-ref">26.1 Palabras</span></a>); expresiones compuestas, con <code class="docutils literal notranslate"><span class="pre">C-M-k</span></code> (vea <a class="reference internal" href="27_EdDePrograms.html#id4"><span class="std std-ref">27.4.1 Expresiones con Paréntesis Equilibrados</span></a>); y frases, con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">DEL</span></code> y <code class="docutils literal notranslate"><span class="pre">M-k</span></code> (vea <a class="reference internal" href="26_ComandsLengsHuma.html#id3"><span class="std std-ref">26.2 Frases</span></a>).</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">M-z</span></code> (<code class="docutils literal notranslate"><span class="pre">zap-to-char</span></code>) combina matar con buscar: lee un carácter y mata desde el punto hasta (e incluyendo) la siguiente aparición de ese carácter en el búfer. Un argumento numérico actúa como contador de repeticiones; un argumento negativo significa buscar hacia atrás y matar el texto anterior al punto. Se mantiene un historial de los caracteres usados anteriormente, al que se puede acceder mediante las teclas <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">p</kbd> / <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">n</kbd> (<code class="docutils literal notranslate"><span class="pre">M-p</span></code>/<code class="docutils literal notranslate"><span class="pre">M-n</span></code>). Esto es útil sobre todo si el carácter que se va a utilizar tiene que introducirse mediante un método de entrada complicado. Un comando similar <code class="docutils literal notranslate"><span class="pre">zap-up-to-char</span></code> mata desde el punto hasta, pero sin incluir, la siguiente aparición de un carácter, con un argumento numérico que actúa como contador de repeticiones.</p>
</section>
<section id="opciones-de-matado">
<h3>13.1.4 Opciones de Matado<a class="headerlink" href="#opciones-de-matado" title="Link to this heading"></a></h3>
<p>Algunos buffers especializados contienen texto de <em>sólo lectura</em>, que no puede ser modificado y por lo tanto no puede ser eliminado. Los comandos kill funcionan de forma especial en un buffer de sólo lectura: se mueven sobre el texto y lo copian al anillo kill, sin borrarlo realmente del buffer. Normalmente, también pitan y muestran un mensaje de error cuando esto ocurre. Pero si establece la variable <code class="docutils literal notranslate"><span class="pre">kill-read-only-ok</span></code> a un valor no nulo, sólo imprimen un mensaje en el área de eco para explicar por qué el texto no ha sido borrado.</p>
<p>Antes de guardar el kill en el anillo kill, puedes transformar la cadena usando <code class="docutils literal notranslate"><span class="pre">kill-transform-function</span></code>. Se llama con la cadena a matar, y debería devolver la cadena que quiere que se guarde. También puede devolver <code class="docutils literal notranslate"><span class="pre">nil</span></code>, en cuyo caso la cadena no se guardará en el anillo de destrucción. Por ejemplo, si nunca quiere guardar una cadena con espacio en blanco puro en el anillo de muerte, puede decir:</p>
<p>Algunos búferes especializados contienen <em>texto de sólo lectura</em>, que no puede ser modificado y por lo tanto no puede ser eliminado. Los comandos de matar funcionan de forma especial en un búfer de sólo lectura: se mueven sobre el texto y lo copian al anillo de muertes, sin borrarlo realmente del búfer. Normalmente, también pitan y muestran un mensaje de error cuando esto ocurre. Pero si establece la variable <code class="docutils literal notranslate"><span class="pre">kill-read-only-ok</span></code> a un valor no nulo, sólo imprimen un mensaje en el área de eco para explicar por qué el texto no ha sido borrado.</p>
<p>Antes de guardar lo que se ha matado en el anillo de muertes, puede transformar la cadena usando <code class="docutils literal notranslate"><span class="pre">kill-transform-function</span></code>. Se llama con la cadena a matar, y debería devolver la cadena que quiere que se guarde. También puede devolver <code class="docutils literal notranslate"><span class="pre">nil</span></code>, en cuyo caso la cadena no se guardará en el anillo de muertes. Por ejemplo, si nunca quiere guardar una cadena con espacio en blanco puro en el anillo de muertes, puede decir:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">setq</span> <span class="n">kill</span><span class="o">-</span><span class="n">transform</span><span class="o">-</span><span class="n">function</span>
<span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="n">string</span><span class="p">)</span>
<span class="p">(</span><span class="ow">and</span> <span class="p">(</span><span class="ow">not</span> <span class="p">(</span><span class="n">string</span><span class="o">-</span><span class="n">blank</span><span class="o">-</span><span class="n">p</span> <span class="n">string</span><span class="p">))</span>
@ -284,7 +282,7 @@
</section>
</section>
<section id="tirar-de-un-texto">
<h2>13.2 Tirar de un Texto<a class="headerlink" href="#tirar-de-un-texto" title="Link to this heading"></a></h2>
<span id="id4"></span><h2>13.2 Tirar de un Texto<a class="headerlink" href="#tirar-de-un-texto" title="Link to this heading"></a></h2>
<p><em>yanking</em> significa reinsertar un texto previamente eliminado. La forma habitual de mover o copiar un texto es eliminarlo y arrastrarlo a otro lugar.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-y</span></code>)</p>
<blockquote>
@ -292,109 +290,102 @@
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">M-y</span></code>)</p>
<blockquote>
<div><p>Puede sustituir el texto que acaba de eliminar por un lote anterior de texto eliminado (yank-pop), o permitir seleccionar de la lista de lotes de texto eliminados anteriormente.
<strong>Véase Retirar Textos Eliminados Anteriormente</strong>.</p>
<div><p>Puede sustituir el texto que acaba de eliminar por un lote anterior de texto eliminado (<code class="docutils literal notranslate"><span class="pre">yank-pop</span></code>), o permitir seleccionar de la lista de lotes de texto eliminados anteriormente. Véase <a class="reference internal" href="#id6"><span class="std std-ref">13.2.2 Borrar Muertes Anteriores</span></a>.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">w</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-w</span></code>)</p>
<blockquote>
<div><p>Hace que la siguiente orden, si es una orden de destrucción, se añada a la destrucción anterior (<code class="docutils literal notranslate"><span class="pre">append-next-kill</span></code>). <strong>Véase Añadir Muertes</strong>.</p>
<div><p>Hace que la siguiente orden, si es una orden de muertes, se añada a la muerte anterior (<code class="docutils literal notranslate"><span class="pre">append-next-kill</span></code>). Véase <a class="reference internal" href="#id7"><span class="std std-ref">13.2.3 Añadir Muertes</span></a>.</p>
</div></blockquote>
<p>El comando básico de yanking es <code class="docutils literal notranslate"><span class="pre">C-y</span></code> (<code class="docutils literal notranslate"><span class="pre">yank</span></code>). Inserta la muerte más reciente, dejando el cursor al final del texto insertado. También coloca la marca al principio del texto insertado, sin activar la marca; esto le permite saltar fácilmente a esa posición, si lo desea, 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 class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code>) (<strong>véase El Anillo de Marcas</strong>).</p>
<p>Con un argumento de prefijo simple (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-y</span></code>), el comando deja el cursor delante del texto insertado y activa la marca al final. El uso de cualquier otro argumento prefijo especifica una marca anterior; por ejemplo, <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">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">4</span> <span class="pre">C-y</span></code>) reinserta la cuarta marca más reciente. <strong>Véase Eliminación de Muertes Anteriores</strong>.</p>
<p>En las pantallas gráficas y en las pantallas con modo texto, <code class="docutils literal notranslate"><span class="pre">C-y</span></code> comprueba primero si otra aplicación ha colocado algún texto en el portapapeles del sistema más recientemente que la última vez que Emacs lo mató. Si es así, inserta el texto del portapapeles en su lugar. Así, Emacs trata efectivamente las operaciones de «cortar» o «copiar» del portapapeles realizadas en otras aplicaciones como muertes de Emacs, excepto que no se registran en el anillo de muertes. Ver <strong>Operaciones «Cortar y Pegar» en Pantallas Gráficas</strong>, para más detalles.</p>
<section id="anillo-de-muerte">
<h3>13.2.1 Anillo de Muerte<a class="headerlink" href="#anillo-de-muerte" title="Link to this heading"></a></h3>
<p>El <em>kill ring</em> (anillo de muertes) es una lista de bloques de texto que han sido eliminados previamente. Sólo hay un kill ring, compartido por todos los buffers, por lo que puede matar texto en un buffer y arrancarlo en otro buffer. Esta es la forma habitual de mover texto de un búfer a otro. (Hay otros métodos: por ejemplo, puede almacenar el texto en un registro; <strong>vea Registros</strong>. <strong>Vea Acumulando Texto</strong>, para algunas otras formas de mover texto).</p>
<p>El número máximo de entradas en el kill ring se controla mediante la variable <code class="docutils literal notranslate"><span class="pre">kill-ring-max</span></code>. Por defecto es 120. Si hace un nuevo kill (si mata texto) cuando se ha alcanzado este límite, Emacs hace espacio borrando la entrada más antigua en el kill ring (en el anillo de muertes).</p>
<p>El contenido actual del anillo de destrucción se almacena en una variable llamada <code class="docutils literal notranslate"><span class="pre">kill-ring</span></code>; puede ver el contenido completo del anillo de destrucción con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">v</kbd> <code class="docutils literal notranslate"><span class="pre">kill-ring</span></code> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">v</span> <span class="pre">kill-ring</span></code>).</p>
<p>El comando básico para copiar (extraer o tirar) desde el anillo de muertes (yanking) es <code class="docutils literal notranslate"><span class="pre">C-y</span></code> (<code class="docutils literal notranslate"><span class="pre">yank</span></code>). Inserta la muerte más reciente, dejando el cursor al final del texto insertado. También coloca la marca al principio del texto insertado, sin activar la marca; esto le permite saltar fácilmente a esa posición, si lo desea, 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 class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-SPC</span></code>) (véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id7"><span class="std std-ref">12.4 El Anillo de Marcas</span></a>).</p>
<p>Con un argumento de prefijo simple (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-y</span></code>), el comando deja el cursor delante del texto insertado y activa la marca al final. El uso de cualquier otro argumento prefijo especifica una marca anterior; por ejemplo, <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">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">4</span> <span class="pre">C-y</span></code>) reinserta la cuarta marca más reciente. Véase <a class="reference internal" href="#id6"><span class="std std-ref">13.2.2 Borrar Muertes Anteriores</span></a>.</p>
<p>En las pantallas gráficas y en las pantallas con modo texto, <code class="docutils literal notranslate"><span class="pre">C-y</span></code> comprueba primero si otra aplicación ha colocado algún texto en el portapapeles del sistema más recientemente que la última vez que Emacs lo mató. Si es así, inserta el texto del portapapeles en su lugar. Así, Emacs trata efectivamente las operaciones de «cortar» o «copiar» del portapapeles realizadas en otras aplicaciones como muertes de Emacs, excepto que no se registran en el anillo de muertes. Ver <a class="reference internal" href="#id8"><span class="std std-ref">13.3 Operaciones de «cortar y pegar» en Entornos Gráficos de Escritorio</span></a>, para más detalles.</p>
<section id="anillo-de-muertes">
<span id="id5"></span><h3>13.2.1 Anillo de Muertes<a class="headerlink" href="#anillo-de-muertes" title="Link to this heading"></a></h3>
<p>El <em>anillo de muertes</em> (kill ring) es una lista de bloques de texto que han sido eliminados previamente. Sólo hay un kill ring, compartido por todos los búferes, por lo que puede matar texto en un búfer y arrancarlo en otro búfer. Esta es la forma habitual de mover texto de un búfer a otro. (Hay otros métodos: por ejemplo, puede almacenar el texto en un registro; vea <a class="reference internal" href="14_Registros.html#id1"><span class="std std-ref">14 Registros</span></a>. Vea <a class="reference internal" href="#id11"><span class="std std-ref">13.4 Acumular Texto</span></a>, para algunas otras formas de mover texto).</p>
<p>El número máximo de entradas en el anillo de muertes se controla mediante la variable <code class="docutils literal notranslate"><span class="pre">kill-ring-max</span></code>. Por defecto es 120. Si hace un nuevo kill (si mata texto) cuando se ha alcanzado este límite, Emacs hace espacio borrando la entrada más antigua en dicho anillo.</p>
<p>El contenido actual del anillo de muertes se almacena en una variable llamada <code class="docutils literal notranslate"><span class="pre">kill-ring</span></code>; puede ver el contenido completo del anillo de muertes con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> <kbd class="kbd docutils literal notranslate">v</kbd> <code class="docutils literal notranslate"><span class="pre">kill-ring</span></code> (<code class="docutils literal notranslate"><span class="pre">C-h</span> <span class="pre">v</span> <span class="pre">kill-ring</span></code>).</p>
</section>
<section id="borrar-muertes-anteriores">
<h3>13.2.2 Borrar Muertes Anteriores<a class="headerlink" href="#borrar-muertes-anteriores" title="Link to this heading"></a></h3>
<p>Como se explica en Yanking, puede usar un argumento numérico a <code class="docutils literal notranslate"><span class="pre">C-y</span></code> para sacar texto que ya no es la muerte más reciente. Esto es útil si recuerda qué entrada del anillo de muertes quiere. Si no, puede usar el 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>) para recorrer las posibilidades o seleccionar uno de las muertes anteriores.</p>
<p>Si el comando anterior era un comando yank, <code class="docutils literal notranslate"><span class="pre">M-y</span></code> toma el texto que fue yankado (que fue empujado al anillo de muertes) y lo reemplaza con el texto de un kill (de una muerte) anterior. Así, para recuperar el texto de la penúltima muerte, primero use <code class="docutils literal notranslate"><span class="pre">C-y</span></code> para arrancar la última muerte, y luego use <code class="docutils literal notranslate"><span class="pre">M-y</span></code> para reemplazarlo con la muerte anterior. Esto sólo funciona después de un <code class="docutils literal notranslate"><span class="pre">C-y</span> <span class="pre">u</span></code> otro <code class="docutils literal notranslate"><span class="pre">M-y</span></code>. (Si <code class="docutils literal notranslate"><span class="pre">M-y</span></code> se invoca después de algún otro comando, funciona de forma diferente, ver más abajo).</p>
<p>Puede entender el modo de funcionamiento de <code class="docutils literal notranslate"><span class="pre">M-y</span></code> en términos de un puntero al último tirón (lo último que se ha llevado al anillo de muertes) que apunta a una entrada en el dicho anillo. Cada vez que se mata, el puntero del último tirón se mueve a la entrada recién hecha en la parte delantera del anillo. <code class="docutils literal notranslate"><span class="pre">C-y</span></code> elimina la entrada a la que apunta el puntero del último tirón. <code class="docutils literal notranslate"><span class="pre">M-y</span></code> después de un <code class="docutils literal notranslate"><span class="pre">C-y</span></code> u otro <code class="docutils literal notranslate"><span class="pre">M-y</span></code> mueve el puntero del último yank (tirón) a la entrada anterior, y el texto en el buffer cambia para coincidir. Suficientes comandos <code class="docutils literal notranslate"><span class="pre">M-y</span></code> uno tras otro pueden mover el puntero a cualquier entrada en el anillo, por lo que puede obtener cualquier entrada en el buffer. Finalmente, el puntero llega al final del anillo; el siguiente <code class="docutils literal notranslate"><span class="pre">M-y</span></code> vuelve a la primera entrada.</p>
<span id="id6"></span><h3>13.2.2 Borrar Muertes Anteriores<a class="headerlink" href="#borrar-muertes-anteriores" title="Link to this heading"></a></h3>
<p>Como se explica en <a class="reference internal" href="#id4"><span class="std std-ref">13.2 Tirar de un Texto</span></a>, puede usar un argumento numérico a <code class="docutils literal notranslate"><span class="pre">C-y</span></code> para sacar texto que ya no es la muerte más reciente. Esto es útil si recuerda qué entrada del anillo de muertes quiere. Si no, puede usar el 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>) para recorrer las posibilidades o seleccionar uno de las muertes anteriores.</p>
<p>Si el comando anterior era una orden de jalar (un comando yank), <code class="docutils literal notranslate"><span class="pre">M-y</span></code> toma el texto que fue jalado (que fue empujado al anillo de muertes) y lo reemplaza con el texto de una muerte anterior. Así, para recuperar el texto de la penúltima muerte, primero use <code class="docutils literal notranslate"><span class="pre">C-y</span></code> para jalar de la última muerte, y luego use <code class="docutils literal notranslate"><span class="pre">M-y</span></code> para reemplazarlo con la muerte anterior. Esto sólo funciona después de un <code class="docutils literal notranslate"><span class="pre">C-y</span> <span class="pre">u</span></code> otro <code class="docutils literal notranslate"><span class="pre">M-y</span></code>. (Si <code class="docutils literal notranslate"><span class="pre">M-y</span></code> se invoca después de algún otro comando, funciona de forma diferente, ver más abajo).</p>
<p>Puede entender el modo de funcionamiento de <code class="docutils literal notranslate"><span class="pre">M-y</span></code> en términos de un puntero al último tirón (lo último que se ha llevado al anillo de muertes) que apunta a una entrada en el dicho anillo. Cada vez que se mata, el puntero del último tirón se mueve a la entrada recién hecha en la parte delantera del anillo. <code class="docutils literal notranslate"><span class="pre">C-y</span></code> elimina la entrada a la que apunta el puntero del último tirón. <code class="docutils literal notranslate"><span class="pre">M-y</span></code> después de un <code class="docutils literal notranslate"><span class="pre">C-y</span></code> u otro <code class="docutils literal notranslate"><span class="pre">M-y</span></code> mueve el puntero del último yank (tirón) a la entrada anterior, y el texto en el búfer cambia para coincidir. Suficientes comandos <code class="docutils literal notranslate"><span class="pre">M-y</span></code> uno tras otro pueden mover el puntero a cualquier entrada en el anillo, por lo que puede obtener cualquier entrada en el búfer. Finalmente, el puntero llega al final del anillo; el siguiente <code class="docutils literal notranslate"><span class="pre">M-y</span></code> vuelve a la primera entrada.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-y</span></code> mueve el puntero de la última entrada en el anillo, pero no cambia el orden de las entradas en él, que siempre va desde la muerte más reciente al principio hasta la más antigua que aún se recuerde.</p>
<p>Cuando se utiliza después de <code class="docutils literal notranslate"><span class="pre">C-y</span></code> o <code class="docutils literal notranslate"><span class="pre">M-y</span></code>, <code class="docutils literal notranslate"><span class="pre">M-y</span></code> puede recibir un argumento numérico, que le indica cuántas entradas debe avanzar el puntero del último yank. Un argumento negativo mueve el puntero hacia el frente del anillo; desde el frente del anillo, se mueve alrededor de la última entrada y continúa hacia adelante desde allí.</p>
<p>Una vez que el texto que está buscando es traído al buffer, puede dejar de hacer comandos <code class="docutils literal notranslate"><span class="pre">M-y</span></code> y el último texto jalado permanecerá allí. Es sólo una copia de la entrada del anillo de matar, por lo que editarlo en el buffer no cambia lo que hay en el anillo. Mientras no se realice una nueva muerte, el puntero de la última permanece en el mismo lugar en el anillo de muerte, por lo que repetir <code class="docutils literal notranslate"><span class="pre">C-y</span></code> arrancará (jalará, tirará) otra copia de la misma muerte anterior.</p>
<p>Cuando se utiliza después de <code class="docutils literal notranslate"><span class="pre">C-y</span></code> o <code class="docutils literal notranslate"><span class="pre">M-y</span></code>, <code class="docutils literal notranslate"><span class="pre">M-y</span></code> puede recibir un argumento numérico, que le indica cuántas entradas debe avanzar el puntero a partir del último texto que se ha tirado o jalado desde el anillo de muertes (desde el último yank). Un argumento negativo mueve el puntero hacia la parte delantera del anillo; desde el frente del anillo, se mueve alrededor de la última entrada y continúa hacia adelante desde allí.</p>
<p>Una vez que el texto que está buscando es traído al búfer, puede dejar de ejecutar comandos <code class="docutils literal notranslate"><span class="pre">M-y</span></code> y el último texto jalado permanecerá allí. Es sólo una copia de la entrada del anillo de matar, por lo que editarlo en el búfer no cambia lo que hay en el anillo. Mientras no se realice una nueva muerte, el puntero de la última permanece en el mismo lugar en el anillo de muertes, por lo que repetir <code class="docutils literal notranslate"><span class="pre">C-y</span></code> arrancará (jalará, tirará) otra copia de la misma muerte anterior.</p>
<p>Cuando se llama a <code class="docutils literal notranslate"><span class="pre">C-y</span></code> con un argumento numérico, también se establece el puntero del último tirón a la entrada que se tira.</p>
<p>También puede invocar <code class="docutils literal notranslate"><span class="pre">M-y</span></code> después de un comando que no sea un comando yank. En ese caso, <code class="docutils literal notranslate"><span class="pre">M-y</span></code> le pregunta en el minibuffer por uno de las muertes anteriores. Puede usar los comandos de historial del minibuffer (ver <strong>Historial del Minibuffer</strong>) para navegar o buscar entre las entradas del anillo de muertes hasta que encuentre la que desea reinsertar. O puede usar los comandos de completado (ver <strong>Comandos de Completado</strong>) para completar una entrada de la lista de entradas del anillo de muerte o hacer aparecer el buffer <code class="docutils literal notranslate"><span class="pre">Completions</span></code> (Completado) con las entradas candidatas entre las que puede elegir. Después de seleccionar la entrada del anillo de muerte, puede editarla opcionalmente en el minibuffer. Por último, escriba <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) para salir del minibuffer e insertar el texto del anillo de muerte seleccionado. Como en el caso de <code class="docutils literal notranslate"><span class="pre">M-y</span></code> después de otro comando yank, el puntero del último yank (tirón) queda apuntando al texto que acaba de extraer o jalar, ya sea uno de las muertes anteriores o una entrada del anillo de muerte que editó antes de insertarlo. (En este último caso, la entrada editada se añade al principio del kill-ring). Así que aquí, también, tecleando <code class="docutils literal notranslate"><span class="pre">C-y</span></code> sacará otra copia del texto que acaba de insertar.</p>
<p>También puede invocar <code class="docutils literal notranslate"><span class="pre">M-y</span></code> después de un comando que no sea un comando yank. En ese caso, <code class="docutils literal notranslate"><span class="pre">M-y</span></code> le pregunta en el minibúfer por uno de las muertes anteriores. Puede usar los comandos de historial del minibúfer (ver <a class="reference internal" href="09_ElMinibufer.html#id8"><span class="std std-ref">9.5 Historial del Minibúfer</span></a>) para navegar o buscar entre las entradas del anillo de muertes hasta que encuentre la que desea reinsertar. O puede usar los comandos de completado (ver <a class="reference internal" href="09_ElMinibufer.html#id5"><span class="std std-ref">9.4.2 Comandos de Completado</span></a>) para completar una entrada de la lista de entradas del anillo de muerte o hacer aparecer el búfer <code class="docutils literal notranslate"><span class="pre">Completions</span></code> (Completado) con las entradas candidatas entre las que puede elegir. Después de seleccionar la entrada del anillo de muertes, puede editarla opcionalmente en el minibúfer. Por último, escriba <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) para salir del minibúfer e insertar el texto del anillo de muertes seleccionado. Como en el caso de <code class="docutils literal notranslate"><span class="pre">M-y</span></code> después de otro comando yank, el puntero del último yank (tirón) queda apuntando al texto que acaba de extraer o jalar, ya sea uno de las muertes anteriores o una entrada del anillo de muertes que editó antes de insertarlo. (En este último caso, la entrada editada se añade al principio del anillo de muertes). Así que aquí, también, tecleando <code class="docutils literal notranslate"><span class="pre">C-y</span></code> sacará otra copia del texto que acaba de insertar.</p>
<p>Cuando se invoca con un argumento de prefijo simple <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">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">M-y</span></code>) después de un comando que no es un comando yank, <code class="docutils literal notranslate"><span class="pre">M-y</span></code> deja el cursor delante del texto insertado, y pone la marca al final, como hace <code class="docutils literal notranslate"><span class="pre">C-y</span></code>.</p>
</section>
<section id="anadir-muertes">
<h3>13.2.3 Añadir Muertes<a class="headerlink" href="#anadir-muertes" title="Link to this heading"></a></h3>
<p>Normalmente, cada orden de destrucción introduce una nueva entrada en el anillo de muertes. Sin embargo, dos o más órdenes de matar seguidas combinan su texto en una sola entrada, de forma que una sola <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-y</span></code>) arranca todo el texto como una unidad, tal y como estaba antes de ser matado.</p>
<span id="id7"></span><h3>13.2.3 Añadir Muertes<a class="headerlink" href="#anadir-muertes" title="Link to this heading"></a></h3>
<p>Normalmente, cada orden de matar texto introduce una nueva entrada en el anillo de muertes. Sin embargo, dos o más órdenes de matar seguidas combinan su texto en una sola entrada, de forma que ejecutar una sola combinación de teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-y</span></code>) arranca todo el texto como una unidad, tal y como estaba antes de ser matado.</p>
<p>Por lo tanto, si quiere matar el texto como una unidad, no es necesario que lo mate todo de una sola vez; puede seguir matando línea tras línea, o palabra tras palabra, hasta que lo haya matado todo, y aún podrá recuperarlo todo de una sola vez.</p>
<p>Los comandos que matan hacia delante desde un punto añaden texto al final del texto matado anteriormente. Los comandos que matan hacia atrás desde el punto añaden texto al principio. De esta forma, cualquier secuencia de comandos de eliminación hacia delante y hacia atrás pone todo el texto eliminado en una sola entrada sin reordenar. Los argumentos numéricos no rompen la secuencia de eliminación. Por ejemplo, supongamos que el buffer contiene este texto:</p>
<p>Los comandos que matan hacia delante desde un punto añaden texto al final del texto matado anteriormente. Los comandos que matan hacia atrás desde el punto añaden texto al principio. De esta forma, cualquier secuencia de comandos de eliminación hacia delante y hacia atrás pone todo el texto eliminado en una sola entrada sin reordenar. Los argumentos numéricos no rompen la secuencia de eliminación. Por ejemplo, supongamos que el búfer contiene este texto:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>Esta es una línea de texto de ejemplo.
</pre></div>
</div>
<p>con el punto mostrado por <code class="docutils literal notranslate"><span class="pre"></span></code>. Si escribe <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">BACKSPACE</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">BACKSPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">M-d</span> <span class="pre">M-DEL</span> <span class="pre">M-d</span> <span class="pre">M-DEL</span></code>), matando alternativamente hacia adelante y hacia atrás, terminará con <code class="docutils literal notranslate"><span class="pre">una</span> <span class="pre">línea</span> <span class="pre">de</span> <span class="pre">ejemplo</span></code> como una entrada en el anillo de matar, y <code class="docutils literal notranslate"><span class="pre">Esto</span> <span class="pre">es</span> <span class="pre">texto.</span></code> en el buffer. (Observe el doble espacio entre <code class="docutils literal notranslate"><span class="pre">es</span></code> y <code class="docutils literal notranslate"><span class="pre">texto</span></code>, que puede limpiar con <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>) o <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">q</kbd> (<code class="docutils literal notranslate"><span class="pre">M-q</span></code>)).</p>
<p>Otra forma de matar el mismo texto es retroceder dos palabras con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">b</kbd> <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> <span class="pre">M-b</span></code>), y luego matar las cuatro palabras hacia adelante con <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">d</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">M-d</span></code>). Esto produce exactamente los mismos resultados en el buffer y en el kill ring. <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> <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">BACKSPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">M-f</span> <span class="pre">M-f</span> <span class="pre">C-u</span> <span class="pre">M-DEL</span></code>) mata el mismo texto, yendo todo hacia atrás; una vez más, el resultado es el mismo. El texto en la entrada del kill ring siempre tiene el mismo orden que tenía en el buffer antes de que lo matara.</p>
<p>con el punto mostrado por <code class="docutils literal notranslate"><span class="pre"></span></code>. Si escribe <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">BACKSPACE</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">d</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">BACKSPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">M-d</span> <span class="pre">M-DEL</span> <span class="pre">M-d</span> <span class="pre">M-DEL</span></code>), matando alternativamente hacia adelante y hacia atrás, terminará con <code class="docutils literal notranslate"><span class="pre">una</span> <span class="pre">línea</span> <span class="pre">de</span> <span class="pre">ejemplo</span></code> como una entrada en el anillo de matar, y <code class="docutils literal notranslate"><span class="pre">Esto</span> <span class="pre">es</span>&#160; <span class="pre">texto.</span></code> en el búfer. (Observe el doble espacio entre <code class="docutils literal notranslate"><span class="pre">es</span></code> y <code class="docutils literal notranslate"><span class="pre">texto</span></code>, que puede limpiar con <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>) o <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">q</kbd> (<code class="docutils literal notranslate"><span class="pre">M-q</span></code>)).</p>
<p>Otra forma de matar el mismo texto es retroceder dos palabras con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">b</kbd> <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> <span class="pre">M-b</span></code>), y luego matar las cuatro palabras hacia adelante con <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">d</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">M-d</span></code>). Esto produce exactamente los mismos resultados en el búfer y en el kill ring. <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> <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">BACKSPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">M-f</span> <span class="pre">M-f</span> <span class="pre">C-u</span> <span class="pre">M-DEL</span></code>) mata el mismo texto, yendo todo hacia atrás; una vez más, el resultado es el mismo. El texto en la entrada del kill ring siempre tiene el mismo orden que tenía en el búfer antes de que lo matara.</p>
<p>Si una orden de matar está separada de la última orden de matar por otras órdenes (no sólo argumentos numéricos), inicia una nueva entrada en el anillo de muertes. Pero puede forzarla a combinarse con el último texto matado, tecleando justo antes <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">w</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-w</span></code>, <code class="docutils literal notranslate"><span class="pre">append-next-kill</span></code>). <code class="docutils literal notranslate"><span class="pre">C-M-w</span></code> le dice al comando que le sigue, si es un comando de eliminación, que trate la eliminación como parte de la secuencia de eliminaciones anteriores. Como de costumbre, la orden de matar se añade al texto matado anteriormente si la orden mata hacia delante, y se antepone si la orden mata hacia atrás. De este modo, puede matar varios trozos de texto separados y acumularlos para volver a arrancarlos en un solo lugar.</p>
<p>Un comando de matar que sigue a <code class="docutils literal notranslate"><span class="pre">M-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-ring-save</span></code>) no se añade al texto que <code class="docutils literal notranslate"><span class="pre">M-w</span></code> copió en el anillo de muertes.</p>
</section>
</section>
<section id="operaciones-de-cortar-y-pegar-en-entornos-graficos-de-escritorio">
<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>
<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 <strong>Sistemas de Codificación para la Comunicación entre Procesos</strong>.</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>
<section id="utilizar-el-portapapeles">
<h3>13.3.1 Utilizar el Portapapeles<a class="headerlink" href="#utilizar-el-portapapeles" title="Link to this heading"></a></h3>
<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>
<p>Cuando mata algún texto con un comando como <code class="docutils literal notranslate"><span class="pre">C-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-region</span></code>), o lo copia al anillo de la muerte con un comando como <code class="docutils literal notranslate"><span class="pre">M-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-ring-save</span></code>), ese texto también se pone en el portapapeles.</p>
<p>Cuando mata algún texto con un comando como <code class="docutils literal notranslate"><span class="pre">C-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-region</span></code>), o lo copia al anillo de muertes con un comando como <code class="docutils literal notranslate"><span class="pre">M-w</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-ring-save</span></code>), ese texto también va al portapapeles.</p>
<p>Cuando un comando kill de Emacs pone texto en el portapapeles, normalmente se pierde el contenido del portapapeles existente. Opcionalmente, Emacs puede guardar el contenido existente del portapapeles en el kill ring (anillo de muertes), evitando que pierda los datos anteriores del portapapeles. Si <code class="docutils literal notranslate"><span class="pre">save-interprogram-paste-before-kill</span></code> se ha establecido en un número, entonces los datos se copian si son más pequeños (en caracteres) que este número. Si esta variable tiene cualquier otro valor que no sea nulo, los datos se copian siempre, con el riesgo de un alto consumo de memoria si los datos resultan ser grandes.</p>
<p>Los comandos Yank, como <code class="docutils literal notranslate"><span class="pre">C-y</span></code> (<code class="docutils literal notranslate"><span class="pre">yank</span></code>), también usan el portapapeles. Si otra aplicación «posee» el portapapeles, es decir, si cortó o copió texto allí más recientemente que su último comando de eliminación en Emacs, entonces lo elimina del portapapeles en lugar del anillo de muertes.</p>
<p>Los comandos Yank (los comandos de <em>tirar</em> o <em>jalar</em> texto), como <code class="docutils literal notranslate"><span class="pre">C-y</span></code> (<code class="docutils literal notranslate"><span class="pre">yank</span></code>), también usan el portapapeles. Si otra aplicación «posee» el portapapeles, es decir, si cortó o copió texto allí más recientemente que su último comando de eliminación en Emacs, entonces lo elimina del portapapeles en lugar del anillo de muertes.</p>
<p>Normalmente, girar el anillo de muertes con <code class="docutils literal notranslate"><span class="pre">M-y</span></code> (<code class="docutils literal notranslate"><span class="pre">yank-pop</span></code>) no altera el portapapeles. Sin embargo, si cambia <code class="docutils literal notranslate"><span class="pre">yank-pop-change-selection</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>, entonces <code class="docutils literal notranslate"><span class="pre">M-y</span></code> guarda el nuevo yank en el portapapeles.</p>
<p>Para evitar que los comandos kill y yank accedan al portapapeles, cambie la variable <code class="docutils literal notranslate"><span class="pre">select-enable-clipboard</span> <span class="pre">a</span> <span class="pre">nil</span></code>.</p>
<p>Los programas pueden poner en el portapapeles otras cosas además de texto plano. Por ejemplo, un navegador web normalmente le permitirá elegir «Copiar imagen» en las imágenes, y esta imagen se pondrá en el portapapeles. En plataformas capaces, Emacs puede extraer estos objetos con el comando yank-media, pero sólo en modos que lo soporten (ver <strong>Tirando de Medios</strong> en el Manual de Referencia de Emacs Lisp).</p>
<p>Los programas pueden poner en el portapapeles otras cosas además de texto plano. Por ejemplo, un navegador web normalmente le permitirá elegir «Copiar imagen» en las imágenes, y esta imagen se pondrá en el portapapeles. En plataformas capaces, Emacs puede extraer estos objetos con el comando <code class="docutils literal notranslate"><span class="pre">yank-media</span></code>, pero sólo en modos que lo soporten (ver <strong>Tirando de Archivos Media</strong> en el Manual de Referencia de Emacs Lisp).</p>
<p>Muchos entornos de escritorio X soportan una característica llamada <em>gestor del portapapeles</em>. Si sale de Emacs mientras es el actual «propietario» de los datos del portapapeles, y hay un gestor de portapapeles en ejecución, Emacs transfiere los datos del portapapeles al gestor de portapapeles para que no se pierdan. En algunas circunstancias, esto puede causar un retraso al salir del Editor; si desea evitar que Emacs transfiera datos al gestor del portapapeles, cambie la variable <code class="docutils literal notranslate"><span class="pre">x-select-enable-clipboard-manager</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>Dado que las cadenas que contienen bytes NUL suelen truncarse al pasarlas por el portapapeles, Emacs sustituye dichos caracteres por «0» antes de transferirlos al portapapeles del sistema.</p>
<p>Antes de Emacs 24, los comandos kill y yank usaban la selección primaria (ver <strong>Cortar y Pegar con Otras Aplicaciones de Ventana</strong>), no el portapapeles. Si prefiere este comportamiento,
cambie <code class="docutils literal notranslate"><span class="pre">select-enable-clipboard</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, <code class="docutils literal notranslate"><span class="pre">select-enable-primary</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>, y <code class="docutils literal notranslate"><span class="pre">mouse-drag-copy-region</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>. En este caso, puede usar los siguientes comandos para actuar explícitamente sobre el portapapeles: <code class="docutils literal notranslate"><span class="pre">clipboard-kill-region</span></code> mata la región y la guarda en el portapapeles; <code class="docutils literal notranslate"><span class="pre">clipboard-kill-ring-save</span></code> copia la región al anillo de muertes y la guarda en el portapapeles; y <code class="docutils literal notranslate"><span class="pre">clipboard-yank</span></code> tira del contenido del portapapeles en el punto.</p>
<p>Antes de Emacs 24, los comandos kill y yank usaban la selección primaria (ver <a class="reference internal" href="#id10"><span class="std std-ref">13.3.2 Cortar y Pegar con Otras Aplicaciones de Ventana</span></a>), no el portapapeles. Si prefiere este comportamiento, cambie <code class="docutils literal notranslate"><span class="pre">select-enable-clipboard</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, <code class="docutils literal notranslate"><span class="pre">select-enable-primary</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>, y <code class="docutils literal notranslate"><span class="pre">mouse-drag-copy-region</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>. En este caso, puede usar los siguientes comandos para actuar explícitamente sobre el portapapeles: <code class="docutils literal notranslate"><span class="pre">clipboard-kill-region</span></code> mata la región y la guarda en el portapapeles; <code class="docutils literal notranslate"><span class="pre">clipboard-kill-ring-save</span></code> copia la región al anillo de muertes y la guarda en el portapapeles; y <code class="docutils literal notranslate"><span class="pre">clipboard-yank</span></code> tira del contenido del portapapeles en el punto.</p>
</section>
<section id="cortar-y-pegar-con-otras-aplicaciones-de-ventana">
<span id="id4"></span><h3>13.3.2 Cortar y Pegar con Otras Aplicaciones de Ventana<a class="headerlink" href="#cortar-y-pegar-con-otras-aplicaciones-de-ventana" title="Link to this heading"></a></h3>
<p>Bajo el Sistema X Window, PGTK y Haiku, existe una selección primaria que contiene el último tramo de texto seleccionado en una aplicación X (normalmente arrastrando el ratón). Normalmente, este texto puede insertarse en otras aplicaciones X mediante 2 clics del ratón. La selección primaria está separada del portapapeles. Su contenido es más frágil; se sobrescribe cada vez que se selecciona texto con el ratón, mientras que el portapapeles sólo se sobrescribe mediante comandos explícitos de cortar o copiar.</p>
<p>En X, siempre que la región esté activa (véase <strong>La Marca y la Región</strong>), el texto de la región se guarda en la selección primaria. Esto se aplica independientemente de si la región se hizo arrastrando o haciendo clic con el ratón (véase <strong>Comandos del Ratón para Editar</strong>), o mediante comandos del teclado (por ejemplo, escribiendo <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>) y moviendo el punto; véase <strong>Establecer la Marca</strong>).</p>
<p>Si cambia la <code class="docutils literal notranslate"><span class="pre">variable</span> <span class="pre">select-active-regions</span></code> a <code class="docutils literal notranslate"><span class="pre">only</span></code>, Emacs guarda sólo las regiones temporalmente activas en la selección primaria, es decir, aquellas hechas con el ratón o con shift selection (ver <strong>Selección mediante shift</strong>). Si cambia <code class="docutils literal notranslate"><span class="pre">select-active-regions</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, Emacs evita guardar regiones activas en la selección primaria por completo.</p>
<p>Para insertar la selección primaria en un buffer de Emacs, haga clic con mouse-2 (<code class="docutils literal notranslate"><span class="pre">mouse-yank-primary</span></code>) donde quiera insertarla. Vea <strong>Comandos del Ratón para Editar</strong>. También puede usar el comando yank normal de Emacs (<code class="docutils literal notranslate"><span class="pre">C-y</span></code>) para insertar este texto si <code class="docutils literal notranslate"><span class="pre">select-enable-primary</span></code> está activado (vea <strong>Usando el Portapapeles</strong>).</p>
<span id="id10"></span><h3>13.3.2 Cortar y Pegar con Otras Aplicaciones de Ventana<a class="headerlink" href="#cortar-y-pegar-con-otras-aplicaciones-de-ventana" title="Link to this heading"></a></h3>
<p>Bajo el Sistema X Window, PGTK y Haiku, existe una <em>selección primaria</em> que contiene el último tramo de texto seleccionado en una aplicación X (normalmente arrastrando el ratón). Normalmente, este texto puede insertarse en otras aplicaciones X mediante clics de <code class="docutils literal notranslate"><span class="pre">ratón-2</span></code>. La selección primaria está separada del portapapeles. Su contenido es más frágil; se sobrescribe cada vez que se selecciona texto con el ratón, mientras que el portapapeles sólo se sobrescribe mediante comandos explícitos de cortar o copiar.</p>
<p>En X, siempre que la región esté activa (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>), el texto de la región se guarda en la selección primaria. Esto se aplica independientemente de si la región se hizo arrastrando o haciendo clic con el ratón (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id2"><span class="std std-ref">22.1 Comandos del Ratón para Edición</span></a>), o mediante comandos del teclado (por ejemplo, escribiendo <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>) y moviendo el 20punto; véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id2"><span class="std std-ref">12.1 Fijar la Marca</span></a>).</p>
<p>Si cambia la <code class="docutils literal notranslate"><span class="pre">variable</span> <span class="pre">select-active-regions</span></code> a <code class="docutils literal notranslate"><span class="pre">only</span></code>, Emacs guarda sólo las regiones temporalmente activas en la selección primaria, es decir, aquellas hechas con el ratón o con selección mediante mayúsculas (ver <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id8"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>). Si cambia <code class="docutils literal notranslate"><span class="pre">select-active-regions</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, Emacs evita guardar regiones activas en la selección primaria por completo.</p>
<p>Para insertar la selección primaria en un búfer de Emacs, haga clic con <code class="docutils literal notranslate"><span class="pre">mouse-2</span></code> (<code class="docutils literal notranslate"><span class="pre">mouse-yank-primary</span></code>) donde quiera insertarla. Vea <a class="reference internal" href="22_MarcosPantallasGraf.html#id2"><span class="std std-ref">22.1 Comandos del Ratón para Edición</span></a>. También puede usar el comando yank normal de Emacs (<code class="docutils literal notranslate"><span class="pre">C-y</span></code>) para insertar este texto si <code class="docutils literal notranslate"><span class="pre">select-enable-primary</span></code> está activado (vea <a class="reference internal" href="#id9"><span class="std std-ref">13.3.1 Utilizar el Portapapeles</span></a>).</p>
<p>Por defecto, Emacs mantiene la región activa incluso después de que se seleccione texto en otro programa; esto es contrario al comportamiento típico de X. Para hacer que Emacs desactive la región después de que otro programa coloque datos en la selección primaria, active el modo menor global <code class="docutils literal notranslate"><span class="pre">lost-selection-mode</span></code>.</p>
<p>MS-Windows no proporciona selección primaria, pero Emacs la emula dentro de una única sesión de Emacs almacenando internamente el texto seleccionado. Por lo tanto, todas las características y comandos relacionados con la selección primaria funcionan en Windows como lo hacen en X, para cortar y pegar dentro de la misma sesión, pero no entre sesiones de Emacs o con otras aplicaciones.</p>
</section>
<section id="seleccion-secundaria">
<h3>13.3.3 Selección Secundaria<a class="headerlink" href="#seleccion-secundaria" title="Link to this heading"></a></h3>
<p>Además de la selección primaria, el Sistema X Window proporciona una segunda facilidad similar conocida como <em>selección secundaria</em>. Hoy en día, pocas aplicaciones X hacen uso de la selección secundaria, pero puede acceder a ella usando los siguientes comandos de Emacs:</p>
<p>Establezca la selección secundaria, con un extremo en el lugar donde presiona el botón, y el otro extremo en el lugar donde lo suelta (<code class="docutils literal notranslate"><span class="pre">mouse-set-secondary</span></code>). El texto seleccionado se resalta, usando la cara de selección secundaria, a medida que lo arrastra. La ventana se desplaza automáticamente si arrastra el ratón fuera de la parte superior o inferior de la ventana, igual que <code class="docutils literal notranslate"><span class="pre">mouse-set-region</span></code> (ver <strong>Comandos del Ratón para Editar</strong>).</p>
<p>Establezca la selección secundaria, con un extremo en el lugar donde presiona el botón, y el otro extremo en el lugar donde lo suelta (<code class="docutils literal notranslate"><span class="pre">mouse-set-secondary</span></code>). El texto seleccionado se resalta, usando la cara de selección secundaria, a medida que lo arrastra. La ventana se desplaza automáticamente si arrastra el ratón fuera de la parte superior o inferior de la ventana, igual que <code class="docutils literal notranslate"><span class="pre">mouse-set-region</span></code> (ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id2"><span class="std std-ref">22.1 Comandos del Ratón para Edición</span></a>).</p>
<p>Este comando no altera el anillo de muertes.</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<strong>arrastrar-ratón1</strong> (<strong>M-arrastrar-ratón-1</strong>)</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<strong>arrastrar</strong>-<code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> (<code class="docutils literal notranslate"><span class="pre">M-</span></code>-<strong>arrastrar</strong>-<code class="docutils literal notranslate"><span class="pre">ratón-1</span></code>)</p>
<blockquote>
<div><p>Establece la selección secundaria, con un extremo en el lugar donde se pulsa el botón, y el otro extremo en el lugar donde se suelta (<code class="docutils literal notranslate"><span class="pre">mouse-set-secondary</span></code>). El texto seleccionado
se resalta, usando la cara de selección secundaria, a medida que lo arrastra. La ventana se desplaza automáticamente si arrastra el ratón fuera de la parte superior o inferior de la
ventana, igual que <code class="docutils literal notranslate"><span class="pre">mouse-set-region</span></code> (ver <strong>Comandos del Ratón para Editar</strong>).</p>
<div><p>Establece la selección secundaria, con un extremo en el lugar donde se pulsa el botón, y el otro extremo en el lugar donde se suelta (<code class="docutils literal notranslate"><span class="pre">mouse-set-secondary</span></code>). El texto seleccionado se resalta, usando la cara de selección secundaria, a medida que lo arrastra. La ventana se desplaza automáticamente si arrastra el ratón fuera de la parte superior o inferior de la ventana, igual que <code class="docutils literal notranslate"><span class="pre">mouse-set-region</span></code> (ver <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id2"><span class="std std-ref">12.1 Fijar la Marca</span></a>).</p>
<p>Este comando no altera el anillo de muertes.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<strong>ratón-1</strong> (<strong>M-ratón-1</strong>)</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> (<code class="docutils literal notranslate"><span class="pre">M</span></code>-<code class="docutils literal notranslate"><span class="pre">ratón-1</span></code>)</p>
<blockquote>
<div><p>Establece un extremo para la selección secundaria (<code class="docutils literal notranslate"><span class="pre">mouse-start-secondary</span></code>); use <code class="docutils literal notranslate"><span class="pre">M-ratón-3</span></code> para establecer el otro extremo y completar la selección. Este comando cancela
cualquier selección secundaria existente, cuando inicia una nueva.</p>
<div><p>Establece un extremo para la selección secundaria (<code class="docutils literal notranslate"><span class="pre">mouse-start-secondary</span></code>); use <code class="docutils literal notranslate"><span class="pre">M-ratón-3</span></code> para establecer el otro extremo y completar la selección. Este comando cancela cualquier selección secundaria existente, cuando inicia una nueva.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<strong>ratón-3</strong> (<strong>M-ratón-3</strong>)</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<code class="docutils literal notranslate"><span class="pre">ratón-3</span></code> (<code class="docutils literal notranslate"><span class="pre">M</span></code>-<code class="docutils literal notranslate"><span class="pre">ratón-3</span></code>)</p>
<blockquote>
<div><p>Coloca la selección secundaria (<code class="docutils literal notranslate"><span class="pre">mouse-secondary-save-then-kill</span></code>), con un extremo en la posición en la que pulsó <code class="docutils literal notranslate"><span class="pre">M-ratón-3</span></code>, y el otro en la posición especificada previamente con
<code class="docutils literal notranslate"><span class="pre">M-ratón-1</span></code>. Esto también pone el texto seleccionado en el anillo de muertes. Un segundo <code class="docutils literal notranslate"><span class="pre">M-ratón-3</span></code> en el mismo lugar mata el texto seleccionado por la selección secundaria que
se acaba de hacer.</p>
<div><p>Coloca la selección secundaria (<code class="docutils literal notranslate"><span class="pre">mouse-secondary-save-then-kill</span></code>), con un extremo en la posición en la que pulsó <code class="docutils literal notranslate"><span class="pre">M-ratón-3</span></code>, y el otro en la posición especificada previamente con <code class="docutils literal notranslate"><span class="pre">M-ratón-1</span></code>. Esto también pone el texto seleccionado en el anillo de muertes. Un segundo <code class="docutils literal notranslate"><span class="pre">M-ratón-3</span></code> en el mismo lugar mata el texto seleccionado por la selección secundaria que se acaba de hacer.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<strong>ratón-2</strong> (<strong>M-ratón-2</strong>)</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<code class="docutils literal notranslate"><span class="pre">ratón-2</span></code> (<code class="docutils literal notranslate"><span class="pre">M</span></code>-<code class="docutils literal notranslate"><span class="pre">ratón-2</span></code>)</p>
<blockquote>
<div><p>Inserta la selección secundaria donde has hecho clic, colocando el punto al final del texto arrancado (<code class="docutils literal notranslate"><span class="pre">mouse-yank-secondary</span></code>).</p>
</div></blockquote>
<p>El doble o triple clic de <code class="docutils literal notranslate"><span class="pre">M-ratón-1</span></code> opera sobre palabras y líneas, de forma similar a <code class="docutils literal notranslate"><span class="pre">M-ratón-1</span></code>.</p>
<p>Si <code class="docutils literal notranslate"><span class="pre">mouse-yank-at-point</span></code> es distinto de cero, <code class="docutils literal notranslate"><span class="pre">M-mouse-2</span></code> hace clic en el punto. Entonces no importa exactamente dónde haga clic, o incluso en cuál de las ventanas del marco haga clic. Ver <strong>Comandos del Ratón para Editar</strong>. Esta opción de usuario también afecta a la búsqueda interactiva: si no es nula, al pulsar con el ratón en cualquier parte del marco se añadirá el texto a la cadena de búsqueda.</p>
<p>Si <code class="docutils literal notranslate"><span class="pre">mouse-yank-at-point</span></code> es distinto de cero, <code class="docutils literal notranslate"><span class="pre">M-mouse-2</span></code> hace clic en el punto. Entonces no importa exactamente dónde haga clic, o incluso en cuál de las ventanas del marco haga clic. Ver <a class="reference internal" href="22_MarcosPantallasGraf.html#id2"><span class="std std-ref">22.1 Comandos del Ratón para Edición</span></a>. Esta opción de usuario también afecta a la búsqueda interactiva: si no es nula, al pulsar con el ratón en cualquier parte del marco se añadirá el texto a la cadena de búsqueda.</p>
</section>
</section>
<section id="acumular-texto">
<h2>13.4 Acumular Texto<a class="headerlink" href="#acumular-texto" title="Link to this heading"></a></h2>
<p>Normalmente copiamos o movemos texto matándolo y tirando de él, pero hay otros métodos convenientes para copiar un bloque de texto en muchos lugares, o para copiar muchos bloques de texto dispersos en un solo lugar. Aquí describimos los comandos para acumular trozos de texto dispersos en un buffer o en un fichero.</p>
<span id="id11"></span><h2>13.4 Acumular Texto<a class="headerlink" href="#acumular-texto" title="Link to this heading"></a></h2>
<p>Normalmente copiamos o movemos texto matándolo y tirando de él, pero hay otros métodos convenientes para copiar un bloque de texto en muchos lugares, o para copiar muchos bloques de texto dispersos en un solo lugar. Aquí describimos los comandos para acumular trozos de texto dispersos en un búfer o en un fichero.</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">append-to-buffer</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">append-to-buffer</span></code>)</p>
<blockquote>
<div><p>Añade una región al contenido de un búfer especificado.</p>
@ -416,19 +407,19 @@ se acaba de hacer.</p>
<div><p>Añade una región al contenido de un archivo especificado, al final.</p>
</div></blockquote>
<p>Para acumular texto en un búfer, utilice <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">append-to-buffer</span></code>. Esto lee un nombre de búfer y luego inserta una copia de la región en el búfer especificado. Si especifica un búfer inexistente, <code class="docutils literal notranslate"><span class="pre">append-to-buffer</span></code> crea el búfer. El texto se inserta en cualquier punto de ese búfer. Si ha estado utilizando el búfer para editar, el texto copiado se inserta en el centro del texto del búfer, comenzando donde se encuentre el punto en ese momento.</p>
<p>El punto de ese búfer queda al final del texto copiado, de modo que los usos sucesivos de anexar al búfer acumulan el texto en el búfer especificado en el mismo orden en que fueron copiados. Estrictamente hablando, <code class="docutils literal notranslate"><span class="pre">append-to-buffer</span></code> no siempre añade texto al que ya está en el búfer; sólo lo añade si el punto de ese búfer está al final. Sin embargo, si <code class="docutils literal notranslate"><span class="pre">append-to-buffer</span></code> es el único comando que usa para alterar un buffer, entonces el punto siempre está al final.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">prepend-to-buffer</span></code> es igual que <code class="docutils literal notranslate"><span class="pre">append-to-buffer</span></code> excepto en que el punto en el otro buffer se deja antes del texto copiado, de modo que los usos sucesivos de este comando añaden texto en orden inverso. <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">copy-to-buffer</span></code> es similar, excepto en que cualquier texto existente en el otro buffer se borra, por lo que el buffer queda conteniendo sólo el texto recién copiado en él.</p>
<p>El comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">i</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">x</span> <span class="pre">i</span></code>, <code class="docutils literal notranslate"><span class="pre">insertar-buffer</span></code>) se puede usar para recuperar el texto acumulado en otro buffer. Este comando pide el nombre de un búfer e inserta una copia de todo el texto de ese búfer en el búfer actual en el punto, dejando el punto al principio del texto insertado. También añade la posición del final del texto insertado al anillo de marca, sin activar la marca. Para más información sobre los buffers, véase <strong>Utilización de Búferes Múltiples</strong>.</p>
<p>El punto de ese búfer queda al final del texto copiado, de modo que los usos sucesivos de anexar al búfer acumulan el texto en el búfer especificado en el mismo orden en que fueron copiados. Estrictamente hablando, <code class="docutils literal notranslate"><span class="pre">append-to-buffer</span></code> no siempre añade texto al que ya está en el búfer; sólo lo añade si el punto de ese búfer está al final. Sin embargo, si <code class="docutils literal notranslate"><span class="pre">append-to-buffer</span></code> es el único comando que usa para alterar un búfer, entonces el punto siempre está al final.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">prepend-to-buffer</span></code> es igual que <code class="docutils literal notranslate"><span class="pre">append-to-buffer</span></code> excepto en que el punto en el otro búfer se deja antes del texto copiado, de modo que los usos sucesivos de este comando añaden texto en orden inverso. <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">copy-to-buffer</span></code> es similar, excepto en que cualquier texto existente en el otro búfer se borra, por lo que el búfer queda conteniendo sólo el texto recién copiado en él.</p>
<p>El comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">i</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">x</span> <span class="pre">i</span></code>, <code class="docutils literal notranslate"><span class="pre">insertar-buffer</span></code>) se puede usar para recuperar el texto acumulado en otro búfer. Este comando pide el nombre de un búfer e inserta una copia de todo el texto de ese búfer en el búfer actual en el punto, dejando el punto al principio del texto insertado. También añade la posición del final del texto insertado al anillo de marca, sin activar la marca. Para más información sobre los búferes, véase <a class="reference internal" href="20_UsarVariosBuferes.html#id1"><span class="std std-ref">20 Uso de Varios Búferes</span></a>.</p>
<p>En lugar de acumular texto en un búfer, puede añadir texto directamente a un archivo con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">append-to-file</span></code>. Esto solicita un nombre de archivo y añade el texto de la región al final del archivo especificado. El archivo se modifica inmediatamente en el disco.</p>
<p>Debería usar <code class="docutils literal notranslate"><span class="pre">append-to-file</span></code> sólo con ficheros que no estén siendo visitados en Emacs. Usarlo en un fichero que está editando en Emacs cambiaría el fichero a espaldas de Emacs, lo que puede llevar a perder parte de su edición.</p>
<p>Otra forma de mover texto es almacenarlo en un registro. Ver <strong>Registros</strong>.</p>
<p>Otra forma de mover texto es almacenarlo en un registro. Ver <a class="reference internal" href="14_Registros.html#id1"><span class="std std-ref">14 Registros</span></a>.</p>
</section>
<section id="rectangulos">
<span id="id5"></span><h2>13.5 Rectángulos<a class="headerlink" href="#rectangulos" title="Link to this heading"></a></h2>
<span id="id12"></span><h2>13.5 Rectángulos<a class="headerlink" href="#rectangulos" title="Link to this heading"></a></h2>
<p>Los comandos de <em>rectángulo</em> operan sobre áreas rectangulares del texto: todos los caracteres entre un cierto par de columnas, en un cierto rango de líneas. Emacs tiene comandos para matar y tirar de rectángulos, vaciarlos, rellenarlos con espacios en blanco o texto, o borrarlos. Los comandos de rectángulo son útiles con texto en formatos de varias columnas, y para cambiar el texto dentro o fuera de tales formatos.</p>
<p>Para especificar un rectángulo para un comando, ponga la marca en una esquina y apunte a la esquina opuesta. El rectángulo así especificado se denomina <em>región rectangular</em> (region-rectangle). Si el punto y la marca están en la misma columna, el rectángulo regional estará vacío. Si están en la misma línea, la región rectángular tiene una línea de altura.</p>
<p>La región rectangular se controla del mismo modo que la región. Pero recuerde que una combinación dada de valores de punto y marca puede interpretarse como una región o como un rectángulo, dependiendo del comando que los utilice.</p>
<p>Una región rectangular también puede marcarse con el ratón: haga clic y arrastre C-Mouse-1 desde una esquina del rectángulo a la opuesta.</p>
<p>Una región rectangular también puede marcarse con el ratón: haga clic y arrastre <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> (<code class="docutils literal notranslate"><span class="pre">C</span></code>-<code class="docutils literal notranslate"><span class="pre">ratón-1</span></code>) desde una esquina del rectángulo a la opuesta.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">k</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">k</span></code>)</p>
<blockquote>
<div><p>Mata el texto del rectángulo-región, guardando su contenido como el último rectángulo matado (<code class="docutils literal notranslate"><span class="pre">kill-rectangle</span></code>).</p>
@ -461,21 +452,20 @@ se acaba de hacer.</p>
<blockquote>
<div><p>Elimina los espacios en blanco de cada una de las líneas del rectángulo especificado, empezando por la columna del borde izquierdo del rectángulo.</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">r</kbd> <kbd class="kbd docutils literal notranslate">t</kbd> <strong>cadena</strong> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">t</span></code> <strong>cadena</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> <kbd class="kbd docutils literal notranslate">t</kbd> <em>cadena</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">t</span></code> <em>cadena</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>Sustituye el contenido del rectángulo por una cadena en cada línea (<code class="docutils literal notranslate"><span class="pre">string-rectangle</span></code>).</p>
<div><p>Sustituye el contenido del rectángulo por una <em>cadena</em> en cada línea (<code class="docutils literal notranslate"><span class="pre">string-rectangle</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">string-insert-rectangle</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <strong>cadena</strong> <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">string-insert-rectangle</span> <span class="pre">RET</span></code> <strong>cadena</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
<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">string-insert-rectangle</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>cadena</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">string-insert-rectangle</span> <span class="pre">RET</span></code> <em>cadena</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Inserta una cadena en cada línea del rectángulo.</p>
<div><p>Inserta una <em>cadena</em> en cada línea del rectángulo.</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">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">SPC</span></code>)</p>
<blockquote>
<div><p>Activa el modo de marca de rectángulo (<code class="docutils literal notranslate"><span class="pre">rectangle-mark-mode</span></code>). Cuando este modo está activo, el rectángulo de la región se resalta y se puede encoger/agrandar, y los comandos
estándar kill y yank operan sobre él.</p>
<div><p>Activa el modo de marca de rectángulo (<code class="docutils literal notranslate"><span class="pre">rectangle-mark-mode</span></code>). Cuando este modo está activo, el rectángulo de la región se resalta y se puede encoger/agrandar, y los comandos estándar kill y yank operan sobre él.</p>
</div></blockquote>
<p>Las operaciones con rectángulos se dividen en dos clases: comandos para borrar o insertar rectángulos, y comandos para hacer rectángulos en blanco.</p>
<p>Hay dos formas de borrar el texto de un rectángulo: <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">d</span></code> (<code class="docutils literal notranslate"><span class="pre">delete-rectangle</span></code>) para borrar el texto completamente, o <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">k</span></code> (<code class="docutils literal notranslate"><span class="pre">kill-rectangle</span></code>) para eliminar el texto y guardarlo como el <em>último rectángulo eliminado</em>. En ambos casos, borrar la región rectangular (región-rectángulo) es como borrar el texto especificado en cada línea del rectángulo; si hay algún texto siguiente en la línea, se mueve hacia atrás para rellenar el hueco.</p>
@ -483,28 +473,28 @@ estándar kill y yank operan sobre él.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">w</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">M-w</span></code>, <code class="docutils literal notranslate"><span class="pre">copy-rectangle-as-kill</span></code>) es el equivalente de <code class="docutils literal notranslate"><span class="pre">M-w</span></code> para rectángulos: registra el rectángulo como el último rectángulo eliminado, sin borrar el texto del búfer.</p>
<p>Para borrar el último rectángulo eliminado, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">y</span></code>, <code class="docutils literal notranslate"><span class="pre">yank-rectangle</span></code>). La primera línea del rectángulo se inserta en el punto, la segunda línea del rectángulo se inserta en la misma posición horizontal una línea verticalmente por debajo, y así sucesivamente. El número de líneas afectadas viene determinado por la altura del rectángulo guardado.</p>
<p>Por ejemplo, puede convertir dos listas de una columna en una lista de dos columnas matando una de las listas de una columna como un rectángulo y, a continuación, desplazándola al lado de la otra lista.</p>
<p>También puede copiar rectángulos dentro y fuera de registros con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">r</span> <span class="pre">r</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">r</kbd><kbd class="kbd docutils literal notranslate">i</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">i</span> <span class="pre">r</span></code>). Consulte <strong>Guardar Rectángulos en Registros</strong>.</p>
<p>También puede copiar rectángulos dentro y fuera de registros con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">r</span> <span class="pre">r</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">r</kbd><kbd class="kbd docutils literal notranslate">i</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">i</span> <span class="pre">r</span></code>). Consulte <a class="reference internal" href="14_Registros.html#id4"><span class="std std-ref">14.3 Guardar Rectángulos en Registros</span></a>.</p>
<p>Hay dos comandos que puede usar para hacer rectángulos en blanco: <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">c</span></code>, <code class="docutils literal notranslate"><span class="pre">clear-rectangle</span></code>) borra el texto existente en el rectángulo-región, y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">o</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">o</span></code>, <code class="docutils literal notranslate"><span class="pre">open-rectangle</span></code>) inserta un rectángulo en blanco.</p>
<p><code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">delete-whitespace-rectangle</span></code> elimina los espacios en blanco horizontales a partir de una columna determinada. Esto se aplica a cada una de las líneas del rectángulo, y la columna viene especificada por el borde izquierdo del rectángulo. El borde derecho del rectángulo no afecta a este comando.</p>
<p>El comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">N</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">N</span></code>, <code class="docutils literal notranslate"><span class="pre">rectangle-number-lines</span></code>) inserta números de línea a lo largo del borde izquierdo del rectángulo-región. Normalmente, la numeración comienza a partir de 1 (para la primera línea del rectángulo). Con un argumento prefijo, el comando pide un número a partir del cual empezar, y una cadena de formato con la que imprimir los números (ver <strong>Formato de Cadenas</strong> en el Manual de Referencia de Emacs Lisp).</p>
<p>El comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> <kbd class="kbd docutils literal notranslate">t</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">t</span></code>, <code class="docutils literal notranslate"><span class="pre">string-rectangle</span></code>) reemplaza el contenido de una región-rectángulo con una cadena en cada línea. No es necesario que la anchura de la cadena sea la misma que la del rectángulo. Si la anchura de la cadena es menor, el texto después del rectángulo se desplaza a la izquierda; si la cadena es mayor que el rectángulo, el texto después del rectángulo se desplaza a la derecha.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">string-insert-rectangle</span></code> es similar a <code class="docutils literal notranslate"><span class="pre">string-rectangle</span></code>, pero inserta la cadena en cada línea, desplazando el texto original a la derecha.</p>
<p>El comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">SPC</span></code>, <code class="docutils literal notranslate"><span class="pre">rectangle-mark-mode</span></code>) alterna si se resalta la región-rectángulo o la región estándar (activando primero la región si es necesario). Cuando este modo está activado, los comandos que redimensionan la región (<code class="docutils literal notranslate"><span class="pre">C-f</span></code>, <code class="docutils literal notranslate"><span class="pre">C-n</span></code>, etc.) lo hacen de forma rectangular, y matar y desplazar operan sobre el rectángulo. Véase <strong>Matar y Mover Texto</strong>. El modo persiste sólo mientras la región está activa.</p>
<p>El rectángulo de la región sólo funciona cuando la marca está activa. En particular, cuando el modo Marca transitoria está desactivado (véase <strong>Desactivar el Modo Marca Transitoria</strong>), además de teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">SPACE</kbd> deberá activar la marca.</p>
<p>El comando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">SPC</span></code>, <code class="docutils literal notranslate"><span class="pre">rectangle-mark-mode</span></code>) alterna si se resalta la región-rectángulo o la región estándar (activando primero la región si es necesario). Cuando este modo está activado, los comandos que redimensionan la región (<code class="docutils literal notranslate"><span class="pre">C-f</span></code>, <code class="docutils literal notranslate"><span class="pre">C-n</span></code>, etc.) lo hacen de forma rectangular, y matar y desplazar operan sobre el rectángulo. Véase <a class="reference internal" href="#id1"><span class="std std-ref">13 Matar y Mover Texto</span></a>. El modo persiste sólo mientras la región está activa.</p>
<p>El rectángulo de la región sólo funciona cuando la marca está activa. En particular, cuando el modo Marca transitoria 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>), además de teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">SPACE</kbd> deberá activar la marca.</p>
<p>A diferencia de la región estándar, la región-rectángulo puede tener sus esquinas extendidas más allá del final del búfer, o dentro de tramos de espacio en blanco en los que normalmente no puede entrar el punto, como en medio de un carácter <code class="docutils literal notranslate"><span class="pre">TAB</span></code>.</p>
<p>Cuando la región está activa (véase <strong>La Marca y la Región</strong>) y en modo región rectangular (<code class="docutils literal notranslate"><span class="pre">rectangle-mark-mode</span></code>), <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code> ejecuta el comando <code class="docutils literal notranslate"><span class="pre">rectangle-exchange-point-and-mark</span></code>, que realiza un ciclo entre las cuatro esquinas del rectángulo-región. Esto resulta útil si desea modificar las dimensiones de dicha región antes de invocar una operación sobre el texto marcado.</p>
<p>Cuando la región está activa (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>) y en modo región rectangular (<code class="docutils literal notranslate"><span class="pre">rectangle-mark-mode</span></code>), <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span></code> ejecuta el comando <code class="docutils literal notranslate"><span class="pre">rectangle-exchange-point-and-mark</span></code>, que realiza un ciclo entre las cuatro esquinas del rectángulo-región. Esto resulta útil si desea modificar las dimensiones de dicha región antes de invocar una operación sobre el texto marcado.</p>
</section>
<section id="enlaces-cua">
<h2>13.6 Enlaces CUA<a class="headerlink" href="#enlaces-cua" title="Link to this heading"></a></h2>
<p>El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">cua-mode</span></code> configura las combinaciones de teclas que son compatibles con el sistema de Acceso Común de Usuario (CUA) usado en muchas otras aplicaciones.</p>
<p>Cuando el modo CUA está activado, las teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span></code>), <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>), <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">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-z</span></code>) invocan comandos que cortan (<em>kill</em>), copian, pegan (<em>yank</em>) y deshacen (<em>undo</em>) respectivamente. Las teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span></code>) 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-c</span></code>) ejecutan cortar y copiar sólo si la región está activa. De lo contrario, siguen actuando como teclas de prefijo, de modo que los comandos estándar de Emacs como <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>) siguen funcionando. Tenga en cuenta que esto significa que la variable mark-even-if-inactive no tiene efecto para <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">y</span> <span class="pre">C-c</span></code> (vea <strong>Operando en la Región</strong>).</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">cua-mode</span></code> configura las combinaciones de teclas que son compatibles con el sistema de Acceso Común de Usuario (Common User Access, CUA) usado en muchas otras aplicaciones.</p>
<p>Cuando el modo CUA está activado, las teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span></code>), <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>), <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">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">z</kbd> (<code class="docutils literal notranslate"><span class="pre">C-z</span></code>) invocan comandos que cortan (<em>kill</em>), copian, pegan (<em>yank</em>) y deshacen (<em>undo</em>) respectivamente. Las teclas <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span></code>) 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-c</span></code>) ejecutan cortar y copiar sólo si la región está activa. De lo contrario, siguen actuando como teclas de prefijo, de modo que los comandos estándar de Emacs como <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>) siguen funcionando. Tenga en cuenta que esto significa que la variable mark-even-if-inactive no tiene efecto para <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">y</span> <span class="pre">C-c</span></code> (vea <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>
<p>Para introducir un comando Emacs como <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>) mientras la marca está activa, use uno de los siguientes métodos: mantenga pulsada la tecla Mayúscula (<kbd class="kbd docutils literal notranslate">Shift</kbd>) junto con la tecla del prefijo, por ejemplo, <kbd class="kbd docutils literal notranslate">Shift</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">f</kbd> (<code class="docutils literal notranslate"><span class="pre">S-C-x</span> <span class="pre">C-f</span></code>), o teclee rápidamente la tecla del prefijo dos veces, por ejemplo, <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">f</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-x</span> <span class="pre">C-f</span></code>).</p>
<p>Para desactivar la anulación de la vinculación estándar de Emacs por el modo CUA, manteniendo las otras características del modo CUA descritas a continuación, establezca la variable <code class="docutils literal notranslate"><span class="pre">cua-enable-cua-keys</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>El modo CUA activa por defecto el modo Borrar-Selección (Delete-Selection mode) (véase <strong>Comandos del Ratón para Editar</strong>), de forma que el texto escrito sustituye a la región activa. Para utilizar CUA sin este comportamiento, establezca la variable <code class="docutils literal notranslate"><span class="pre">cua-delete-selection</span></code> en <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>El modo CUA activa por defecto el modo Borrar-Selección (Delete-Selection mode) (véase <a class="reference internal" href="22_MarcosPantallasGraf.html#id2"><span class="std std-ref">22.1 Comandos del Ratón para Edición</span></a>), de forma que el texto escrito sustituye a la región activa. Para utilizar CUA sin este comportamiento, establezca la variable <code class="docutils literal notranslate"><span class="pre">cua-delete-selection</span></code> en <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>El modo CUA proporciona soporte mejorado para rectángulos con resaltado de rectángulo visible. Utilice <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-RET</span></code>) para iniciar un rectángulo, extenderlo utilizando los comandos de movimiento, y cortarlo o copiarlo utilizando <code class="docutils literal notranslate"><span class="pre">C-x</span></code> o <code class="docutils literal notranslate"><span class="pre">C-c</span></code>. <code class="docutils literal notranslate"><span class="pre">RET</span></code> mueve el cursor a la siguiente esquina (en el sentido de las agujas del reloj) del rectángulo, para que pueda ampliarlo fácilmente en cualquier dirección. El texto normal que escriba se inserta a la izquierda o a la derecha de cada línea del rectángulo (en el mismo lado que el cursor).</p>
<p>Puede utilizar este soporte de rectángulo sin activar CUA llamando al comando <code class="docutils literal notranslate"><span class="pre">cua-rectangle-mark-mode</span></code>. También existe el comando estándar <code class="docutils literal notranslate"><span class="pre">rectangle-mark-mode</span></code>, véase <strong>Rectángulos</strong>.</p>
<p>Puede utilizar este soporte de rectángulo sin activar CUA llamando al comando <code class="docutils literal notranslate"><span class="pre">cua-rectangle-mark-mode</span></code>. También existe el comando estándar <code class="docutils literal notranslate"><span class="pre">rectangle-mark-mode</span></code>, véase <a class="reference internal" href="#id12"><span class="std std-ref">13.5 Rectángulos</span></a>.</p>
<p>Con CUA puede copiar fácilmente texto y rectángulos dentro y fuera de los registros proporcionando un prefijo numérico de un dígito a los comandos kill, copy y yank, por ejemplo, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">1</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-1</span> <span class="pre">C-c</span></code>) copia la región en el registro <code class="docutils literal notranslate"><span class="pre">1</span></code>, y <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">2</kbd> <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-2</span> <span class="pre">C-v</span></code>) yanks el contenido del registro <code class="docutils literal notranslate"><span class="pre">2</span></code>.</p>
<p>El modo CUA también dispone de una función de marca global que permite mover y copiar texto fácilmente entre buffers. Utilice <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-S-SPC</span></code>) para activar o desactivar la marca global. Cuando dicha marca está activada, todo el texto que mate o copie se inserta automáticamente en ella, y el texto que escriba se inserta en esta (en la marca global) en lugar de en la posición actual.</p>
<p>El modo CUA también dispone de una función de marca global que permite mover y copiar texto fácilmente entre búferes. Utilice <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">C-S-SPC</span></code>) para activar o desactivar la marca global. Cuando dicha marca está activada, todo el texto que mate o copie se inserta automáticamente en ella, y el texto que escriba se inserta en esta (en la marca global) en lugar de en la posición actual.</p>
<p>Por ejemplo, para copiar palabras de varios búferes en una lista de palabras de un búfer determinado, establezca la marca global en el búfer de destino, luego navegue hasta cada una de las palabras que desee en la lista, márquela (por ejemplo, con <kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">f</kbd> (<code class="docutils literal notranslate"><span class="pre">S-M-f</span></code>)), cópiela en la lista con (<code class="docutils literal notranslate"><span class="pre">C-c</span></code>) o <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>), e inserte una nueva línea después de la palabra en la lista de destino pulsando <code class="docutils literal notranslate"><span class="pre">RET</span></code>.</p>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -145,9 +145,9 @@
<div itemprop="articleBody">
<section id="registros">
<h1>14 Registros<a class="headerlink" href="#registros" title="Link to this heading"></a></h1>
<span id="id1"></span><h1>14 Registros<a class="headerlink" href="#registros" title="Link to this heading"></a></h1>
<p>Los <em>registros</em> de Emacs son compartimentos donde puede guardar texto, rectángulos, posiciones y otras cosas para su uso posterior. Una vez que guarde texto o un rectángulo en un registro, puede copiarlo en el buffer una o muchas veces; una vez que guarde una posición en un registro, puede volver a esa posición una o muchas veces.</p>
<p>Cada registro tiene un nombre que consiste en un único carácter, que aquí, denotaremos con la letra <em>r</em>; <em>r</em> puede ser una letra (como <code class="docutils literal notranslate"><span class="pre">a</span></code>) o un número (como <code class="docutils literal notranslate"><span class="pre">1</span></code>); las mayúsculas y minúsculas importan, por lo que el registro <code class="docutils literal notranslate"><span class="pre">a</span></code> no es lo mismo que el registro <code class="docutils literal notranslate"><span class="pre">A</span></code>. También puede establecer un registro en caracteres no alfanuméricos, por ejemplo <code class="docutils literal notranslate"><span class="pre">*</span></code> o <code class="docutils literal notranslate"><span class="pre">C-d</span></code>. <strong>Nota</strong>, no es posible establecer un registro en <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>) o <kbd class="kbd docutils literal notranslate">ESC</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span></code>), porque estas teclas están reservadas para salir (ver <strong>Salir y Abortar</strong>).</p>
<p>Cada registro tiene un nombre que consiste en un único carácter, que aquí, denotaremos con la letra <em>r</em>; <em>r</em> puede ser una letra (como <code class="docutils literal notranslate"><span class="pre">a</span></code>) o un número (como <code class="docutils literal notranslate"><span class="pre">1</span></code>); las mayúsculas y minúsculas importan, por lo que el registro <code class="docutils literal notranslate"><span class="pre">a</span></code> no es lo mismo que el registro <code class="docutils literal notranslate"><span class="pre">A</span></code>. También puede establecer un registro en caracteres no alfanuméricos, por ejemplo <code class="docutils literal notranslate"><span class="pre">*</span></code> o <code class="docutils literal notranslate"><span class="pre">C-d</span></code>. <strong>Nota</strong>, no es posible establecer un registro en <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>) o <kbd class="kbd docutils literal notranslate">ESC</kbd> (<code class="docutils literal notranslate"><span class="pre">ESC</span></code>), porque estas teclas están reservadas para salir (ver <a class="reference internal" href="51-SalirAbortar.html#id1"><span class="std std-ref">51 Salir y Abortar</span></a>).</p>
<p>Un registro puede almacenar una posición, un fragmento de texto, un rectángulo, un número, una configuración de ventana o marco, un nombre de búfer o un nombre de archivo, pero sólo una cosa en cada momento. Lo que se almacena en un registro permanece allí hasta que se almacena otra cosa en ese registro. Para ver qué contiene el registro <em>r</em>, utilice <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">view-register</span></code>:</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">view-register</span></code> <strong>r</strong> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">view-register</span> <span class="pre">RET</span></code> <strong>r</strong>)</p>
<blockquote>
@ -156,7 +156,7 @@
<p>Todos los comandos que solicitan un registro mostrarán una ventana de vista previa que enumera los registros existentes (si los hay) tras un breve retardo. Para cambiar la duración del retardo, personalice <code class="docutils literal notranslate"><span class="pre">register-preview-delay</span></code>. Para evitar que se muestre esta ventana, configure esta opción como nula. Puede solicitar explícitamente una ventana de vista previa pulsando <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>) o <kbd class="kbd docutils literal notranslate">F1</kbd> (<code class="docutils literal notranslate"><span class="pre">F1</span></code>).</p>
<p>Los <em>marcadores</em> registran archivos y posiciones en ellos, para que pueda volver a esas posiciones cuando vuelva a mirar el archivo. Estos son similares en espíritu a los registros, por lo que también se documentan en este capítulo.</p>
<section id="guardar-posiciones-en-registros">
<h2>14.1 Guardar Posiciones en Registros<a class="headerlink" href="#guardar-posiciones-en-registros" title="Link to this heading"></a></h2>
<span id="id2"></span><h2>14.1 Guardar Posiciones en Registros<a class="headerlink" href="#guardar-posiciones-en-registros" title="Link to this heading"></a></h2>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> <kbd class="kbd docutils literal notranslate">SPACE</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">SPC</span> <span class="pre">r</span></code>)</p>
<blockquote>
<div><p>Registra la posición del punto y el búfer actual en el registro <em>r</em> (<code class="docutils literal notranslate"><span class="pre">point-to-register</span></code>).</p>
@ -170,7 +170,7 @@
<p>Si usa <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">j</span></code> para ir a una posición guardada, pero el buffer del que se guardó ha sido eliminado, <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">j</span></code> intenta crear el buffer de nuevo visitando el mismo archivo. Por supuesto, esto sólo funciona para búferes que estaban visitando archivos.</p>
</section>
<section id="guardar-texto-en-registros">
<h2>14.2 Guardar Texto en Registros<a class="headerlink" href="#guardar-texto-en-registros" title="Link to this heading"></a></h2>
<span id="id3"></span><h2>14.2 Guardar Texto en Registros<a class="headerlink" href="#guardar-texto-en-registros" title="Link to this heading"></a></h2>
<p>Cuando desee insertar una copia del mismo fragmento de texto varias veces, puede resultar inconveniente sacarlo del anillo de muertes, ya que cada muerte posterior desplaza esa entrada más abajo en el anillo. Una alternativa es almacenar el texto en un registro y recuperarlo más tarde.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</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">C-x</span> <span class="pre">r</span> <span class="pre">s</span> <span class="pre">r</span></code>)</p>
<blockquote>
@ -184,14 +184,14 @@
<blockquote>
<div><p>Añade una región al texto del registro <em>r</em>.</p>
<p>Si el registro <em>r</em> contiene texto, puede utilizar <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">+</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span></code>, <code class="docutils literal notranslate"><span class="pre">increment-register</span></code>) para añadirlo a ese registro. Tenga en cuenta que el
comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span></code> se comporta de forma diferente si <em>r</em> contiene un número. Consulte <strong>Mantener los Números en los Registros</strong>.</p>
comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span></code> se comporta de forma diferente si <em>r</em> contiene un número. Consulte <a class="reference internal" href="#id5"><span class="std std-ref">14.5 Guardar Números en Registros</span></a>.</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">prepend-to-register</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">prepend-to-register</span> <span class="pre">RET</span></code> <strong>r</strong>)</p>
<blockquote>
<div><p>Añade una región al texto del registro <em>r</em>.</p>
</div></blockquote>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">s</span> <span class="pre">r</span></code> almacena una copia del texto de la región en el registro de nombre <em>r</em>. Si la marca está inactiva, Emacs reactiva primero la marca donde se puso por última vez. La marca se desactiva al final de este comando. Véase <strong>La Marca y la Región</strong>. <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">r</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">C-u</span> <span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">s</span> <span class="pre">r</span></code>), el mismo comando con un argumento prefijo, copia el texto en el registro <em>r</em> y borra el texto del buffer también; puede pensar en esto como mover el texto de la región al registro.</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">append-to-register</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">append-to-register</span> <span class="pre">RET</span></code> <strong>r</strong>) añade la copia del texto de la región al texto ya almacenado en el registro llamado <em>r</em>. Si se invoca con un argumento de prefijo, borra la región después de añadirla al registro. El comando <code class="docutils literal notranslate"><span class="pre">prepend-to-register</span></code> es similar, salvo que antepone el texto de la región al texto del registro en <em>lugar de añadirlo</em>.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">s</span> <span class="pre">r</span></code> almacena una copia del texto de la región en el registro de nombre <em>r</em>. Si la marca está inactiva, Emacs reactiva primero la marca donde se puso por última vez. La marca se desactiva al final de este comando. 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>. <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">r</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">C-u</span> <span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">s</span> <span class="pre">r</span></code>), el mismo comando con un argumento prefijo, copia el texto en el registro <em>r</em> y borra el texto del buffer también; puede pensar en esto como mover el texto de la región al registro.</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">append-to-register</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">append-to-register</span> <span class="pre">RET</span> <span class="pre">r</span></code>) añade la copia del texto de la región al texto ya almacenado en el registro llamado <em>r</em>. Si se invoca con un argumento de prefijo, borra la región después de añadirla al registro. El comando <code class="docutils literal notranslate"><span class="pre">prepend-to-register</span></code> es similar, salvo que antepone el texto de la región al texto del registro en <em>lugar de añadirlo</em>.</p>
<p>Al recopilar texto mediante <code class="docutils literal notranslate"><span class="pre">append-to-register</span></code> y <code class="docutils literal notranslate"><span class="pre">prepend-to-register</span></code>, es posible que desee separar los fragmentos individuales recopilados mediante un separador. En ese caso, configura <code class="docutils literal notranslate"><span class="pre">register-separator</span></code> (un registro-separador) y almacena el texto separador en ese registro. Por ejemplo, para obtener líneas nuevas dobles como separador de texto durante el proceso de recopilación, puede usar la siguiente configuración.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>(setq register-separator ?+)
(set-register register-separator &quot;\n\n&quot;)
@ -200,8 +200,8 @@ comando <code class="docutils literal notranslate"><span class="pre">C-x</span>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">i</span> <span class="pre">r</span></code> inserta en el búfer el texto del registro <em>r</em>. Normalmente deja el punto después del texto y pone la marca antes, sin activarlo. Con un argumento prefijo, en cambio, coloca el punto antes del texto y la marca después.</p>
</section>
<section id="guardar-rectangulos-en-registros">
<h2>14.3 Guardar Rectángulos en Registros<a class="headerlink" href="#guardar-rectangulos-en-registros" title="Link to this heading"></a></h2>
<p>Un registro puede contener un rectángulo en lugar de texto lineal. Consulte <strong>Rectángulos</strong>, para obtener información básica sobre cómo especificar un rectángulo en el búfer.</p>
<span id="id4"></span><h2>14.3 Guardar Rectángulos en Registros<a class="headerlink" href="#guardar-rectangulos-en-registros" title="Link to this heading"></a></h2>
<p>Un registro puede contener un rectángulo en lugar de texto lineal. Consulte <a class="reference internal" href="13_MatarMoverTxt.html#id12"><span class="std std-ref">13.5 Rectángulos</span></a> , para obtener información básica sobre cómo especificar un rectángulo en el búfer.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">r</span> <span class="pre">r</span></code>)</p>
<blockquote>
<div><p>Copia la región-rectángulo en el registro <em>r</em> (<code class="docutils literal notranslate"><span class="pre">copy-rectangle-to-register</span></code>). Con el argumento prefijo, bórrelo también.</p>
@ -210,43 +210,41 @@ comando <code class="docutils literal notranslate"><span class="pre">C-x</span>
<blockquote>
<div><p>Inserta el rectángulo almacenado en el registro <em>r</em> (si contiene un rectángulo) (<code class="docutils literal notranslate"><span class="pre">insert-register</span></code>).</p>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">i</span> <span class="pre">r</span></code> (<code class="docutils literal notranslate"><span class="pre">insert-register</span></code>), anteriormente documentado en Guardar Texto en Registros, inserta un rectángulo en lugar de una cadena de texto, si el registro contiene un rectángulo.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">i</span> <span class="pre">r</span></code> (<code class="docutils literal notranslate"><span class="pre">insert-register</span></code>), anteriormente documentado en <a class="reference internal" href="#id3"><span class="std std-ref">14.2 Guardar Texto en Registros</span></a>, inserta un rectángulo en lugar de una cadena de texto, si el registro contiene un rectángulo.</p>
</section>
<section id="guardar-configuraciones-de-ventana-y-marco-en-registros">
<h2>14.4 Guardar Configuraciones de Ventana y Marco en Registros<a class="headerlink" href="#guardar-configuraciones-de-ventana-y-marco-en-registros" title="Link to this heading"></a></h2>
<p>Puede guardar la configuración de la ventana del marco seleccionado en un registro, o incluso la configuración de todas las ventanas de todos los marcos, y restaurar la configuración más tarde. Para obtener más información sobre las configuraciones de ventanas, consulte <strong>Funciones Prácticas para el Manejo de Ventanas</strong>.</p>
<p>Puede guardar la configuración de la ventana del marco seleccionado en un registro, o incluso la configuración de todas las ventanas de todos los marcos, y restaurar la configuración más tarde. Para obtener más información sobre las configuraciones de ventanas, consulte <a class="reference internal" href="21_VariasVentanas.html#id7"><span class="std std-ref">21.7 Características Convenientes para el Manejo de Ventanas</span></a>.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">w</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (C-x r w r)</p>
<blockquote>
<div><p>Guarda el estado de las ventanas del marco seleccionado en el registro <em>r</em> (<code class="docutils literal notranslate"><span class="pre">window-configuration-to-register</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">r</kbd><kbd class="kbd docutils literal notranslate">f</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">f</span> <span class="pre">r</span></code>)</p>
<blockquote>
<div><p>Guarda el estado de todos los marcos, incluidas todas sus ventanas (también conocido como conjunto de marcos), en el registro <em>r</em> (<code class="docutils literal notranslate"><span class="pre">frameset</span> <span class="pre">to</span> <span class="pre">register</span></code>).</p>
<div><p>Guarda el estado de todos los marcos, incluidas todas sus ventanas (también conocido como <em>conjunto de marcos</em>), en el registro <em>r</em> (<code class="docutils literal notranslate"><span class="pre">frameset</span> <span class="pre">to</span> <span class="pre">register</span></code>).</p>
</div></blockquote>
<p>Use <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">j</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">j</span> <span class="pre">r</span></code>) para restaurar la configuración de una ventana o marco. Es el mismo comando que se usa para restaurar la posición del
cursor. Al restaurar una configuración de marco, los marcos existentes no incluidos en la configuración se vuelven invisibles. Si desea eliminarlos, utilice <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">r</kbd><kbd class="kbd docutils literal notranslate">j</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">j</span> <span class="pre">r</span></code>).</p>
<p>Use <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">j</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">j</span> <span class="pre">r</span></code>) para restaurar la configuración de una ventana o marco. Es el mismo comando que se usa para restaurar la posición del cursor. Al restaurar una configuración de marco, los marcos existentes no incluidos en la configuración se vuelven invisibles. Si desea eliminarlos, utilice <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">r</kbd><kbd class="kbd docutils literal notranslate">j</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">j</span> <span class="pre">r</span></code>).</p>
</section>
<section id="guardar-numeros-en-registros">
<h2>14.5 Guardar Números en Registros<a class="headerlink" href="#guardar-numeros-en-registros" title="Link to this heading"></a></h2>
<p>Existen comandos para almacenar un número en un registro, para insertar el número en el buffer en decimal, y para incrementarlo. Estos comandos pueden ser útiles en macros de teclado (véase <strong>Macros de Teclado</strong>).</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <strong>número</strong> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">n</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span></code> <strong>número</strong> <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">n</span> <span class="pre">r</span></code>)</p>
<span id="id5"></span><h2>14.5 Guardar Números en Registros<a class="headerlink" href="#guardar-numeros-en-registros" title="Link to this heading"></a></h2>
<p>Existen comandos para almacenar un número en un registro, para insertar el número en el buffer en decimal, y para incrementarlo. Estos comandos pueden ser útiles en macros de teclado (véase <a class="reference internal" href="18_MacrosDeTeclado.html#id1"><span class="std std-ref">18 Macros de Teclado</span></a>).</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <em>número</em> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">n</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span></code> <em>número</em> <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">n</span> <span class="pre">r</span></code>)</p>
<blockquote>
<div><p>Almacena el número en el registro <em>r</em> (<code class="docutils literal notranslate"><span class="pre">number-to-register</span></code>).</p>
<div><p>Almacena <em>número</em> en el registro <em>r</em> (<code class="docutils literal notranslate"><span class="pre">number-to-register</span></code>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <strong>número</strong> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">+</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">número</span> <span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span> <span class="pre">r</span></code>)</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <em>número</em> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">+</kbd> (<code class="docutils literal notranslate"><span class="pre">C-u</span></code> <em>número</em> <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span> <span class="pre">r</span></code>)</p>
<blockquote>
<div><p>Si <em>r</em> contiene un número, incrementa el número de ese registro en un número. Tenga en cuenta que el comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span></code> (<code class="docutils literal notranslate"><span class="pre">increment-register</span></code>) se comporta de forma diferente si
<em>r</em> contiene texto. Consulte <strong>Guardar Texto en Registros</strong>.</p>
<div><p>Si <em>r</em> contiene un número, incrementa el número de ese registro en una cantidad igual a <em>número</em>. Tenga en cuenta que el comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span></code> (<code class="docutils literal notranslate"><span class="pre">increment-register</span></code>) se comporta de forma diferente si <em>r</em> contiene texto. Consulte <a class="reference internal" href="#id3"><span class="std std-ref">14.2 Guardar Texto en Registros</span></a>.</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">r</kbd><kbd class="kbd docutils literal notranslate">i</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">i</span> <span class="pre">r</span></code>)</p>
<blockquote>
<div><p>Inserta el número del registro <em>r</em> en el búfer.</p>
<div><p>Inserta número del registro <em>r</em> en el búfer.</p>
</div></blockquote>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">i</span></code> es el mismo comando que se usa para insertar cualquier otro tipo de contenido de registro en búfer. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span></code> sin argumento numérico incrementa el valor del registro en 1; <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">n</span></code> sin argumento numérico almacena cero en el registro.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">i</span></code> es el mismo comando que se usa para insertar cualquier otro tipo de contenido de registro en búfer. <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">+</span></code> sin argumento numérico incrementa el valor del registro en 1; <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">n</span></code> sin argumento numérico almacena cero en dicho registro.</p>
</section>
<section id="mantener-los-nombres-de-ficheros-y-buferes-en-registros">
<h2>14.6. Mantener los Nombres de Ficheros y Búferes en Registros<a class="headerlink" href="#mantener-los-nombres-de-ficheros-y-buferes-en-registros" title="Link to this heading"></a></h2>
<p>Si visita ciertos nombres de fichero con frecuencia, puede visitarlos más convenientemente si pone sus nombres en registros. Este es el código Lisp usado para poner un nombre de fichero en el registro <em>r</em>:</p>
<p>Si visita ciertos nombres de fichero con frecuencia, puede visitarlos más convenientemente si pone sus <em>nombres</em> en registros. Este es el código Lisp usado para poner un nombre de fichero en el registro <em>r</em>:</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">register</span> <span class="n">r</span> <span class="s1">&#39;(file . nombre))</span>
</pre></div>
</div>
@ -256,7 +254,7 @@ cursor. Al restaurar una configuración de marco, los marcos existentes no inclu
</div>
<p>pone el <em>nombre</em> del archivo que aparece en el registro <code class="docutils literal notranslate"><span class="pre">z</span></code>.</p>
<p>Para visitar el archivo cuyo nombre está en el registro <em>r</em>, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">j</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">j</span> <span class="pre">r</span></code>). (Este es el mismo comando que se utiliza para saltar a una posición o restaurar una configuración de marco).</p>
<p>Del mismo modo, si hay determinados búferes que visita con frecuencia, puede poner sus nombres en los registros. Por ejemplo, si visita el buffer <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code> con frecuencia, puede usar el siguiente snippet (fragmento de código) para poner ese buffer en el registro <code class="docutils literal notranslate"><span class="pre">m</span></code>:</p>
<p>Del mismo modo, si hay determinados búferes que visita con frecuencia, puede poner sus nombres en los registros. Por ejemplo, si visita el buffer <code class="docutils literal notranslate"><span class="pre">*Messages*</span></code> con frecuencia, puede usar el siguiente fragmento de código (snippet) para poner ese buffer en el registro <code class="docutils literal notranslate"><span class="pre">m</span></code>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>(set-register ?m &#39;(buffer . &quot;*Messages*&quot;))
</pre></div>
</div>
@ -264,7 +262,7 @@ cursor. Al restaurar una configuración de marco, los marcos existentes no inclu
</section>
<section id="registros-de-macros-de-teclado">
<h2>14.7 Registros de Macros de Teclado<a class="headerlink" href="#registros-de-macros-de-teclado" title="Link to this heading"></a></h2>
<p>Si necesita ejecutar una macro de teclado (véase <strong>Macros de Teclado</strong>) con frecuencia, es más conveniente ponerla en un registro o guardarla (véase <strong>Nombrar y Guardar Macros de Teclado</strong>). (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">x</span> <span class="pre">r</span></code>, <code class="docutils literal notranslate"><span class="pre">kmacro-to-register</span></code>) almacena la última macro de teclado en el registro <em>r</em>.</p>
<p>Si necesita ejecutar una macro de teclado (véase <a class="reference internal" href="18_MacrosDeTeclado.html#id1"><span class="std std-ref">18 Macros de Teclado</span></a>) con frecuencia, es más conveniente ponerla en un registro o guardarla (véase <a class="reference internal" href="18_MacrosDeTeclado.html#id2"><span class="std std-ref">18.5 Nombrar y Guardar Macros de Teclado</span></a>). (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">x</span> <span class="pre">r</span></code>, <code class="docutils literal notranslate"><span class="pre">kmacro-to-register</span></code>) almacena la última macro de teclado en el registro <em>r</em>.</p>
<p>Para ejecutar la macro de teclado en el registro <em>r</em>, escriba <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">j</kbd><kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">j</span> <span class="pre">r</span></code>). (Es el mismo comando que se usa para saltar a una posición o restaurar un conjunto de marcos).</p>
</section>
<section id="marcadores">
@ -274,15 +272,15 @@ cursor. Al restaurar una configuración de marco, los marcos existentes no inclu
<blockquote>
<div><p>Establece el marcador para el archivo visitado, en el punto.</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">r</kbd><kbd class="kbd docutils literal notranslate">m</kbd> <strong>marcador</strong> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">m</span></code> <strong>marcador</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">m</kbd> <em>marcador</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">m</span></code> <em>marcador</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>Establece el marcador de nombre <em>marcador</em> en el punto (<code class="docutils literal notranslate"><span class="pre">bookmark-set</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">r</kbd><kbd class="kbd docutils literal notranslate">M</kbd> <strong>marcador</strong> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">M</span></code> <strong>marcador</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">M</kbd> <em>marcador</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">M</span></code> <em>marcador</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>Como <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">m</span></code>, pero no sobrescribe un marcador existente.</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">r</kbd><kbd class="kbd docutils literal notranslate">b</kbd> <strong>marcador</strong> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">b</span></code> <strong>marcador</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">b</kbd> <em>marcador</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">b</span></code> <em>marcador</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</p>
<blockquote>
<div><p>Salta al marcador de nombre <em>marcador</em> (<code class="docutils literal notranslate"><span class="pre">bookmark-jump</span></code>).</p>
</div></blockquote>
@ -301,43 +299,42 @@ cursor. Al restaurar una configuración de marco, los marcos existentes no inclu
<p>Si establece la variable <code class="docutils literal notranslate"><span class="pre">bookmark-save-flag</span></code> a 1, cada comando que establezca un marcador también guardará sus marcadores; de esta manera, no perderá ningún valor de marcador incluso si Emacs se bloquea. El valor, si es un número, dice cuántas modificaciones de marcadores deben pasar entre cada guardado. Si establece esta variable a <code class="docutils literal notranslate"><span class="pre">nil</span></code>, Emacs sólo guarda los marcadores si usa explícitamente <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">bookmark-save</span></code>.</p>
<p>La variable <code class="docutils literal notranslate"><span class="pre">bookmark-default-file</span></code> especifica el fichero en el que guardar los marcadores por defecto.</p>
<p>Si establece la variable <code class="docutils literal notranslate"><span class="pre">bookmark-use-annotations</span></code> en <code class="docutils literal notranslate"><span class="pre">t</span></code>, al establecer un marcador se buscará una anotación. Si un marcador tiene una anotación, ésta se mostrará automáticamente en una ventana aparte cuando salte al marcador.</p>
<p>Los valores de posición de los marcadores se guardan con el contexto circundante, de forma que bookmark-jump pueda encontrar la posición correcta incluso si el archivo se modifica ligeramente. La variable <code class="docutils literal notranslate"><span class="pre">bookmark-search-size</span></code> dice cuántos caracteres de contexto registrar a cada lado de la posición del marcador. (En los búferes que visitan archivos encriptados, no se guarda ningún contexto en el archivo de marcadores sin importar el valor de esta variable).</p>
<p>Los valores de posición de los marcadores se guardan con el contexto circundante, de forma que <code class="docutils literal notranslate"><span class="pre">bookmark-jump</span></code> pueda encontrar la posición correcta incluso si el archivo se modifica ligeramente. La variable <code class="docutils literal notranslate"><span class="pre">bookmark-search-size</span></code> dice cuántos caracteres de contexto registrar a cada lado de la posición del marcador. (En los búferes que visitan archivos encriptados, no se guarda ningún contexto en el archivo de marcadores sin importar el valor de esta variable).</p>
<p>Aquí se muestran algunos comandos adicionales para trabajar con marcadores:</p>
<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">bookmark-load</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <strong>nombre_archivo</strong> <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">bookmark-load</span> <span class="pre">RET</span></code> <strong>nombre_archivo</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
<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">bookmark-load</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>nombre_archivo</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">bookmark-load</span> <span class="pre">RET</span></code> <em>nombre_archivo</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Carga un archivo llamado <em>nombre_archivo</em> que contiene una lista de valores de marcadores. Puede utilizar este comando, así como <code class="docutils literal notranslate"><span class="pre">bookmark-write</span></code>, para trabajar con otros archivos
de valores de marcadores además de su archivo de marcadores predeterminado.</p>
<div><p>Carga un archivo llamado <em>nombre_archivo</em> que contiene una lista de valores de marcadores. Puede utilizar este comando, así como <code class="docutils literal notranslate"><span class="pre">bookmark-write</span></code>, para trabajar con otros archivos de valores de marcadores además de su archivo de marcadores predeterminado.</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">bookmark-write</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <strong>nombre_archivo</strong> <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">bookmark-write</span> <span class="pre">RET</span> <span class="pre">nombre_archivo</span> <span class="pre">RET</span></code>)</div>
<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">bookmark-write</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>nombre_archivo</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">bookmark-write</span> <span class="pre">RET</span></code> <em>nombre_archivo</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Guarda todos los valores actuales de los marcadores en el archivo de nombre <em>nombre_archivo</em>.</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">bookmark-delete</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <strong>marcador</strong> <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">bookmark-delete</span> <span class="pre">RET</span></code> <strong>marcador</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
<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">bookmark-delete</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>marcador</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">bookmark-delete</span> <span class="pre">RET</span></code> <em>marcador</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Borra el marcador de nombre <em>marcador</em>.</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">bookmark-insert-location</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <strong>marcador</strong> <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">bookmark-insert-location</span> <span class="pre">RET</span></code> <strong>marcador</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
<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">bookmark-insert-location</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>marcador</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">bookmark-insert-location</span> <span class="pre">RET</span></code> <em>marcador</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Inserta en el búfer el nombre del archivo al que apunta el marcador.</p>
<div><p>Inserta en el búfer el nombre del archivo al que apunta el <em>marcador</em>.</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">bookmark-insert</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <strong>marcador</strong> <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">bookmark-insert</span> <span class="pre">RET</span></code> <strong>marcador</strong> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
<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">bookmark-insert</span></code> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>marcador</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">bookmark-insert</span> <span class="pre">RET</span></code> <em>marcador</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Inserta en el búfer el contenido del archivo al que apunta el marcador.</p>
<div><p>Inserta en el búfer el contenido del archivo al que apunta el <em>marcador</em>.</p>
</div></blockquote>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -658,7 +658,7 @@ de Usuario <code class="docutils literal notranslate"><span class="pre">search-w
<p>Por defecto, los comandos de reemplazo no usan el plegado de caracteres (ver <strong>Plegado de Caracteres</strong>) cuando buscan el texto a reemplazar. Para habilitar el plegado de caracteres en <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> y <code class="docutils literal notranslate"><span class="pre">replace-string</span></code>, establece la variable <code class="docutils literal notranslate"><span class="pre">replace-char-fold</span></code> a un valor no nulo. (Este ajuste no afecta al texto de reemplazo, sólo a cómo Emacs encuentra el texto a reemplazar. Tampoco afecta a <code class="docutils literal notranslate"><span class="pre">replace-regexp</span></code>).</p>
</section>
<section id="sustitucion-de-consultas">
<h3>16.10.4 Sustitución de Consultas<a class="headerlink" href="#sustitucion-de-consultas" title="Link to this heading"></a></h3>
<span id="id6"></span><h3>16.10.4 Sustitución de Consultas<a class="headerlink" href="#sustitucion-de-consultas" title="Link to this heading"></a></h3>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">%</kbd> <em>cadena</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd> <em>nueva-cadena</em> <kbd class="kbd docutils literal notranslate">RETURN</kbd></div>
<div class="line">(<code class="docutils literal notranslate"><span class="pre">M-%</span></code> <em>cadena</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code> <em>nueva-cadena</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -226,7 +226,7 @@
<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 Comandos de <strong>Conversión de Mayúsculas y Minúsculas</strong>.</p>
</section>
<section id="comprobar-y-corregir-la-ortografia">
<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>
<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>
<p>En esta sección se describen los comandos para comprobar la ortografía de una sola palabra o de una parte de un búfer. Estas órdenes sólo funcionan si está instalado un programa corrector ortográfico, uno de Hunspell, Aspell, Ispell o Enchant. Estos programas no forman parte de Emacs, pero uno de ellos suele estar instalado en GNU/Linux y otros sistemas operativos libres. Véase <strong>Aspell</strong> en El manual de Aspell.</p>
<p>Si sólo tiene instalado uno de los programas correctores ortográficos, Emacs lo encontrará cuando invoque por primera vez uno de los comandos descritos aquí. Si tiene más de uno instalado, puede controlar cuál se usa personalizando la variable <code class="docutils literal notranslate"><span class="pre">ispell-program-name</span></code>.</p>
<p><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>)</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -296,7 +296,7 @@
oportunidad de hacer alguna edición particular en cada repetición. Véase <strong>Niveles de Edición Recursiva</strong>.</p>
</section>
<section id="nombrar-y-guardar-macros-de-teclado">
<h2>18.5 Nombrar y Guardar Macros de Teclado<a class="headerlink" href="#nombrar-y-guardar-macros-de-teclado" title="Link to this heading"></a></h2>
<span id="id2"></span><h2>18.5 Nombrar y Guardar Macros de Teclado<a class="headerlink" href="#nombrar-y-guardar-macros-de-teclado" title="Link to this heading"></a></h2>
<p><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">n</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-k</span> <span class="pre">n</span></code>)</p>
<blockquote>
<div><p>Da un nombre de comando (durante toda la sesión de Emacs) a la macro de teclado definida más recientemente (<code class="docutils literal notranslate"><span class="pre">kmacro-name-last-macro</span></code>).</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -367,7 +367,7 @@ debajo, pero sólo si la ventana no se ha dividido antes (para evitar una divisi
</section>
</section>
<section id="caracteristicas-convenientes-para-el-manejo-de-ventanas">
<h2>21.7 Características Convenientes para el Manejo de Ventanas<a class="headerlink" href="#caracteristicas-convenientes-para-el-manejo-de-ventanas" title="Link to this heading"></a></h2>
<span id="id7"></span><h2>21.7 Características Convenientes para el Manejo de Ventanas<a class="headerlink" href="#caracteristicas-convenientes-para-el-manejo-de-ventanas" title="Link to this heading"></a></h2>
<p>El modo Winner es un modo menor global que registra los cambios en la configuración de la ventana (es decir, cómo se particionan los marcos en ventanas), para que pueda deshacerlos. Puede activar este modo con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">winner-mode</span></code>, o personalizando la variable <code class="docutils literal notranslate"><span class="pre">winner-mode</span></code>. Cuando el modo está activado, <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> <kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">``C-c</span> <span class="pre">izquierda`</span></code>, <code class="docutils literal notranslate"><span class="pre">winner-undo</span></code>) deshace el último cambio de configuración de la ventana. Si cambia de opinión mientras deshace, puede rehacer los cambios que había deshecho usando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> <kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">C-c</span> <span class="pre">derecha</span></code>, <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">winner-redo</span></code>). Para evitar que el modo Winner vincule <code class="docutils literal notranslate"><span class="pre">C-c</span> <span class="pre">izquierda</span></code> y <code class="docutils literal notranslate"><span class="pre">C-c</span> <span class="pre">derecha</span></code>, puede personalizar la variable <code class="docutils literal notranslate"><span class="pre">winner-dont-bind-my-keys</span></code> a un valor no nulo. Por defecto, el modo Winner almacena un máximo de 200 configuraciones de ventana por frame, pero puede cambiarlo modificando la variable <code class="docutils literal notranslate"><span class="pre">winner-ring-size</span></code>. Si hay algunos búferes cuyas ventanas no desea que Winner mode restaure, añada sus nombres a la variable de lista <code class="docutils literal notranslate"><span class="pre">winner-boring-buffers</span></code> o a la <code class="docutils literal notranslate"><span class="pre">regexp</span> <span class="pre">winner-boring-buffers-regexp</span></code>.</p>
<p>El modo de seguimiento (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">follow-mode</span></code>) sincroniza varias ventanas en el mismo búfer para que siempre muestren secciones adyacentes de ese búfer. Véase <strong>Modo de Seguimiento</strong>.</p>
<p>El paquete Windmove define comandos para moverse direccionalmente entre ventanas vecinas en un marco. <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">windmove-right</span></code> selecciona la ventana inmediatamente a la derecha de la actualmente seleccionada, y de forma similar para las contrapartidas izquierda, arriba y abajo. <code class="docutils literal notranslate"><span class="pre">windmove-default-keybindings</span></code> vincula estos comandos a <kbd class="kbd docutils literal notranslate">Shift</kbd>-<kbd class="kbd docutils literal notranslate"></kbd> (<code class="docutils literal notranslate"><span class="pre">S-right</span></code>) etc.; al hacerlo se desactiva la selección de mayúsculas para esas teclas (ver <strong>Selección mediante Mayúsculas</strong>). De la misma manera que se pueden definir combinaciones de teclas para comandos que seleccionan ventanas direccionalmente, puede usar <code class="docutils literal notranslate"><span class="pre">windmove-display-default-keybindings</span></code> para definir combinaciones de teclas para comandos que especifican en qué dirección mostrar la ventana para el búfer que el siguiente comando va a mostrar. También hay <code class="docutils literal notranslate"><span class="pre">windmove-delete-default-keybindings</span></code> para definir keybindings para comandos que borran ventanas direccionalmente, y <code class="docutils literal notranslate"><span class="pre">windmove-swap-states-default-keybindings</span></code> que define combinaciones de teclas para comandos que intercambian el contenido de la ventana seleccionada con la ventana en la dirección especificada.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -91,7 +91,7 @@
<li class="toctree-l2"><a class="reference internal" href="#barras-de-herramientas">22.16. Barras de Herramientas</a></li>
<li class="toctree-l2"><a class="reference internal" href="#barras-de-pestanas">22.17 Barras de Pestañas</a></li>
<li class="toctree-l2"><a class="reference internal" href="#uso-de-cuadros-de-dialogo">22.18 Uso de Cuadros de Diálogo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#informacion-sobre-herramientas-tooltips">22.19 Información sobre Herramientas (Tooltips)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sugerencias-sobre-herramientas-tooltips">22.19 Sugerencias sobre Herramientas (Tooltips)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#evitar-el-puntero-del-raton">22.20 Evitar el Puntero del Ratón</a></li>
<li class="toctree-l2"><a class="reference internal" href="#terminales-sin-ventana">22.21 Terminales sin Ventana</a></li>
<li class="toctree-l2"><a class="reference internal" href="#uso-del-raton-en-terminales-de-texto">22.22 Uso del Ratón en Terminales de Texto</a></li>
@ -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="#id5"><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="#id13"><span class="std std-ref">22.21 Terminales sin Ventana</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#id4"><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="#id13"><span class="std std-ref">22.21 Terminales sin Ventana</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>
<p><code class="docutils literal notranslate"><span class="pre">ratón-1</span></code></p>
@ -185,16 +185,16 @@ del clic. Guarda la región resultante en el anillo de destrucción; con un segu
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> (<code class="docutils literal notranslate"><span class="pre">C-M-ratón-1</span></code>)</p>
<blockquote>
<div><p>Activa una región rectangular alrededor del texto seleccionado arrastrando. Véase <a class="reference internal" href="13_MatarMoverTxt.html#id5"><span class="std std-ref">13.5 Rectángulos</span></a> Rectángulos.</p>
<div><p>Activa una región rectangular alrededor del texto seleccionado arrastrando. Véase <a class="reference internal" href="13_MatarMoverTxt.html#id12"><span class="std std-ref">13.5 Rectángulos</span></a> Rectángulos.</p>
</div></blockquote>
<p>El comando más básico del ratón es <code class="docutils literal notranslate"><span class="pre">mouse-set-point</span></code> (establecer el punto) con el ratón, que se invoca haciendo clic con el botón izquierdo del ratón, (<code class="docutils literal notranslate"><span class="pre">ratón-1</span></code>), en el área de texto de una ventana. Esto mueve el punto a la posición donde hizo clic. Si esa ventana no era la ventana seleccionada, Se convertirá en ella. También puede activar una región haciendo doble clic con <code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> (consulte <a class="reference internal" href="#id3"><span class="std std-ref">22.2 Comandos de Ratón para Palabras y Líneas</span></a>).</p>
<p>Normalmente, si el marco en el que ha hecho clic no era el marco seleccionado, se convierte en éste, además de seleccionar la ventana y fijar el cursor. En el sistema X Window, puede cambiar esto estableciendo la variable <code class="docutils literal notranslate"><span class="pre">x-mouse-click-focus-ignore-position</span></code> a <code class="docutils literal notranslate"><span class="pre">t</span></code>. En ese caso, el clic inicial en un marco no seleccionado sólo selecciona el marco, sin hacer nada más; hacer clic de nuevo selecciona la ventana y establece la posición del cursor.</p>
<p>Mantener pulsado <code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> y arrastrar el ratón sobre un tramo de texto activa la región alrededor de ese texto (<code class="docutils literal notranslate"><span class="pre">mouse-set-region</span></code>), colocando la marca donde se empezó a mantener pulsado el botón del ratón, y el punto donde se suelta (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>). Además, el texto de la región se convierte en la selección principal (véase <a class="reference internal" href="13_MatarMoverTxt.html#id4"><span class="std std-ref">13.3.2 Cortar y Pegar con Otras Aplicaciones de Ventana</span></a>).</p>
<p>Mantener pulsado <code class="docutils literal notranslate"><span class="pre">ratón-1</span></code> y arrastrar el ratón sobre un tramo de texto activa la región alrededor de ese texto (<code class="docutils literal notranslate"><span class="pre">mouse-set-region</span></code>), colocando la marca donde se empezó a mantener pulsado el botón del ratón, y el punto donde se suelta (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>). Además, el texto de la región se convierte en la selección principal (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>).</p>
<p>Si cambia la variable <code class="docutils literal notranslate"><span class="pre">mouse-drag-copy-region</span></code> a un valor no nulo, al arrastrar el ratón sobre un tramo de texto también se añade el texto al anillo de destrucción. El valor por defecto es <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>Si esta variable es <code class="docutils literal notranslate"><span class="pre">no-empty</span></code>, sólo se copiará al anillo de muertes si la región no está vacía. Por ejemplo, si arrastra con el ratón un área de menos de medio carácter, normalmente obtendría la cadena vacía en el anillo de muertes, pero con <code class="docutils literal notranslate"><span class="pre">non-empty</span></code>, este breve arrastre del ratón no afectará a dicho anillo.</p>
<p>Si mueve el ratón fuera de la parte superior o inferior de la ventana mientras arrastra, la ventana se desplaza a un ritmo constante hasta que vuelva a mover el ratón dentro de la ventana. De este modo, puede seleccionar regiones que no caben completamente en la pantalla. El número de líneas que se desplazan por paso depende de lo lejos que se haya alejado el ratón del borde de la ventana; la variable <code class="docutils literal notranslate"><span class="pre">mouse-scroll-min-lines</span></code> especifica un tamaño mínimo de paso.</p>
<p>Si activa la opción <code class="docutils literal notranslate"><span class="pre">mouse-drag-mode-line-buffer</span></code> y el sistema de ventanas admite el arrastre de archivos, al arrastrar el ratón sobre la parte del nombre del búfer de la línea de modo se arrastrará el archivo de ese búfer a otro programa o marco.</p>
<p>Haciendo clic con el botón central del ratón (<code class="docutils literal notranslate"><span class="pre">ratón-2</span></code>) mueve el punto a la posición donde hizo clic e inserta el contenido de la selección primaria (<code class="docutils literal notranslate"><span class="pre">mouse-yank-primary</span></code>). Consulte <a class="reference internal" href="13_MatarMoverTxt.html#id4"><span class="std std-ref">13.3.2 Cortar y Pegar con Otras Aplicaciones de Ventana</span></a>. Este comportamiento es consistente con otras aplicaciones X. Como alternativa, puede volver a vincular <code class="docutils literal notranslate"><span class="pre">mouse-2</span></code> a <code class="docutils literal notranslate"><span class="pre">mouse-yank-at-click</span></code>, que jala (tira) en la posición en la que hizo clic.</p>
<p>Haciendo clic con el botón central del ratón (<code class="docutils literal notranslate"><span class="pre">ratón-2</span></code>) mueve el punto a la posición donde hizo clic e inserta el contenido de la selección primaria (<code class="docutils literal notranslate"><span class="pre">mouse-yank-primary</span></code>). Consulte <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>. Este comportamiento es consistente con otras aplicaciones X. Como alternativa, puede volver a vincular <code class="docutils literal notranslate"><span class="pre">mouse-2</span></code> a <code class="docutils literal notranslate"><span class="pre">mouse-yank-at-click</span></code>, que jala (tira) en la posición en la que hizo clic.</p>
<p>Si cambia la variable <code class="docutils literal notranslate"><span class="pre">mouse-yank-at-point</span></code> a un valor no nulo, <code class="docutils literal notranslate"><span class="pre">mouse-2</span></code> no mueve el punto; inserta el texto en el punto, independientemente de dónde haya hecho clic o incluso en cuál de las ventanas del marco haya hecho clic. Esta variable afecta tanto a <code class="docutils literal notranslate"><span class="pre">mouse-yank-primary</span></code> como a <code class="docutils literal notranslate"><span class="pre">mouse-yank-at-click</span></code>.</p>
<p>Al hacer clic con el botón derecho del ratón (<code class="docutils literal notranslate"><span class="pre">mouse-3</span></code>) se ejecuta el comando <code class="docutils literal notranslate"><span class="pre">mouse-save-then-kill</span></code>. Esto realiza varias acciones dependiendo de dónde haga clic y del estado de la región:</p>
<blockquote>
@ -211,7 +211,7 @@ pulse <code class="docutils literal notranslate"><span class="pre">ratón-3</spa
</ul>
</div></blockquote>
<p>El comando <code class="docutils literal notranslate"><span class="pre">mouse-save-then-kill</span></code> también obedece a la variable <code class="docutils literal notranslate"><span class="pre">mouse-drag-copy-region</span></code> (descrita anteriormente). Si el valor es distinto de cero, siempre que el comando establezca o ajuste la región activa, el texto de la región también se añadirá al anillo de muertes. Si la última entrada de dicho anillo se había añadido de la misma manera, esa entrada se sustituye en lugar de hacer una nueva entrada.</p>
<p>Siempre que ajuste la región mediante cualquiera de los comandos del ratón descritos anteriormente, la marca se desactivará mediante cualquier comando posterior de movimiento del cursor sin desplazamiento, además de las formas habituales de desactivar la marca. Véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id5"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>.</p>
<p>Siempre que ajuste la región mediante cualquiera de los comandos del ratón descritos anteriormente, la marca se desactivará mediante cualquier comando posterior de movimiento del cursor sin desplazamiento, además de las formas habituales de desactivar la marca. Véase <a class="reference internal" href="12_LaMarca-y-LaRegion.html#id8"><span class="std std-ref">12.6 Selección mediante Mayúsculas (Shift)</span></a>.</p>
<p>Algunos ratones tienen una «rueda» que puede usarse para desplazarse. Emacs soporta el desplazamiento de ventanas con la rueda del ratón, por defecto, en la mayoría de las pantallas gráficas. Para activar esta función, use <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">mouse-wheel-mode</span></code>. Las variables <code class="docutils literal notranslate"><span class="pre">mouse-wheel-follow-mouse</span></code> y <code class="docutils literal notranslate"><span class="pre">mouse-wheel-scroll-amount</span></code> determinan dónde y cuánto se desplazan los búferes. La variable <code class="docutils literal notranslate"><span class="pre">mouse-wheel-progressive-speed</span></code> determina si la velocidad de desplazamiento está vinculada a la rapidez con la que se mueve la rueda. Este modo también permite aumentar o disminuir el tamaño de la fuente, por defecto vinculado al desplazamiento con el modificador <kbd class="kbd docutils literal notranslate">Ctrl</kbd> (<code class="docutils literal notranslate"><span class="pre">Ctrl</span></code>). Cuando este modo está activado, la rueda del ratón produce eventos especiales como <code class="docutils literal notranslate"><span class="pre">wheel-up</span></code> (rueda-arriba) y <code class="docutils literal notranslate"><span class="pre">wheel-down</span></code> (rueda-abajo). (Algunos sistemas antiguos los reportan como <code class="docutils literal notranslate"><span class="pre">ratón-4</span></code> y <code class="docutils literal notranslate"><span class="pre">ratón-5</span></code>) Si el ratón tiene una rueda de desplazamiento horizontal, también produce eventos <code class="docutils literal notranslate"><span class="pre">wheel-left</span></code> (rueda-izquierda) y <code class="docutils literal notranslate"><span class="pre">wheel-right</span></code> (rueda-derecha).</p>
<p>Emacs también soporta el desplazamiento horizontal con el modificador <kbd class="kbd docutils literal notranslate">Shift</kbd>. Escribiendo un prefijo numérico arg (e.g., <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">5</kbd> (<code class="docutils literal notranslate"><span class="pre">M-5</span></code>)) antes de iniciar el desplazamiento horizontal cambia su valor de paso definido por la opción de Usuario <code class="docutils literal notranslate"><span class="pre">mouse-wheel-scroll-amount-horizontal</span></code>.</p>
<p>Si la rueda del ratón se puede inclinar, o si el panel táctil lo permite, también puede activar el desplazamiento horizontal personalizando la variable <code class="docutils literal notranslate"><span class="pre">mouse-wheel-tilt-scroll</span></code> con un valor distinto de cero. Por defecto, al inclinar la rueda del ratón, la vista de la ventana se desplaza horizontalmente en la dirección de la inclinación: por ejemplo, si se inclina hacia la derecha, la ventana se desplaza hacia la derecha, de modo que el texto que aparece en la ventana se desplaza horizontalmente hacia la izquierda. Si desea invertir la dirección del desplazamiento horizontal, personalice la variable <code class="docutils literal notranslate"><span class="pre">mouse-wheel-flip-direction</span></code> a un valor no nulo.</p>
@ -281,7 +281,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="id4"></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="#id12"><span class="std std-ref">22.19 Información 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="#id12"><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><code class="docutils literal notranslate"><span class="pre">ratón-1</span></code></p>
<blockquote>
<div><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
@ -703,8 +703,8 @@ mueve n posiciones a la izquierda.</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 use-dialog-box.</p>
<p>Cuando Emacs se compila con soporte GTK+, usa el 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 x-gtk-show-hidden-files a t. Además, Emacs añade texto de ayuda al diálogo selector de archivos GTK+; para desactivar este texto de ayuda, cambie la variable x-gtk-file-dialog-help-text a nil.</p>
</section>
<section id="informacion-sobre-herramientas-tooltips">
<span id="id12"></span><h2>22.19 Información sobre Herramientas (Tooltips)<a class="headerlink" href="#informacion-sobre-herramientas-tooltips" title="Link to this heading"></a></h2>
<section id="sugerencias-sobre-herramientas-tooltips">
<span id="id12"></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 tooltips 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 M-x tooltip-mode. 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 tooltip-mode.</p>
<p>Las siguientes variables proporcionan opciones de personalización para la visualización de información sobre herramientas:</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -490,7 +490,7 @@ en los sistemas Microsoft.9)</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>
</section>
<section id="sistemas-de-codificacion-para-la-comunicacion-interprocesos">
<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>
<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>
<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>
@ -569,7 +569,7 @@ xset fp rehash</p>
<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="#id11"><span class="problematic" id="id12">*</span></a>-fontset-standard</p>
<div><p>-<em>-fixed-medium-r-normal-</em>-16-<em>-</em>-<em>-</em>-<a href="#id12"><span class="problematic" id="id13">*</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>
@ -596,11 +596,11 @@ xset fp rehash</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="#id13"><span class="problematic" id="id14">*</span></a>-fontset-24</p>
<div><p>-<em>-fixed-medium-r-normal-</em>-24-<em>-</em>-<em>-</em>-<a href="#id14"><span class="problematic" id="id15">*</span></a>-fontset-24</p>
</div></blockquote>
<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="#id15"><span class="problematic" id="id16">*</span></a>-ISO8859-1</p>
<div><p>-<em>-fixed-medium-r-normal-</em>-24-<a href="#id16"><span class="problematic" id="id17">*</span></a>-ISO8859-1</p>
</div></blockquote>
<p>y la especificación de la fuente para los caracteres chinos GB2312 sería ésta:</p>
<blockquote>
@ -609,7 +609,7 @@ xset fp rehash</p>
<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="#id17"><span class="problematic" id="id18">*</span></a>-fontset-24,</dt><dd><p>chinese-gb2312:-<em>-</em>-medium-r-normal-<em>-24-</em>-gb2312*-*</p>
<dt>Emacs.Fontset-0: -<em>-fixed-medium-r-normal-</em>-24-<em>-</em>-<em>-</em>-<a href="#id18"><span class="problematic" id="id19">*</span></a>-fontset-24,</dt><dd><p>chinese-gb2312:-<em>-</em>-medium-r-normal-<em>-24-</em>-gb2312*-*</p>
</dd>
</dl>
</div></blockquote>
@ -738,7 +738,7 @@ componer con el carácter siguiente, una vez cargado iso-transl.</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>
</section>
<section id="edicion-bidireccional">
<span id="id19"></span><h2>23.20 Edición Bidireccional<a class="headerlink" href="#edicion-bidireccional" title="Link to this heading"></a></h2>
<span id="id20"></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>
<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>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -211,7 +211,7 @@
<p>Además, vea Información sobre la Posición del Cursor para los comandos M-= (count-words-region) y M-x count-words, que cuentan y reportan el número de palabras en la región o búfer.</p>
</section>
<section id="frases">
<h2>26.2 Frases<a class="headerlink" href="#frases" title="Link to this heading"></a></h2>
<span id="id3"></span><h2>26.2 Frases<a class="headerlink" href="#frases" title="Link to this heading"></a></h2>
<p>Los comandos de Emacs para manipular frases y párrafos están en su mayoría en las teclas Meta, como los comandos de manipulación de palabras.</p>
<dl class="simple">
<dt>M-a</dt><dd><p>Retrocede al principio de la frase (backward-sentence).</p>
@ -233,7 +233,7 @@
<p>Algunos idiomas, como el tailandés, no usan puntos para indicar el final de una frase. En estos casos, establezca la variable fin-de-sentencia-sin-punto en t.</p>
</section>
<section id="parrafos">
<h2>26.3 Párrafos<a class="headerlink" href="#parrafos" title="Link to this heading"></a></h2>
<span id="id4"></span><h2>26.3 Párrafos<a class="headerlink" href="#parrafos" title="Link to this heading"></a></h2>
<p>Los comandos de Emacs para manipular párrafos también están en las teclas Meta.</p>
<dl class="simple">
<dt>M-{</dt><dd><p>Retrocede al principio del párrafo anterior (backward-paragraph).</p>
@ -252,7 +252,7 @@
<p>Tenga en cuenta que paragraph-start y paragraph-separate se comparan con el texto del margen izquierdo, que no es necesariamente el principio de la línea, por lo que estas expresiones regulares no deberían usar “^” como ancla, para garantizar que las funciones de párrafo funcionen igualmente dentro de una región de texto sangrado por un ajuste de margen.</p>
</section>
<section id="paginas">
<h2>26.4 Páginas<a class="headerlink" href="#paginas" title="Link to this heading"></a></h2>
<span id="id5"></span><h2>26.4 Páginas<a class="headerlink" href="#paginas" title="Link to this heading"></a></h2>
<p>En algunos archivos de texto, el texto se divide en páginas delimitadas por el carácter de salto de página (código ASCII 12, también denominado “control-L”), que en Emacs se muestra como la secuencia de escape “^L” (véase Cómo se Muestra el Texto). Tradicionalmente, cuando estos archivos de texto se imprimen en papel, cada carácter de salto de página fuerza un salto de página. La mayoría de los comandos de Emacs lo tratan como cualquier otro carácter, así que puede insertarlo con C-q C-l, borrarlo con DEL, etc. Además, Emacs proporciona comandos para desplazarse por las páginas y operar sobre ellas.</p>
<dl class="simple">
<dt>M-x what-page</dt><dd><p>Muestra el número de página del punto, y el número de línea dentro de esa página.</p>
@ -279,7 +279,7 @@
<p>La variable delimitador de página controla dónde empiezan las páginas. Su valor es una expresión regular que coincide con el comienzo de una línea que separa páginas (véase Sintaxis de Expresiones Regulares). El valor normal de esta variable es «^f», que coincide con un carácter de salto de página al principio de una línea.</p>
</section>
<section id="comillas">
<span id="id3"></span><h2>26.5 Comillas<a class="headerlink" href="#comillas" title="Link to this heading"></a></h2>
<span id="id6"></span><h2>26.5 Comillas<a class="headerlink" href="#comillas" title="Link to this heading"></a></h2>
<p>Una forma habitual de entrecomillar es la convención de la máquina de escribir, que cita utilizando apóstrofos rectos “”así”” o comillas dobles “«así»”. Otra forma común es la convención de las comillas curvas, que usa comillas simples o dobles a izquierda y derecha «así» o «así «12. En los archivos de texto, las comillas de máquina de escribir son sencillas y portátiles; las comillas curvas son menos ambiguas y suelen quedar mejor.</p>
<p>El modo de comillas eléctricas facilita la escritura de comillas curvas. A medida que escribe caracteres, convierte opcionalmente ` en “, “ en “, `` en «, y “” en «. Es posible cambiar las comillas por defecto enumeradas anteriormente, personalizando la variable electric-quote-chars, una lista de cuatro caracteres, donde los elementos corresponden a la comilla simple izquierda, la comilla simple derecha, la comilla doble izquierda y la comilla doble derecha, respectivamente, cuyo valor por defecto es “(?” ?” ?» ?»).</p>
<p>Puede personalizar el comportamiento del modo Comillas Eléctricas (Electric Quote mode) personalizando las variables que controlan dónde está activo. Está activo en párrafos de texto si electric-quote-paragraph es distinto de nil, en comentarios en lenguaje de programación si electric-quote-comment es distinto de nil, y en cadenas en lenguaje de programación si electric-quote-string es distinto de nil. El valor predeterminado es nil para electric-quote-string y t para las demás variables.</p>
@ -290,7 +290,7 @@
</ol>
</section>
<section id="rellenar-texto">
<span id="id4"></span><h2>26.6 Rellenar Texto<a class="headerlink" href="#rellenar-texto" title="Link to this heading"></a></h2>
<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>
@ -337,7 +337,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="id5"></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="id8"></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>
@ -392,7 +392,7 @@ RET</p>
</section>
</section>
<section id="comandos-de-conversion-de-mayusculas-y-minusculas">
<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="id9"></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>
@ -447,7 +447,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="#id6"><span class="problematic" id="id7">**</span></a>* Comida Dormitorio</p>
<p><a href="#id10"><span class="problematic" id="id11">**</span></a>* Comida Dormitorio</p>
<ul class="simple">
<li><p>Albergue</p></li>
</ul>
@ -580,7 +580,7 @@ varias líneas.</p>
<li><p>Este texto usa =un tipo de letra teletipo=</p></li>
</ul>
<p>#+begin_quote
<a href="#id8"><span class="problematic" id="id9">``</span></a>Esto es una cita””.
<a href="#id12"><span class="problematic" id="id13">``</span></a>Esto es una cita””.
#+end_quote</p>
<p>#+begin_example
Esto es un ejemplo.
@ -621,7 +621,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="#id10"><span class="problematic" id="id11">``</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="#id14"><span class="problematic" id="id15">``</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>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -86,7 +86,10 @@
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#indentacion-de-programas">27.3 Indentación de Programas</a></li>
<li class="toctree-l2"><a class="reference internal" href="#comandos-para-la-edicion-con-parentesis">27.4 Comandos para la Edición con Paréntesis</a></li>
<li class="toctree-l2"><a class="reference internal" href="#comandos-para-la-edicion-con-parentesis">27.4 Comandos para la Edición con Paréntesis</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#expresiones-con-parentesis-equilibrados">27.4.1 Expresiones con Paréntesis Equilibrados</a></li>
</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="#modo-secundario-hideshow">27.7 Modo Secundario Hideshow</a></li>
@ -199,7 +202,7 @@
<p>Hay manuales separados disponibles para los modos para Ada (ver Ada Mode en Ada Mode), C/C++/Objective C/Java/Corba IDL/Pike/AWK (ver CC Mode en CC Mode), Octave, VHDL, e IDLWAVE (ver IDLWAVE en IDLWAVE User Manual).</p>
</section>
<section id="definiciones-de-nivel-superior-o-defuns">
<h2>27.2 Definiciones de Nivel Superior, o Defuns<a class="headerlink" href="#definiciones-de-nivel-superior-o-defuns" title="Link to this heading"></a></h2>
<span id="id2"></span><h2>27.2 Definiciones de Nivel Superior, o Defuns<a class="headerlink" href="#definiciones-de-nivel-superior-o-defuns" title="Link to this heading"></a></h2>
<p>En Emacs, una definición mayor en el nivel superior del búfer, como una función, se llama defun. El nombre viene de Lisp, pero en Emacs lo usamos para todos los lenguajes.</p>
<p>27.2.1 Convención del Margen Izquierdo</p>
<p>Muchos modos de lenguaje de programación han asumido tradicionalmente que cualquier paréntesis de apertura o llave que se encuentre en el margen izquierdo es el comienzo de una definición de nivel superior, o defun. Así, por defecto, los comandos que buscan el comienzo de un defun aceptan tal delimitador como significando esa posición.</p>
@ -332,11 +335,12 @@ equilibrada que comienza en la línea actual, si la línea actual necesita reent
<p>Como alternativa a especificar un estilo, puedes decirle a Emacs que adivine un estilo tecleando M-x c-guess en un búfer de código de ejemplo. Luego puede aplicar el estilo adivinado a otros búferes con M-x c-guess-install. Ver Adivinar el Estilo en el Manual del Modo CC, para más detalles.</p>
</section>
<section id="comandos-para-la-edicion-con-parentesis">
<h2>27.4 Comandos para la Edición con Paréntesis<a class="headerlink" href="#comandos-para-la-edicion-con-parentesis" title="Link to this heading"></a></h2>
<span id="id3"></span><h2>27.4 Comandos para la Edición con Paréntesis<a class="headerlink" href="#comandos-para-la-edicion-con-parentesis" title="Link to this heading"></a></h2>
<p>Esta sección describe los comandos y características que aprovechan la estructura de paréntesis en un programa, o le ayudan a mantenerla equilibrada.</p>
<p>Cuando se habla de estas facilidades, el término «paréntesis» también incluye llaves, corchetes, o cualquier delimitador que se defina para coincidir en pares. El modo principal controla qué delimitadores son significativos, a través de la tabla de sintaxis (véase Tablas de Sintaxis en El Manual de Referencia de Emacs Lisp). En Lisp, sólo cuentan los paréntesis; en C, estos comandos se aplican también a llaves y corchetes.</p>
<p>Puede usar M-x check-parens para encontrar cualquier paréntesis y comillas de cadena no balanceados en el búfer.</p>
<p>27.4.1 Expresiones con Paréntesis Equilibrados</p>
<section id="expresiones-con-parentesis-equilibrados">
<span id="id4"></span><h3>27.4.1 Expresiones con Paréntesis Equilibrados<a class="headerlink" href="#expresiones-con-parentesis-equilibrados" title="Link to this heading"></a></h3>
<p>Cada modo de lenguaje de programación tiene su propia definición de una expresión balanceada. Las expresiones balanceadas típicamente incluyen símbolos individuales, números y constantes de cadena, así como trozos de código encerrados en un par de delimitadores coincidentes. Los siguientes comandos tratan con expresiones balanceadas (en Emacs, tales expresiones se denominan internamente sexps14).</p>
<dl class="simple">
<dt>C-M-f</dt><dd><p>Avanza sobre una expresión equilibrada (forward-sexp).</p>
@ -421,8 +425,9 @@ pantalla.</p>
</div></blockquote>
<p>Para activar el modo Par Eléctrico, escriba M-x electric-pair-mode. Para activar el modo en un único búfer, use M-x electric-pair-local-mode.</p>
</section>
</section>
<section id="manipulacion-de-comentarios">
<span id="id2"></span><h2>27.5. Manipulación de Comentarios<a class="headerlink" href="#manipulacion-de-comentarios" title="Link to this heading"></a></h2>
<span id="id5"></span><h2>27.5. Manipulación de Comentarios<a class="headerlink" href="#manipulacion-de-comentarios" title="Link to this heading"></a></h2>
<p>Debido a que los comentarios son una parte tan importante de la programación, Emacs proporciona comandos especiales para editar e insertar comentarios. También puede revisar la ortografía de los comentarios con el modo Flyspell Prog (ver Revisar y Corregir la Ortografía).</p>
<p>Algunos modos principales tienen reglas especiales para sangrar diferentes tipos de comentarios. Por ejemplo, en el código Lisp, los comentarios que empiezan con dos puntos y coma tienen sangría como si fueran líneas de código, mientras que los que empiezan con tres puntos y coma se supone que están alineados con el margen izquierdo y se usan a menudo para seccionar. Emacs entiende estas convenciones; por ejemplo, si se escribe TAB en una línea de comentario, el comentario se sangrará a la posición adecuada.</p>
<blockquote>
@ -468,14 +473,14 @@ C-c C-c (in C-like modes)</p>
<p>Para modos similares a C, puede configurar el efecto exacto de M-; estableciendo las variables c-indent-comment-alist y c-indent-comments-syntactically-p. Por ejemplo, en una línea que termina en una llave de cierre, M-; pone el comentario un espacio después de la llave en lugar de en la columna-comentario. Para más detalles, consulte Comandos de Comentario en el Manual del Modo CC.</p>
<p>27.5.2 Varias Líneas de Comentarios</p>
<p>Si está escribiendo un comentario y desea continuarlo en otra línea, escriba M-j o C-M-j (default-indent-new-line). Esto rompe la línea actual e inserta los delimitadores de comentario y la sangría necesarios para continuar el comentario.</p>
<p>Para lenguajes con delimitadores de comentario de cierre (por ejemplo, “<a href="#id3"><span class="problematic" id="id4">*</span></a>/” en C), el comportamiento exacto de M-j depende del valor de la variable comment-multi-line. Si el valor es nulo, el comando cierra el comentario en la línea anterior e inicia un nuevo comentario en la nueva línea. En caso contrario, abre una nueva línea dentro de los delimitadores de comentario actuales.</p>
<p>Para lenguajes con delimitadores de comentario de cierre (por ejemplo, “<a href="#id6"><span class="problematic" id="id7">*</span></a>/” en C), el comportamiento exacto de M-j depende del valor de la variable comment-multi-line. Si el valor es nulo, el comando cierra el comentario en la línea anterior e inicia un nuevo comentario en la nueva línea. En caso contrario, abre una nueva línea dentro de los delimitadores de comentario actuales.</p>
<p>Cuando el modo Relleno automático (Auto Fill mode) está activado, pasar la columna de relleno mientras se escribe un comentario también continúa el comentario, del mismo modo que una invocación explícita de M-j.</p>
<p>Para convertir líneas existentes en líneas de comentario, use M-; con la región activa, o use M-x comment-region como se describe en la sección anterior.</p>
<p>Puede configurar el modo C para que cuando escriba una “/” al principio de una línea en un comentario de bloque multilínea, se cierre el comentario. Para ello, active la función de limpieza comment-close-slash. Vea Limpiezas en el Manual del Modo CC.</p>
<p>27.5.3 Opciones que Controlan los Comentarios</p>
<p>Como se mencionó en Comandos de comentario, cuando el comando M-j añade un comentario a una línea, intenta colocar el comentario entre las columnas especificadas por las variables locales del búfer comment-column (columna-comentario) y comment-fill-column (o si es nil, entonces el valor de fill-column, ver Comandos Explícitos de Relleno). Puede establecer el valor local o el valor por defecto de estas variables locales del búfer de la forma habitual (consulte Variables Locales). Alternativamente, puede teclear C-x ; (comment-set-column) para establecer el valor de comment-column en el búfer actual a la columna donde se encuentra actualmente el punto. C-u C-x ; establece la columna de comentario para que coincida con el último comentario antes del punto en el búfer, y luego hace un M-; para alinear el comentario de la línea actual bajo el anterior.</p>
<p>Los comandos de comentario reconocen los comentarios basándose en la expresión regular que es el valor de la variable comment-start-skip. Asegúrese de que esta expresión regular no coincide con la cadena nula. Puede coincidir con más que el delimitador de inicio de comentario en el sentido más estricto de la palabra; por ejemplo, en modo C el valor de la variable podría ser «/\*+[ t]*|//+[ t]*», que coincide con asteriscos y espacios extra después del propio “/<a href="#id5"><span class="problematic" id="id6">*</span></a>”, y acepta también comentarios estilo C++ (“//”). (Observe que “\' es necesario en la sintaxis Lisp para incluir un “' en la cadena, que es necesario para negar a la primera estrella su significado especial en la sintaxis expreg. Véase Barra Invertida en Expresiones Regulares).</p>
<p>Cuando un comando comment crea un nuevo comentario, inserta el valor de comment-start como delimitador de apertura del comentario. También inserta el valor de comment-end después del punto, como delimitador de cierre del comentario. Por ejemplo, en modo Lisp, comment-start es “»;»” y comment-end es «» (la cadena vacía). En modo C, comment-start es «/* « y comment-end es « <a href="#id7"><span class="problematic" id="id8">*</span></a>/».</p>
<p>Los comandos de comentario reconocen los comentarios basándose en la expresión regular que es el valor de la variable comment-start-skip. Asegúrese de que esta expresión regular no coincide con la cadena nula. Puede coincidir con más que el delimitador de inicio de comentario en el sentido más estricto de la palabra; por ejemplo, en modo C el valor de la variable podría ser «/\*+[ t]*|//+[ t]*», que coincide con asteriscos y espacios extra después del propio “/<a href="#id8"><span class="problematic" id="id9">*</span></a>”, y acepta también comentarios estilo C++ (“//”). (Observe que “\' es necesario en la sintaxis Lisp para incluir un “' en la cadena, que es necesario para negar a la primera estrella su significado especial en la sintaxis expreg. Véase Barra Invertida en Expresiones Regulares).</p>
<p>Cuando un comando comment crea un nuevo comentario, inserta el valor de comment-start como delimitador de apertura del comentario. También inserta el valor de comment-end después del punto, como delimitador de cierre del comentario. Por ejemplo, en modo Lisp, comment-start es “»;»” y comment-end es «» (la cadena vacía). En modo C, comment-start es «/* « y comment-end es « <a href="#id10"><span class="problematic" id="id11">*</span></a>/».</p>
<p>La variable comment-padding especifica una cadena que los comandos de comentario deben insertar entre el delimitador o delimitadores del comentario y el texto del comentario. El valor por defecto, “» «”, especifica un único espacio. Alternativamente, el valor puede ser un número, que especifica ese número de espacios, o nil, que significa ningún espacio.</p>
<p>La variable comment-multi-line controla cómo M-j y el modo Auto Fill continúan los comentarios en múltiples líneas. Véase Múltiples Líneas de Comentarios.</p>
<p>La variable comment-indent-function debe contener una función que será llamada para calcular la alineación de un comentario recién insertado o para alinear un comentario existente. Se establece de forma diferente en los distintos modos principales. La función se llama sin argumentos, pero con un punto al principio del comentario, o al final de una línea si se va a insertar un nuevo comentario. Debe devolver la columna en la que debe comenzar el comentario. Por ejemplo, la función por defecto basa su decisión en cuántos caracteres de comentario comienzan un comentario existente.</p>
@ -493,7 +498,7 @@ 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="#id9"><span class="problematic" id="id10">*</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="#id12"><span class="problematic" id="id13">*</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>
@ -585,7 +590,7 @@ comentarios). El valor por defecto es code.</p>
</dl>
</section>
<section id="completado-de-nombres-de-simbolos">
<span id="id11"></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="id14"></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>
@ -671,7 +676,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="#id12"><span class="problematic" id="id13">*</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="#id15"><span class="problematic" id="id16">*</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>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -667,7 +667,7 @@ Véase Ejecutar un Lisp externo.</p>
<p>Tenga en cuenta que instalar un paquete usando package-install (ver Instalación de Paquetes) se encarga de colocar los archivos Lisp del paquete en un directorio donde Emacs los encuentre, y también escribe el código de inicialización necesario en sus archivos init, haciendo innecesarias las personalizaciones manuales anteriores.</p>
</section>
<section id="evaluacion-de-expresiones-emacs-lisp">
<h2>28.9. Evaluación de Expresiones Emacs Lisp<a class="headerlink" href="#evaluacion-de-expresiones-emacs-lisp" title="Link to this heading"></a></h2>
<span id="id7"></span><h2>28.9. Evaluación de Expresiones Emacs Lisp<a class="headerlink" href="#evaluacion-de-expresiones-emacs-lisp" title="Link to this heading"></a></h2>
<p>El modo Emacs Lisp es el modo principal para editar Emacs Lisp. Su comando de modo es M-x emacs-lisp-mode.</p>
<p>Emacs proporciona varios comandos para evaluar expresiones Emacs Lisp. Puedes usar estos comandos en modo Emacs Lisp, para probar tu código Emacs Lisp mientras se escribe. Por ejemplo, después de reescribir una función, puede evaluar la definición de la función para que tenga efecto en las siguientes llamadas a la función. Estos comandos también están disponibles globalmente, y pueden usarse fuera del modo Emacs Lisp.</p>
<dl class="simple">
@ -698,7 +698,7 @@ M-x eval-defun</p>
<p>Las opciones eval-expression-print-level y eval-expression-print-length controlan la profundidad y longitud máximas de las listas que se imprimirán en el resultado de los comandos de evaluación antes de abreviarlos. Si se proporciona un argumento de prefijo cero a eval-expression o eval-last-sexp, las listas se imprimen completas. eval-expression-debug-on-error controla si los errores de evaluación invocan al depurador cuando se usan estos comandos; su valor por defecto es t. eval-expression-print-maximum-character evita que los enteros que sean mayores que él se muestren como caracteres.</p>
</section>
<section id="buferes-de-interaccion-lisp">
<span id="id7"></span><h2>28.10. Búferes de Interacción Lisp<a class="headerlink" href="#buferes-de-interaccion-lisp" title="Link to this heading"></a></h2>
<span id="id8"></span><h2>28.10. Búferes de Interacción Lisp<a class="headerlink" href="#buferes-de-interaccion-lisp" title="Link to this heading"></a></h2>
<p>Cuando Emacs arranca, contiene un búfer llamado <em>scratch</em>, que se proporciona para evaluar expresiones Emacs Lisp interactivamente. Su modo principal es el modo de Interacción Lisp. También puede activar el modo de interacción de Lisp escribiendo M-x lisp-interaction-mode.</p>
<p>Si elimina el búfer <em>scratch</em>, puede volver a crearlo con la orden M-x scratch-buffer.</p>
<p>En el búfer <em>scratch</em> y en otros búferes del modo de interacción de Lisp, C-j (eval-print-last-sexp) evalúa la expresión Lisp anterior al punto e inserta el valor en el punto. Así, al escribir expresiones en el búfer seguidas de C-j después de cada expresión, el búfer registra una transcripción de las expresiones evaluadas y sus valores. Todos los demás comandos en el modo Lisp Interaction son los mismos que en el modo Emacs Lisp.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -145,7 +145,7 @@
<div itemprop="articleBody">
<section id="abreviaturas">
<h1>30 Abreviaturas<a class="headerlink" href="#abreviaturas" title="Link to this heading"></a></h1>
<span id="id1"></span><h1>30 Abreviaturas<a class="headerlink" href="#abreviaturas" title="Link to this heading"></a></h1>
<p>Una abreviatura definida es una palabra que se expande, si la inserta, en un texto diferente. Los abreviaturas son definidas por el Usuario para que se expandan de formas específicas. Por ejemplo, puede definir “foo” como una abreviatura que se expande a “encontrar nutria exterior”. A continuación, puede insertar «encontrar nutria exterior» en el búfer escribiendo f o o SPC.</p>
<p>Un segundo tipo de abreviatura se denomina expansión dinámica de abreviaturas. Usted usa la expansión dinámica de abreviaturas con un comando explícito para expandir las letras en el búfer antes del punto buscando otras palabras en el búfer que empiecen con esas letras. Véase Expansión Abreviada Dinámica.</p>
<p>Un tercer tipo, la expansión hippie, generaliza la expansión de abreviaturas. Véase Expansión Hippie en Características de la Escritura Automática.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -372,7 +372,7 @@ valor personalizado, puede volver a obtener el valor descartado con esta operaci
</div></blockquote>
</section>
<section id="personalizacion-de-caras">
<h3>50.1.5. Personalización de Caras<a class="headerlink" href="#personalizacion-de-caras" title="Link to this heading"></a></h3>
<span id="id3"></span><h3>50.1.5. Personalización de Caras<a class="headerlink" href="#personalizacion-de-caras" title="Link to this heading"></a></h3>
<p>Puede personalizar las caras (ver Caras de Texto), que determinan cómo Emacs muestra los diferentes tipos de texto. Los grupos de personalización pueden contener tanto variables como caras.</p>
<p>Por ejemplo, en los modos de lenguaje de programación, los comentarios del código fuente se muestran con font-lock-comment-face (ver Modo Font Lock). En un búfer de personalización, esa cara aparece así, después de hacer clic en el enlace “[Show All Atributes”] (Mostrar todos los atributos)</p>
<blockquote>
@ -482,7 +482,7 @@ M-x customize-variable RET opción RET</p>
</section>
</section>
<section id="variables">
<span id="id3"></span><h2>50.2 Variables<a class="headerlink" href="#variables" title="Link to this heading"></a></h2>
<span id="id4"></span><h2>50.2 Variables<a class="headerlink" href="#variables" title="Link to this heading"></a></h2>
<p>Una variable es un símbolo Lisp que tiene un valor. El nombre del símbolo también se denomina nombre de la variable. Un nombre de variable puede contener cualquier carácter que pueda aparecer en un fichero, pero la mayoría de los nombres de variable consisten en palabras ordinarias separadas por guiones.</p>
<p>El nombre de la variable sirve como descripción compacta de su función. La mayoría de las variables también tienen una cadena de documentación, que describe cuál es el propósito de la variable, qué tipo de valor debe tener y cómo se utilizará el valor. Puede ver esta documentación utilizando el comando de ayuda C-h v (describe-variable). Véase Examinar y Configurar Variables.</p>
<p>Emacs usa muchas variables Lisp para el mantenimiento de registros internos, pero las variables más interesantes para un Usuario no programador son aquellas destinadas a que Ellos las cambien, estas se llaman variables personalizables u opciones de Usuario (ver Interfaz de Personalización Fácil). En las siguientes secciones, describiremos otros aspectos de las variables de Emacs, como por ejemplo cómo configurarlas fuera de Personalizar.</p>
@ -629,19 +629,19 @@ lambda () (c-add-style «my-style» my-c-style t)))</p>
</div></blockquote>
<p>Aparte de mode, otras palabras clave que tienen significados especiales como variables de archivo son coding, unibyte y eval. Éstas se describen a continuación.</p>
<p>En los scripts de shell, la primera línea se usa para identificar al intérprete del script, por lo que no puede poner ninguna variable local ahí. Para acomodar esto, Emacs busca especificaciones de variables locales en la segunda línea si la primera línea especifica un intérprete. Lo mismo ocurre con las páginas man que empiezan con la cadena mágica “”&quot;” para especificar una lista de preprocesadores troff (no todos lo hacen, sin embargo).</p>
<p>Aparte de usar una línea “-<a href="#id4"><span class="problematic" id="id5">*</span></a>-”, puede definir variables locales de archivo usando una lista de variables locales cerca del final del fichero. El comienzo de la lista de variables locales no debe estar a más de 3000 caracteres del final del archivo, y debe estar en la última página si el fichero está dividido en páginas.</p>
<p>Aparte de usar una línea “-<a href="#id5"><span class="problematic" id="id6">*</span></a>-”, puede definir variables locales de archivo usando una lista de variables locales cerca del final del fichero. El comienzo de la lista de variables locales no debe estar a más de 3000 caracteres del final del archivo, y debe estar en la última página si el fichero está dividido en páginas.</p>
<p>Si un archivo tiene tanto una lista de variables locales como una línea “-<em>-”, Emacs procesa todo lo que hay en la línea “-</em>-” primero, y todo lo que hay en la lista de variables locales después. La excepción a esto es una especificación de modo principal. Emacs aplica esto primero, dondequiera que aparezca, ya que la mayoría de los modos principales matan todas las variables locales como parte de su inicialización.</p>
<p>Una lista de variables locales comienza con una línea que contiene la cadena “Local Variables:” (Variables Locales), y termina con una línea que contiene la cadena “End:” (Fin). En medio vienen los nombres y valores de las variables, un conjunto por línea, así:</p>
<blockquote>
<div><p>/* Local Variables: <em>/
/</em> mode: c <em>/
/</em> comment-column: 0 <em>/
/</em> End: <a href="#id6"><span class="problematic" id="id7">*</span></a>/</p>
/</em> End: <a href="#id7"><span class="problematic" id="id8">*</span></a>/</p>
</div></blockquote>
<p>En este ejemplo, cada línea comienza con el prefijo “/<em>” y termina con el sufijo “</em>/”. Emacs reconoce el prefijo y el sufijo encontrándolos rodeando la cadena mágica “Local Variables:”, en la primera línea de la lista; luego los descarta automáticamente de las otras líneas de la lista. La razón habitual para utilizar un prefijo y/o sufijo es incrustar la lista de variables locales en un comentario, para que no confunda a otros programas a los que va destinado el archivo. El ejemplo anterior es para el lenguaje de programación C, donde los comentarios comienzan con “/<em>” y terminan con “</em>/”.</p>
<p>Si algún texto no relacionado pudiera parecerle a Emacs una lista de variables locales, puedes contrarrestarlo insertando un carácter de salto de página (un delimitador de página, ver Páginas) después de ese texto. Emacs sólo busca variables locales de fichero en la última página de un fichero, después del último delimitador de página.</p>
<p>En lugar de escribir directamente la lista de variables locales, puede utilizar el comando M-x add-file-local-variable. Este comando solicita una variable y un valor, y los añade a la lista, añadiendo la cadena “Local Variables:” y los marcadores de inicio y fin según sea necesario. El comando M-x delete-file-local-variable borra una variable de la lista. M-x copy-dir-locals-to-file-locals copia variables locales de directorio a la lista (ver Variables locales por directorio).</p>
<p>Al igual que con la línea “-<a href="#id8"><span class="problematic" id="id9">*</span></a>-”, las variables de una lista de variables locales se utilizan literalmente, y no se evalúan primero. Si desea dividir un valor de cadena largo en varias líneas del archivo, puede utilizar la barra invertida-nueva línea, que se ignora en las constantes de cadena de Lisp; debe poner el prefijo y el sufijo en cada línea, incluso en las líneas que comienzan o terminan dentro de la cadena, ya que se eliminarán al procesar la lista. He aquí un ejemplo:</p>
<p>Al igual que con la línea “-<a href="#id9"><span class="problematic" id="id10">*</span></a>-”, las variables de una lista de variables locales se utilizan literalmente, y no se evalúan primero. Si desea dividir un valor de cadena largo en varias líneas del archivo, puede utilizar la barra invertida-nueva línea, que se ignora en las constantes de cadena de Lisp; debe poner el prefijo y el sufijo en cada línea, incluso en las líneas que comienzan o terminan dentro de la cadena, ya que se eliminarán al procesar la lista. He aquí un ejemplo:</p>
<blockquote>
<div><p># Local Variables:
# comando-para-compilar: «cc foo.c -Dfoo=bar -Dhack=whatever # -Dmumble=blaah»
@ -776,11 +776,11 @@ mode: mi-nuevo-modo</p>
</section>
</section>
<section id="personalizar-las-combinaciones-de-teclas">
<span id="id10"></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="id11"></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="id11"></span><h3>50.3.1 Mapas de teclas<a class="headerlink" href="#mapas-de-teclas" title="Link to this heading"></a></h3>
<span id="id12"></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>
@ -906,7 +906,7 @@ mode: mi-nuevo-modo</p>
</div></blockquote>
</section>
<section id="teclas-modificadoras">
<span id="id12"></span><h3>50.3.7. Teclas Modificadoras<a class="headerlink" href="#teclas-modificadoras" title="Link to this heading"></a></h3>
<span id="id13"></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>
@ -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="#id13"><span class="problematic" id="id14">`</span></a>kill-region”.n»)</p>
<dt>(put “delete-region “disabled</dt><dd><p>«En su lugar es mejor usar <a href="#id14"><span class="problematic" id="id15">`</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="id15"></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="id16"></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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</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.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

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

View File

@ -186,6 +186,8 @@ Cuando ``line-move-visual`` es ``nil`` (nulo), también puede establecer la vari
``C-n`` normalmente se detiene al final del buffer cuando lo usa en la última línea del buffer. Sin embargo, si establece la variable next-line-add-newlines a un valor no nulo, ``C-n`` en la última línea de un buffer crea una línea adicional al final y se mueve hacia abajo en ella.
.. _8.3:
8.3 Borrar Texto
----------------

View File

@ -16,7 +16,7 @@ Si está buscando una determinada función, pero no sabe cómo se llama o dónde
:kbd:`Ctrl`-:kbd:`h` :kbd:`a` *argumento* :kbd:`RETURN` (``C-h a`` *argumento* ``RET``)
Busca comandos cuyos nombres coincidan con los temas del *argumento*. El argumento puede ser una palabra clave, una lista de palabras clave o una expresión regular (véase :ref:`16.66`). Véase :ref:`11.4`.
Busca comandos cuyos nombres coincidan con los temas del *argumento*. El argumento puede ser una palabra clave, una lista de palabras clave o una expresión regular (véase :ref:`16.6`). Véase :ref:`11.4`.
| :kbd:`Ctrl`-:kbd:`h` :kbd:`i`:kbd:`d`:kbd:`m` *emacs* :kbd:`RETURN` :kbd:`i` *argumento* :kbd:`RETURN`
| (``C-h i d m`` ``emacs`` ``RET`` ``i`` *argumento* ``RET``)
@ -404,7 +404,7 @@ Finalmente, ``M-x describe-keymap`` pide el nombre de un mapa de teclado, con f
11.9 Archivos de Ayuda
----------------------
Aparte de la documentación incorporada y los manuales, Emacs contiene otros archivos que describen temas como condiciones de copia, notas de la versión, instrucciones para depurar e informar de errores, etcétera. Puede utilizar los siguientes comandos para ver estos archivos. Aparte de :kbd:`Ctrl`-:kbd:`h` :kbd:`g` (``C-h g``), todos tienen la forma ``C-h C`` **char**.
Aparte de la documentación incorporada y los manuales, Emacs contiene otros archivos que describen temas como condiciones de copia, notas de la versión, instrucciones para depurar e informar de errores, etcétera. Puede utilizar los siguientes comandos para ver estos archivos. Aparte de :kbd:`Ctrl`-:kbd:`h` :kbd:`g` (``C-h g``), todos tienen la forma ``C-h`` *char*.
:kbd:`Ctrl`-:kbd:`h` :kbd:`Ctrl`-:kbd:`Ctrl`-:kbd:`c` (``C-h C-c``)
@ -455,7 +455,7 @@ Aparte de la documentación incorporada y los manuales, Emacs contiene otros arc
11.10 Ayuda sobre Texto Activo y Tooltips
-----------------------------------------
En Emacs, los tramos de texto activo (texto que hace algo especial en respuesta a clics del ratón o ``RET``) 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 tooltip. **Véase Información sobre Herramientas**.
En Emacs, los tramos de *texto activo* (texto que hace algo especial en respuesta a clics del ratón o ``RET``) 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 *Sugerencia sobre Herramientas* (tooltip). Véase :ref:`22.19`.
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 (``C-h .``, ``display-local-help``). 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 ``help-at-pt-display-when-idle`` a ``t``.

View File

@ -9,19 +9,21 @@ La región es la porción del buffer entre *la marca* y la posición actual del
La región siempre se extiende entre el punto y la marca, independientemente de cuál de ellos se encuentre antes en el texto; cada vez que mueve el punto, la región cambia.
Al colocar la marca en una posición del texto, ésta se activa. Cuando la marca está activa, decimos también que la región está activa; Emacs indica su extensión resaltando el texto dentro de ella, usando la cara de la ``region`` (**ver Personalizar Caras**).
Al colocar la marca en una posición del texto, ésta se *activa*. Cuando la marca está activa, decimos también que la región está activa; Emacs indica su extensión resaltando el texto dentro de ella, usando la cara de la ``region`` (ver :ref:`50.1.5`).
Después de ciertos comandos que no son de movimiento, incluyendo cualquier comando que cambie el texto en el buffer, Emacs desactiva automáticamente la marca; esto apaga el resaltado. También puede desactivar explícitamente la marca en cualquier momento, tecleando :kbd:`Ctrl`-:kbd:`g` (``C-g``) (**véase Salir y Abortar**).
Después de ciertos comandos que no son de movimiento, incluyendo cualquier comando que cambie el texto en el buffer, Emacs desactiva automáticamente la marca; esto apaga el resaltado. También puede desactivar explícitamente la marca en cualquier momento, tecleando :kbd:`Ctrl`-:kbd:`g` (``C-g``) (véase :ref:`51`).
Muchos comandos limitan el texto sobre el que actúan a la región activa. Por ejemplo, el comando :kbd:`Alt`-:kbd:`%` (``M-%``) (que reemplaza el texto coincidente) normalmente funciona en toda la porción accesible del buffer, pero si tiene una región activa, funcionará sólo en esa región.
La marca es útil aunque no esté activa. Por ejemplo, puede desplazarse a ubicaciones de marcas anteriores usando el anillo de marcas. **Véase El Anillo de Marcas**. Además, algunos comandos tendrán efecto incluso en una región inactiva (por ejemplo, ``upcase-region``). También puede reactivar la región con comandos como :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` (``C-x C-x``).
La marca es útil aunque no esté activa. Por ejemplo, puede desplazarse a ubicaciones de marcas anteriores usando el anillo de marcas. Véase :ref:`12.4`. Además, algunos comandos tendrán efecto incluso en una región inactiva (por ejemplo, *upcase-region*). También puede reactivar la región con comandos como :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` (``C-x C-x``).
El comportamiento anterior, que es el predeterminado en las sesiones interactivas, se conoce como modo Marca Transitoria. Deshabilitando el modo de Marca Transitoria cambia Emacs a un comportamiento alternativo, en el que la región normalmente no está resaltada. **Véase Desactivar el Modo de Marca Transitoria**.
El comportamiento anterior, que es el predeterminado en las sesiones interactivas, se conoce como modo Marca Transitoria. Deshabilitando el modo de Marca Transitoria cambia Emacs a un comportamiento alternativo, en el que la región normalmente no está resaltada. Véase :ref:`12.6`.
Establecer la marca en un buffer no tiene efecto en las marcas de otros buffers. Cuando vuelva a un búfer con una marca activa, la marca estará en el mismo lugar que antes. Cuando varias ventanas muestran el mismo búfer, pueden tener diferentes valores de punto y, por tanto, diferentes regiones, pero todas comparten una posición de marca común. Véase Ventanas Múltiples. Normalmente, sólo la ventana seleccionada resalta su región; sin embargo, si la variable ``highlight-nonselected-windows`` es distinta de ``nil``, cada ventana resalta su propia región.
Establecer la marca en un buffer no tiene efecto en las marcas de otros buffers. Cuando vuelva a un búfer con una marca activa, la marca estará en el mismo lugar que antes. Cuando varias ventanas muestran el mismo búfer, pueden tener diferentes valores de punto y, por tanto, diferentes regiones, pero todas comparten una posición de marca común. Véase :ref:`21`. Normalmente, sólo la ventana seleccionada resalta su región; sin embargo, si la variable ``highlight-nonselected-windows`` es distinta de ``nil``, cada ventana resalta su propia región.
Existe otro tipo de región: la región rectangular. **Véase Rectángulos**.
Existe otro tipo de región: la región rectangular. Véase :ref:`13.5`.
.. _12.1:
12.1 Fijar la Marca
-------------------
@ -40,32 +42,32 @@ A continuación se indican algunos comandos para fijar la marca:
Coloca la marca en el punto y la activa; a continuación, mueve el punto donde estaba la marca (``exchange-point-and-mark``).
Arrastrar con ratón-1
Arrastrar con ``ratón-1``
Establece el punto y la marca alrededor del texto que arrastra.
ratón-3
``ratón-3``
Coloca la marca en el punto y, a continuación, desplaza el punto al lugar en el que hace clic (``mouse-save-then-kill``).
Desplazar con Teclas de Movimiento del Cursor
Fija la marca en el punto si la marca está inactiva, luego mueve el punto. **Véase Desplazar Selección**.
Fija la marca en el punto si la marca está inactiva, luego mueve el punto. Véase :ref:`12.6`.
La forma más común de fijar la marca es con ``C-SPC`` (``set-mark-command``) [5]_. Esto fija la marca donde está el punto, y la activa. A continuación, puede mover el punto, dejando la marca detrás.
Por ejemplo, supongamos que desea convertir parte del búfer a mayúsculas. Para ello, vaya a un extremo del texto deseado, escriba :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC``) y mueva el punto hasta que la parte deseada del texto quede resaltada. Ahora teclee :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`u` (``C-x C-u``, región de mayúsculas). Esto convierte el texto de la región a mayúsculas y desactiva la marca.
Por ejemplo, supongamos que desea convertir parte del búfer a mayúsculas. Para ello, vaya a un extremo del texto deseado, escriba :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC``) y mueva el punto hasta que la parte deseada del texto quede resaltada. Ahora teclee :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`u` (``C-x C-u``, ``upcase-region``, región de mayúsculas). Esto convierte el texto de la región a mayúsculas y desactiva la marca.
Siempre que la marca esté activa, puede desactivarla tecleando :kbd:`Ctrl`-:kbd:`g` (``C-g``) (**véase Salir y abortar**). La mayoría de los comandos que operan sobre la región también desactivan automáticamente la marca, como ``C-x C-u`` en el ejemplo anterior.
Siempre que la marca esté activa, puede desactivarla tecleando :kbd:`Ctrl`-:kbd:`g` (``C-g``) (véase :ref:`51`). La mayoría de los comandos que operan sobre la región también desactivan automáticamente la marca, como ``C-x C-u`` en el ejemplo anterior.
En lugar de activar la marca para operar en una región, también puede usarla para recordar una posición en el buffer (tecleando :kbd:`Ctrl`-:kbd:`SPACE` :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC C-SPC``)), y más tarde saltar de nuevo allí (tecleando :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`SPACE` (``C-u C-SPC``)). **Véase El Anillo de Marcas**, para más detalles.
En lugar de activar la marca para operar en una región, también puede usarla para recordar una posición en el buffer (tecleando :kbd:`Ctrl`-:kbd:`SPACE` :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC C-SPC``)), y más tarde saltar de nuevo allí (tecleando :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`SPACE` (``C-u C-SPC``)). Véase :ref:`12.4`, para más detalles.
El comando :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` (``C-x C-x``, ``exchange-point-and-mark``) intercambia las posiciones del punto y la marca. :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` (``C-x C-x``) es útil cuando está satisfecho con la posición del punto pero desea mover el otro extremo de la región (donde está la marca). Si es necesario, al usar ``C-x C-x`` por segunda vez, la marca se coloca en la nueva posición y el punto vuelve a su posición original. Normalmente, si la marca está inactiva, este comando reactiva primero la marca donde se fijó por última vez, para asegurarse de que la región queda resaltada. Sin embargo, si lo llama con un argumento prefijo, deja la marca inactiva y la región sin resaltar; puede usarlo para saltar a la marca de forma similar a ``C-u C-SPC``.
También puede fijar la marca con el ratón. Si pulsa el botón izquierdo del ratón (``down-mouse-1``) y arrastra el ratón a través de un rango de texto, esto establece la marca donde pulsó por primera vez el botón del ratón y pone el punto donde lo suelta. Alternativamente, pulsar el botón derecho del ratón (``mouse-3``, ratón-3) fija la marca en el punto y luego mueve el punto al lugar donde pulsó. Para una descripción más detallada de estos comandos del ratón, **véase Comandos del Ratón para Editar**.
También puede fijar la marca con el ratón. Si pulsa el botón izquierdo del ratón (``down-mouse-1``) y arrastra el ratón a través de un rango de texto, esto establece la marca donde pulsó por primera vez el botón del ratón y pone el punto donde lo suelta. Alternativamente, pulsar el botón derecho del ratón (``mouse-3``, ratón-3) fija la marca en el punto y luego mueve el punto al lugar donde pulsó. Para una descripción más detallada de estos comandos del ratón, véase :ref:`22.1`.
Por último, puede fijar la marca manteniendo pulsada la tecla Mayús (:kbd:`Shift`) mientras escribe determinados comandos de movimiento del cursor (como ``S-DERECHA`` (:kbd:`Shift`-:kbd:`→`), ``S-C-f`` (:kbd:`Shift`-:kbd:`Ctrl`-:kbd:`f`), ``S-C-n`` (:kbd:`Shift`-:kbd:`Ctrl`-:kbd:`n`), etc.). Esto se denomina *selección de mayúsculas*. Establece la marca en el punto antes de mover el punto, pero sólo si no hay ninguna marca activa establecida mediante una selección de mayúsculas anterior o comandos del ratón. La marca establecida por comandos del ratón y por la selección con mayúsculas se comporta de forma ligeramente diferente a la marca habitual: cualquier comando de movimiento del cursor sin mayúsculas posterior la desactiva automáticamente. Para más detalles, **consulte Selección por Desplazamientos**.
Por último, puede fijar la marca manteniendo pulsada la tecla Mayús (:kbd:`Shift`) mientras escribe determinados comandos de movimiento del cursor (como ``S-DERECHA`` (:kbd:`Shift`-:kbd:`→`), ``S-C-f`` (:kbd:`Shift`-:kbd:`Ctrl`-:kbd:`f`), ``S-C-n`` (:kbd:`Shift`-:kbd:`Ctrl`-:kbd:`n`), etc.). Esto se denomina *selección de mayúsculas*. Establece la marca en el punto antes de mover el punto, pero sólo si no hay ninguna marca activa establecida mediante una selección de mayúsculas anterior o comandos del ratón. La marca establecida por comandos del ratón y por la selección con mayúsculas se comporta de forma ligeramente diferente a la marca habitual: cualquier comando de movimiento del cursor sin mayúsculas posterior la desactiva automáticamente. Para más detalles, consulte :ref:`12.6`.
Muchos comandos que insertan texto, como :kbd:`Ctrl`-:kbd:`y` (``C-y``, ``yank``), fijan la marca en el otro extremo del texto insertado, sin activarla. Esto le permite volver fácilmente a esa posición (**véase El Anillo de Marcas**). Puede saber que un comando hace esto cuando muestra ``Mark set`` (Marca fijada) en el área de eco.
Muchos comandos que insertan texto, como :kbd:`Ctrl`-:kbd:`y` (``C-y``, ``yank``), fijan la marca en el otro extremo del texto insertado, sin activarla. Esto le permite volver fácilmente a esa posición (véase :ref:`12.4`). Puede saber que un comando hace esto cuando muestra ``Mark set`` (Marca fijada) en el área de eco.
En X, cada vez que la región activa cambia, Emacs guarda el texto de la región en la *selección primaria*a6. Esto le permite insertar ese texto en otras aplicaciones X con 2 clics del ratón. **Ver Cortar y Pegar con Otras Aplicaciones de Ventana**.
En X, cada vez que la región activa cambia, Emacs guarda el texto de la región en la *selección primaria*. Esto le permite insertar ese texto en otras aplicaciones X haciendo clic con ``ratón-2``. Ver :ref:`13.3.2`.
.. [5] No existe un carácter ``C-SPC`` en ASCII; normalmente, al teclear ``C-SPC`` en un terminal de texto se obtiene el carácter ``C-@``. Esta tecla también está vinculada a ``set-mark-command``, por lo que a menos que tenga la mala suerte de tener un terminal de texto que se comporte de forma diferente, puede pensar en ``C-@`` como ``C-SPC``.
@ -100,46 +102,49 @@ Estos son los comandos para colocar el punto y la marca alrededor de un objeto t
Mueve el punto al principio del buffer, y fija la marca al final (``mark-whole-buffer``).
``M-@``, (``mark-word``, marcar palabra) coloca la marca al final de la palabra siguiente (**véase Palabras**, para obtener información sobre las palabras). Las invocaciones repetidas de este comando amplían la región haciendo avanzar la marca una palabra cada vez. Como excepción, si la marca está activa y situada antes del punto, ``M-@`` desplaza la marca hacia atrás desde su posición actual una palabra cada vez.
``M-@``, (``mark-word``, marcar palabra) coloca la marca al final de la palabra siguiente (véase :ref:`26.1`, para obtener información sobre las palabras). Las invocaciones repetidas de este comando amplían la región haciendo avanzar la marca una palabra cada vez. Como excepción, si la marca está activa y situada antes del punto, ``M-@`` desplaza la marca hacia atrás desde su posición actual una palabra cada vez.
Este comando también acepta un argumento numérico *n*, que le indica que avance la marca *n* palabras. Un argumento negativo *-n* hace retroceder la marca *n* palabras.
Del mismo modo, ``C-M-@`` (``marca-sexp``) coloca la marca al final de la siguiente expresión equilibrada (**véase Expresiones con Paréntesis Equilibrados**). Las invocaciones repetidas extienden la región a expresiones posteriores, mientras que los argumentos numéricos positivos o negativos desplazan la marca hacia delante o hacia atrás el número de expresiones especificado.
Del mismo modo, ``C-M-@`` (``marca-sexp``) coloca la marca al final de la siguiente expresión equilibrada (véase :ref:`27.4.1`). Las invocaciones repetidas extienden la región a expresiones posteriores, mientras que los argumentos numéricos positivos o negativos desplazan la marca hacia delante o hacia atrás el número de expresiones especificado.
Los demás comandos de la lista anterior establecen tanto el punto como la marca, para delimitar un objeto en el búfer. ``M-h`` (``mark-paragraph``) marca párrafos (véase Párrafos), ``C-M-h`` (``mark-defun``) marca definiciones de nivel superior (**véase Moverse por Definiciones de Función**), y ``C-x C-p`` (``mark-page``) marca páginas (véase Páginas). Las invocaciones repetidas juegan de nuevo el mismo papel, extendiendo la región a objetos consecutivos; de forma similar, los argumentos numéricos especifican por cuántos objetos mover la marca.
Los demás comandos de la lista anterior establecen tanto el punto como la marca, para delimitar un objeto en el búfer. ``M-h`` (``mark-paragraph``) marca párrafos (véase véase :ref:`26.4`), ``C-M-h`` (``mark-defun``) marca definiciones de nivel superior (véase :ref:`27.2`), y ``C-x C-p`` (``mark-page``) marca páginas. Las invocaciones repetidas juegan de nuevo el mismo papel, extendiendo la región a objetos consecutivos; de forma similar, los argumentos numéricos especifican por cuántos objetos mover la marca.
``C-x h`` (``mark-whole-buffer``) establece todo el buffer como región, poniendo el punto al principio y la marca al final.
.. _12.3:
12.3 Operar en la Región
------------------------
Una vez que tenga una región, aquí tiene algunas formas de operar sobre ella:
* Matar con :kbd:`Ctrl`-:kbd:`w` (``C-w``, **ver Matar y Mover Texto**).
* Copiar en el anillo de muerte con :kbd:`Alt`-:kbd:`w` (``M-w``, **vea Matar y Mover Texto**).
* Convertir mayúsculas y minúsculas con :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`l` (``C-x C-l``) o :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`u` (``C-x C-u``) (**ver Comandos de Conversión
de Mayúsculas y Minúsculas**).
* Deshacer los cambios en su interior con :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd`/` (``C-u C-/``, **ver Deshacer**).
* Reemplazar texto con :kbd:`Alt`-:kbd:`%` (``M-%``, **ver Reemplazar Consulta**).
* Aplicar sangría con :kbd:`Ctrl`-:kbd:`x` :kbd:`TAB` (``C-x TAB``) o :kbd:`Ctrl`-:kbd:`Alt`-:kbd:`\\` (``C-M-\`` , **ver Sangría**).
* Rellénelo como texto con :kbd:`Alt`-:kbd:`x` (``M-x``) rellenar-región (**véase Rellenar Texto**).
* Comprobar la ortografía de las palabras que contiene con :kbd:`Alt`-:kbd:`$` (``M-$``, **consulte Comprobación y Corrección de la Ortografía**).
* Evaluar como código Lisp con ``M-x`` **eval-region** (**vea Evaluando Expresiones Emacs Lisp**).
* Guardar en un registro con :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`s` (``C-x r s``, **vea Registros**).
* Guardarlo en un buffer o en un fichero (**vea Acumulación de Texto**).
* Matar con :kbd:`Ctrl`-:kbd:`w` (``C-w``, ver :ref:`13`).
* Copiar en el anillo de muerte con :kbd:`Alt`-:kbd:`w` (``M-w``, vea :ref:`13.2`).
* Convertir mayúsculas y minúsculas con :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`l` (``C-x C-l``) o :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`u` (``C-x C-u``) (ver :ref:`26.7`).
* Deshacer los cambios en su interior con :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd`/` (``C-u C-/``, ver :ref:`17.1`).
* Reemplazar texto con :kbd:`Alt`-:kbd:`%` (``M-%``, ver :ref:`16.10.4`).
* Aplicar sangría con :kbd:`Ctrl`-:kbd:`x` :kbd:`TAB` (``C-x TAB``) o :kbd:`Ctrl`-:kbd:`Alt`-:kbd:`\\` (``C-M-\`` , ver :ref:`25`).
* Rellenar como texto con :kbd:`Alt`-:kbd:`x` (``M-x``) ``fill-region`` (véase :ref:`26.6`).
* Comprobar la ortografía de las palabras que contiene con :kbd:`Alt`-:kbd:`$` (``M-$``, consulte :ref:`17.4`).
* Evaluar como código Lisp con ``M-x`` ``eval-region`` (vea :ref:`28.9`).
* Guardar en un registro con :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`s` (``C-x r s``, vea :ref:`14`).
* Guardarlo en un buffer o en un fichero (vea :ref:`13.4`).
Algunos comandos tienen un comportamiento por defecto cuando la marca está inactiva, pero operan en la región si la marca está activa. Por ejemplo, ``M-$`` (``ispell-word``) normalmente comprueba la ortografía de la palabra en el punto, pero comprueba el texto en la región si la marca está activa (**véase Comprobar y Corregir la Ortografía**). Normalmente, estos comandos utilizan su comportamiento por defecto si la región está vacía (es decir, si la marca y el punto están en la misma posición). Si desea que operen en la región vacía, cambie la variable ``use-empty-active-region`` a ``t``.
Algunos comandos tienen un comportamiento por defecto cuando la marca está inactiva, pero operan en la región si la marca está activa. Por ejemplo, ``M-$`` (``ispell-word``) normalmente comprueba la ortografía de la palabra en el punto, pero comprueba el texto en la región si la marca está activa (véase :ref:`17.4`). Normalmente, estos comandos utilizan su comportamiento por defecto si la región está vacía (es decir, si la marca y el punto están en la misma posición). Si desea que operen en la región vacía, cambie la variable ``use-empty-active-region`` a ``t``.
Como se describe en **Borrar texto**, los comandos ``DEL`` (``backward-delete-char``) y ``Delete`` (``delete-forward-char``) también actúan de esta forma. Si la marca está activa, borran el texto de la región. (Como excepción, si proporciona un argumento numérico *n*, donde *n* no es uno, estos comandos borran *n* caracteres independientemente de si la marca está activa). Si cambia la variable ``delete-active-region`` a ``nil``, estos comandos no actuarán de forma diferente cuando la marca esté activa. Si cambia el valor a matar, estos comandos matan la región en lugar de borrarla (**véase Matar y Mover Texto**).
Como se describe en :ref:`8.3` Borrar texto, los comandos ``DEL`` (``backward-delete-char``) y ``Delete`` (``delete-forward-char``) también actúan de esta forma. Si la marca está activa, borran el texto de la región. (Como excepción, si proporciona un argumento numérico *n*, donde *n* no es uno, estos comandos borran *n* caracteres independientemente de si la marca está activa). Si cambia la variable ``delete-active-region`` a ``nil``, estos comandos no actuarán de forma diferente cuando la marca esté activa. Si cambia el valor a *kill* (matar), estos comandos matan la región en lugar de borrarla (véase :ref:`13`).
Otros comandos operan siempre sobre la región y no tienen un comportamiento predeterminado. Estos comandos suelen llevar la palabra región en sus nombres, como ``C-w`` (``kill-region``) y ``C-x C-u`` (``upcase-region``). Si la marca está inactiva, actúan sobre la región inactiva, es decir, sobre el texto situado entre el punto y la posición en la que se estableció la marca por última vez (**véase El Anillo de Marcas**). Para desactivar este comportamiento, cambie la variable ``mark-even-if-inactive`` a ``nil``. Entonces estos comandos señalarán un error si la marca está inactiva.
Otros comandos operan siempre sobre la región y no tienen un comportamiento predeterminado. Estos comandos suelen llevar la palabra región en sus nombres, como ``C-w`` (``kill-region``) y ``C-x C-u`` (``upcase-region``). Si la marca está inactiva, actúan sobre la región inactiva, es decir, sobre el texto situado entre el punto y la posición en la que se estableció la marca por última vez (véase :ref:`12.1`). Para desactivar este comportamiento, cambie la variable ``mark-even-if-inactive`` a ``nil``. Entonces estos comandos señalarán un error si la marca está inactiva.
Por defecto, la inserción de texto se produce normalmente incluso si la marca está activa; por ejemplo, al escribir a se inserta el carácter ``a`` y, a continuación, se desactiva la marca. El modo Borrar selección (Delete Selection mode), un modo secundario, modifica este comportamiento: si activa este modo, la inserción de texto mientras la marca está activa hace que el texto de la región se borre primero. Sin embargo, puede ajustar este comportamiento personalizando la opción ``delete-selection-temporary-region`` (borrar-selección-región-temporal). Su valor predeterminado es ``nil``, pero puede establecerlo en ``t``, en cuyo caso sólo se reemplazarán las regiones temporalmente activas: las que se establezcan arrastrando el ratón (**véase Establecer la Marca**) o mediante selección con Mayúsculas (**véase Selección con Mayúsculas**), así como mediante :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` (``C-u C-x C-x``) cuando el Modo de Marca Transitoria esté desactivado. Puede ajustar aún más el comportamiento estableciendo ``delete-selection-temporary-region`` en ``selection``: entonces no se reemplazarán las regiones temporales mediante ``C-u C-x C-x``, sino sólo las activadas al arrastrar el ratón o mediante shift-selection. Para activar o desactivar el modo Eliminar selección (Delete Selection mode), escriba ``M-x delete-selection-mode``.
Por defecto, la inserción de texto se produce normalmente incluso si la marca está activa; por ejemplo, al escribir a se inserta el carácter ``a`` y, a continuación, se desactiva la marca. El modo Borrar selección (Delete Selection mode), un modo secundario, modifica este comportamiento: si activa este modo, la inserción de texto mientras la marca está activa hace que el texto de la región se borre primero. Sin embargo, puede ajustar este comportamiento personalizando la opción ``delete-selection-temporary-region`` (borrar-selección-región-temporal). Su valor predeterminado es ``nil``, pero puede establecerlo en ``t``, en cuyo caso sólo se reemplazarán las regiones temporalmente activas: las que se establezcan arrastrando el ratón (véase :ref:`12.1`) o mediante selección con Mayúsculas (véase :ref:`12.6`), así como mediante :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` (``C-u C-x C-x``) cuando el Modo de Marca Transitoria esté desactivado. Puede ajustar aún más el comportamiento estableciendo ``delete-selection-temporary-region`` en ``selection``: entonces no se reemplazarán las regiones temporales mediante ``C-u C-x C-x``, sino sólo las activadas al arrastrar el ratón o mediante shift-selection. Para activar o desactivar el modo Eliminar selección (Delete Selection mode), escriba ``M-x delete-selection-mode``.
.. _12.4:
12.4 El Anillo de Marcas
------------------------
Cada búfer recuerda las ubicaciones anteriores de la marca, en el anillo de marcas. Los comandos que fijan la marca también empujan la marca anterior a este anillo. Uno de los usos del anillo de marcas es recordar puntos a los que puede querer volver.
Cada búfer recuerda las ubicaciones anteriores de la marca, en el *anillo de marcas*. Los comandos que fijan la marca también empujan la marca anterior a este anillo. Uno de los usos del anillo de marcas es recordar puntos a los que puede querer volver.
:kbd:`Ctrl`-:kbd:`SPACE` :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC C-SPC``)
@ -147,9 +152,9 @@ Cada búfer recuerda las ubicaciones anteriores de la marca, en el anillo de mar
:kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`SPACE` (``C-u C-SPC``)
Mueva el punto a donde estaba la marca y restaure la marca del anillo de marcas anteriores.
Mueve el punto a donde estaba la marca y restaure la marca del anillo de marcas anteriores.
El comando ``C-SPC C-SPC`` es útil cuando se quiere usar la marca para recordar una posición a la que se desea volver. Empuja el punto actual al anillo de marca, sin activar la marca (lo que haría que Emacs resaltara la región). En realidad se trata de dos invocaciones consecutivas de ``C-SPC`` (``set-mark-command``); la primera ``C-SPC`` activa la marca, y la segunda ``C-SPC`` la desactiva. (Cuando el modo de marca transitoria (Transient Mark mode) está desactivado, ``C-SPC C-SPC`` activa en su lugar el modo de marca transitoria temporalmente; **véase Desactivar el Modo de Marca Transitoria**).
El comando ``C-SPC C-SPC`` es útil cuando se quiere usar la marca para recordar una posición a la que se desea volver. Empuja el punto actual al anillo de marca, sin activar la marca (lo que haría que Emacs resaltara la región). En realidad se trata de dos invocaciones consecutivas de ``C-SPC`` (``set-mark-command``); la primera ``C-SPC`` activa la marca, y la segunda ``C-SPC`` la desactiva. (Cuando el modo de marca transitoria (Transient Mark mode) está desactivado, ``C-SPC C-SPC`` activa en su lugar el modo de marca transitoria temporalmente; véase :ref:`12.7`).
Para volver a una posición marcada, use ``set-mark-command`` con un argumento prefijo: ``C-u C-SPC``. Esto mueve el punto a donde estaba la marca, y desactiva la marca si estaba activa. Cada ``C-u C-SPC`` posterior salta a una posición anterior almacenada en el anillo de marcas. Las posiciones por las que se desplaza de este modo no se pierden; van al final del anillo.
@ -159,12 +164,12 @@ Cada búfer tiene su propio anillo de marcas. Todos los comandos de edición uti
La variable ``mark-ring-max`` especifica el número máximo de entradas a mantener en el anillo de marcas. Por defecto es de 16 entradas. Si existen tantas entradas y se introduce otra, se descarta la más antigua de la lista. Repitiendo ``C-u C-SPC`` hace un ciclo a través de las posiciones actualmente en el anillo.
Si desea volver al mismo lugar una y otra vez, puede que el anillo de marcas no sea lo suficientemente práctico. Si es así, puede grabar la posición en un registro para recuperarla más tarde (**consulte Guardar Posiciones en Registros**).
Si desea volver al mismo lugar una y otra vez, puede que el anillo de marcas no sea lo suficientemente práctico. Si es así, puede grabar la posición en un registro para recuperarla más tarde (consulte :ref:`14.1`).
12.5 El Anillo de Marcas Global
-------------------------------
Además del anillo de marcas ordinario que pertenece a cada búfer, Emacs tiene un único anillo de marcas global. Cada vez que establezca una marca, ésta se registra en el anillo de marcas global además del propio anillo de marcas del búfer actual, si ha cambiado de búfer desde el anterior ajuste de marca. Por lo tanto, el anillo de marca global registra una secuencia de memorias intermedias en las que ha estado y, para cada memoria intermedia, un lugar en el que ha establecido la marca. La longitud del anillo de marca global está controlada por ``global-mark-ring-max``, y es 16 por defecto.
Además del anillo de marcas ordinario que pertenece a cada búfer, Emacs tiene un único *anillo de marcas global*. Cada vez que establezca una marca, ésta se registra en el anillo de marcas global además del propio anillo de marcas del búfer actual, si ha cambiado de búfer desde el anterior ajuste de marca. Por lo tanto, el anillo de marca global registra una secuencia de memorias intermedias en las que ha estado y, para cada memoria intermedia, un lugar en el que ha establecido la marca. La longitud del anillo de marca global está controlada por ``global-mark-ring-max``, y es 16 por defecto.
El comando :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`SPACE` (``C-x C-SPC``, ``pop-global-mark``) salta al búfer y a la posición de la última entrada en el anillo global. También gira el anillo, de modo que los usos sucesivos de ``C-x C-SPC`` le llevan a búferes y posiciones de marca anteriores.
@ -173,24 +178,24 @@ El comando :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`SPACE` (``C-x C-SPC``, ``pop-g
12.6 Selección mediante Mayúsculas (Shift)
------------------------------------------
Si mantiene pulsada la tecla Shift mientras escribe un comando de movimiento del cursor, se establece la marca antes de mover el punto, de modo que la región se extiende desde la posición original del punto hasta su nueva posición. Esta función se denomina selección con Mayúsculas. Es similar a la forma en que se selecciona texto en otros editores.
Si mantiene pulsada la tecla :kbd:`Shift` mientras escribe un comando de movimiento del cursor, se establece la marca antes de mover el punto, de modo que la región se extiende desde la posición original del punto hasta su nueva posición. Esta función se denomina *selección con Mayúsculas* (shift-selection). Es similar a la forma en que se selecciona texto en otros editores.
La marca establecida a través de la selección de Mayúsculas se comporta de forma un poco diferente a la descrita anteriormente. En primer lugar, además de las formas habituales de desactivar la marca (como cambiar el texto de la memoria intermedia o teclear :kbd:`Ctrl`-:kbd:`g` (``C-g``)), la marca se desactiva con cualquier comando de movimiento del cursor sin desplazamiento. En segundo lugar, cualquier comando de movimiento del cursor desplazado posterior evita volver a activar la marca. Por lo tanto, una serie de comandos de movimiento del cursor desplazado ajustará continuamente la región.
La marca establecida a través de la selección de Mayúsculas se comporta de forma un poco diferente a la descrita anteriormente. En primer lugar, además de las formas habituales de desactivar la marca (como cambiar el texto del búfer o teclear :kbd:`Ctrl`-:kbd:`g` (``C-g``)), la marca se desactiva con cualquier comando de movimiento del cursor *sin desplazamiento*. En segundo lugar, cualquier comando de movimiento del cursor desplazado posterior evita volver a activar la marca. Por lo tanto, una serie de comandos de movimiento del cursor *desplazado* ajustará continuamente la región.
La selección mediante Mayús sólo funciona si la tecla de movimiento del cursor desplazado no está asociada a un comando independiente (véase Personalización). Por ejemplo, si vincula :kbd:`Shift`-:kbd:`Ctrl`-:kbd:`f` (``S-C-f``) a otro comando, al teclear :kbd:`Shift`-:kbd:`Ctrl`-:kbd:`f` se ejecutará ese comando en lugar de realizar una versión de :kbd:`Ctrl`-:kbd:`f` (``C-f``, ``forward-char``) con selección de mayúsculas.
La selección mediante mayúsculas sólo funciona si la tecla de movimiento del cursor desplazado no está asociada a un comando independiente (véase :ref:`50`). Por ejemplo, si vincula :kbd:`Shift`-:kbd:`Ctrl`-:kbd:`f` (``S-C-f``) a otro comando, al teclear :kbd:`Shift`-:kbd:`Ctrl`-:kbd:`f` se ejecutará ese comando en lugar de realizar una versión de :kbd:`Ctrl`-:kbd:`f` (``C-f``, ``forward-char``) con selección de mayúsculas.
Una marca establecida mediante comandos del ratón se comporta igual que una marca establecida mediante la selección por desplazamiento (**véase Establecer la Marca**). Por ejemplo, si especifica una región arrastrando el ratón, puede seguir ampliando la región mediante comandos de movimiento del cursor desplazado. En ambos casos, cualquier comando de movimiento del cursor sin desplazamiento desactiva la marca.
Una marca establecida mediante comandos del ratón se comporta igual que una marca establecida mediante la selección por desplazamiento (véase :ref:`12.1`). Por ejemplo, si especifica una región arrastrando el ratón, puede seguir ampliando la región mediante comandos de movimiento del cursor desplazado. En ambos casos, cualquier comando de movimiento del cursor sin desplazamiento desactiva la marca.
Para desactivar la selección por desplazamiento, establezca el modo de ``shift-select-mode`` (selección por desplazamiento) en ``nil``. Al hacerlo, no se desactiva el establecimiento de la marca mediante comandos del ratón. Si establece ``shift-select-mode`` en el valor ``permanent``, las teclas de movimiento del cursor que no hayan sido desplazadas por shift no desactivarán la marca, por lo que, por ejemplo, la región establecida por comandos anteriores puede ampliarse mediante shift-selection, y las teclas de movimiento del cursor no desplazadas ampliarán la región establecida por shift-selection.
Para desactivar la selección por mayúsculas, establezca el modo ``shift-select-mode`` (modo selección por desplazamiento) en ``nil``. Al hacerlo, no se desactiva el establecimiento de la marca mediante comandos del ratón. Si establece ``shift-select-mode`` en el valor ``permanent``, las teclas de movimiento del cursor que no hayan sido desplazadas por shift no desactivarán la marca, por lo que, por ejemplo, la región establecida por comandos anteriores puede ampliarse mediante shift-selection (selección de mayúsculas), y las teclas de movimiento del cursor no desplazadas ampliarán la región establecida por *selección de mayúsculas*.
.. _12.7:
12.7 Desactivar el Modo de Marca Transitoria
--------------------------------------------
El comportamiento por defecto de la marca y la región, en el que al fijar la marca se activa ésta y se resalta la región, se denomina Transient Mark mode (modo Marca Transitoria). Se trata de un modo menor que está activado por defecto en las sesiones interactivas. Puede activarse con M-x transient-mark-mode, o con la opción Highlight Active Region (Resaltar Región Activa) del menú Options (Opciones). Si se desactiva, Emacs pasa a un modo de funcionamiento alternativo:
El comportamiento por defecto de la marca y la región, en el que al fijar la marca se activa ésta y se resalta la región, se denomina Transient Mark mode (modo Marca Transitoria). Se trata de un modo menor que está activado por defecto en las sesiones interactivas. Puede activarse con M-``x transient-mark-mode``, o con la opción ``Highlight Active Region`` (Resaltar Región Activa) del menú ``Options`` (Opciones). Si se desactiva, Emacs pasa a un modo de funcionamiento alternativo:
* Al fijar la marca, con comandos como :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC``) o :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` (``C-x C-x``), no se resalta la región. Por lo tanto, no se
puede saber con sólo mirar dónde se encuentra la marca; hay que acordarse. La solución habitual a este problema es fijar la marca y utilizarla pronto, antes de que se le olvide dónde
está. También puede comprobar dónde está la marca utilizando ``C-x C-x``, que intercambia las posiciones del punto y de la marca (**véase Fijar la Marca**).
* Al fijar la marca, con comandos como :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC``) o :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` (``C-x C-x``), no se resalta la región. Por lo tanto, no se puede saber con sólo mirar dónde se encuentra la marca; hay que acordarse. La solución habitual a este problema es fijar la marca y utilizarla pronto, antes de que se le olvide dónde está. También puede comprobar dónde está la marca utilizando ``C-x C-x``, que intercambia las posiciones del punto y de la marca (véase :ref:`12.1`).
* Algunos comandos, que normalmente actúan sobre la región cuando la marca está activa, ya no lo hacen. Por ejemplo, normalmente (``M-%``, ``query-replace``, consulta-reemplazo)
realiza reemplazos dentro de la región, si la marca está activa. Cuando el modo de marca transitoria está desactivado, siempre actúa desde el punto hasta el final de la memoria
@ -210,5 +215,5 @@ Mientras el modo Marca Transitoria (Transient Mark mode) está desactivado, pued
Estos comandos establecen o activan la marca, y habilitan el modo Marca Transitoria sólo hasta que se desactiva la marca. Una de las razones por las que es posible que desee utilizarlos es que algunos comandos operan en todo el búfer intermedia en lugar de en la región cuando el modo Marca transitoria está desactivado. La activación momentánea del modo Marca Transitoria permite utilizar estos comandos en la región.
Cuando especifique una región con el ratón (**véase Establecer la Marca**), o con la selección de mayúsculas (**véase Selección mediante Mayúsculas**), también se activará temporalmente el modo Marca Transitoria y se resaltará la región.
Cuando especifique una región con el ratón (véase :ref:`12.1`), o con la selección de mayúsculas (véase :ref:`12.6`), también se activará temporalmente el modo Marca Transitoria y se resaltará la región.

View File

@ -3,31 +3,31 @@
13 Matar y Mover Texto
======================
En Emacs, *matar* significa borrar texto y copiarlo en el anillo de muertes. *Desplazar* significa traer texto del anillo de destrucción de vuelta al buffer. (Algunas aplicaciones utilizan los términos "cortar" y "pegar" para operaciones similares). El anillo de muertes se llama así porque se puede visualizar como un conjunto de bloques de texto dispuestos en un anillo, al que se puede acceder en orden cíclico. **Véase El Anillo de Muertes**.
En Emacs, *kill* (matar) significa borrar texto y copiarlo en el *anillo de muertes*(kill ring). *Yank* (desplazar, tirar de o copiar desde) significa traer texto del anillo de muertes de vuelta al búfer. (Algunas aplicaciones utilizan los términos "cortar" y "pegar" para operaciones similares). El anillo de muertes se llama así porque se puede visualizar como un conjunto de bloques de texto dispuestos en un anillo, al que se puede acceder en orden cíclico. Véase :ref:`13.2.1`.
Los comandos kill y yanking son la forma más común de mover o copiar texto dentro de Emacs. Es muy versátil, porque hay comandos para matar muchos tipos diferentes de unidades sintácticas.
Los comandos kill (matar) y yanking (tirar de) son la forma más común de mover o copiar texto dentro de Emacs. Es muy versátil, porque hay comandos para matar muchos tipos diferentes de unidades sintácticas.
.. _13.1:
13.1 Borrar y Matar
-------------------
La mayoría de las órdenes que borran texto del búfer lo guardan en el anillo de muertes (**ver El Anillo de Muertes**). Se conocen como comandos *kill*, y sus nombres normalmente contienen la palabra ``kill`` (por ejemplo, ``kill-line``). El kill ring almacena varios kills recientes, no sólo el último, por lo que matar es una operación muy segura: no tiene que preocuparse mucho por perder texto que haya matado previamente. El anillo de muertes es compartido por todos los buffers, por lo que el texto que es matado en un buffer puede ser arrastrado a otro buffer.
La mayoría de las órdenes que borran texto del búfer lo guardan en el anillo de muertes (ver :ref:`13.2.1`). Se conocen como comandos *kill*, y sus nombres normalmente contienen la palabra ``kill`` (por ejemplo, ``kill-line``). El kill ring (anillo de muertes) almacena varias muertes recientes, no sólo el último, por lo que matar es una operación muy segura: no tiene que preocuparse mucho por perder texto que haya matado previamente. El anillo de muertes es compartido por todos los búferes, por lo que el texto que es matado en un búfer puede ser arrastrado a otro búfer.
Cuando se usa :kbd:`Ctrl`-:kbd:`/` (``C-/``, ``undo``, deshacer) para deshacer un comando de eliminación (**ver Deshacer**), el texto eliminado vuelve al búfer, pero no se elimina del anillo de muertes.
Cuando se usa :kbd:`Ctrl`-:kbd:`/` (``C-/``, ``undo``, deshacer) para deshacer un comando de eliminación (ver :ref:`17.1`), el texto eliminado vuelve al búfer, pero no se elimina del anillo de muertes.
En las pantallas gráficas, al matar el texto también se copia en el portapapeles del sistema. Ver Operaciones de "Cortar y Pegar" en Pantallas Gráficas.
En las pantallas gráficas, al matar el texto también se copia en el portapapeles del sistema. Ver :ref:`13.3`.
Los comandos que borran el texto pero no lo guardan en el anillo de destrucción se conocen como comandos de borrado; sus nombres suelen contener la palabra ``delete`` (borrar). Entre ellos se incluyen :kbd:`Ctrl`-:kbd:`d` (``C-d``, ``delete-char``) y :kbd:`DEL` (``DEL``, ``delete-backward-char``), que borran sólo un carácter cada vez, y los comandos que borran sólo espacios o nuevas líneas. Los comandos que pueden borrar cantidades significativas de datos no triviales generalmente realizan una operación de borrado.
Los comandos que borran el texto pero no lo guardan en el anillo de muertes se conocen como comandos de borrado; sus nombres suelen contener la palabra ``delete`` (borrar). Entre ellos se incluyen :kbd:`Ctrl`-:kbd:`d` (``C-d``, ``delete-char``) y :kbd:`DEL` (``DEL``, ``delete-backward-char``), que borran sólo un carácter cada vez, y los comandos que borran sólo espacios o nuevas líneas. Los comandos que pueden borrar cantidades significativas de datos no triviales generalmente realizan una operación de borrado.
También puede utilizar el ratón para matar y tirar. **Vea Operaciones de "Cortar y Pegar" en Pantallas Gráficas**.
También puede utilizar el ratón para matar y tirar. Vea :ref:`13.3`.
.. _13.1.1:
13.1.1 Borrado
^^^^^^^^^^^^^^
Borrar significa borrar texto y no guardarlo en el anillo de muertes. En su mayor parte, los comandos de Emacs que borran texto son los que borran sólo un carácter o sólo espacios en blanco.
*Borrado** significa borrar texto y no guardarlo en el anillo de muertes. En su mayor parte, los comandos de Emacs que borran texto son los que borran sólo un carácter o sólo espacios en blanco.
| ``DEL``
| ``BACKSPACE``
@ -58,7 +58,7 @@ Borrar significa borrar texto y no guardarlo en el anillo de muertes. En su mayo
Une dos líneas eliminando la nueva línea intermedia, junto con cualquier sangría que la siga (``delete-indentation``).
Ya hemos descrito los comandos básicos de borrado ``DEL`` (``delete-backward-char``), ``delete`` (``delete-forward-char``) y ``C-d`` (``delete-char``). **Véase Borrar Texto**. Con un argumento numérico, borran el número especificado de caracteres. Si el argumento numérico se omite o es uno, ``DEL`` y ``delete`` borran todo el texto de la región si está activa (**véase Operar en la Región**).
Ya hemos descrito los comandos básicos de borrado ``DEL`` (``delete-backward-char``), ``delete`` (``delete-forward-char``) y ``C-d`` (``delete-char``). Véase :ref:`8.3`. Con un argumento numérico, borran el número especificado de caracteres. Si el argumento numérico se omite o es uno, ``DEL`` y ``delete`` borran todo el texto de la región si está activa (véase :ref:`12.3`).
Los otros comandos de borrado son los que borran sólo caracteres de espacio en blanco: espacios, tabuladores y nuevas líneas. ``M-\`` (``delete-horizontal-space``, borrar-espacio-horizontal) borra todos los espacios y caracteres de tabulación antes y después del punto. Con un argumento de prefijo, sólo borra los espacios y tabuladores antes del punto.
@ -68,7 +68,7 @@ El comando ``cycle-spacing`` (``M-SPC``) actúa como una versión más flexible
``C-x C-o`` (``delete-blank-lines``, borrar-líneas-en-blanco) borra todas las líneas en blanco después de la línea actual. Si la línea actual está en blanco, borra también todas las líneas en blanco anteriores a la línea actual (dejando una línea en blanco, la línea actual). En una sola línea en blanco, borra esa línea.
``M-^`` (``delete-indentation``, eliminar-indentación) une la línea actual y la línea anterior, suprimiendo una nueva línea y todos los espacios circundantes, dejando normalmente un solo espacio. **Véase M-^**.
``M-^`` (``delete-indentation``, eliminar-indentación) une la línea actual y la línea anterior, suprimiendo una nueva línea y todos los espacios circundantes, dejando normalmente un solo espacio. Véase :ref:`25`.
El comando ``delete-duplicate-lines`` (borrar-línas-duplicadas) busca en la región líneas idénticas, y elimina todas menos una copia de cada una. Normalmente mantiene la primera instancia de cada línea repetida, pero con un argumento de prefijo :kbd:`Ctrl`-:kbd:`u` (``C-u``) mantiene la última. Con un argumento de prefijo :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`u` (``C-u C-u``), sólo busca líneas idénticas adyacentes. Este es un modo de operación más eficiente, útil cuando las líneas ya han sido ordenadas. Con un argumento de prefijo :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`u` (``C-u C-u C-u``), conserva las líneas en blanco repetidas.
@ -83,11 +83,11 @@ El comando ``delete-duplicate-lines`` (borrar-línas-duplicadas) busca en la reg
Mata toda una línea a la vez (``kill-whole-line``).
El comando kill más sencillo es ``C-k`` (``kill-line``). Si se usa al final de una línea, elimina el carácter de nueva línea con el que termina la línea, fusionando la línea siguiente con la actual (de este modo, se elimina por completo una línea en blanco). De lo contrario, ``C-k`` elimina todo el texto desde el punto hasta el final de la línea; si el punto estaba originalmente al principio de la línea, la deja en blanco.
La orden de matar más sencilla es ``C-k`` (``kill-line``). Si se usa al final de una línea, elimina el carácter de nueva línea con el que termina la línea, fusionando la línea siguiente con la actual (de este modo, se elimina por completo una línea en blanco). De lo contrario, ``C-k`` elimina todo el texto desde el punto hasta el final de la línea; si el punto estaba originalmente al principio de la línea, la deja en blanco.
Los espacios y tabuladores al final de la línea se ignoran al decidir qué caso se aplica. Siempre que el punto esté después del último carácter de la línea que no sea un espacio en blanco, puede estar seguro de que ``C-k`` eliminará la nueva línea. Para eliminar toda una línea que no esté en blanco, vaya al principio y escriba ``C-k`` dos veces.
En este contexto, "línea" significa una línea de texto lógica, no una línea de pantalla (**ver Líneas de Continuación**).
En este contexto, "línea" significa una línea de texto lógica, no una línea de pantalla (ver :ref:`8.8`).
Cuando a ``C-k`` se le da un argumento positivo *n*, elimina *n* líneas y las nuevas líneas que las siguen (el texto en la línea actual antes del punto no se elimina). Con un argumento negativo *-n*, elimina n líneas anteriores a la línea actual, junto con el texto de la línea actual anterior al punto. ``C-k`` con un argumento cero elimina el texto anterior al punto en la línea actual.
@ -104,11 +104,11 @@ Si la variable ``kill-whole-line`` es distinta de ``nil``, ``C-k`` al principio
:kbd:`Alt`-:kbd:`w` (``M-w``)
Copia la región dentro del anillo de muertes (``kill-ring-save``).
Copia la región en el anillo de muertes (``kill-ring-save``).
:kbd:`Alt`-:kbd:`d` (``M-d``)
Mata la siguiente palara (``kill-word``).
Mata la siguiente palara (``kill-word``). Vea :ref:`26.1`.
:kbd:`Alt`-:kbd:`BACKSPACE` (``M-Del``)
@ -116,36 +116,36 @@ Si la variable ``kill-whole-line`` es distinta de ``nil``, ``C-k`` al principio
:kbd:`Ctrl`-:kbd:`x` :kbd:`BACKSPACE` (``C-x DEL``)
Mata hasta el principio de la frase (``backward-kill-sentence``). **Vea Sentencias**.
Mata hasta el principio de la frase (``backward-kill-sentence``). Vea :ref:`26.2`.
:kbd:`Alt`-:kbd:`k` (``M-k``)
Mata al final de la frase (``kill-sentence``).
Mata hasta final de la frase (``kill-sentence``).
:kbd:`Ctrl`-:kbd:`Alt`-:kbd:`k` (``C-M-k``)
Mata la siguiente expresión equilibrada (``kill-sexp``). **Véase Expresiones con Paréntesis Equilibrados**.
Mata la siguiente expresión equilibrada (``kill-sexp``). Véase :ref:`27.4.1`.
:kbd:`Alt`-:kbd:`z` **caracter** (``M-z`` **caracter**)
:kbd:`Alt`-:kbd:`z` *caracter* (``M-z`` *caracter*)
Mata hasta la siguiente aparición de *caracter* (``zap-to-char``).
:kbd:`Alt`-:kbd:`x` ``zap-up-to-char`` **caracter** (``M-x zap-up-to-char`` **caracter**)
:kbd:`Alt`-:kbd:`x` ``zap-up-to-char`` *caracter* (``M-x zap-up-to-char`` *caracter*)
Mata hasta, pero sin incluir, la siguiente aparición de *caracter*.
20 Mata hasta, pero sin incluir, la siguiente aparición de *caracter*.
Uno de los comandos de eliminación más usados es ``C-w`` (``kill-region``), que elimina el texto de la región (**véase La Marca y la Región**). Del mismo modo, ``M-w`` (``kill-ring-save``) copia el texto de la región en el anillo de muertes sin eliminarlo del búfer. Si la marca está inactiva cuando teclea :kbd:`Ctrl`-:kbd:`w` (``C-w``) o :kbd:`Alt`-:kbd:`w` (``M-w``), el comando actúa sobre el texto entre el punto y donde puso la marca por última vez (**ver Operar Sobre la Región**).
Uno de los comandos de eliminación más usados es ``C-w`` (``kill-region``), que elimina el texto de la región (véase :ref:`12`). Del mismo modo, ``M-w`` (``kill-ring-save``) copia el texto de la región en el anillo de muertes sin eliminarlo del búfer. Si la marca está inactiva cuando teclea :kbd:`Ctrl`-:kbd:`w` (``C-w``) o :kbd:`Alt`-:kbd:`w` (``M-w``), el comando actúa sobre el texto entre el punto y donde puso la marca por última vez (ver :ref:`12.3`).
Emacs también proporciona comandos para matar unidades sintácticas específicas: palabras, con ``M-DEL`` y ``M-d`` (**vea Palabras**); expresiones compuestas, con ``C-M-k`` (**vea Expresiones con paréntesis balanceados**); y frases, con ``C-x DEL`` y ``M-k`` (**vea Frases**).
Emacs también proporciona comandos para matar unidades sintácticas específicas: palabras, con ``M-DEL`` y ``M-d`` (vea :ref:`26.1`); expresiones compuestas, con ``C-M-k`` (vea :ref:`27.4.1`); y frases, con ``C-x DEL`` y ``M-k`` (vea :ref:`26.2`).
El comando ``M-z`` (``zap-to-char``) combina matar con buscar: lee un carácter y mata desde el punto hasta (e incluyendo) la siguiente aparición de ese carácter en el buffer. Un argumento numérico actúa como contador de repeticiones; un argumento negativo significa buscar hacia atrás y matar el texto anterior al punto. Se mantiene un historial de los caracteres usados anteriormente, al que se puede acceder mediante las teclas :kbd:`Alt`-:kbd:`p` / :kbd:`Alt`-:kbd:`n` (``M-p``/``M-n``). Esto es útil sobre todo si el carácter que se va a utilizar tiene que introducirse mediante un método de entrada complicado. Un comando similar ``zap-up-to-char`` mata desde el punto hasta, pero sin incluir, la siguiente aparición de un carácter, con un argumento numérico que actúa como contador de repeticiones.
El comando ``M-z`` (``zap-to-char``) combina matar con buscar: lee un carácter y mata desde el punto hasta (e incluyendo) la siguiente aparición de ese carácter en el búfer. Un argumento numérico actúa como contador de repeticiones; un argumento negativo significa buscar hacia atrás y matar el texto anterior al punto. Se mantiene un historial de los caracteres usados anteriormente, al que se puede acceder mediante las teclas :kbd:`Alt`-:kbd:`p` / :kbd:`Alt`-:kbd:`n` (``M-p``/``M-n``). Esto es útil sobre todo si el carácter que se va a utilizar tiene que introducirse mediante un método de entrada complicado. Un comando similar ``zap-up-to-char`` mata desde el punto hasta, pero sin incluir, la siguiente aparición de un carácter, con un argumento numérico que actúa como contador de repeticiones.
13.1.4 Opciones de Matado
^^^^^^^^^^^^^^^^^^^^^^^^^
Algunos buffers especializados contienen texto de *sólo lectura*, que no puede ser modificado y por lo tanto no puede ser eliminado. Los comandos kill funcionan de forma especial en un buffer de sólo lectura: se mueven sobre el texto y lo copian al anillo kill, sin borrarlo realmente del buffer. Normalmente, también pitan y muestran un mensaje de error cuando esto ocurre. Pero si establece la variable ``kill-read-only-ok`` a un valor no nulo, sólo imprimen un mensaje en el área de eco para explicar por qué el texto no ha sido borrado.
Algunos búferes especializados contienen *texto de sólo lectura*, que no puede ser modificado y por lo tanto no puede ser eliminado. Los comandos de matar funcionan de forma especial en un búfer de sólo lectura: se mueven sobre el texto y lo copian al anillo de muertes, sin borrarlo realmente del búfer. Normalmente, también pitan y muestran un mensaje de error cuando esto ocurre. Pero si establece la variable ``kill-read-only-ok`` a un valor no nulo, sólo imprimen un mensaje en el área de eco para explicar por qué el texto no ha sido borrado.
Antes de guardar el kill en el anillo kill, puedes transformar la cadena usando ``kill-transform-function``. Se llama con la cadena a matar, y debería devolver la cadena que quiere que se guarde. También puede devolver ``nil``, en cuyo caso la cadena no se guardará en el anillo de destrucción. Por ejemplo, si nunca quiere guardar una cadena con espacio en blanco puro en el anillo de muerte, puede decir:
Antes de guardar lo que se ha matado en el anillo de muertes, puede transformar la cadena usando ``kill-transform-function``. Se llama con la cadena a matar, y debería devolver la cadena que quiere que se guarde. También puede devolver ``nil``, en cuyo caso la cadena no se guardará en el anillo de muertes. Por ejemplo, si nunca quiere guardar una cadena con espacio en blanco puro en el anillo de muertes, puede decir:
::
@ -156,6 +156,8 @@ Antes de guardar el kill en el anillo kill, puedes transformar la cadena usando
Si cambia la variable ``kill-do-not-save-duplicates`` a un valor no nulo, las muertes subsiguientes idénticas producen una única entrada de ``kill-ring``, sin duplicación.
.. _13.2:
13.2 Tirar de un Texto
----------------------
@ -167,113 +169,121 @@ Si cambia la variable ``kill-do-not-save-duplicates`` a un valor no nulo, las mu
:kbd:`Alt`-:kbd:`y` (``M-y``)
Puede sustituir el texto que acaba de eliminar por un lote anterior de texto eliminado (yank-pop), o permitir seleccionar de la lista de lotes de texto eliminados anteriormente.
**Véase Retirar Textos Eliminados Anteriormente**.
Puede sustituir el texto que acaba de eliminar por un lote anterior de texto eliminado (``yank-pop``), o permitir seleccionar de la lista de lotes de texto eliminados anteriormente. Véase :ref:`13.2.2`.
:kbd:`Ctrl`-:kbd:`Alt`-:kbd:`w` (``C-M-w``)
Hace que la siguiente orden, si es una orden de destrucción, se añada a la destrucción anterior (``append-next-kill``). **Véase Añadir Muertes**.
Hace que la siguiente orden, si es una orden de muertes, se añada a la muerte anterior (``append-next-kill``). Véase :ref:`13.2.3`.
El comando básico de yanking es ``C-y`` (``yank``). Inserta la muerte más reciente, dejando el cursor al final del texto insertado. También coloca la marca al principio del texto insertado, sin activar la marca; esto le permite saltar fácilmente a esa posición, si lo desea, con :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`SPACE` (``C-u C-SPC``) (**véase El Anillo de Marcas**).
El comando básico para copiar (extraer o tirar) desde el anillo de muertes (yanking) es ``C-y`` (``yank``). Inserta la muerte más reciente, dejando el cursor al final del texto insertado. También coloca la marca al principio del texto insertado, sin activar la marca; esto le permite saltar fácilmente a esa posición, si lo desea, con :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`SPACE` (``C-u C-SPC``) (véase :ref:`12.4`).
Con un argumento de prefijo simple (``C-u C-y``), el comando deja el cursor delante del texto insertado y activa la marca al final. El uso de cualquier otro argumento prefijo especifica una marca anterior; por ejemplo, :kbd:`Ctrl`-:kbd:`u` :kbd:`4` :kbd:`Ctrl`-:kbd:`y` (``C-u 4 C-y``) reinserta la cuarta marca más reciente. **Véase Eliminación de Muertes Anteriores**.
Con un argumento de prefijo simple (``C-u C-y``), el comando deja el cursor delante del texto insertado y activa la marca al final. El uso de cualquier otro argumento prefijo especifica una marca anterior; por ejemplo, :kbd:`Ctrl`-:kbd:`u` :kbd:`4` :kbd:`Ctrl`-:kbd:`y` (``C-u 4 C-y``) reinserta la cuarta marca más reciente. Véase :ref:`13.2.2`.
En las pantallas gráficas y en las pantallas con modo texto, ``C-y`` comprueba primero si otra aplicación ha colocado algún texto en el portapapeles del sistema más recientemente que la última vez que Emacs lo mató. Si es así, inserta el texto del portapapeles en su lugar. Así, Emacs trata efectivamente las operaciones de "cortar" o "copiar" del portapapeles realizadas en otras aplicaciones como muertes de Emacs, excepto que no se registran en el anillo de muertes. Ver **Operaciones "Cortar y Pegar" en Pantallas Gráficas**, para más detalles.
En las pantallas gráficas y en las pantallas con modo texto, ``C-y`` comprueba primero si otra aplicación ha colocado algún texto en el portapapeles del sistema más recientemente que la última vez que Emacs lo mató. Si es así, inserta el texto del portapapeles en su lugar. Así, Emacs trata efectivamente las operaciones de "cortar" o "copiar" del portapapeles realizadas en otras aplicaciones como muertes de Emacs, excepto que no se registran en el anillo de muertes. Ver :ref:`13.3`, para más detalles.
13.2.1 Anillo de Muerte
^^^^^^^^^^^^^^^^^^^^^^^
.. _13.2.1:
El *kill ring* (anillo de muertes) es una lista de bloques de texto que han sido eliminados previamente. Sólo hay un kill ring, compartido por todos los buffers, por lo que puede matar texto en un buffer y arrancarlo en otro buffer. Esta es la forma habitual de mover texto de un búfer a otro. (Hay otros métodos: por ejemplo, puede almacenar el texto en un registro; **vea Registros**. **Vea Acumulando Texto**, para algunas otras formas de mover texto).
13.2.1 Anillo de Muertes
^^^^^^^^^^^^^^^^^^^^^^^^
El número máximo de entradas en el kill ring se controla mediante la variable ``kill-ring-max``. Por defecto es 120. Si hace un nuevo kill (si mata texto) cuando se ha alcanzado este límite, Emacs hace espacio borrando la entrada más antigua en el kill ring (en el anillo de muertes).
El *anillo de muertes* (kill ring) es una lista de bloques de texto que han sido eliminados previamente. Sólo hay un kill ring, compartido por todos los búferes, por lo que puede matar texto en un búfer y arrancarlo en otro búfer. Esta es la forma habitual de mover texto de un búfer a otro. (Hay otros métodos: por ejemplo, puede almacenar el texto en un registro; vea :ref:`14`. Vea :ref:`13.4`, para algunas otras formas de mover texto).
El contenido actual del anillo de destrucción se almacena en una variable llamada ``kill-ring``; puede ver el contenido completo del anillo de destrucción con :kbd:`Ctrl`-:kbd:`h` :kbd:`v` ``kill-ring`` (``C-h v kill-ring``).
El número máximo de entradas en el anillo de muertes se controla mediante la variable ``kill-ring-max``. Por defecto es 120. Si hace un nuevo kill (si mata texto) cuando se ha alcanzado este límite, Emacs hace espacio borrando la entrada más antigua en dicho anillo.
El contenido actual del anillo de muertes se almacena en una variable llamada ``kill-ring``; puede ver el contenido completo del anillo de muertes con :kbd:`Ctrl`-:kbd:`h` :kbd:`v` ``kill-ring`` (``C-h v kill-ring``).
.. _13.2.2:
13.2.2 Borrar Muertes Anteriores
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Como se explica en Yanking, puede usar un argumento numérico a ``C-y`` para sacar texto que ya no es la muerte más reciente. Esto es útil si recuerda qué entrada del anillo de muertes quiere. Si no, puede usar el comando ``M-y`` (``yank-pop``) para recorrer las posibilidades o seleccionar uno de las muertes anteriores.
Como se explica en :ref:`13.2`, puede usar un argumento numérico a ``C-y`` para sacar texto que ya no es la muerte más reciente. Esto es útil si recuerda qué entrada del anillo de muertes quiere. Si no, puede usar el comando ``M-y`` (``yank-pop``) para recorrer las posibilidades o seleccionar uno de las muertes anteriores.
Si el comando anterior era un comando yank, ``M-y`` toma el texto que fue yankado (que fue empujado al anillo de muertes) y lo reemplaza con el texto de un kill (de una muerte) anterior. Así, para recuperar el texto de la penúltima muerte, primero use ``C-y`` para arrancar la última muerte, y luego use ``M-y`` para reemplazarlo con la muerte anterior. Esto sólo funciona después de un ``C-y u`` otro ``M-y``. (Si ``M-y`` se invoca después de algún otro comando, funciona de forma diferente, ver más abajo).
Si el comando anterior era una orden de jalar (un comando yank), ``M-y`` toma el texto que fue jalado (que fue empujado al anillo de muertes) y lo reemplaza con el texto de una muerte anterior. Así, para recuperar el texto de la penúltima muerte, primero use ``C-y`` para jalar de la última muerte, y luego use ``M-y`` para reemplazarlo con la muerte anterior. Esto sólo funciona después de un ``C-y u`` otro ``M-y``. (Si ``M-y`` se invoca después de algún otro comando, funciona de forma diferente, ver más abajo).
Puede entender el modo de funcionamiento de ``M-y`` en términos de un puntero al último tirón (lo último que se ha llevado al anillo de muertes) que apunta a una entrada en el dicho anillo. Cada vez que se mata, el puntero del último tirón se mueve a la entrada recién hecha en la parte delantera del anillo. ``C-y`` elimina la entrada a la que apunta el puntero del último tirón. ``M-y`` después de un ``C-y`` u otro ``M-y`` mueve el puntero del último yank (tirón) a la entrada anterior, y el texto en el buffer cambia para coincidir. Suficientes comandos ``M-y`` uno tras otro pueden mover el puntero a cualquier entrada en el anillo, por lo que puede obtener cualquier entrada en el buffer. Finalmente, el puntero llega al final del anillo; el siguiente ``M-y`` vuelve a la primera entrada.
Puede entender el modo de funcionamiento de ``M-y`` en términos de un puntero al último tirón (lo último que se ha llevado al anillo de muertes) que apunta a una entrada en el dicho anillo. Cada vez que se mata, el puntero del último tirón se mueve a la entrada recién hecha en la parte delantera del anillo. ``C-y`` elimina la entrada a la que apunta el puntero del último tirón. ``M-y`` después de un ``C-y`` u otro ``M-y`` mueve el puntero del último yank (tirón) a la entrada anterior, y el texto en el búfer cambia para coincidir. Suficientes comandos ``M-y`` uno tras otro pueden mover el puntero a cualquier entrada en el anillo, por lo que puede obtener cualquier entrada en el búfer. Finalmente, el puntero llega al final del anillo; el siguiente ``M-y`` vuelve a la primera entrada.
``M-y`` mueve el puntero de la última entrada en el anillo, pero no cambia el orden de las entradas en él, que siempre va desde la muerte más reciente al principio hasta la más antigua que aún se recuerde.
Cuando se utiliza después de ``C-y`` o ``M-y``, ``M-y`` puede recibir un argumento numérico, que le indica cuántas entradas debe avanzar el puntero del último yank. Un argumento negativo mueve el puntero hacia el frente del anillo; desde el frente del anillo, se mueve alrededor de la última entrada y continúa hacia adelante desde allí.
Cuando se utiliza después de ``C-y`` o ``M-y``, ``M-y`` puede recibir un argumento numérico, que le indica cuántas entradas debe avanzar el puntero a partir del último texto que se ha tirado o jalado desde el anillo de muertes (desde el último yank). Un argumento negativo mueve el puntero hacia la parte delantera del anillo; desde el frente del anillo, se mueve alrededor de la última entrada y continúa hacia adelante desde allí.
Una vez que el texto que está buscando es traído al buffer, puede dejar de hacer comandos ``M-y`` y el último texto jalado permanecerá allí. Es sólo una copia de la entrada del anillo de matar, por lo que editarlo en el buffer no cambia lo que hay en el anillo. Mientras no se realice una nueva muerte, el puntero de la última permanece en el mismo lugar en el anillo de muerte, por lo que repetir ``C-y`` arrancará (jalará, tirará) otra copia de la misma muerte anterior.
Una vez que el texto que está buscando es traído al búfer, puede dejar de ejecutar comandos ``M-y`` y el último texto jalado permanecerá allí. Es sólo una copia de la entrada del anillo de matar, por lo que editarlo en el búfer no cambia lo que hay en el anillo. Mientras no se realice una nueva muerte, el puntero de la última permanece en el mismo lugar en el anillo de muertes, por lo que repetir ``C-y`` arrancará (jalará, tirará) otra copia de la misma muerte anterior.
Cuando se llama a ``C-y`` con un argumento numérico, también se establece el puntero del último tirón a la entrada que se tira.
También puede invocar ``M-y`` después de un comando que no sea un comando yank. En ese caso, ``M-y`` le pregunta en el minibuffer por uno de las muertes anteriores. Puede usar los comandos de historial del minibuffer (ver **Historial del Minibuffer**) para navegar o buscar entre las entradas del anillo de muertes hasta que encuentre la que desea reinsertar. O puede usar los comandos de completado (ver **Comandos de Completado**) para completar una entrada de la lista de entradas del anillo de muerte o hacer aparecer el buffer ``Completions`` (Completado) con las entradas candidatas entre las que puede elegir. Después de seleccionar la entrada del anillo de muerte, puede editarla opcionalmente en el minibuffer. Por último, escriba :kbd:`RETURN` (``RET``) para salir del minibuffer e insertar el texto del anillo de muerte seleccionado. Como en el caso de ``M-y`` después de otro comando yank, el puntero del último yank (tirón) queda apuntando al texto que acaba de extraer o jalar, ya sea uno de las muertes anteriores o una entrada del anillo de muerte que editó antes de insertarlo. (En este último caso, la entrada editada se añade al principio del kill-ring). Así que aquí, también, tecleando ``C-y`` sacará otra copia del texto que acaba de insertar.
También puede invocar ``M-y`` después de un comando que no sea un comando yank. En ese caso, ``M-y`` le pregunta en el minibúfer por uno de las muertes anteriores. Puede usar los comandos de historial del minibúfer (ver :ref:`9.5`) para navegar o buscar entre las entradas del anillo de muertes hasta que encuentre la que desea reinsertar. O puede usar los comandos de completado (ver :ref:`9.4.2`) para completar una entrada de la lista de entradas del anillo de muerte o hacer aparecer el búfer ``Completions`` (Completado) con las entradas candidatas entre las que puede elegir. Después de seleccionar la entrada del anillo de muertes, puede editarla opcionalmente en el minibúfer. Por último, escriba :kbd:`RETURN` (``RET``) para salir del minibúfer e insertar el texto del anillo de muertes seleccionado. Como en el caso de ``M-y`` después de otro comando yank, el puntero del último yank (tirón) queda apuntando al texto que acaba de extraer o jalar, ya sea uno de las muertes anteriores o una entrada del anillo de muertes que editó antes de insertarlo. (En este último caso, la entrada editada se añade al principio del anillo de muertes). Así que aquí, también, tecleando ``C-y`` sacará otra copia del texto que acaba de insertar.
Cuando se invoca con un argumento de prefijo simple :kbd:`Ctrl`-:kbd:`u` :kbd:`Alt`-:kbd:`y` (``C-u M-y``) después de un comando que no es un comando yank, ``M-y`` deja el cursor delante del texto insertado, y pone la marca al final, como hace ``C-y``.
.. _13.2.3:
13.2.3 Añadir Muertes
^^^^^^^^^^^^^^^^^^^^^
Normalmente, cada orden de destrucción introduce una nueva entrada en el anillo de muertes. Sin embargo, dos o más órdenes de matar seguidas combinan su texto en una sola entrada, de forma que una sola :kbd:`Ctrl`-:kbd:`y` (``C-y``) arranca todo el texto como una unidad, tal y como estaba antes de ser matado.
Normalmente, cada orden de matar texto introduce una nueva entrada en el anillo de muertes. Sin embargo, dos o más órdenes de matar seguidas combinan su texto en una sola entrada, de forma que ejecutar una sola combinación de teclas :kbd:`Ctrl`-:kbd:`y` (``C-y``) arranca todo el texto como una unidad, tal y como estaba antes de ser matado.
Por lo tanto, si quiere matar el texto como una unidad, no es necesario que lo mate todo de una sola vez; puede seguir matando línea tras línea, o palabra tras palabra, hasta que lo haya matado todo, y aún podrá recuperarlo todo de una sola vez.
Los comandos que matan hacia delante desde un punto añaden texto al final del texto matado anteriormente. Los comandos que matan hacia atrás desde el punto añaden texto al principio. De esta forma, cualquier secuencia de comandos de eliminación hacia delante y hacia atrás pone todo el texto eliminado en una sola entrada sin reordenar. Los argumentos numéricos no rompen la secuencia de eliminación. Por ejemplo, supongamos que el buffer contiene este texto:
Los comandos que matan hacia delante desde un punto añaden texto al final del texto matado anteriormente. Los comandos que matan hacia atrás desde el punto añaden texto al principio. De esta forma, cualquier secuencia de comandos de eliminación hacia delante y hacia atrás pone todo el texto eliminado en una sola entrada sin reordenar. Los argumentos numéricos no rompen la secuencia de eliminación. Por ejemplo, supongamos que el búfer contiene este texto:
::
Esta es una línea de texto de ejemplo.
con el punto mostrado por ````. Si escribe :kbd:`Alt`-:kbd:`d` :kbd:`Alt`-:kbd:`BACKSPACE` :kbd:`Alt`-:kbd:`d` :kbd:`Alt`-:kbd:`BACKSPACE` (``M-d M-DEL M-d M-DEL``), matando alternativamente hacia adelante y hacia atrás, terminará con ``una línea de ejemplo`` como una entrada en el anillo de matar, y ``Esto es texto.`` en el buffer. (Observe el doble espacio entre ``es`` y ``texto``, que puede limpiar con :kbd:`Alt`-:kbd:`SPACE` (``M-SPC``) o :kbd:`Alt`-:kbd:`q` (``M-q``)).
con el punto mostrado por ````. Si escribe :kbd:`Alt`-:kbd:`d` :kbd:`Alt`-:kbd:`BACKSPACE` :kbd:`Alt`-:kbd:`d` :kbd:`Alt`-:kbd:`BACKSPACE` (``M-d M-DEL M-d M-DEL``), matando alternativamente hacia adelante y hacia atrás, terminará con ``una línea de ejemplo`` como una entrada en el anillo de matar, y ``Esto es texto.`` en el búfer. (Observe el doble espacio entre ``es`` y ``texto``, que puede limpiar con :kbd:`Alt`-:kbd:`SPACE` (``M-SPC``) o :kbd:`Alt`-:kbd:`q` (``M-q``)).
Otra forma de matar el mismo texto es retroceder dos palabras con :kbd:`Alt`-:kbd:`b` :kbd:`Alt`-:kbd:`b` (``M-b M-b``), y luego matar las cuatro palabras hacia adelante con :kbd:`Ctrl`-:kbd:`u` :kbd:`Alt`-:kbd:`d` (``C-u M-d``). Esto produce exactamente los mismos resultados en el buffer y en el kill ring. :kbd:`Alt`-:kbd:`f` :kbd:`Alt`-:kbd:`f` :kbd:`Ctrl`-:kbd:`u` :kbd:`Alt`-:kbd:`BACKSPACE` (``M-f M-f C-u M-DEL``) mata el mismo texto, yendo todo hacia atrás; una vez más, el resultado es el mismo. El texto en la entrada del kill ring siempre tiene el mismo orden que tenía en el buffer antes de que lo matara.
Otra forma de matar el mismo texto es retroceder dos palabras con :kbd:`Alt`-:kbd:`b` :kbd:`Alt`-:kbd:`b` (``M-b M-b``), y luego matar las cuatro palabras hacia adelante con :kbd:`Ctrl`-:kbd:`u` :kbd:`Alt`-:kbd:`d` (``C-u M-d``). Esto produce exactamente los mismos resultados en el búfer y en el kill ring. :kbd:`Alt`-:kbd:`f` :kbd:`Alt`-:kbd:`f` :kbd:`Ctrl`-:kbd:`u` :kbd:`Alt`-:kbd:`BACKSPACE` (``M-f M-f C-u M-DEL``) mata el mismo texto, yendo todo hacia atrás; una vez más, el resultado es el mismo. El texto en la entrada del kill ring siempre tiene el mismo orden que tenía en el búfer antes de que lo matara.
Si una orden de matar está separada de la última orden de matar por otras órdenes (no sólo argumentos numéricos), inicia una nueva entrada en el anillo de muertes. Pero puede forzarla a combinarse con el último texto matado, tecleando justo antes :kbd:`Ctrl`-:kbd:`Alt`-:kbd:`w` (``C-M-w``, ``append-next-kill``). ``C-M-w`` le dice al comando que le sigue, si es un comando de eliminación, que trate la eliminación como parte de la secuencia de eliminaciones anteriores. Como de costumbre, la orden de matar se añade al texto matado anteriormente si la orden mata hacia delante, y se antepone si la orden mata hacia atrás. De este modo, puede matar varios trozos de texto separados y acumularlos para volver a arrancarlos en un solo lugar.
Un comando de matar que sigue a ``M-w`` (``kill-ring-save``) no se añade al texto que ``M-w`` copió en el anillo de muertes.
.. _13.3:
13.3 Operaciones de "cortar y pegar" en Entornos Gráficos de Escritorio
-----------------------------------------------------------------------
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 *portapapeles*. 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.
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:`Ctrl`-:kbd:`x` :kbd:`RETURN` :kbd:`x` (``C-x RET x``) o :kbd:`Ctrl`-:kbd:`x` :kbd:`RETURN` :kbd:`X` (``C-x RET X``). También puede solicitar un tipo de datos diferente personalizando ``x-select-request-type``. Véase **Sistemas de Codificación para la Comunicación entre Procesos**.
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:`Ctrl`-:kbd:`x` :kbd:`RETURN` :kbd:`x` (``C-x RET x``) o :kbd:`Ctrl`-:kbd:`x` :kbd:`RETURN` :kbd:`X` (``C-x RET X``). También puede solicitar un tipo de datos diferente personalizando ``x-select-request-type``. Véase :ref:`23.10`.
.. _13.3.1:
13.3.1 Utilizar el Portapapeles
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
El *portapapeles* 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.
Cuando mata algún texto con un comando como ``C-w`` (``kill-region``), o lo copia al anillo de la muerte con un comando como ``M-w`` (``kill-ring-save``), ese texto también se pone en el portapapeles.
Cuando mata algún texto con un comando como ``C-w`` (``kill-region``), o lo copia al anillo de muertes con un comando como ``M-w`` (``kill-ring-save``), ese texto también va al portapapeles.
Cuando un comando kill de Emacs pone texto en el portapapeles, normalmente se pierde el contenido del portapapeles existente. Opcionalmente, Emacs puede guardar el contenido existente del portapapeles en el kill ring (anillo de muertes), evitando que pierda los datos anteriores del portapapeles. Si ``save-interprogram-paste-before-kill`` se ha establecido en un número, entonces los datos se copian si son más pequeños (en caracteres) que este número. Si esta variable tiene cualquier otro valor que no sea nulo, los datos se copian siempre, con el riesgo de un alto consumo de memoria si los datos resultan ser grandes.
Los comandos Yank, como ``C-y`` (``yank``), también usan el portapapeles. Si otra aplicación "posee" el portapapeles, es decir, si cortó o copió texto allí más recientemente que su último comando de eliminación en Emacs, entonces lo elimina del portapapeles en lugar del anillo de muertes.
Los comandos Yank (los comandos de *tirar* o *jalar* texto), como ``C-y`` (``yank``), también usan el portapapeles. Si otra aplicación "posee" el portapapeles, es decir, si cortó o copió texto allí más recientemente que su último comando de eliminación en Emacs, entonces lo elimina del portapapeles en lugar del anillo de muertes.
Normalmente, girar el anillo de muertes con ``M-y`` (``yank-pop``) no altera el portapapeles. Sin embargo, si cambia ``yank-pop-change-selection`` a ``t``, entonces ``M-y`` guarda el nuevo yank en el portapapeles.
Para evitar que los comandos kill y yank accedan al portapapeles, cambie la variable ``select-enable-clipboard a nil``.
Los programas pueden poner en el portapapeles otras cosas además de texto plano. Por ejemplo, un navegador web normalmente le permitirá elegir "Copiar imagen" en las imágenes, y esta imagen se pondrá en el portapapeles. En plataformas capaces, Emacs puede extraer estos objetos con el comando yank-media, pero sólo en modos que lo soporten (ver **Tirando de Medios** en el Manual de Referencia de Emacs Lisp).
Los programas pueden poner en el portapapeles otras cosas además de texto plano. Por ejemplo, un navegador web normalmente le permitirá elegir "Copiar imagen" en las imágenes, y esta imagen se pondrá en el portapapeles. En plataformas capaces, Emacs puede extraer estos objetos con el comando ``yank-media``, pero sólo en modos que lo soporten (ver **Tirando de Archivos Media** en el Manual de Referencia de Emacs Lisp).
Muchos entornos de escritorio X soportan una característica llamada *gestor del portapapeles*. Si sale de Emacs mientras es el actual "propietario" de los datos del portapapeles, y hay un gestor de portapapeles en ejecución, Emacs transfiere los datos del portapapeles al gestor de portapapeles para que no se pierdan. En algunas circunstancias, esto puede causar un retraso al salir del Editor; si desea evitar que Emacs transfiera datos al gestor del portapapeles, cambie la variable ``x-select-enable-clipboard-manager`` a ``nil``.
Dado que las cadenas que contienen bytes NUL suelen truncarse al pasarlas por el portapapeles, Emacs sustituye dichos caracteres por "\0" antes de transferirlos al portapapeles del sistema.
Antes de Emacs 24, los comandos kill y yank usaban la selección primaria (ver **Cortar y Pegar con Otras Aplicaciones de Ventana**), no el portapapeles. Si prefiere este comportamiento,
cambie ``select-enable-clipboard`` a ``nil``, ``select-enable-primary`` a ``t``, y ``mouse-drag-copy-region`` a ``t``. En este caso, puede usar los siguientes comandos para actuar explícitamente sobre el portapapeles: ``clipboard-kill-region`` mata la región y la guarda en el portapapeles; ``clipboard-kill-ring-save`` copia la región al anillo de muertes y la guarda en el portapapeles; y ``clipboard-yank`` tira del contenido del portapapeles en el punto.
Antes de Emacs 24, los comandos kill y yank usaban la selección primaria (ver :ref:`13.3.2`), no el portapapeles. Si prefiere este comportamiento, cambie ``select-enable-clipboard`` a ``nil``, ``select-enable-primary`` a ``t``, y ``mouse-drag-copy-region`` a ``t``. En este caso, puede usar los siguientes comandos para actuar explícitamente sobre el portapapeles: ``clipboard-kill-region`` mata la región y la guarda en el portapapeles; ``clipboard-kill-ring-save`` copia la región al anillo de muertes y la guarda en el portapapeles; y ``clipboard-yank`` tira del contenido del portapapeles en el punto.
.. _13.3.2:
13.3.2 Cortar y Pegar con Otras Aplicaciones de Ventana
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Bajo el Sistema X Window, PGTK y Haiku, existe una selección primaria que contiene el último tramo de texto seleccionado en una aplicación X (normalmente arrastrando el ratón). Normalmente, este texto puede insertarse en otras aplicaciones X mediante 2 clics del ratón. La selección primaria está separada del portapapeles. Su contenido es más frágil; se sobrescribe cada vez que se selecciona texto con el ratón, mientras que el portapapeles sólo se sobrescribe mediante comandos explícitos de cortar o copiar.
Bajo el Sistema X Window, PGTK y Haiku, existe una *selección primaria* que contiene el último tramo de texto seleccionado en una aplicación X (normalmente arrastrando el ratón). Normalmente, este texto puede insertarse en otras aplicaciones X mediante clics de ``ratón-2``. La selección primaria está separada del portapapeles. Su contenido es más frágil; se sobrescribe cada vez que se selecciona texto con el ratón, mientras que el portapapeles sólo se sobrescribe mediante comandos explícitos de cortar o copiar.
En X, siempre que la región esté activa (véase **La Marca y la Región**), el texto de la región se guarda en la selección primaria. Esto se aplica independientemente de si la región se hizo arrastrando o haciendo clic con el ratón (véase **Comandos del Ratón para Editar**), o mediante comandos del teclado (por ejemplo, escribiendo :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC``) y moviendo el punto; véase **Establecer la Marca**).
En X, siempre que la región esté activa (véase :ref:`12`), el texto de la región se guarda en la selección primaria. Esto se aplica independientemente de si la región se hizo arrastrando o haciendo clic con el ratón (véase :ref:`22.1`), o mediante comandos del teclado (por ejemplo, escribiendo :kbd:`Ctrl`-:kbd:`SPACE` (``C-SPC``) y moviendo el 20punto; véase :ref:`12.1`).
Si cambia la ``variable select-active-regions`` a ``only``, Emacs guarda sólo las regiones temporalmente activas en la selección primaria, es decir, aquellas hechas con el ratón o con shift selection (ver **Selección mediante shift**). Si cambia ``select-active-regions`` a ``nil``, Emacs evita guardar regiones activas en la selección primaria por completo.
Si cambia la ``variable select-active-regions`` a ``only``, Emacs guarda sólo las regiones temporalmente activas en la selección primaria, es decir, aquellas hechas con el ratón o con selección mediante mayúsculas (ver :ref:`12.6`). Si cambia ``select-active-regions`` a ``nil``, Emacs evita guardar regiones activas en la selección primaria por completo.
Para insertar la selección primaria en un buffer de Emacs, haga clic con mouse-2 (``mouse-yank-primary``) donde quiera insertarla. Vea **Comandos del Ratón para Editar**. También puede usar el comando yank normal de Emacs (``C-y``) para insertar este texto si ``select-enable-primary`` está activado (vea **Usando el Portapapeles**).
Para insertar la selección primaria en un búfer de Emacs, haga clic con ``mouse-2`` (``mouse-yank-primary``) donde quiera insertarla. Vea :ref:`22.1`. También puede usar el comando yank normal de Emacs (``C-y``) para insertar este texto si ``select-enable-primary`` está activado (vea :ref:`13.3.1`).
Por defecto, Emacs mantiene la región activa incluso después de que se seleccione texto en otro programa; esto es contrario al comportamiento típico de X. Para hacer que Emacs desactive la región después de que otro programa coloque datos en la selección primaria, active el modo menor global ``lost-selection-mode``.
@ -284,41 +294,38 @@ MS-Windows no proporciona selección primaria, pero Emacs la emula dentro de una
Además de la selección primaria, el Sistema X Window proporciona una segunda facilidad similar conocida como *selección secundaria*. Hoy en día, pocas aplicaciones X hacen uso de la selección secundaria, pero puede acceder a ella usando los siguientes comandos de Emacs:
Establezca la selección secundaria, con un extremo en el lugar donde presiona el botón, y el otro extremo en el lugar donde lo suelta (``mouse-set-secondary``). El texto seleccionado se resalta, usando la cara de selección secundaria, a medida que lo arrastra. La ventana se desplaza automáticamente si arrastra el ratón fuera de la parte superior o inferior de la ventana, igual que ``mouse-set-region`` (ver **Comandos del Ratón para Editar**).
Establezca la selección secundaria, con un extremo en el lugar donde presiona el botón, y el otro extremo en el lugar donde lo suelta (``mouse-set-secondary``). El texto seleccionado se resalta, usando la cara de selección secundaria, a medida que lo arrastra. La ventana se desplaza automáticamente si arrastra el ratón fuera de la parte superior o inferior de la ventana, igual que ``mouse-set-region`` (ver :ref:`22.1`).
Este comando no altera el anillo de muertes.
:kbd:`Alt`-**arrastrar-ratón1** (**M-arrastrar-ratón-1**)
:kbd:`Alt`-**arrastrar**-``ratón-1`` (``M-``-**arrastrar**-``ratón-1``)
Establece la selección secundaria, con un extremo en el lugar donde se pulsa el botón, y el otro extremo en el lugar donde se suelta (``mouse-set-secondary``). El texto seleccionado
se resalta, usando la cara de selección secundaria, a medida que lo arrastra. La ventana se desplaza automáticamente si arrastra el ratón fuera de la parte superior o inferior de la
ventana, igual que ``mouse-set-region`` (ver **Comandos del Ratón para Editar**).
Establece la selección secundaria, con un extremo en el lugar donde se pulsa el botón, y el otro extremo en el lugar donde se suelta (``mouse-set-secondary``). El texto seleccionado se resalta, usando la cara de selección secundaria, a medida que lo arrastra. La ventana se desplaza automáticamente si arrastra el ratón fuera de la parte superior o inferior de la ventana, igual que ``mouse-set-region`` (ver :ref:`12.1`).
Este comando no altera el anillo de muertes.
:kbd:`Alt`-**ratón-1** (**M-ratón-1**)
:kbd:`Alt`-``ratón-1`` (``M``\-``ratón-1``)
Establece un extremo para la selección secundaria (``mouse-start-secondary``); use ``M-ratón-3`` para establecer el otro extremo y completar la selección. Este comando cancela
cualquier selección secundaria existente, cuando inicia una nueva.
Establece un extremo para la selección secundaria (``mouse-start-secondary``); use ``M-ratón-3`` para establecer el otro extremo y completar la selección. Este comando cancela cualquier selección secundaria existente, cuando inicia una nueva.
:kbd:`Alt`-**ratón-3** (**M-ratón-3**)
:kbd:`Alt`\-``ratón-3`` (``M``\-``ratón-3``)
Coloca la selección secundaria (``mouse-secondary-save-then-kill``), con un extremo en la posición en la que pulsó ``M-ratón-3``, y el otro en la posición especificada previamente con
``M-ratón-1``. Esto también pone el texto seleccionado en el anillo de muertes. Un segundo ``M-ratón-3`` en el mismo lugar mata el texto seleccionado por la selección secundaria que
se acaba de hacer.
Coloca la selección secundaria (``mouse-secondary-save-then-kill``), con un extremo en la posición en la que pulsó ``M-ratón-3``, y el otro en la posición especificada previamente con ``M-ratón-1``. Esto también pone el texto seleccionado en el anillo de muertes. Un segundo ``M-ratón-3`` en el mismo lugar mata el texto seleccionado por la selección secundaria que se acaba de hacer.
:kbd:`Alt`-**ratón-2** (**M-ratón-2**)
:kbd:`Alt`-``ratón-2`` (``M``\-``ratón-2``)
Inserta la selección secundaria donde has hecho clic, colocando el punto al final del texto arrancado (``mouse-yank-secondary``).
El doble o triple clic de ``M-ratón-1`` opera sobre palabras y líneas, de forma similar a ``M-ratón-1``.
Si ``mouse-yank-at-point`` es distinto de cero, ``M-mouse-2`` hace clic en el punto. Entonces no importa exactamente dónde haga clic, o incluso en cuál de las ventanas del marco haga clic. Ver **Comandos del Ratón para Editar**. Esta opción de usuario también afecta a la búsqueda interactiva: si no es nula, al pulsar con el ratón en cualquier parte del marco se añadirá el texto a la cadena de búsqueda.
Si ``mouse-yank-at-point`` es distinto de cero, ``M-mouse-2`` hace clic en el punto. Entonces no importa exactamente dónde haga clic, o incluso en cuál de las ventanas del marco haga clic. Ver :ref:`22.1`. Esta opción de usuario también afecta a la búsqueda interactiva: si no es nula, al pulsar con el ratón en cualquier parte del marco se añadirá el texto a la cadena de búsqueda.
.. _13.4:
13.4 Acumular Texto
-------------------
Normalmente copiamos o movemos texto matándolo y tirando de él, pero hay otros métodos convenientes para copiar un bloque de texto en muchos lugares, o para copiar muchos bloques de texto dispersos en un solo lugar. Aquí describimos los comandos para acumular trozos de texto dispersos en un buffer o en un fichero.
Normalmente copiamos o movemos texto matándolo y tirando de él, pero hay otros métodos convenientes para copiar un bloque de texto en muchos lugares, o para copiar muchos bloques de texto dispersos en un solo lugar. Aquí describimos los comandos para acumular trozos de texto dispersos en un búfer o en un fichero.
:kbd:`Alt`-:kbd:`x` ``append-to-buffer`` (``M-x append-to-buffer``)
@ -342,17 +349,17 @@ Normalmente copiamos o movemos texto matándolo y tirando de él, pero hay otros
Para acumular texto en un búfer, utilice ``M-x append-to-buffer``. Esto lee un nombre de búfer y luego inserta una copia de la región en el búfer especificado. Si especifica un búfer inexistente, ``append-to-buffer`` crea el búfer. El texto se inserta en cualquier punto de ese búfer. Si ha estado utilizando el búfer para editar, el texto copiado se inserta en el centro del texto del búfer, comenzando donde se encuentre el punto en ese momento.
El punto de ese búfer queda al final del texto copiado, de modo que los usos sucesivos de anexar al búfer acumulan el texto en el búfer especificado en el mismo orden en que fueron copiados. Estrictamente hablando, ``append-to-buffer`` no siempre añade texto al que ya está en el búfer; sólo lo añade si el punto de ese búfer está al final. Sin embargo, si ``append-to-buffer`` es el único comando que usa para alterar un buffer, entonces el punto siempre está al final.
El punto de ese búfer queda al final del texto copiado, de modo que los usos sucesivos de anexar al búfer acumulan el texto en el búfer especificado en el mismo orden en que fueron copiados. Estrictamente hablando, ``append-to-buffer`` no siempre añade texto al que ya está en el búfer; sólo lo añade si el punto de ese búfer está al final. Sin embargo, si ``append-to-buffer`` es el único comando que usa para alterar un búfer, entonces el punto siempre está al final.
``M-x prepend-to-buffer`` es igual que ``append-to-buffer`` excepto en que el punto en el otro buffer se deja antes del texto copiado, de modo que los usos sucesivos de este comando añaden texto en orden inverso. ``M-x copy-to-buffer`` es similar, excepto en que cualquier texto existente en el otro buffer se borra, por lo que el buffer queda conteniendo sólo el texto recién copiado en él.
``M-x prepend-to-buffer`` es igual que ``append-to-buffer`` excepto en que el punto en el otro búfer se deja antes del texto copiado, de modo que los usos sucesivos de este comando añaden texto en orden inverso. ``M-x copy-to-buffer`` es similar, excepto en que cualquier texto existente en el otro búfer se borra, por lo que el búfer queda conteniendo sólo el texto recién copiado en él.
El comando :kbd:`Ctrl`-:kbd:`x` :kbd:`x` :kbd:`i` (``C-x x i``, ``insertar-buffer``) se puede usar para recuperar el texto acumulado en otro buffer. Este comando pide el nombre de un búfer e inserta una copia de todo el texto de ese búfer en el búfer actual en el punto, dejando el punto al principio del texto insertado. También añade la posición del final del texto insertado al anillo de marca, sin activar la marca. Para más información sobre los buffers, véase **Utilización de Búferes Múltiples**.
El comando :kbd:`Ctrl`-:kbd:`x` :kbd:`x` :kbd:`i` (``C-x x i``, ``insertar-buffer``) se puede usar para recuperar el texto acumulado en otro búfer. Este comando pide el nombre de un búfer e inserta una copia de todo el texto de ese búfer en el búfer actual en el punto, dejando el punto al principio del texto insertado. También añade la posición del final del texto insertado al anillo de marca, sin activar la marca. Para más información sobre los búferes, véase :ref:`20`.
En lugar de acumular texto en un búfer, puede añadir texto directamente a un archivo con ``M-x append-to-file``. Esto solicita un nombre de archivo y añade el texto de la región al final del archivo especificado. El archivo se modifica inmediatamente en el disco.
Debería usar ``append-to-file`` sólo con ficheros que no estén siendo visitados en Emacs. Usarlo en un fichero que está editando en Emacs cambiaría el fichero a espaldas de Emacs, lo que puede llevar a perder parte de su edición.
Otra forma de mover texto es almacenarlo en un registro. Ver **Registros**.
Otra forma de mover texto es almacenarlo en un registro. Ver :ref:`14`.
.. _13.5:
@ -365,7 +372,7 @@ Para especificar un rectángulo para un comando, ponga la marca en una esquina y
La región rectangular se controla del mismo modo que la región. Pero recuerde que una combinación dada de valores de punto y marca puede interpretarse como una región o como un rectángulo, dependiendo del comando que los utilice.
Una región rectangular también puede marcarse con el ratón: haga clic y arrastre C-Mouse-1 desde una esquina del rectángulo a la opuesta.
Una región rectangular también puede marcarse con el ratón: haga clic y arrastre :kbd:`Ctrl`\-``ratón-1`` (``C``\-``ratón-1``) desde una esquina del rectángulo a la opuesta.
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`k` (``C-x r k``)
@ -399,19 +406,18 @@ Una región rectangular también puede marcarse con el ratón: haga clic y arras
Elimina los espacios en blanco de cada una de las líneas del rectángulo especificado, empezando por la columna del borde izquierdo del rectángulo.
:kbd:`Ctrl`-:kbd:`x` :kbd:`r` :kbd:`t` **cadena** :kbd:`RETURN` (``C-x r t`` **cadena** ``RET``)
:kbd:`Ctrl`-:kbd:`x` :kbd:`r` :kbd:`t` *cadena* :kbd:`RETURN` (``C-x r t`` *cadena* ``RET``)
Sustituye el contenido del rectángulo por una cadena en cada línea (``string-rectangle``).
Sustituye el contenido del rectángulo por una *cadena* en cada línea (``string-rectangle``).
| :kbd:`Alt`-:kbd:`x` ``string-insert-rectangle`` :kbd:`RETURN` **cadena** :kbd:`RETURN`
| (``M-x string-insert-rectangle RET`` **cadena** ``RET``)
| :kbd:`Alt`-:kbd:`x` ``string-insert-rectangle`` :kbd:`RETURN` *cadena* :kbd:`RETURN`
| (``M-x string-insert-rectangle RET`` *cadena* ``RET``)
Inserta una cadena en cada línea del rectángulo.
Inserta una *cadena* en cada línea del rectángulo.
:kbd:`Ctrl`-:kbd:`x` :kbd:`SPACE` (``C-x SPC``)
Activa el modo de marca de rectángulo (``rectangle-mark-mode``). Cuando este modo está activo, el rectángulo de la región se resalta y se puede encoger/agrandar, y los comandos
estándar kill y yank operan sobre él.
Activa el modo de marca de rectángulo (``rectangle-mark-mode``). Cuando este modo está activo, el rectángulo de la región se resalta y se puede encoger/agrandar, y los comandos estándar kill y yank operan sobre él.
Las operaciones con rectángulos se dividen en dos clases: comandos para borrar o insertar rectángulos, y comandos para hacer rectángulos en blanco.
@ -425,7 +431,7 @@ Para borrar el último rectángulo eliminado, escriba :kbd:`Ctrl`-:kbd:`x` :kbd:
Por ejemplo, puede convertir dos listas de una columna en una lista de dos columnas matando una de las listas de una columna como un rectángulo y, a continuación, desplazándola al lado de la otra lista.
También puede copiar rectángulos dentro y fuera de registros con :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`r`:kbd:`r` (``C-x r r r``) y :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`i`:kbd:`r` (``C-x r i r``). Consulte **Guardar Rectángulos en Registros**.
También puede copiar rectángulos dentro y fuera de registros con :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`r`:kbd:`r` (``C-x r r r``) y :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`i`:kbd:`r` (``C-x r i r``). Consulte :ref:`14.3`.
Hay dos comandos que puede usar para hacer rectángulos en blanco: :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`c` (``C-x r c``, ``clear-rectangle``) borra el texto existente en el rectángulo-región, y :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`o` (``C-x r o``, ``open-rectangle``) inserta un rectángulo en blanco.
@ -437,34 +443,34 @@ El comando :kbd:`Ctrl`-:kbd:`x` :kbd:`r` :kbd:`t` (``C-x r t``, ``string-rectang
El comando ``M-x string-insert-rectangle`` es similar a ``string-rectangle``, pero inserta la cadena en cada línea, desplazando el texto original a la derecha.
El comando :kbd:`Ctrl`-:kbd:`x` :kbd:`SPACE` (``C-x SPC``, ``rectangle-mark-mode``) alterna si se resalta la región-rectángulo o la región estándar (activando primero la región si es necesario). Cuando este modo está activado, los comandos que redimensionan la región (``C-f``, ``C-n``, etc.) lo hacen de forma rectangular, y matar y desplazar operan sobre el rectángulo. Véase **Matar y Mover Texto**. El modo persiste sólo mientras la región está activa.
El comando :kbd:`Ctrl`-:kbd:`x` :kbd:`SPACE` (``C-x SPC``, ``rectangle-mark-mode``) alterna si se resalta la región-rectángulo o la región estándar (activando primero la región si es necesario). Cuando este modo está activado, los comandos que redimensionan la región (``C-f``, ``C-n``, etc.) lo hacen de forma rectangular, y matar y desplazar operan sobre el rectángulo. Véase :ref:`13`. El modo persiste sólo mientras la región está activa.
El rectángulo de la región sólo funciona cuando la marca está activa. En particular, cuando el modo Marca transitoria está desactivado (véase **Desactivar el Modo Marca Transitoria**), además de teclear :kbd:`Ctrl`-:kbd:`x` :kbd:`SPACE` deberá activar la marca.
El rectángulo de la región sólo funciona cuando la marca está activa. En particular, cuando el modo Marca transitoria está desactivado (véase :ref:`12.7`), además de teclear :kbd:`Ctrl`-:kbd:`x` :kbd:`SPACE` deberá activar la marca.
A diferencia de la región estándar, la región-rectángulo puede tener sus esquinas extendidas más allá del final del búfer, o dentro de tramos de espacio en blanco en los que normalmente no puede entrar el punto, como en medio de un carácter ``TAB``.
Cuando la región está activa (véase **La Marca y la Región**) y en modo región rectangular (``rectangle-mark-mode``), ``C-x C-x`` ejecuta el comando ``rectangle-exchange-point-and-mark``, que realiza un ciclo entre las cuatro esquinas del rectángulo-región. Esto resulta útil si desea modificar las dimensiones de dicha región antes de invocar una operación sobre el texto marcado.
Cuando la región está activa (véase :ref:`12`) y en modo región rectangular (``rectangle-mark-mode``), ``C-x C-x`` ejecuta el comando ``rectangle-exchange-point-and-mark``, que realiza un ciclo entre las cuatro esquinas del rectángulo-región. Esto resulta útil si desea modificar las dimensiones de dicha región antes de invocar una operación sobre el texto marcado.
13.6 Enlaces CUA
----------------
El comando ``M-x cua-mode`` configura las combinaciones de teclas que son compatibles con el sistema de Acceso Común de Usuario (CUA) usado en muchas otras aplicaciones.
El comando ``M-x cua-mode`` configura las combinaciones de teclas que son compatibles con el sistema de Acceso Común de Usuario (Common User Access, CUA) usado en muchas otras aplicaciones.
Cuando el modo CUA está activado, las teclas :kbd:`Ctrl`-:kbd:`x` (``C-x``), :kbd:`Ctrl`-:kbd:`c` (``C-c``), :kbd:`Ctrl`-:kbd:`v` (``C-v``) y :kbd:`Ctrl`-:kbd:`z` (``C-z``) invocan comandos que cortan (*kill*), copian, pegan (*yank*) y deshacen (*undo*) respectivamente. Las teclas :kbd:`Ctrl`-:kbd:`x` (``C-x``) y :kbd:`Ctrl`-:kbd:`c` (``C-c``) ejecutan cortar y copiar sólo si la región está activa. De lo contrario, siguen actuando como teclas de prefijo, de modo que los comandos estándar de Emacs como :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`c` (``C-x C-c``) siguen funcionando. Tenga en cuenta que esto significa que la variable mark-even-if-inactive no tiene efecto para ``C-x y C-c`` (vea **Operando en la Región**).
Cuando el modo CUA está activado, las teclas :kbd:`Ctrl`-:kbd:`x` (``C-x``), :kbd:`Ctrl`-:kbd:`c` (``C-c``), :kbd:`Ctrl`-:kbd:`v` (``C-v``) y :kbd:`Ctrl`-:kbd:`z` (``C-z``) invocan comandos que cortan (*kill*), copian, pegan (*yank*) y deshacen (*undo*) respectivamente. Las teclas :kbd:`Ctrl`-:kbd:`x` (``C-x``) y :kbd:`Ctrl`-:kbd:`c` (``C-c``) ejecutan cortar y copiar sólo si la región está activa. De lo contrario, siguen actuando como teclas de prefijo, de modo que los comandos estándar de Emacs como :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`c` (``C-x C-c``) siguen funcionando. Tenga en cuenta que esto significa que la variable mark-even-if-inactive no tiene efecto para ``C-x y C-c`` (vea :ref:`12.3`).
Para introducir un comando Emacs como :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`f` (``C-x C-f``) mientras la marca está activa, use uno de los siguientes métodos: mantenga pulsada la tecla Mayúscula (:kbd:`Shift`) junto con la tecla del prefijo, por ejemplo, :kbd:`Shift`-:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`f` (``S-C-x C-f``), o teclee rápidamente la tecla del prefijo dos veces, por ejemplo, :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`f` (``C-x C-x C-f``).
Para desactivar la anulación de la vinculación estándar de Emacs por el modo CUA, manteniendo las otras características del modo CUA descritas a continuación, establezca la variable ``cua-enable-cua-keys`` a ``nil``.
El modo CUA activa por defecto el modo Borrar-Selección (Delete-Selection mode) (véase **Comandos del Ratón para Editar**), de forma que el texto escrito sustituye a la región activa. Para utilizar CUA sin este comportamiento, establezca la variable ``cua-delete-selection`` en ``nil``.
El modo CUA activa por defecto el modo Borrar-Selección (Delete-Selection mode) (véase :ref:`22.1`), de forma que el texto escrito sustituye a la región activa. Para utilizar CUA sin este comportamiento, establezca la variable ``cua-delete-selection`` en ``nil``.
El modo CUA proporciona soporte mejorado para rectángulos con resaltado de rectángulo visible. Utilice :kbd:`Ctrl`-:kbd:`RETURN` (``C-RET``) para iniciar un rectángulo, extenderlo utilizando los comandos de movimiento, y cortarlo o copiarlo utilizando ``C-x`` o ``C-c``. ``RET`` mueve el cursor a la siguiente esquina (en el sentido de las agujas del reloj) del rectángulo, para que pueda ampliarlo fácilmente en cualquier dirección. El texto normal que escriba se inserta a la izquierda o a la derecha de cada línea del rectángulo (en el mismo lado que el cursor).
Puede utilizar este soporte de rectángulo sin activar CUA llamando al comando ``cua-rectangle-mark-mode``. También existe el comando estándar ``rectangle-mark-mode``, véase **Rectángulos**.
Puede utilizar este soporte de rectángulo sin activar CUA llamando al comando ``cua-rectangle-mark-mode``. También existe el comando estándar ``rectangle-mark-mode``, véase :ref:`13.5`.
Con CUA puede copiar fácilmente texto y rectángulos dentro y fuera de los registros proporcionando un prefijo numérico de un dígito a los comandos kill, copy y yank, por ejemplo, :kbd:`Ctrl`-:kbd:`1` :kbd:`Ctrl`-:kbd:`c` (``C-1 C-c``) copia la región en el registro ``1``, y :kbd:`Ctrl`-:kbd:`2` :kbd:`Ctrl`-:kbd:`v` (``C-2 C-v``) yanks el contenido del registro ``2``.
El modo CUA también dispone de una función de marca global que permite mover y copiar texto fácilmente entre buffers. Utilice :kbd:`Ctrl`-:kbd:`Shift`-:kbd:`SPACE` (``C-S-SPC``) para activar o desactivar la marca global. Cuando dicha marca está activada, todo el texto que mate o copie se inserta automáticamente en ella, y el texto que escriba se inserta en esta (en la marca global) en lugar de en la posición actual.
El modo CUA también dispone de una función de marca global que permite mover y copiar texto fácilmente entre búferes. Utilice :kbd:`Ctrl`-:kbd:`Shift`-:kbd:`SPACE` (``C-S-SPC``) para activar o desactivar la marca global. Cuando dicha marca está activada, todo el texto que mate o copie se inserta automáticamente en ella, y el texto que escriba se inserta en esta (en la marca global) en lugar de en la posición actual.
Por ejemplo, para copiar palabras de varios búferes en una lista de palabras de un búfer determinado, establezca la marca global en el búfer de destino, luego navegue hasta cada una de las palabras que desee en la lista, márquela (por ejemplo, con :kbd:`Shift`-:kbd:`Alt`-:kbd:`f` (``S-M-f``)), cópiela en la lista con (``C-c``) o :kbd:`Alt`-:kbd:`w` (``M-w``), e inserte una nueva línea después de la palabra en la lista de destino pulsando ``RET``.

View File

@ -1,9 +1,11 @@
.. _14:
14 Registros
============
Los *registros* de Emacs son compartimentos donde puede guardar texto, rectángulos, posiciones y otras cosas para su uso posterior. Una vez que guarde texto o un rectángulo en un registro, puede copiarlo en el buffer una o muchas veces; una vez que guarde una posición en un registro, puede volver a esa posición una o muchas veces.
Cada registro tiene un nombre que consiste en un único carácter, que aquí, denotaremos con la letra *r*; *r* puede ser una letra (como ``a``) o un número (como ``1``); las mayúsculas y minúsculas importan, por lo que el registro ``a`` no es lo mismo que el registro ``A``. También puede establecer un registro en caracteres no alfanuméricos, por ejemplo ``*`` o ``C-d``. **Nota**, no es posible establecer un registro en :kbd:`Ctrl`-:kbd:`g` (``C-g``) o :kbd:`ESC` (``ESC``), porque estas teclas están reservadas para salir (ver **Salir y Abortar**).
Cada registro tiene un nombre que consiste en un único carácter, que aquí, denotaremos con la letra *r*; *r* puede ser una letra (como ``a``) o un número (como ``1``); las mayúsculas y minúsculas importan, por lo que el registro ``a`` no es lo mismo que el registro ``A``. También puede establecer un registro en caracteres no alfanuméricos, por ejemplo ``*`` o ``C-d``. **Nota**, no es posible establecer un registro en :kbd:`Ctrl`-:kbd:`g` (``C-g``) o :kbd:`ESC` (``ESC``), porque estas teclas están reservadas para salir (ver :ref:`51`).
Un registro puede almacenar una posición, un fragmento de texto, un rectángulo, un número, una configuración de ventana o marco, un nombre de búfer o un nombre de archivo, pero sólo una cosa en cada momento. Lo que se almacena en un registro permanece allí hasta que se almacena otra cosa en ese registro. Para ver qué contiene el registro *r*, utilice ``M-x view-register``:
@ -15,6 +17,8 @@ Todos los comandos que solicitan un registro mostrarán una ventana de vista pre
Los *marcadores* registran archivos y posiciones en ellos, para que pueda volver a esas posiciones cuando vuelva a mirar el archivo. Estos son similares en espíritu a los registros, por lo que también se documentan en este capítulo.
.. _14.1:
14.1 Guardar Posiciones en Registros
------------------------------------
@ -32,6 +36,8 @@ El comando ``C-x r j r`` cambia al búfer grabado en el registro *r*, inserta un
Si usa ``C-x r j`` para ir a una posición guardada, pero el buffer del que se guardó ha sido eliminado, ``C-x r j`` intenta crear el buffer de nuevo visitando el mismo archivo. Por supuesto, esto sólo funciona para búferes que estaban visitando archivos.
.. _14.2:
14.2 Guardar Texto en Registros
-------------------------------
@ -50,15 +56,15 @@ Cuando desee insertar una copia del mismo fragmento de texto varias veces, puede
Añade una región al texto del registro *r*.
Si el registro *r* contiene texto, puede utilizar :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`+` (``C-x r +``, ``increment-register``) para añadirlo a ese registro. Tenga en cuenta que el
comando ``C-x r +`` se comporta de forma diferente si *r* contiene un número. Consulte **Mantener los Números en los Registros**.
comando ``C-x r +`` se comporta de forma diferente si *r* contiene un número. Consulte :ref:`14.5`.
:kbd:`Alt`-:kbd:`x` ``prepend-to-register`` :kbd:`RETURN` :kbd:`r` (``M-x prepend-to-register RET`` **r**)
Añade una región al texto del registro *r*.
``C-x r s r`` almacena una copia del texto de la región en el registro de nombre *r*. Si la marca está inactiva, Emacs reactiva primero la marca donde se puso por última vez. La marca se desactiva al final de este comando. Véase **La Marca y la Región**. :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`s`:kbd:`r` (``C-u C-x r s r``), el mismo comando con un argumento prefijo, copia el texto en el registro *r* y borra el texto del buffer también; puede pensar en esto como mover el texto de la región al registro.
``C-x r s r`` almacena una copia del texto de la región en el registro de nombre *r*. Si la marca está inactiva, Emacs reactiva primero la marca donde se puso por última vez. La marca se desactiva al final de este comando. Véase :ref:`12`. :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`s`:kbd:`r` (``C-u C-x r s r``), el mismo comando con un argumento prefijo, copia el texto en el registro *r* y borra el texto del buffer también; puede pensar en esto como mover el texto de la región al registro.
:kbd:`Alt`-:kbd:`x` ``append-to-register`` :kbd:`RETURN` :kbd:`r` (``M-x append-to-register RET`` **r**) añade la copia del texto de la región al texto ya almacenado en el registro llamado *r*. Si se invoca con un argumento de prefijo, borra la región después de añadirla al registro. El comando ``prepend-to-register`` es similar, salvo que antepone el texto de la región al texto del registro en *lugar de añadirlo*.
:kbd:`Alt`-:kbd:`x` ``append-to-register`` :kbd:`RETURN` :kbd:`r` (``M-x append-to-register RET r``) añade la copia del texto de la región al texto ya almacenado en el registro llamado *r*. Si se invoca con un argumento de prefijo, borra la región después de añadirla al registro. El comando ``prepend-to-register`` es similar, salvo que antepone el texto de la región al texto del registro en *lugar de añadirlo*.
Al recopilar texto mediante ``append-to-register`` y ``prepend-to-register``, es posible que desee separar los fragmentos individuales recopilados mediante un separador. En ese caso, configura ``register-separator`` (un registro-separador) y almacena el texto separador en ese registro. Por ejemplo, para obtener líneas nuevas dobles como separador de texto durante el proceso de recopilación, puede usar la siguiente configuración.
@ -69,10 +75,12 @@ Al recopilar texto mediante ``append-to-register`` y ``prepend-to-register``, es
``C-x r i r`` inserta en el búfer el texto del registro *r*. Normalmente deja el punto después del texto y pone la marca antes, sin activarlo. Con un argumento prefijo, en cambio, coloca el punto antes del texto y la marca después.
.. _14.3:
14.3 Guardar Rectángulos en Registros
-------------------------------------
Un registro puede contener un rectángulo en lugar de texto lineal. Consulte **Rectángulos**, para obtener información básica sobre cómo especificar un rectángulo en el búfer.
Un registro puede contener un rectángulo en lugar de texto lineal. Consulte :ref:`13.5` , para obtener información básica sobre cómo especificar un rectángulo en el búfer.
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`r`:kbd:`r` (``C-x r r r``)
@ -82,12 +90,12 @@ Un registro puede contener un rectángulo en lugar de texto lineal. Consulte **R
Inserta el rectángulo almacenado en el registro *r* (si contiene un rectángulo) (``insert-register``).
El comando ``C-x r i r`` (``insert-register``), anteriormente documentado en Guardar Texto en Registros, inserta un rectángulo en lugar de una cadena de texto, si el registro contiene un rectángulo.
El comando ``C-x r i r`` (``insert-register``), anteriormente documentado en :ref:`14.2`, inserta un rectángulo en lugar de una cadena de texto, si el registro contiene un rectángulo.
14.4 Guardar Configuraciones de Ventana y Marco en Registros
------------------------------------------------------------
Puede guardar la configuración de la ventana del marco seleccionado en un registro, o incluso la configuración de todas las ventanas de todos los marcos, y restaurar la configuración más tarde. Para obtener más información sobre las configuraciones de ventanas, consulte **Funciones Prácticas para el Manejo de Ventanas**.
Puede guardar la configuración de la ventana del marco seleccionado en un registro, o incluso la configuración de todas las ventanas de todos los marcos, y restaurar la configuración más tarde. Para obtener más información sobre las configuraciones de ventanas, consulte :ref:`21.7`.
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`w`:kbd:`r` (C-x r w r)
@ -95,35 +103,35 @@ Puede guardar la configuración de la ventana del marco seleccionado en un regis
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`f`:kbd:`r` (``C-x r f r``)
Guarda el estado de todos los marcos, incluidas todas sus ventanas (también conocido como conjunto de marcos), en el registro *r* (``frameset to register``).
Guarda el estado de todos los marcos, incluidas todas sus ventanas (también conocido como *conjunto de marcos*), en el registro *r* (``frameset to register``).
Use :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`j`:kbd:`r` (``C-x r j r``) para restaurar la configuración de una ventana o marco. Es el mismo comando que se usa para restaurar la posición del
cursor. Al restaurar una configuración de marco, los marcos existentes no incluidos en la configuración se vuelven invisibles. Si desea eliminarlos, utilice :Kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`:kbd:`x` :kbd:`r`:kbd:`j`:kbd:`r` (``C-u C-x r j r``).
Use :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`j`:kbd:`r` (``C-x r j r``) para restaurar la configuración de una ventana o marco. Es el mismo comando que se usa para restaurar la posición del cursor. Al restaurar una configuración de marco, los marcos existentes no incluidos en la configuración se vuelven invisibles. Si desea eliminarlos, utilice :Kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`:kbd:`x` :kbd:`r`:kbd:`j`:kbd:`r` (``C-u C-x r j r``).
.. _14.5:
14.5 Guardar Números en Registros
---------------------------------
Existen comandos para almacenar un número en un registro, para insertar el número en el buffer en decimal, y para incrementarlo. Estos comandos pueden ser útiles en macros de teclado (véase **Macros de Teclado**).
Existen comandos para almacenar un número en un registro, para insertar el número en el buffer en decimal, y para incrementarlo. Estos comandos pueden ser útiles en macros de teclado (véase :ref:`18`).
:kbd:`Ctrl`-:kbd:`u` **número** :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`n`:kbd:`r` (``C-u`` **número** ``C-x r n r``)
:kbd:`Ctrl`-:kbd:`u` *número* :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`n`:kbd:`r` (``C-u`` *número* ``C-x r n r``)
Almacena el número en el registro *r* (``number-to-register``).
Almacena *número* en el registro *r* (``number-to-register``).
:kbd:`Ctrl`-:kbd:`u` **número** :kbd:`r`:kbd:`+` (``C-u número C-x r + r``)
:kbd:`Ctrl`-:kbd:`u` *número* :kbd:`r`:kbd:`+` (``C-u`` *número* ``C-x r + r``)
Si *r* contiene un número, incrementa el número de ese registro en un número. Tenga en cuenta que el comando ``C-x r +`` (``increment-register``) se comporta de forma diferente si
*r* contiene texto. Consulte **Guardar Texto en Registros**.
Si *r* contiene un número, incrementa el número de ese registro en una cantidad igual a *número*. Tenga en cuenta que el comando ``C-x r +`` (``increment-register``) se comporta de forma diferente si *r* contiene texto. Consulte :ref:`14.2`.
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`i`:kbd:`r` (``C-x r i r``)
Inserta el número del registro *r* en el búfer.
Inserta número del registro *r* en el búfer.
``C-x r i`` es el mismo comando que se usa para insertar cualquier otro tipo de contenido de registro en búfer. ``C-x r +`` sin argumento numérico incrementa el valor del registro en 1; ``C-x r n`` sin argumento numérico almacena cero en el registro.
``C-x r i`` es el mismo comando que se usa para insertar cualquier otro tipo de contenido de registro en búfer. ``C-x r +`` sin argumento numérico incrementa el valor del registro en 1; ``C-x r n`` sin argumento numérico almacena cero en dicho registro.
14.6. Mantener los Nombres de Ficheros y Búferes en Registros
-------------------------------------------------------------
Si visita ciertos nombres de fichero con frecuencia, puede visitarlos más convenientemente si pone sus nombres en registros. Este es el código Lisp usado para poner un nombre de fichero en el registro *r*:
Si visita ciertos nombres de fichero con frecuencia, puede visitarlos más convenientemente si pone sus *nombres* en registros. Este es el código Lisp usado para poner un nombre de fichero en el registro *r*:
::
@ -139,7 +147,7 @@ pone el *nombre* del archivo que aparece en el registro ``z``.
Para visitar el archivo cuyo nombre está en el registro *r*, escriba :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`j`:kbd:`r` (``C-x r j r``). (Este es el mismo comando que se utiliza para saltar a una posición o restaurar una configuración de marco).
Del mismo modo, si hay determinados búferes que visita con frecuencia, puede poner sus nombres en los registros. Por ejemplo, si visita el buffer ``*Messages*`` con frecuencia, puede usar el siguiente snippet (fragmento de código) para poner ese buffer en el registro ``m``:
Del mismo modo, si hay determinados búferes que visita con frecuencia, puede poner sus nombres en los registros. Por ejemplo, si visita el buffer ``*Messages*`` con frecuencia, puede usar el siguiente fragmento de código (snippet) para poner ese buffer en el registro ``m``:
::
@ -150,7 +158,7 @@ Para cambiar al búfer cuyo nombre está en el registro *r*, escriba :kbd:`Ctrl`
14.7 Registros de Macros de Teclado
-----------------------------------
Si necesita ejecutar una macro de teclado (véase **Macros de Teclado**) con frecuencia, es más conveniente ponerla en un registro o guardarla (véase **Nombrar y Guardar Macros de Teclado**). (``C-x C-k x r``, ``kmacro-to-register``) almacena la última macro de teclado en el registro *r*.
Si necesita ejecutar una macro de teclado (véase :ref:`18`) con frecuencia, es más conveniente ponerla en un registro o guardarla (véase :ref:`18.5`). (``C-x C-k x r``, ``kmacro-to-register``) almacena la última macro de teclado en el registro *r*.
Para ejecutar la macro de teclado en el registro *r*, escriba :kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`j`:kbd:`r` (``C-x r j r``). (Es el mismo comando que se usa para saltar a una posición o restaurar un conjunto de marcos).
@ -163,15 +171,15 @@ Los *marcadores* son algo parecido a los registros en el sentido de que memoriza
Establece el marcador para el archivo visitado, en el punto.
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`m` **marcador** :kbd:`RETURN` (``C-x r m`` **marcador** ``RET``)
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`m` *marcador* :kbd:`RETURN` (``C-x r m`` *marcador* ``RET``)
Establece el marcador de nombre *marcador* en el punto (``bookmark-set``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`M` **marcador** :kbd:`RETURN` (``C-x r M`` **marcador** ``RET``)
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`M` *marcador* :kbd:`RETURN` (``C-x r M`` *marcador* ``RET``)
Como ``C-x r m``, pero no sobrescribe un marcador existente.
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`b` **marcador** :kbd:`RETURN` (``C-x r b`` **marcador** ``RET``)
:kbd:`Ctrl`-:kbd:`x` :kbd:`r`:kbd:`b` *marcador* :kbd:`RETURN` (``C-x r b`` *marcador* ``RET``)
Salta al marcador de nombre *marcador* (``bookmark-jump``).
@ -197,32 +205,31 @@ La variable ``bookmark-default-file`` especifica el fichero en el que guardar lo
Si establece la variable ``bookmark-use-annotations`` en ``t``, al establecer un marcador se buscará una anotación. Si un marcador tiene una anotación, ésta se mostrará automáticamente en una ventana aparte cuando salte al marcador.
Los valores de posición de los marcadores se guardan con el contexto circundante, de forma que bookmark-jump pueda encontrar la posición correcta incluso si el archivo se modifica ligeramente. La variable ``bookmark-search-size`` dice cuántos caracteres de contexto registrar a cada lado de la posición del marcador. (En los búferes que visitan archivos encriptados, no se guarda ningún contexto en el archivo de marcadores sin importar el valor de esta variable).
Los valores de posición de los marcadores se guardan con el contexto circundante, de forma que ``bookmark-jump`` pueda encontrar la posición correcta incluso si el archivo se modifica ligeramente. La variable ``bookmark-search-size`` dice cuántos caracteres de contexto registrar a cada lado de la posición del marcador. (En los búferes que visitan archivos encriptados, no se guarda ningún contexto en el archivo de marcadores sin importar el valor de esta variable).
Aquí se muestran algunos comandos adicionales para trabajar con marcadores:
| :kbd:`Alt`-:kbd:`x` ``bookmark-load`` :kbd:`RETURN` **nombre_archivo** :kbd:`RETURN`
| (``M-x bookmark-load RET`` **nombre_archivo** ``RET``)
| :kbd:`Alt`-:kbd:`x` ``bookmark-load`` :kbd:`RETURN` *nombre_archivo* :kbd:`RETURN`
| (``M-x bookmark-load RET`` *nombre_archivo* ``RET``)
Carga un archivo llamado *nombre_archivo* que contiene una lista de valores de marcadores. Puede utilizar este comando, así como ``bookmark-write``, para trabajar con otros archivos
de valores de marcadores además de su archivo de marcadores predeterminado.
Carga un archivo llamado *nombre_archivo* que contiene una lista de valores de marcadores. Puede utilizar este comando, así como ``bookmark-write``, para trabajar con otros archivos de valores de marcadores además de su archivo de marcadores predeterminado.
| :kbd:`Alt`-:kbd:`x` ``bookmark-write`` :kbd:`RETURN` **nombre_archivo** :kbd:`RETURN`
| (``M-x bookmark-write RET nombre_archivo RET``)
| :kbd:`Alt`-:kbd:`x` ``bookmark-write`` :kbd:`RETURN` *nombre_archivo* :kbd:`RETURN`
| (``M-x bookmark-write RET`` *nombre_archivo* ``RET``)
Guarda todos los valores actuales de los marcadores en el archivo de nombre *nombre_archivo*.
| :kbd:`Alt`-:kbd:`x` ``bookmark-delete`` :kbd:`RETURN` **marcador** :kbd:`RETURN`
| (``M-x bookmark-delete RET`` **marcador** ``RET``)
| :kbd:`Alt`-:kbd:`x` ``bookmark-delete`` :kbd:`RETURN` *marcador* :kbd:`RETURN`
| (``M-x bookmark-delete RET`` *marcador* ``RET``)
Borra el marcador de nombre *marcador*.
| :kbd:`Alt`-:kbd:`x` ``bookmark-insert-location`` :kbd:`RETURN` **marcador** :kbd:`RETURN`
| (``M-x bookmark-insert-location RET`` **marcador** ``RET``)
| :kbd:`Alt`-:kbd:`x` ``bookmark-insert-location`` :kbd:`RETURN` *marcador* :kbd:`RETURN`
| (``M-x bookmark-insert-location RET`` *marcador* ``RET``)
Inserta en el búfer el nombre del archivo al que apunta el marcador.
Inserta en el búfer el nombre del archivo al que apunta el *marcador*.
| :kbd:`Alt`-:kbd:`x` ``bookmark-insert`` :kbd:`RETURN` **marcador** :Kbd:`RETURN`
| (``M-x bookmark-insert RET`` **marcador** ``RET``)
| :kbd:`Alt`-:kbd:`x` ``bookmark-insert`` :kbd:`RETURN` *marcador* :Kbd:`RETURN`
| (``M-x bookmark-insert RET`` *marcador* ``RET``)
Inserta en el búfer el contenido del archivo al que apunta el marcador.
Inserta en el búfer el contenido del archivo al que apunta el *marcador*.

View File

@ -685,6 +685,8 @@ Si se usan letras mayúsculas en la cadena de sustitución, permanecerán en may
Por defecto, los comandos de reemplazo no usan el plegado de caracteres (ver **Plegado de Caracteres**) cuando buscan el texto a reemplazar. Para habilitar el plegado de caracteres en ``query-replace`` y ``replace-string``, establece la variable ``replace-char-fold`` a un valor no nulo. (Este ajuste no afecta al texto de reemplazo, sólo a cómo Emacs encuentra el texto a reemplazar. Tampoco afecta a ``replace-regexp``).
.. _16.10.4:
16.10.4 Sustitución de Consultas
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -102,6 +102,8 @@ A un argumento numérico de cero se le asigna un significado especial (porque de
Un error muy común es escribir palabras en mayúsculas o minúsculas equivocadas. Por eso, los comandos de conversión de palabras ``M-l``, ``M-u`` y ``M-c`` 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 Comandos de **Conversión de Mayúsculas y Minúsculas**.
.. _17.4:
17.4 Comprobar y Corregir la Ortografía
---------------------------------------

View File

@ -197,6 +197,8 @@ Las respuestas válidas cuando ``C-x q`` pregunta son:
:kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`x` :kbd:`u` (``C-u C-x q``), que es :kbd:`Ctrl`-:kbd:`x` :kbd:`q` (``C-x q``) con un argumento prefijo, lleva a cabo una función completamente diferente. Entra en una edición recursiva leyendo la entrada del teclado, tanto cuando la escribe durante la definición de la macro, como cuando se ejecuta desde la macro. Durante la definición, la edición que hace dentro de la edición recursiva no se convierte en parte de la macro. Durante la ejecución de la macro, la edición recursiva le da la
oportunidad de hacer alguna edición particular en cada repetición. Véase **Niveles de Edición Recursiva**.
.. _18.5:
18.5 Nombrar y Guardar Macros de Teclado
----------------------------------------

View File

@ -105,4 +105,4 @@ Copyright © 1985-1987, 1993-2023 Free Software Foundation, Inc.
CapConSecciones/55_ComoObtnrAyuda.rst
CapConSecciones/ApendiceC.rst
CapConSecciones/ApendiceD.rst
CapConSecciones/

View File

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

View File

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

View File

@ -37,7 +37,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -237,7 +237,7 @@ de la libertad del software.»</p>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/13_MatarMoverTxt.html#tirar-de-un-texto">13.2 Tirar de un Texto</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/13_MatarMoverTxt.html#anillo-de-muerte">13.2.1 Anillo de Muerte</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/13_MatarMoverTxt.html#anillo-de-muertes">13.2.1 Anillo de Muertes</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/13_MatarMoverTxt.html#borrar-muertes-anteriores">13.2.2 Borrar Muertes Anteriores</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/13_MatarMoverTxt.html#anadir-muertes">13.2.3 Añadir Muertes</a></li>
</ul>
@ -443,7 +443,7 @@ de la libertad del software.»</p>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#barras-de-herramientas">22.16. Barras de Herramientas</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#barras-de-pestanas">22.17 Barras de Pestañas</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#uso-de-cuadros-de-dialogo">22.18 Uso de Cuadros de Diálogo</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#informacion-sobre-herramientas-tooltips">22.19 Información sobre Herramientas (Tooltips)</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#sugerencias-sobre-herramientas-tooltips">22.19 Sugerencias sobre Herramientas (Tooltips)</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#evitar-el-puntero-del-raton">22.20 Evitar el Puntero del Ratón</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#terminales-sin-ventana">22.21 Terminales sin Ventana</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/22_MarcosPantallasGraf.html#uso-del-raton-en-terminales-de-texto">22.22 Uso del Ratón en Terminales de Texto</a></li>
@ -538,7 +538,10 @@ de la libertad del software.»</p>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#indentacion-de-programas">27.3 Indentación de Programas</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#comandos-para-la-edicion-con-parentesis">27.4 Comandos para la Edición con Paréntesis</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#comandos-para-la-edicion-con-parentesis">27.4 Comandos para la Edición con Paréntesis</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#expresiones-con-parentesis-equilibrados">27.4.1 Expresiones con Paréntesis Equilibrados</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#manipulacion-de-comentarios">27.5. Manipulación de Comentarios</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#busqueda-de-documentacion">27.6 Búsqueda de Documentación</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#modo-secundario-hideshow">27.7 Modo Secundario Hideshow</a></li>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.38
Traducción Revisón: 1.43
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -140,7 +140,7 @@
<p>Llamamos <em>avanzado</em> a Emacs porque puede hacer mucho más que una simple inserción y borrado de texto. Puede controlar subprocesos, sangrar programas automáticamente, mostrar múltiples archivos a la vez, editar archivos remotos como si fueran archivos locales, y mucho más. Los comandos de edición de Emacs funcionan en términos de caracteres, palabras, líneas, frases, párrafos y páginas, así como de expresiones y comentarios en varios lenguajes de programación.</p>
<p><em>Autodocumentado</em> significa que en cualquier momento puede utilizar comandos especiales, conocidos como <em>comandos de ayuda</em>, para averiguar cuáles son sus opciones, o para averiguar qué hace
cualquier comando, o para encontrar todos los comandos que pertenecen a un tema determinado. Véase <a class="reference internal" href="CapConSecciones/11_Ayuda.html#id1"><span class="std std-ref">11 Ayuda</span></a>.</p>
<p><em>Personalizable</em> significa que puede alterar fácilmente el comportamiento de los comandos de Emacs de maneras sencillas. Por ejemplo, si usa un lenguaje de programación en el que los comentarios empiezan con <code class="docutils literal notranslate"><span class="pre">&lt;**</span></code> y terminan con <code class="docutils literal notranslate"><span class="pre">**&gt;</span></code>, puede decirle a los comandos de manipulación de comentarios de Emacs que usen esas cadenas (vea <a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#id2"><span class="std std-ref">27.5. Manipulación de Comentarios</span></a>). Por poner otro ejemplo, puede reenlazar los comandos básicos de movimiento del cursor (arriba, abajo, izquierda y derecha) a cualquier tecla del teclado que te resulte cómoda. Véase <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id1"><span class="std std-ref">50 Personalización</span></a>.</p>
<p><em>Personalizable</em> significa que puede alterar fácilmente el comportamiento de los comandos de Emacs de maneras sencillas. Por ejemplo, si usa un lenguaje de programación en el que los comentarios empiezan con <code class="docutils literal notranslate"><span class="pre">&lt;**</span></code> y terminan con <code class="docutils literal notranslate"><span class="pre">**&gt;</span></code>, puede decirle a los comandos de manipulación de comentarios de Emacs que usen esas cadenas (vea <a class="reference internal" href="CapConSecciones/27_EdDePrograms.html#id5"><span class="std std-ref">27.5. Manipulación de Comentarios</span></a>). Por poner otro ejemplo, puede reenlazar los comandos básicos de movimiento del cursor (arriba, abajo, izquierda y derecha) a cualquier tecla del teclado que te resulte cómoda. Véase <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id1"><span class="std std-ref">50 Personalización</span></a>.</p>
<p><em>Extensible</em> significa que puede ir más allá de la simple personalización y crear comandos completamente nuevos. Los nuevos comandos son simplemente programas escritos en lenguaje Lisp, que son ejecutados por el propio intérprete Lisp de Emacs. Los comandos existentes pueden incluso redefinirse en mitad de una sesión de edición, sin tener que reiniciar Emacs. La mayoría de los comandos de edición en Emacs están escritos en Lisp; las pocas excepciones podrían haber sido escritas en Lisp pero usan C en su lugar por eficiencia. Escribir una extensión es programar, pero los no programadores pueden usarla después. <strong>Ver Prefacio</strong> en Una Introducción a la Programación en Emacs Lisp, si quiere aprender programación en Emacs Lisp.</p>
</section>

Binary file not shown.

View File

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

File diff suppressed because one or more lines are too long