magit; sphinx GNU/Emacs 29.1

Confirmación (commit) tanomarcelo-git
This commit is contained in:
tanomarcelo 2024-01-16 22:14:09 -03:00
parent 7e71c58e0d
commit b067ae3792
5 changed files with 194 additions and 137 deletions

View file

@ -675,88 +675,123 @@ de Usuario <code class="docutils literal notranslate"><span class="pre">search-w
</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>
<dl class="simple">
<dt>M-% cadena RET nueva-cadena RET</dt><dd><p>Sustituye algunas ocurrencias de cadena por nueva-cadena.</p>
</dd>
<dt>C-M-% expreg RET nueva-cadena RET</dt><dd><p>Sustituye algunas coincidencias de expreg por nueva-cadena.</p>
</dd>
</dl>
<p>Si desea cambiar sólo algunas de las apariciones de «foo» por «bar», y no todas, use M-% (query-replace). Este comando busca las apariciones de «foo» una a una, muestra cada una de ellas y le pregunta si desea sustituirla. Aparte de la consulta, query-replace funciona igual que replace-string (véase Sustitución Incondicional). En particular, conserva mayúsculas y minúsculas siempre que case-replace no sea nulo, como suele ser el caso (consulte Comandos de Reemplazo y Coincidencias Laxas). Un argumento numérico significa que sólo se tienen en cuenta las ocurrencias delimitadas por caracteres delimitadores de palabras. Un argumento prefijo negativo reemplaza hacia atrás.</p>
<p>C-M-% realiza una búsqueda y sustitución expreg (query-replace-regexp). Funciona como replace-regexp, salvo que realiza consultas como query-replace.</p>
<p>Con estos comandos puede reutilizar sustituciones anteriores. Cuando query-replace o query-replace-regexp pide la cadena de búsqueda, utilice M-p y M-n para mostrar sustituciones anteriores en la forma “de -&gt; a”, donde de es el patrón de búsqueda, a es su sustitución, y el separador entre ellos viene determinado por el valor de la variable query-replace-de-a-separador. Escriba RET para seleccionar el sustituto deseado. Si el valor de esta variable es nulo, las sustituciones no se añaden al historial de comandos y no pueden reutilizarse.</p>
<p>Estos comandos resaltan la coincidencia actual usando la cara consulta-reemplazo. Puede desactivar este resaltado estableciendo la variable query-replace-highlight a nil. Resaltan otras coincidencias usando lazy-highlight al igual que la búsqueda incremental (ver Búsqueda incremental); esto puede desactivarse estableciendo query-replace-lazy-highlight a nil. Por defecto, query-replace-regexp mostrará la cadena de sustitución sustituida para la coincidencia actual en el minibúfer. Si desea mantener las secuencias especiales “&amp;” y “n” sin expandir, personalice la variable query-replace-show-replacement. Al igual que search-highlight-submatches resalta las subexpresiones en la búsqueda incremental (consulte Adaptación de la búsqueda a sus necesidades), la variable query-replace-highlight-submatches define si se resaltan las subexpresiones en los comandos de sustitución expreg.</p>
<p>La variable query-replace-skip-read-only, si no es nula, hará que los comandos de reemplazo ignoren las coincidencias en texto de sólo lectura. El valor por defecto es no ignorarlas.</p>
<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>
</div>
<blockquote>
<div><p>Sustituye algunas ocurrencias de <em>cadena</em> por <em>nueva-cadena</em>.</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">%</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">C-M-%</span> <span class="pre">expreg</span> <span class="pre">RET</span></code> <em>nueva-cadena</em> <code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
</div>
<blockquote>
<div><p>Sustituye algunas coincidencias de <em>expreg</em> por <em>nueva-cadena</em>.</p>
</div></blockquote>
<p>Si desea cambiar sólo algunas de las apariciones de <code class="docutils literal notranslate"><span class="pre">foo</span></code> por <code class="docutils literal notranslate"><span class="pre">bar</span></code>, y no todas, use <code class="docutils literal notranslate"><span class="pre">M-%</span></code> (<code class="docutils literal notranslate"><span class="pre">query-replace</span></code>). Este comando busca las apariciones de <code class="docutils literal notranslate"><span class="pre">foo</span></code> una a una, muestra cada una de ellas y le pregunta si desea sustituirla. Aparte de la consulta, <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> funciona igual que <code class="docutils literal notranslate"><span class="pre">replace-string</span></code> (véase <strong>Sustitución Incondicional</strong>). En particular, conserva mayúsculas y minúsculas siempre que <code class="docutils literal notranslate"><span class="pre">case-replace</span></code> no sea nulo, como suele ser el caso (consulte <strong>Comandos de Reemplazo y Coincidencias Laxas</strong>). Un argumento numérico significa que sólo se tienen en cuenta las ocurrencias delimitadas por caracteres delimitadores de palabras. Un argumento prefijo negativo reemplaza hacia atrás.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-M-%</span></code> realiza una búsqueda y sustitución expreg (<code class="docutils literal notranslate"><span class="pre">query-replace-regexp</span></code>). Funciona como <code class="docutils literal notranslate"><span class="pre">replace-regexp</span></code>, salvo que realiza consultas como <code class="docutils literal notranslate"><span class="pre">query-replace</span></code>.</p>
<p>Con estos comandos puede reutilizar sustituciones anteriores. Cuando <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> o <code class="docutils literal notranslate"><span class="pre">query-replace-regexp</span></code> pide la cadena de búsqueda, use <code class="docutils literal notranslate"><span class="pre">M-p</span></code> y <code class="docutils literal notranslate"><span class="pre">M-n</span></code> para mostrar sustituciones anteriores en la forma <code class="docutils literal notranslate"><span class="pre">desde</span> <span class="pre">-&gt;</span> <span class="pre">a</span></code>, donde <em>desde</em> es el patrón de búsqueda, <em>a</em> es su sustitución, y el separador entre ellos viene determinado por el valor de la variable <code class="docutils literal notranslate"><span class="pre">query-replace-from-to-separator</span></code>. Escriba <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>) para seleccionar el sustituto deseado. Si el valor de esta variable es nulo, las sustituciones no se añaden al historial de comandos y no pueden reutilizarse.</p>
<p>Estos comandos resaltan la coincidencia actual usando la cara <code class="docutils literal notranslate"><span class="pre">query-replace</span></code>. Puede desactivar este resaltado estableciendo la variable <code class="docutils literal notranslate"><span class="pre">query-replace-highlight</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>. Resaltan otras coincidencias usando <code class="docutils literal notranslate"><span class="pre">lazy-highlight</span></code> al igual que la búsqueda incremental (ver <strong>Búsqueda Incremental</strong>); esto puede desactivarse estableciendo <code class="docutils literal notranslate"><span class="pre">query-replace-lazy-highlight</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>. Por defecto, <code class="docutils literal notranslate"><span class="pre">query-replace-regexp</span></code> mostrará la cadena de sustitución sustituida para la coincidencia actual en el minibúfer. Si desea mantener las secuencias especiales <code class="docutils literal notranslate"><span class="pre">\&amp;</span></code> y <code class="docutils literal notranslate"><span class="pre">\n</span></code> sin expandir, personalice la variable <code class="docutils literal notranslate"><span class="pre">query-replace-show-replacement</span></code>. Al igual que <code class="docutils literal notranslate"><span class="pre">search-highlight-submatches</span></code> resalta las subexpresiones en la búsqueda incremental (consulte <strong>Adaptación de la Búsqueda a sus Necesidades</strong>), la variable <code class="docutils literal notranslate"><span class="pre">query-replace-highlight-submatches</span></code> define si se resaltan las subexpresiones en los comandos de sustitución expreg.</p>
<p>La variable <code class="docutils literal notranslate"><span class="pre">query-replace-skip-read-only</span></code>, si no es nula, hará que los comandos de reemplazo ignoren las coincidencias en texto de sólo lectura. El valor por defecto es no ignorarlas.</p>
<p>Los caracteres que puede escribir cuando se le muestre una coincidencia de cadena o expreg son:</p>
<p>SPC
y</p>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">SPACE</kbd> (<code class="docutils literal notranslate"><span class="pre">SPC</span></code>)</div>
<div class="line"><kbd class="kbd docutils literal notranslate">y</kbd> (<code class="docutils literal notranslate"><span class="pre">y</span></code>)</div>
</div>
<blockquote>
<div><p>para sustituir la ocurrencia por nueva-cadena.</p>
<div><p>Sustituye la ocurrencia por <em>nueva-cadena</em>.</p>
</div></blockquote>
<p>DEL
Delete
BACKSPACE
n</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">Delete</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">BACKSPACE</span></code></div>
<div class="line"><kbd class="kbd docutils literal notranslate">n</kbd> <code class="docutils literal notranslate"><span class="pre">n</span></code></div>
</div>
<blockquote>
<div><p>para saltar a la siguiente ocurrencia sin reemplazar la actual.</p>
<div><p>Salta a la siguiente ocurrencia sin reemplazar la actual.</p>
</div></blockquote>
<dl>
<dt>, (coma)</dt><dd><p>para reemplazar esta ocurrencia y mostrar el resultado. A continuación, se le pide otro carácter de entrada para decirle qué hacer a continuación. Dado que el reemplazo ya se ha
hecho, DEL y SPC son equivalentes en esta situación; ambos se mueven a la siguiente ocurrencia.</p>
<p>Puede teclear C-r en este punto (ver más abajo) para alterar el texto reemplazado. También puede deshacer el reemplazo con el comando deshacer (por ejemplo, teclee C-x u; vea
Deshacer); esto sale de la consulta-reemplazo, así que si quiere hacer más reemplazos debe usar C-x ESC ESC RET para reiniciar (vea Repetición de Comandos del Minibúfer).</p>
</dd>
</dl>
<p>RET
q</p>
<p><kbd class="kbd docutils literal notranslate">,</kbd> (<code class="docutils literal notranslate"><span class="pre">,</span></code>, coma)</p>
<blockquote>
<div><p>para salir sin hacer más sustituciones.</p>
<div><p>Reemplaza esta ocurrencia y muestra el resultado. A continuación, se le pide otro carácter de entrada para decirle qué hacer a continuación. Dado que el reemplazo ya se ha hecho,
<code class="docutils literal notranslate"><span class="pre">DEL</span></code> y <code class="docutils literal notranslate"><span class="pre">SPC</span></code> son equivalentes en esta situación; ambos se mueven a la siguiente ocurrencia.</p>
<p>Puede teclear <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-r</span></code>) en este punto (ver más abajo) para alterar el texto reemplazado. También puede deshacer el reemplazo con el comando deshacer (por ejemplo,
teclee <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>); vea <strong>Deshacer</strong>); esto sale de la consulta-reemplazo (termina el comando <code class="docutils literal notranslate"><span class="pre">query-replace</span></code>), así que si quiere hacer más reemplazos
debe usar <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">ESC</kbd><kbd class="kbd docutils literal notranslate">ESC</kbd><kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">ESC</span> <span class="pre">ESC</span> <span class="pre">RET</span></code>) para reiniciar (vea <strong>Repetición de Comandos del Minibúfer</strong>).</p>
</div></blockquote>
<dl class="simple">
<dt>. (punto)</dt><dd><p>para reemplazar esta ocurrencia y luego salir sin buscar más ocurrencias.</p>
</dd>
</dl>
<dl class="simple">
<dt>!</dt><dd><p>para reemplazar todas las ocurrencias restantes sin preguntar de nuevo.</p>
</dd>
</dl>
<dl class="simple">
<dt>^</dt><dd><p>para volver a la posición de la ocurrencia anterior (o de lo que solía ser una ocurrencia), en caso de que la haya cambiado por error o quiera volver a examinarla.</p>
</dd>
<dt>u</dt><dd><p>para deshacer la última sustitución y volver al punto en el que se realizó dicha sustitución.</p>
</dd>
<dt>U</dt><dd><p>para deshacer todas las sustituciones y volver al punto donde se realizó la primera sustitución.</p>
</dd>
<dt>C-r</dt><dd><p>para entrar en un nivel de edición recursivo, en caso de que la ocurrencia necesite ser editada en lugar de simplemente reemplazada por nueva-cadena. Cuando haya terminado, salga del
nivel de edición recursiva con C-M-c para pasar a la siguiente ocurrencia. Véase Niveles de Edición Recursiva.</p>
</dd>
<dt>C-w</dt><dd><p>para borrar la aparición y, a continuación, introduzca un nivel de edición recursivo como en C-r. Use la edición recursiva para insertar texto para reemplazar la ocurrencia borrada
de la cadena. Cuando termine, salga del nivel de edición recursiva con C-M-c para proceder a la siguiente ocurrencia.</p>
</dd>
<dt>e</dt><dd><p>para editar la cadena de sustitución en el minibúfer. Cuando salga del minibúfer tecleando RET, el contenido del minibúfer sustituirá a la aparición actual del patrón. También se
convierten en la nueva cadena de sustitución para cualquier otra aparición.</p>
</dd>
<dt>E</dt><dd><p>es como e, pero el siguiente reemplazo se hará con mayúsculas y minúsculas exactas. Es decir, si tiene una query-replace (consulta-reemplazo) de “foo” a “bar”, un texto como “Foo”
será normalmente reemplazado por “Bar”. Use este comando para hacer el reemplazo actual con mayúsculas y minúsculas exactas.</p>
</dd>
<dt>C-l</dt><dd><p>para volver a mostrar la pantalla. A continuación, debe escribir otro carácter para especificar qué hacer con esta ocurrencia.</p>
</dd>
<dt>Y (Upper-case)</dt><dd><p>para reemplazar todas las ocurrencias restantes en todos los búferes restantes en reemplazos multibúfer (como el comando Dired Q que realiza reemplazos de consulta en archivos
seleccionados). Responderá a esta pregunta y a todas las preguntas posteriores de la serie con un «sí», sin más interacción por parte del Usuario.</p>
</dd>
<dt>M (upper-case)</dt><dd><p>para saltar al búfer siguiente en sustituciones multibúfer sin sustituir las ocurrencias restantes en el búfer actual. Responde «no» a esta pregunta, no hace preguntas sobre el búfer
actual y continúa con el siguiente búfer de la secuencia.</p>
</dd>
</dl>
<p>C-h
?
F1</p>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>)</div>
<div class="line"><kbd class="kbd docutils literal notranslate">q</kbd> (<code class="docutils literal notranslate"><span class="pre">q</span></code>)</div>
</div>
<blockquote>
<div><p>para mostrar un mensaje que resume estas opciones. A continuación, debe escribir otro carácter para especificar qué hacer con esta ocurrencia.</p>
<div><p>Sale sin hacer más sustituciones.</p>
</div></blockquote>
<p>Aparte de esto, cualquier otro carácter sale de la consulta-reemplazo (query-replace) y se vuelve a leer como parte de una secuencia de teclas. Así, si escribe C-k, sale de la consulta-reemplazo y pasa al final de la línea. En particular, C-g simplemente sale de la consulta-reemplazo.</p>
<p>Para reiniciar una consulta-reemplazo una vez que se ha salido, utilice C-x ESC ESC, que repite la consulta-reemplazo porque ha utilizado el minibúfer para leer sus argumentos. Véase C-x ESC ESC.</p>
<p>La opción search-invisible (búsqueda-invisible) determina cómo query-replace trata el texto invisible. Véase Búsqueda de Contornos.</p>
<p>Véase Operar con Archivos, para el comando Q de Dired que realiza el reemplazo por consulta en los archivos seleccionados. Véase también Transformación de Nombres de Archivos en Dired, para los comandos de Dired para renombrar, copiar o enlazar archivos reemplazando las coincidencias expreg en los nombres de archivos.</p>
<p><kbd class="kbd docutils literal notranslate">.</kbd> (<code class="docutils literal notranslate"><span class="pre">.</span></code>, punto)</p>
<blockquote>
<div><p>Reemplaza esta ocurrencia y luego sale sin buscar más ocurrencias.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">!</kbd> (<code class="docutils literal notranslate"><span class="pre">!</span></code>)</p>
<blockquote>
<div><p>Reemplaza todas las ocurrencias restantes sin preguntar de nuevo.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">^</kbd> (<code class="docutils literal notranslate"><span class="pre">^</span></code>)</p>
<blockquote>
<div><p>Vuelve a la posición de la ocurrencia anterior (o de lo que solía ser una ocurrencia), en caso de que la haya cambiado por error o quiera volver a examinarla.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">u</kbd> (<code class="docutils literal notranslate"><span class="pre">u</span></code>)</p>
<blockquote>
<div><p>Deshace la última sustitución y vuelve al punto en el que se realizó dicha sustitución.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">U</kbd> (<code class="docutils literal notranslate"><span class="pre">U</span></code>)</p>
<blockquote>
<div><p>Deshace todas las sustituciones y vuelve al punto donde se realizó la primera.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">r</kbd> (<code class="docutils literal notranslate"><span class="pre">C-r</span></code>)</p>
<blockquote>
<div><p>Entra en un nivel de edición recursiva, en caso de que la ocurrencia necesite ser editada en lugar de simplemente reemplazada por <em>nueva-cadena</em>. Cuando haya terminado, salga del
nivel de edición recursiva con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-c</span></code>) para pasar a la siguiente ocurrencia. Véase <strong>Niveles de Edición Recursiva</strong>.</p>
</div></blockquote>
<p><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>)</p>
<blockquote>
<div><p>Borra la aparición y, a continuación, se puede introducir un nivel de edición recursiva como con <code class="docutils literal notranslate"><span class="pre">C-r</span></code>. Use la edición recursiva para insertar texto para reemplazar la ocurrencia
borrada de la cadena. Cuando termine, salga del nivel de edición recursiva con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">c</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-c</span></code>) para proceder a la siguiente ocurrencia.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">e</kbd> (<code class="docutils literal notranslate"><span class="pre">e`</span></code>)</p>
<blockquote>
<div><p>Edita la cadena de sustitución en el minibúfer. Cuando salga del minibúfer tecleando <kbd class="kbd docutils literal notranslate">RETURN</kbd> (<code class="docutils literal notranslate"><span class="pre">RET</span></code>), el contenido del minibúfer sustituirá a la aparición actual del
patrón. También se convierten en la nueva cadena de sustitución para cualquier otra aparición.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">E</kbd> (<code class="docutils literal notranslate"><span class="pre">E</span></code>)</p>
<blockquote>
<div><p>Es como <code class="docutils literal notranslate"><span class="pre">e</span></code>, pero el siguiente reemplazo se hará con mayúsculas y minúsculas exactas. Es decir, si tiene una <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> (consulta-reemplazo) de <code class="docutils literal notranslate"><span class="pre">foo</span></code> a <code class="docutils literal notranslate"><span class="pre">bar</span></code>, un texto
como <code class="docutils literal notranslate"><span class="pre">Foo</span></code> será normalmente reemplazado por <code class="docutils literal notranslate"><span class="pre">Bar</span></code>. Use este comando para hacer el reemplazo actual con mayúsculas y minúsculas exactas.</p>
</div></blockquote>
<p><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-l</span></code>)</p>
<blockquote>
<div><p>Vuelve a mostrar la pantalla. A continuación, debe escribir otro carácter para especificar qué hacer con esta ocurrencia.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Y</kbd> (<code class="docutils literal notranslate"><span class="pre">Y</span></code>, <code class="docutils literal notranslate"><span class="pre">Upper-case</span></code>)</p>
<blockquote>
<div><p>Reemplaza todas las ocurrencias restantes en todos los otros búferes en reemplazos multibúfer (como el comando Dired <code class="docutils literal notranslate"><span class="pre">Q</span></code> que realiza reemplazos de consulta en archivos
seleccionados). Responderá a esta pregunta y a todas las preguntas posteriores de la serie con un «yes» (si), sin más interacción por parte del Usuario.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">N</kbd> (<code class="docutils literal notranslate"><span class="pre">N</span></code>, <code class="docutils literal notranslate"><span class="pre">upper-case</span></code>)</p>
<blockquote>
<div><p>Salta al búfer siguiente en sustituciones multibúfer sin sustituir las ocurrencias restantes en el búfer actual. Responda «no» a esta pregunta, no hace preguntas sobre el búfer actual
y continúa con el siguiente búfer de la secuencia.</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> (<code class="docutils literal notranslate"><span class="pre">C-h</span></code>)</div>
<div class="line"><kbd class="kbd docutils literal notranslate">?</kbd> (<code class="docutils literal notranslate"><span class="pre">?</span></code>)</div>
<div class="line"><kbd class="kbd docutils literal notranslate">F1</kbd> (<code class="docutils literal notranslate"><span class="pre">F1</span></code>)</div>
</div>
<blockquote>
<div><p>Muestra un mensaje que resume estas opciones. A continuación, debe escribir otro carácter para especificar qué hacer con esta ocurrencia.</p>
</div></blockquote>
<p>Aparte de esto, cualquier otro carácter sale de la consulta-reemplazo (<code class="docutils literal notranslate"><span class="pre">query-replace</span></code>) y se vuelve a leer como parte de una secuencia de teclas. De este modo, si escribe <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">k</kbd> (<code class="docutils literal notranslate"><span class="pre">C-k</span></code>), sale de la consulta-reemplazo y pasa al final de la línea. En particular, <code class="docutils literal notranslate"><span class="pre">C-g</span></code> simplemente sale de la consulta-reemplazo.</p>
<p>Para reiniciar una consulta-reemplazo una vez que se ha salido, utilice <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">ESC</kbd><kbd class="kbd docutils literal notranslate">ESC</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">ESC</span> <span class="pre">ESC</span></code>), que repite la consulta-reemplazo porque ha utilizado el minibúfer para leer sus argumentos. Véase <strong>Repetir Comandos del minibúfer</strong>.</p>
<p>La opción <code class="docutils literal notranslate"><span class="pre">search-invisible</span></code> (búsqueda-invisible) determina cómo <code class="docutils literal notranslate"><span class="pre">query-replace</span></code> trata el texto invisible. Véase <strong>Búsqueda de Contornos</strong>.</p>
<p>Véase <strong>Operar con Archivos</strong>, para el comando <code class="docutils literal notranslate"><span class="pre">Q</span></code> de Dired que realiza el reemplazo por consulta en los archivos seleccionados. Véase también <strong>Transformación de Nombres de Archivos</strong> en Dired, para los comandos de Dired para renombrar, copiar o enlazar archivos reemplazando las coincidencias expreg en los nombres de archivos.</p>
</section>
</section>
<section id="otros-comandos-de-busqueda-y-bucle">

View file

@ -709,99 +709,121 @@ Por defecto, los comandos de reemplazo no usan el plegado de caracteres (ver **P
16.10.4 Sustitución de Consultas
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
M-% cadena RET nueva-cadena RET
Sustituye algunas ocurrencias de cadena por nueva-cadena.
| :kbd:`Alt`-:kbd:`%` *cadena* :kbd:`RETURN` *nueva-cadena* :kbd:`RETURN`
| (``M-%`` *cadena* ``RET`` *nueva-cadena* ``RET``)
C-M-% expreg RET nueva-cadena RET
Sustituye algunas coincidencias de expreg por nueva-cadena.
Sustituye algunas ocurrencias de *cadena* por *nueva-cadena*.
Si desea cambiar sólo algunas de las apariciones de "foo" por "bar", y no todas, use M-% (query-replace). Este comando busca las apariciones de "foo" una a una, muestra cada una de ellas y le pregunta si desea sustituirla. Aparte de la consulta, query-replace funciona igual que replace-string (véase Sustitución Incondicional). En particular, conserva mayúsculas y minúsculas siempre que case-replace no sea nulo, como suele ser el caso (consulte Comandos de Reemplazo y Coincidencias Laxas). Un argumento numérico significa que sólo se tienen en cuenta las ocurrencias delimitadas por caracteres delimitadores de palabras. Un argumento prefijo negativo reemplaza hacia atrás.
| :kbd:`Ctrl`-:kbd:`Alt`-:kbd:`%` *nueva-cadena* :kbd:`RETURN`
| (``C-M-% expreg RET`` *nueva-cadena* ``RET``)
C-M-% realiza una búsqueda y sustitución expreg (query-replace-regexp). Funciona como replace-regexp, salvo que realiza consultas como query-replace.
Sustituye algunas coincidencias de *expreg* por *nueva-cadena*.
Con estos comandos puede reutilizar sustituciones anteriores. Cuando query-replace o query-replace-regexp pide la cadena de búsqueda, utilice M-p y M-n para mostrar sustituciones anteriores en la forma 'de -> a', donde de es el patrón de búsqueda, a es su sustitución, y el separador entre ellos viene determinado por el valor de la variable query-replace-de-a-separador. Escriba RET para seleccionar el sustituto deseado. Si el valor de esta variable es nulo, las sustituciones no se añaden al historial de comandos y no pueden reutilizarse.
Si desea cambiar sólo algunas de las apariciones de ``foo`` por ``bar``, y no todas, use ``M-%`` (``query-replace``). Este comando busca las apariciones de ``foo`` una a una, muestra cada una de ellas y le pregunta si desea sustituirla. Aparte de la consulta, ``query-replace`` funciona igual que ``replace-string`` (véase **Sustitución Incondicional**). En particular, conserva mayúsculas y minúsculas siempre que ``case-replace`` no sea nulo, como suele ser el caso (consulte **Comandos de Reemplazo y Coincidencias Laxas**). Un argumento numérico significa que sólo se tienen en cuenta las ocurrencias delimitadas por caracteres delimitadores de palabras. Un argumento prefijo negativo reemplaza hacia atrás.
Estos comandos resaltan la coincidencia actual usando la cara consulta-reemplazo. Puede desactivar este resaltado estableciendo la variable query-replace-highlight a nil. Resaltan otras coincidencias usando lazy-highlight al igual que la búsqueda incremental (ver Búsqueda incremental); esto puede desactivarse estableciendo query-replace-lazy-highlight a nil. Por defecto, query-replace-regexp mostrará la cadena de sustitución sustituida para la coincidencia actual en el minibúfer. Si desea mantener las secuencias especiales '\&' y '\n' sin expandir, personalice la variable query-replace-show-replacement. Al igual que search-highlight-submatches resalta las subexpresiones en la búsqueda incremental (consulte Adaptación de la búsqueda a sus necesidades), la variable query-replace-highlight-submatches define si se resaltan las subexpresiones en los comandos de sustitución expreg.
``C-M-%`` realiza una búsqueda y sustitución expreg (``query-replace-regexp``). Funciona como ``replace-regexp``, salvo que realiza consultas como ``query-replace``.
La variable query-replace-skip-read-only, si no es nula, hará que los comandos de reemplazo ignoren las coincidencias en texto de sólo lectura. El valor por defecto es no ignorarlas.
Con estos comandos puede reutilizar sustituciones anteriores. Cuando ``query-replace`` o ``query-replace-regexp`` pide la cadena de búsqueda, use ``M-p`` y ``M-n`` para mostrar sustituciones anteriores en la forma ``desde -> a``, donde *desde* es el patrón de búsqueda, *a* es su sustitución, y el separador entre ellos viene determinado por el valor de la variable ``query-replace-from-to-separator``. Escriba :kbd:`RETURN` (``RET``) para seleccionar el sustituto deseado. Si el valor de esta variable es nulo, las sustituciones no se añaden al historial de comandos y no pueden reutilizarse.
Estos comandos resaltan la coincidencia actual usando la cara ``query-replace``. Puede desactivar este resaltado estableciendo la variable ``query-replace-highlight`` a ``nil``. Resaltan otras coincidencias usando ``lazy-highlight`` al igual que la búsqueda incremental (ver **Búsqueda Incremental**); esto puede desactivarse estableciendo ``query-replace-lazy-highlight`` a ``nil``. Por defecto, ``query-replace-regexp`` mostrará la cadena de sustitución sustituida para la coincidencia actual en el minibúfer. Si desea mantener las secuencias especiales ``\&`` y ``\n`` sin expandir, personalice la variable ``query-replace-show-replacement``. Al igual que ``search-highlight-submatches`` resalta las subexpresiones en la búsqueda incremental (consulte **Adaptación de la Búsqueda a sus Necesidades**), la variable ``query-replace-highlight-submatches`` define si se resaltan las subexpresiones en los comandos de sustitución expreg.
La variable ``query-replace-skip-read-only``, si no es nula, hará que los comandos de reemplazo ignoren las coincidencias en texto de sólo lectura. El valor por defecto es no ignorarlas.
Los caracteres que puede escribir cuando se le muestre una coincidencia de cadena o expreg son:
SPC
y
para sustituir la ocurrencia por nueva-cadena.
| :kbd:`SPACE` (``SPC``)
| :kbd:`y` (``y``)
DEL
Delete
BACKSPACE
n
para saltar a la siguiente ocurrencia sin reemplazar la actual.
Sustituye la ocurrencia por *nueva-cadena*.
, (coma)
para reemplazar esta ocurrencia y mostrar el resultado. A continuación, se le pide otro carácter de entrada para decirle qué hacer a continuación. Dado que el reemplazo ya se ha
hecho, DEL y SPC son equivalentes en esta situación; ambos se mueven a la siguiente ocurrencia.
| ``DEL``
| ``Delete``
| ``BACKSPACE``
| :kbd:`n` ``n``
Puede teclear C-r en este punto (ver más abajo) para alterar el texto reemplazado. También puede deshacer el reemplazo con el comando deshacer (por ejemplo, teclee C-x u; vea
Deshacer); esto sale de la consulta-reemplazo, así que si quiere hacer más reemplazos debe usar C-x ESC ESC RET para reiniciar (vea Repetición de Comandos del Minibúfer).
Salta a la siguiente ocurrencia sin reemplazar la actual.
RET
q
para salir sin hacer más sustituciones.
:kbd:`,` (``,``, coma)
Reemplaza esta ocurrencia y muestra el resultado. A continuación, se le pide otro carácter de entrada para decirle qué hacer a continuación. Dado que el reemplazo ya se ha hecho,
``DEL`` y ``SPC`` son equivalentes en esta situación; ambos se mueven a la siguiente ocurrencia.
. (punto)
para reemplazar esta ocurrencia y luego salir sin buscar más ocurrencias.
Puede teclear :kbd:`Ctrl`-:kbd:`r` (``C-r``) en este punto (ver más abajo) para alterar el texto reemplazado. También puede deshacer el reemplazo con el comando deshacer (por ejemplo,
teclee :kbd:`Ctrl`-:kbd:`x` :kbd:`u` ((``C-x u``); vea **Deshacer**); esto sale de la consulta-reemplazo (termina el comando ``query-replace``), así que si quiere hacer más reemplazos
debe usar :kbd:`Ctrl`-:kbd:`x` :kbd:`ESC`:Kbd:`ESC`:kbd:`RETURN` (``C-x ESC ESC RET``) para reiniciar (vea **Repetición de Comandos del Minibúfer**).
!
para reemplazar todas las ocurrencias restantes sin preguntar de nuevo.
| :kbd:`RETURN` (``RET``)
| :kbd:`q` (``q``)
^
para volver a la posición de la ocurrencia anterior (o de lo que solía ser una ocurrencia), en caso de que la haya cambiado por error o quiera volver a examinarla.
Sale sin hacer más sustituciones.
u
para deshacer la última sustitución y volver al punto en el que se realizó dicha sustitución.
:kbd:`.` (``.``, punto)
Reemplaza esta ocurrencia y luego sale sin buscar más ocurrencias.
U
para deshacer todas las sustituciones y volver al punto donde se realizó la primera sustitución.
:kbd:`!` (``!``)
Reemplaza todas las ocurrencias restantes sin preguntar de nuevo.
C-r
para entrar en un nivel de edición recursivo, en caso de que la ocurrencia necesite ser editada en lugar de simplemente reemplazada por nueva-cadena. Cuando haya terminado, salga del
nivel de edición recursiva con C-M-c para pasar a la siguiente ocurrencia. Véase Niveles de Edición Recursiva.
:kbd:`^` (``^``)
Vuelve a la posición de la ocurrencia anterior (o de lo que solía ser una ocurrencia), en caso de que la haya cambiado por error o quiera volver a examinarla.
C-w
para borrar la aparición y, a continuación, introduzca un nivel de edición recursivo como en C-r. Use la edición recursiva para insertar texto para reemplazar la ocurrencia borrada
de la cadena. Cuando termine, salga del nivel de edición recursiva con C-M-c para proceder a la siguiente ocurrencia.
:kbd:`u` (``u``)
Deshace la última sustitución y vuelve al punto en el que se realizó dicha sustitución.
e
para editar la cadena de sustitución en el minibúfer. Cuando salga del minibúfer tecleando RET, el contenido del minibúfer sustituirá a la aparición actual del patrón. También se
convierten en la nueva cadena de sustitución para cualquier otra aparición.
:Kbd:`U` (``U``)
Deshace todas las sustituciones y vuelve al punto donde se realizó la primera.
E
es como e, pero el siguiente reemplazo se hará con mayúsculas y minúsculas exactas. Es decir, si tiene una query-replace (consulta-reemplazo) de 'foo' a 'bar', un texto como 'Foo'
será normalmente reemplazado por 'Bar'. Use este comando para hacer el reemplazo actual con mayúsculas y minúsculas exactas.
:kbd:`Ctrl`-:kbd:`r` (``C-r``)
Entra en un nivel de edición recursiva, en caso de que la ocurrencia necesite ser editada en lugar de simplemente reemplazada por *nueva-cadena*. Cuando haya terminado, salga del
nivel de edición recursiva con :kbd:`Ctrl`-:kbd:`Alt`-:kbd:`c` (``C-M-c``) para pasar a la siguiente ocurrencia. Véase **Niveles de Edición Recursiva**.
C-l
para volver a mostrar la pantalla. A continuación, debe escribir otro carácter para especificar qué hacer con esta ocurrencia.
:kbd:`Ctrl`-:kbd:`w` (``C-w``)
Borra la aparición y, a continuación, se puede introducir un nivel de edición recursiva como con ``C-r``. Use la edición recursiva para insertar texto para reemplazar la ocurrencia
borrada de la cadena. Cuando termine, salga del nivel de edición recursiva con :kbd:`Ctrl`-:kbd:`Alt`-:kbd:`c` (``C-M-c``) para proceder a la siguiente ocurrencia.
Y (Upper-case)
para reemplazar todas las ocurrencias restantes en todos los búferes restantes en reemplazos multibúfer (como el comando Dired Q que realiza reemplazos de consulta en archivos
seleccionados). Responderá a esta pregunta y a todas las preguntas posteriores de la serie con un "sí", sin más interacción por parte del Usuario.
:kbd:`e` (``e```)
Edita la cadena de sustitución en el minibúfer. Cuando salga del minibúfer tecleando :kbd:`RETURN` (``RET``), el contenido del minibúfer sustituirá a la aparición actual del
patrón. También se convierten en la nueva cadena de sustitución para cualquier otra aparición.
M (upper-case)
para saltar al búfer siguiente en sustituciones multibúfer sin sustituir las ocurrencias restantes en el búfer actual. Responde "no" a esta pregunta, no hace preguntas sobre el búfer
actual y continúa con el siguiente búfer de la secuencia.
:kbd:`E` (``E``)
Es como ``e``, pero el siguiente reemplazo se hará con mayúsculas y minúsculas exactas. Es decir, si tiene una ``query-replace`` (consulta-reemplazo) de ``foo`` a ``bar``, un texto
como ``Foo`` será normalmente reemplazado por ``Bar``. Use este comando para hacer el reemplazo actual con mayúsculas y minúsculas exactas.
C-h
?
F1
para mostrar un mensaje que resume estas opciones. A continuación, debe escribir otro carácter para especificar qué hacer con esta ocurrencia.
:kbd:`Ctrl`-:kbd:`l` (``C-l``)
Vuelve a mostrar la pantalla. A continuación, debe escribir otro carácter para especificar qué hacer con esta ocurrencia.
Aparte de esto, cualquier otro carácter sale de la consulta-reemplazo (query-replace) y se vuelve a leer como parte de una secuencia de teclas. Así, si escribe C-k, sale de la consulta-reemplazo y pasa al final de la línea. En particular, C-g simplemente sale de la consulta-reemplazo.
:kbd:`Y` (``Y``, ``Upper-case``)
Reemplaza todas las ocurrencias restantes en todos los otros búferes en reemplazos multibúfer (como el comando Dired ``Q`` que realiza reemplazos de consulta en archivos
seleccionados). Responderá a esta pregunta y a todas las preguntas posteriores de la serie con un "yes" (si), sin más interacción por parte del Usuario.
Para reiniciar una consulta-reemplazo una vez que se ha salido, utilice C-x ESC ESC, que repite la consulta-reemplazo porque ha utilizado el minibúfer para leer sus argumentos. Véase C-x ESC ESC.
:kbd:`N` (``N``, ``upper-case``)
Salta al búfer siguiente en sustituciones multibúfer sin sustituir las ocurrencias restantes en el búfer actual. Responda "no" a esta pregunta, no hace preguntas sobre el búfer actual
y continúa con el siguiente búfer de la secuencia.
La opción search-invisible (búsqueda-invisible) determina cómo query-replace trata el texto invisible. Véase Búsqueda de Contornos.
| :kbd:`Ctrl`-:kbd:`h` (``C-h``)
| :kbd:`?` (``?``)
| :kbd:`F1` (``F1``)
Véase Operar con Archivos, para el comando Q de Dired que realiza el reemplazo por consulta en los archivos seleccionados. Véase también Transformación de Nombres de Archivos en Dired, para los comandos de Dired para renombrar, copiar o enlazar archivos reemplazando las coincidencias expreg en los nombres de archivos.
Muestra un mensaje que resume estas opciones. A continuación, debe escribir otro carácter para especificar qué hacer con esta ocurrencia.
Aparte de esto, cualquier otro carácter sale de la consulta-reemplazo (``query-replace``) y se vuelve a leer como parte de una secuencia de teclas. De este modo, si escribe :kbd:`Ctrl`-:kbd:`k` (``C-k``), sale de la consulta-reemplazo y pasa al final de la línea. En particular, ``C-g`` simplemente sale de la consulta-reemplazo.
Para reiniciar una consulta-reemplazo una vez que se ha salido, utilice :kbd:`Ctrl`-:kbd:`x` :kbd:`ESC`:kbd:`ESC` (``C-x ESC ESC``), que repite la consulta-reemplazo porque ha utilizado el minibúfer para leer sus argumentos. Véase **Repetir Comandos del minibúfer**.
La opción ``search-invisible`` (búsqueda-invisible) determina cómo ``query-replace`` trata el texto invisible. Véase **Búsqueda de Contornos**.
Véase **Operar con Archivos**, para el comando ``Q`` de Dired que realiza el reemplazo por consulta en los archivos seleccionados. Véase también **Transformación de Nombres de Archivos** en Dired, para los comandos de Dired para renombrar, copiar o enlazar archivos reemplazando las coincidencias expreg en los nombres de archivos.
16.11. Otros Comandos de Búsqueda y Bucle
-----------------------------------------

File diff suppressed because one or more lines are too long