pages/sphinx/emacs29/doc/build/CapConSecciones/12_LaMarca-y-LaRegion.html
tanomarcelo 3cc1fa167f magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-04-04 11:58:04 -03:00

342 lines
62 KiB
HTML

<!DOCTYPE html>
<html class="writer-html5" lang="es" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>12 La marca y la región &mdash; documentación de GNU/Emacs 29.1 - 0.01</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=d7315b5f"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/translations.js?v=efdbd0b9"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Índice" href="../genindex.html" />
<link rel="search" title="Búsqueda" href="../search.html" />
<link rel="next" title="13 Matar y Mover Texto" href="13_MatarMoverTxt.html" />
<link rel="prev" title="11 Ayuda" href="11_Ayuda.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.70
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Buscar documentos" aria-label="Buscar documentos" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../distribucion.html">Distribución</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduccion.html">Introducción</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_OrgPant.html">1 La organización de la pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_TipoEntrUsuario.html">2 Tipos de Entrada del Usuario</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Teclas.html">3 Teclas</a></li>
<li class="toctree-l1"><a class="reference internal" href="../04_EntrDelRaton.html">4 Entrada del Ratón</a></li>
<li class="toctree-l1"><a class="reference internal" href="../05_TeclasComands.html">5 Teclas y Comandos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../06_EntrarEnEmacs.html">6 Entrar en Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../07_SalirDeEmacs.html">7 Cómo Salir de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_ComBasicEdic.html">8 Comandos Básicos de Edición</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_ElMinibufer.html">9 El Minibúfer</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_EjecutarComndPorNombre.html">10 Ejecutar Comandos por Nombre</a></li>
<li class="toctree-l1"><a class="reference internal" href="11_Ayuda.html">11 Ayuda</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">12 La marca y la región</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#fijar-la-marca">12.1 Fijar la Marca</a></li>
<li class="toctree-l2"><a class="reference internal" href="#comandos-para-marcar-objetos-textuales">12.2 Comandos para Marcar Objetos Textuales</a></li>
<li class="toctree-l2"><a class="reference internal" href="#operar-en-la-region">12.3 Operar en la Región</a></li>
<li class="toctree-l2"><a class="reference internal" href="#el-anillo-de-marcas">12.4 El Anillo de Marcas</a></li>
<li class="toctree-l2"><a class="reference internal" href="#el-anillo-de-marcas-global">12.5 El Anillo de Marcas Global</a></li>
<li class="toctree-l2"><a class="reference internal" href="#seleccion-mediante-mayusculas-shift">12.6 Selección mediante Mayúsculas (Shift)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#desactivar-el-modo-de-marca-transitoria">12.7 Desactivar el Modo de Marca Transitoria</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="13_MatarMoverTxt.html">13 Matar y Mover Texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="14_Registros.html">14 Registros</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_ControlDisplay.html">15 Controlando la Pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="16_BusqReemp.html">16 Búsqueda y Reemplazo</a></li>
<li class="toctree-l1"><a class="reference internal" href="17_CmdCorrecErrsTipogr.html">17 Comandos para Corregir Errores Tipográficos</a></li>
<li class="toctree-l1"><a class="reference internal" href="18_MacrosDeTeclado.html">18 Macros de Teclado</a></li>
<li class="toctree-l1"><a class="reference internal" href="19_ManejoArchivos.html">19 Manejo de Archivos</a></li>
<li class="toctree-l1"><a class="reference internal" href="20_UsarVariosBuferes.html">20 Uso de Varios Búferes</a></li>
<li class="toctree-l1"><a class="reference internal" href="21_VariasVentanas.html">21 Varias Ventanas</a></li>
<li class="toctree-l1"><a class="reference internal" href="22_MarcosPantallasGraf.html">22 Marcos y Pantallas Gráficas</a></li>
<li class="toctree-l1"><a class="reference internal" href="23_SoporteJuegoCaracIntern.html">23 Soporte de Juego de Caracteres Internacional</a></li>
<li class="toctree-l1"><a class="reference internal" href="24_ModosMayores-Y-Menores.html">24 Modos Mayores y Menores</a></li>
<li class="toctree-l1"><a class="reference internal" href="25_Indentacion.html">25 Indentación</a></li>
<li class="toctree-l1"><a class="reference internal" href="26_ComandsLengsHuma.html">26 Comandos para Lenguajes Humanos</a></li>
<li class="toctree-l1"><a class="reference internal" href="27_EdDePrograms.html">27 Edición de Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
<li class="toctree-l1"><a class="reference internal" href="50_Personlzc.html">50 Personalización</a></li>
<li class="toctree-l1"><a class="reference internal" href="51-SalirAbortar.html">51 Salir y Abortar</a></li>
<li class="toctree-l1"><a class="reference internal" href="52_LidiarProblEmacs.html">52 Tratando con Problemas de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="53_InformFallos.html">53 Informar de Fallos</a></li>
<li class="toctree-l1"><a class="reference internal" href="54_ContrDesEmacs.html">54 Contribuir al desarrollo de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="55_ComoObtnrAyuda.html">55 Cómo obtener ayuda con GNU Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceC.html">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceD.html">Apéndice D Opciones y Recursos de X</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">GNU/Emacs 29.1</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">12 La marca y la región</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/12_LaMarca-y-LaRegion.rst.txt" rel="nofollow"> Ver código fuente de la página</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="la-marca-y-la-region">
<span id="id1"></span><h1>12 La marca y la región<a class="headerlink" href="#la-marca-y-la-region" title="Link to this heading"></a></h1>
<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 <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#id4"><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. 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#id13"><span class="std std-ref">13.5 Rectángulos</span></a>.</p>
<section id="fijar-la-marca">
<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>
<div><p>Coloca la marca en el punto y la activa (<code class="docutils literal notranslate"><span class="pre">set-mark-command</span></code>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">&#64;</kbd> (<code class="docutils literal notranslate"><span class="pre">C-&#64;</span></code>)</p>
<blockquote>
<div><p>Lo mismo que el anterior.</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">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>
<blockquote>
<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 <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><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. 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="#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, 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="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="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>
<div><p>Coloca la marca al final de la palabra siguiente (<code class="docutils literal notranslate"><span class="pre">mark-word</span></code>). Esto no mueve el punto.</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">&#64;</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-&#64;</span></code>)</p>
<blockquote>
<div><p>Marca el final de la siguiente expresión compuesta (<code class="docutils literal notranslate"><span class="pre">mark-sexp</span></code>). Esto no mueve el punto.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">h</kbd> (<code class="docutils literal notranslate"><span class="pre">M-h</span></code>)</p>
<blockquote>
<div><p>Mueve el punto al principio del párrafo actual, y fija la marca al final (<code class="docutils literal notranslate"><span class="pre">mark-paragraph</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">h</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-h</span></code>)</p>
<blockquote>
<div><p>Mueve el punto al principio de la definición de función actual y fija la marca al final (<code class="docutils literal notranslate"><span class="pre">mark-defun</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">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">p</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-p</span></code>)</p>
<blockquote>
<div><p>Mueve el punto al principio de la página actual, y fija la marca al final (<code class="docutils literal notranslate"><span class="pre">mark-page</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">h</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">h</span></code>)</p>
<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 (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 (véase <a class="reference internal" href="27_EdDePrograms.html#id8"><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">
<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>, 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#id14"><span class="std std-ref">26.7. Comandos de Conversión de Mayúsculas y Minúsculas</span></a>).</p></li>
<li><p>Deshacer los cambios en su interior con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">u</kbd> <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-:kbd`/` (<code class="docutils literal notranslate"><span class="pre">C-u</span> <span class="pre">C-/</span></code>, ver <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id2"><span class="std std-ref">17.1 Deshacer</span></a>).</p></li>
<li><p>Reemplazar texto con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">%</kbd> (<code class="docutils literal notranslate"><span class="pre">M-%</span></code>, ver <a class="reference internal" href="16_BusqReemp.html#id18"><span class="std std-ref">16.10.4 Sustitución de Consultas</span></a>).</p></li>
<li><p>Aplicar sangría con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">TAB</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">TAB</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-\</span></code> , ver <a class="reference internal" href="25_Indentacion.html#id1"><span class="std std-ref">25 Indentación</span></a>).</p></li>
<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#id9"><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#id6"><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#id11"><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#id12"><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 (véase <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id6"><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">
<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>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; 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 (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 <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="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">
<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 (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>
</ul>
</div></blockquote>
<p>Mientras el modo Marca Transitoria (Transient Mark mode) está desactivado, puede activarlo temporalmente utilizando <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>) o <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>).</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>Establece la marca en el punto (como <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> normal) y activa el modo Marca Transitoria (Transient Mark mode) sólo una vez, hasta que la marca se desactiva. (En realidad, no se
trata de un comando independiente; está usando el comando <code class="docutils literal notranslate"><span class="pre">C-SPC</span></code> dos veces).</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">x</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>)</p>
<blockquote>
<div><p>Intercambia punto y marca, activa la marca y habilita temporalmente el modo Marca Transitoria (Transient Mark mode), hasta la siguiente desactivación de la marca. (Se trata del
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 (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>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="11_Ayuda.html" class="btn btn-neutral float-left" title="11 Ayuda" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="13_MatarMoverTxt.html" class="btn btn-neutral float-right" title="13 Matar y Mover Texto" accesskey="n" rel="next">Siguiente <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Derechos de autor 2023, Tano.</p>
</div>
Compilado con <a href="https://www.sphinx-doc.org/">Sphinx</a> usando un
<a href="https://github.com/readthedocs/sphinx_rtd_theme">tema</a>
proporcionado por <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>