Compare commits

...

5 Commits

Author SHA1 Message Date
tanomarcelo f46b694c0c magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-02-17 01:00:26 -03:00
tanomarcelo 0cf6c6bff3 magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-02-17 00:46:38 -03:00
tanomarcelo 1ac42fbd6d magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-02-16 23:44:12 -03:00
tanomarcelo abd2528651 magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-02-16 21:24:41 -03:00
tanomarcelo f978064c0c magit; sphinx GNU/Emacs 29.1
Confirmación (commit) tanomarcelo-git
2024-02-16 21:10:25 -03:00
60 changed files with 7948 additions and 41 deletions

Binary file not shown.

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -87,6 +87,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -94,6 +94,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -98,6 +98,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -81,6 +81,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -93,6 +93,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -90,6 +90,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -105,6 +105,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -91,6 +91,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -115,6 +115,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -110,6 +110,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -87,6 +87,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -90,6 +90,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -128,6 +128,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -95,6 +95,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -95,6 +95,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -105,6 +105,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -103,6 +103,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -86,6 +86,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -87,6 +87,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -124,6 +124,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -123,6 +123,25 @@
<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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -111,6 +111,25 @@
</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>
</ul>
</div>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -176,6 +176,25 @@
</ul>
</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>
</ul>
</div>

View File

@ -22,6 +22,7 @@
<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="31 Dired, el Editor de Directorios" href="31_DiredEditDirect.html" />
<link rel="prev" title="29 Mantenimiento de Programas Grandes" href="29_ManyProgrsGrands.html" />
</head>
@ -37,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -90,6 +91,25 @@
<li class="toctree-l2"><a class="reference internal" href="#personalizacion-de-la-abreviatura-dinamica">30.8 Personalización de la Abreviatura Dinámica</a></li>
</ul>
</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>
</ul>
</div>
@ -263,6 +283,7 @@
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="29_ManyProgrsGrands.html" class="btn btn-neutral float-left" title="29 Mantenimiento de Programas Grandes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="31_DiredEditDirect.html" class="btn btn-neutral float-right" title="31 Dired, el Editor de Directorios" accesskey="n" rel="next">Siguiente <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>

View File

@ -0,0 +1,792 @@
<!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>31 Dired, el Editor de Directorios &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="32 El Calendario y la Agenda" href="32_CalendAgnda.html" />
<link rel="prev" title="30 Abreviaturas" href="30_Abreviaturas.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">31 Dired, el Editor de Directorios</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#entrar-en-dired">31.1 Entrar en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#navegacion-en-el-bufer-dired">31.2 Navegación en el Búfer Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#borrar-archivos-con-dired">31.3 Borrar Archivos con Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#marcar-varios-archivos-a-la-vez">31.4 Marcar Varios Archivos a la Vez</a></li>
<li class="toctree-l2"><a class="reference internal" href="#visitar-archivos-en-dired">31.5 Visitar Archivos en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#marcas-vs-banderas">31.6 Marcas vs. Banderas</a></li>
<li class="toctree-l2"><a class="reference internal" href="#operar-con-archivos">31.7 Operar con Archivos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#comandos-shell-en-dired">31.8 Comandos Shell en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#proponer-comandos-de-shell">31.9 Proponer comandos de shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="#transformacion-de-nombres-de-archivos-en-dired">31.10 Transformación de Nombres de Archivos en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#comparacion-de-archivos-con-dired">31.11 Comparación de Archivos con Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#subdirectorios-en-dired">31.12. Subdirectorios en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#interruptores-de-subdirectorio-en-dired">31.13 Interruptores de Subdirectorio en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#moverse-por-subdirectorios">31.14 Moverse por Subdirectorios</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ocultar-subdirectorios">31.15 Ocultar Subdirectorios</a></li>
<li class="toctree-l2"><a class="reference internal" href="#actualizar-el-bufer-de-dired">31.16. Actualizar el Búfer de Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#dired-y-find-buscar">31.17 Dired y Find (Buscar)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#editar-el-bufer-dired">31.18 Editar el Búfer Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ver-miniaturas-de-imagenes-en-dired">31.19 Ver Miniaturas de Imágenes en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="#otras-caracteristicas-de-dired">31.20 Otras Características de Dired</a></li>
</ul>
</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>
</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">31 Dired, el Editor de Directorios</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/31_DiredEditDirect.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="dired-el-editor-de-directorios">
<h1>31 Dired, el Editor de Directorios<a class="headerlink" href="#dired-el-editor-de-directorios" title="Link to this heading"></a></h1>
<p>Dired crea un búfer Emacs que contiene un listado de un directorio, y opcionalmente también de algunos de sus subdirectorios. Puede usar los comandos normales de Emacs para moverse por este búfer, y comandos especiales de Dired para operar sobre los archivos listados. Dired funciona tanto con directorios locales como remotos.</p>
<p>El búfer de Dired es normalmente de sólo lectura, y no está permitido insertar texto en él (sin embargo, el modo Wdired lo permite, ver Editar el Búfer de Dired). Los caracteres de impresión ordinarios como d y x se redefinen para comandos Dired especiales. Algunos comandos de Dired marcan o señalan el archivo actual (es decir, el archivo de la línea actual); otros comandos operan sobre los archivos marcados o sobre los archivos señalados. Primero se marcan ciertos archivos para poder operar sobre todos ellos con un solo comando.</p>
<p>El paquete Dired-X proporciona varias funciones extra para el modo Dired. Consulte Dired-X en el Manual del Usuario de Dired Extra.</p>
<p>También puede ver una lista de archivos en un directorio con C-x C-d (list-directory). A diferencia de Dired, este comando no permite operar sobre los archivos listados. Véase Directorios de Archivos.</p>
<section id="entrar-en-dired">
<h2>31.1 Entrar en Dired<a class="headerlink" href="#entrar-en-dired" title="Link to this heading"></a></h2>
<p>Para invocar Dired, teclee C-x d (dired). Esto lee el nombre de un directorio usando el minibúfer, y abre un búfer Dired listando los archivos en ese directorio. También puede proporcionar un patrón de nombre de archivo comodín como argumento del minibúfer, en cuyo caso el búfer de Dired listará todos los archivos que coincidan con ese patrón. El comodín también puede aparecer en la parte del directorio. Por ejemplo,</p>
<blockquote>
<div><p>C-x d ~/foo/<em>.el RET
C-x d ~/foo/</em>/<a href="#id1"><span class="problematic" id="id2">*</span></a>.el RET</p>
</div></blockquote>
<p>La primera lista todos los archivos con extensión “.el” del directorio “foo”. La segunda lista los archivos con extensión “.el” en todos los subdirectorios de “foo”.</p>
<p>En sistemas Posix, cuando el shell del sistema soporta globstar, una función de globbing recursivo, y dicho soporte está activado, puede usar globbing recursivo en Dired:</p>
<blockquote>
<div><p>C-x d ~/foo/<a href="#id3"><span class="problematic" id="id4">**</span></a>/<a href="#id5"><span class="problematic" id="id6">*</span></a>.el RET</p>
</div></blockquote>
<p>Este comando produce un listado de directorios con todos los archivos con extensión “.el”, descendiendo recursivamente en todos los subdirectorios de “foo”. Tenga en cuenta que existen pequeñas diferencias en la implementación de globstar entre diferentes shells. Consulte el manual de su shell para conocer el comportamiento esperado.</p>
<p>Si el intérprete de órdenes soporta globstar, pero ese soporte está deshabilitado por defecto, aún puede permitir que Dired use esta característica personalizando dired-maybe-use-globstar a un valor no nulo; entonces Dired habilitará globstar para aquellos intérpretes de órdenes para los que sepa cómo hacerlo (vea dired-enable-globstar-in-shell para la lista de esos intérpretes de órdenes).</p>
<p>En el minibúfer se pueden usar los comandos habituales de historial y finalización; en particular, M-n pone el nombre del archivo visitado (si lo hay) en el minibúfer (véase Historial del minibúfer).</p>
<p>También puede invocar Dired dando a C-x C-f (buscar-archivo) el nombre de un directorio.</p>
<p>Puede pedir a Emacs que invoque Dired en el directorio por defecto (ver directorio por defecto) de cualquier búfer, tecleando C-x C-j (dired-jump). Si el búfer visita un archivo, este comando moverá el punto a la línea de ese archivo en el búfer Dired que muestra; en caso contrario, el punto acabará en el primer archivo del listado de directorios. Como excepción, si teclea C-x C-j en un búfer Dired, Emacs muestra el listado de directorios del directorio padre y coloca el punto en la línea que corresponde al directorio donde invocó dired-jump. Teclear C-x 4 C-j (dired-jump-other-window) tiene el mismo efecto, pero muestra el búfer Dired en una nueva ventana.</p>
<p>La variable dired-listing-switches especifica las opciones a dar a ls para listar el directorio; esta cadena debe contener “-l”. Si usa un argumento prefijo con el comando dired, puede especificar los switches de ls con el minibúfer antes de introducir la especificación del directorio. Independientemente de cómo se especifiquen, los modificadores ls pueden incluir opciones cortas (es decir, de un solo carácter) que no requieren argumentos, y opciones largas (que empiezan por “–”) cuyos argumentos se especifican con “=”.</p>
<p>Dired no maneja bien los archivos cuyos nombres contienen caracteres de nueva línea. Si tiene muchos archivos de este tipo, puede considerar añadir “-b” a dired-listing-switches. Esto entrecomillará todos los caracteres especiales y permitirá a Dired manejarlos mejor. (También puede usar el comando C-u C-x d para añadir “-b” temporalmente).</p>
<p>Dired muestra en la línea de modo una indicación de cuáles fueron los conmutadores usados para invocar ls. Por defecto, Dired intentará determinar si los switches (modificadores) indican ordenación por nombre o por fecha, y lo dirá en la línea de modo. Si la variable dired-switches-in-mode-line es as-is, los switches se mostrarán textualmente. Si el valor de esta variable es un número entero, la visualización de los interruptores se truncará a esa longitud. Esta variable también puede ser una función, que será llamada con dired-actual-switches como único parámetro, y debería devolver una cadena para mostrar en la línea de modo.</p>
<p>Si su programa ls soporta la opción “dired”, Dired le pasa automáticamente esa opción; esto hace que ls emita secuencias de escape especiales para ciertos nombres de archivo inusuales, sin las cuales Dired no será capaz de analizar esos nombres. La primera vez que se ejecuta Dired en una sesión Emacs, comprueba si ls soporta la opción “dired” llamándolo una vez con esa opción. Si el código de salida es 0, Dired usará posteriormente la opción “dired”; en caso contrario no lo hará. Puede inhibir esta comprobación personalizando la variable dired-use-ls-dired. El valor no especificado (por defecto) significa realizar la comprobación; cualquier otro valor no nulo significa usar la opción “dired”; y nil significa no usar la opción “dired”.</p>
<p>En sistemas MS-Windows y MS-DOS, y también en algunos sistemas remotos, Emacs emula ls. Ver Emulación de ls en MS-Windows, para opciones y peculiaridades de esta emulación.</p>
<p>Para mostrar el búfer de Dired en otra ventana, usa C-x 4 d (dired-other-window). C-x 5 d (dired-other-frame) muestra el búfer Dired en un marco separado.</p>
<p>Tecleando q (quit-window) se esconde el búfer Dired, y se borra su ventana si la ventana se creó sólo para ese búfer.</p>
</section>
<section id="navegacion-en-el-bufer-dired">
<h2>31.2 Navegación en el Búfer Dired<a class="headerlink" href="#navegacion-en-el-bufer-dired" title="Link to this heading"></a></h2>
<p>Todos los comandos habituales de Emacs para mover el cursor están disponibles en los búferes Dired. Las teclas C-n y C-p se redefinen para ejecutar dired-next-line y dired-previous-line, respectivamente, y ponen el cursor al principio del nombre del archivo en la línea, en lugar de al principio de la línea.</p>
<p>Para mayor comodidad, SPC y n en Dired son equivalentes a C-n. p es equivalente a C-p. (Moverse por líneas es tan común en Dired que merece ser fácil de teclear.) DEL (move up and unflag) también suele ser útil simplemente para moverse hacia arriba (ver Borrar Archivos con Dired).</p>
<p>j (dired-goto-file) pide un nombre de archivo usando el minibúfer, y mueve el punto a la línea en el búfer de Dired que describe ese archivo.</p>
<p>M-s f C-s (dired-isearch-filenames) realiza una búsqueda incremental hacia adelante en el búfer de Dired, buscando coincidencias sólo entre los nombres de archivo e ignorando el resto del texto del búfer. M-s f M-C-s (dired-isearch-filenames-regexp) hace lo mismo, usando una búsqueda por expresión regular. Si cambia la variable dired-isearch-filenames por t, los comandos de búsqueda habituales también se limitan a los nombres de archivo; por ejemplo, C-s se comporta como M-s f C-s. Si el valor es dwim, entonces los comandos de búsqueda coinciden con los nombres de archivo sólo cuando point estaba inicialmente en un nombre de archivo. Véase Búsqueda y Reemplazo, para obtener información sobre la búsqueda incremental.</p>
<p>Algunos comandos de navegación adicionales están disponibles cuando el búfer Dired incluye varios directorios. Véase Desplazamiento a través de Subdirectorios.</p>
</section>
<section id="borrar-archivos-con-dired">
<h2>31.3 Borrar Archivos con Dired<a class="headerlink" href="#borrar-archivos-con-dired" title="Link to this heading"></a></h2>
<p>Uno de los usos más frecuentes de Dired es marcar primero los archivos para borrarlos y luego borrar los archivos marcados.</p>
<dl class="simple">
<dt>d</dt><dd><p>Marca este archivo para su eliminación (dired-flag-file-deletion).</p>
</dd>
<dt>u</dt><dd><p>Elimina la marca de borrado (dired-unmark).</p>
</dd>
<dt>DEL</dt><dd><p>Mueve el punto a la línea anterior y elimina la marca de borrado de esa línea (dired-unmark-backward).</p>
</dd>
<dt>x</dt><dd><p>Delete files flagged for deletion (dired-do-flagged-delete).</p>
</dd>
</dl>
<p>Puede marcar un archivo para su borrado desplazándose a la línea que describe el archivo y escribiendo d (dired-flag-file-deletion). La bandera de borrado aparece como una “D” al principio de la línea. Este comando desplaza el punto a la línea siguiente, de modo que los comandos d repetidos marcan archivos sucesivos. Un prefijo numérico sirve como contador de repeticiones; un contador negativo significa marcar los archivos precedentes.</p>
<p>Si la región está activa, el comando d marca todos los archivos de la región para su borrado; en este caso, el comando no mueve el punto e ignora cualquier argumento de prefijo.</p>
<p>La razón de marcar los archivos para su borrado, en lugar de borrarlos inmediatamente, es reducir el peligro de borrar un archivo accidentalmente. Hasta que ordene a Dired que borre los archivos marcados, puede eliminar las marcas de borrado usando los comandos u y DEL. u (dired-unmark) funciona igual que d, pero elimina las marcas en lugar de hacerlas. DEL (dired-unmark-backward) se mueve hacia arriba, eliminando las marcas; es como u con el argumento -1. Un prefijo numérico como argumento de cualquiera de los comandos sirve como cuenta de repetición, con una cuenta negativa que significa desmarcar en la dirección opuesta. Si la región está activa, estos comandos desmarcan todos los archivos de la región, sin mover el punto.</p>
<p>Para borrar los archivos marcados, escriba x (dired-do-flagged-delete). Este comando muestra una lista de todos los nombres de archivo marcados para ser borrados, y pide confirmación con un sí. Si confirma, Dired borra los archivos marcados y, a continuación, borra sus líneas del texto del búfer de Dired. El búfer Dired, con algo menos de líneas, permanece seleccionado.</p>
<p>Si responde que no o sale con C-g cuando se le pida que confirme, volverá inmediatamente a Dired, con las banderas de borrado aún presentes en el búfer, y sin ningún archivo borrado.</p>
<p>Puede borrar directorios vacíos igual que otros archivos, pero normalmente Dired no puede borrar directorios que no estén vacíos. Sin embargo, si la variable dired-recursive-deletes no es nula, entonces Dired puede borrar directorios no vacíos incluyendo todo su contenido. Esto puede ser algo arriesgado. Si el valor de la variable es always, Dired borrará directorios no vacíos recursivamente, lo que es aún más arriesgado.</p>
<p>Incluso si ha establecido dired-recursive-deletes a nil, puede que a veces quiera borrar directorios recursivamente sin que se le pida confirmación para todos ellos. Por ejemplo, puede que quiera esto cuando haya marcado muchos directorios para borrar y esté muy seguro de que todos ellos pueden ser borrados con seguridad. Por cada directorio no vacío se le pedirá confirmación para borrarlo, si contesta todos, entonces todos los directorios restantes se borrarán sin más preguntas.</p>
<p>Si cambia la variable delete-by-moving-to-trash a t, los comandos de borrado anteriores moverán los archivos o directorios afectados a la Papelera del sistema operativo, en lugar de borrarlos directamente. Consulte Operaciones Varias con Archivos.</p>
<p>Una forma alternativa de borrar archivos es marcarlos con m y borrarlos con D, véase Operaciones con Archivos.</p>
</section>
<section id="marcar-varios-archivos-a-la-vez">
<h2>31.4 Marcar Varios Archivos a la Vez<a class="headerlink" href="#marcar-varios-archivos-a-la-vez" title="Link to this heading"></a></h2>
<p>Los comandos #, ~, ., % &amp; y % d marcan varios archivos para su eliminación, basándose en sus nombres de archivo:</p>
<dl class="simple">
<dt>#</dt><dd><p>Marca todos los archivos de autoguardado (archivos cuyos nombres empiezan y acaban por “#”) para que se eliminen (véase Autoguardado: Protección Contra Desastres).</p>
</dd>
</dl>
<dl class="simple">
<dt>~</dt><dd><p>Marca todos los archivos de copia de seguridad (archivos cuyos nombres terminan en “~”) para su eliminación (véase Archivos de Copia de Seguridad).</p>
</dd>
<dt>. (Punto)</dt><dd><p>Marca el exceso de archivos de copia de seguridad numéricos para su eliminación. Los archivos de copia de seguridad más antiguos y los más recientes de cualquier archivo están
exentos; se marcan los del medio.</p>
</dd>
<dt>% &amp;</dt><dd><p>Marca para borrado todos los archivos con ciertos tipos de nombres que sugieren que se pueden crear de nuevo fácilmente esos archivos.</p>
</dd>
<dt>% d expreg RET</dt><dd><p>Marca para borrado todos los archivos cuyos nombres coincidan con la expresión regular expreg.</p>
</dd>
</dl>
<p># (dired-flag-auto-save-files) marca todos los archivos cuyos nombres parecen archivos de guardado automático, es decir, archivos cuyos nombres empiezan y terminan con “#”. Véase Autoguardado: Protección Frente a Desastres.</p>
<p>~ (dired-flag-backup-files) marca todos los archivos cuyos nombres indican que son archivos de copia de seguridad, es decir, archivos cuyos nombres terminan en “~”. Consulte Archivos de Copia de Seguridad.</p>
<p>. (punto, dired-clean-directory) marca sólo algunos de los archivos de copia de seguridad para su eliminación: todos menos las copias de seguridad más antiguas y las más recientes de cualquier archivo. Normalmente, el número de versiones más recientes que se conservan de cada archivo viene dado por la variable dired-kept-versions (no kept-new-versions; eso sólo se aplica al guardar). El número de versiones más antiguas a conservar viene dado por la variable versiones-antiguas-conservadas (kept-old-versions).</p>
<p>El punto (.) con un argumento numérico positivo, como en C-u 3 ., especifica el número de versiones más recientes a conservar, anulando las versiones conservadas por dired. Un argumento numérico negativo anula versiones-antiguas-mantenidas (kept-old-versions), usando el valor negativo del argumento para especificar el número de versiones más antiguas de cada archivo a mantener.</p>
<p>% &amp; (dired-flag-garbage-files) marca los archivos cuyos nombres coinciden con la expresión regular especificada por la variable dired-garbage-files-regexp. Por defecto, esto coincide con ciertos archivos producidos por TeX, archivos “.bak”, y los archivos “.orig” y “.rej” producidos por patch.</p>
<p>% d marca todos los archivos cuyos nombres coinciden con una expresión regular especificada (dired-flag-files-regexp). Sólo se usa la parte del nombre del archivo que no pertenece al directorio. Puede usar “^” y “$” para anclar las coincidencias. Puede excluir ciertos subdirectorios del marcado ocultándolos mientras usa % d. Consulte Ocultar Subdirectorios.</p>
</section>
<section id="visitar-archivos-en-dired">
<h2>31.5 Visitar Archivos en Dired<a class="headerlink" href="#visitar-archivos-en-dired" title="Link to this heading"></a></h2>
<p>Existen varios comandos de Dired para visitar o examinar los archivos listados en el búfer de Dired. Todos ellos se aplican al archivo de la línea actual; si ese archivo es en realidad un directorio, estos comandos invocan Dired en ese subdirectorio (creando un búfer Dired separado).</p>
<dl class="simple">
<dt>f</dt><dd><p>Visita el archivo descrito en la línea actual, como teclear C-x C-f y suministrar ese nombre de archivo (dired-find-file). Véase Visitar archivos.</p>
</dd>
</dl>
<p>RET
e</p>
<blockquote>
<div><p>Equivalente a f.</p>
</div></blockquote>
<dl class="simple">
<dt>o</dt><dd><p>Como f, pero usa otra ventana para mostrar el búfer del archivo (dired-find-file-other-window). El búfer de Dired permanece visible en la primera ventana. Es como usar C-x 4 C-f para
visitar el archivo. Véase Ventanas Múltiples.</p>
</dd>
<dt>C-o</dt><dd><p>Visita el archivo descrito en la línea actual y muestra el búfer en otra ventana, pero no selecciona esa ventana (dired-display-file).</p>
</dd>
</dl>
<p>ratón-1
ratón-2</p>
<blockquote>
<div><p>Visita el archivo cuyo nombre ha pulsado (dired-mouse-find-file-other-window). Esto usa otra ventana para mostrar el archivo, como el comando o.</p>
</div></blockquote>
<dl class="simple">
<dt>v</dt><dd><p>Visualiza el archivo descrito en la línea actual, con el modo Vista (View mode) (dired-view-file). El modo Vista proporciona comandos prácticos para navegar por el búfer, pero prohíbe
modificarlo; véase Modo Vista.</p>
</dd>
</dl>
<dl class="simple">
<dt>^</dt><dd><p>Visita el directorio padre del directorio actual (direct-up-directory). Esto equivale a desplazarse a la línea para .. y escribir f allí.</p>
</dd>
<dt>Opción de Usuario: dired-kill-when-opening-new-dired-buffer</dt><dd><p>Cuando se visita un nuevo subdirectorio en Dired, Emacs abrirá (por defecto) un nuevo búfer para mostrar este nuevo directorio, y dejará el antiguo búfer de Dired como está. Si esta
opción de Usuario no es nula, el antiguo búfer de Dired será eliminado después de seleccionar el nuevo directorio. Esto significa que si está recorriendo una estructura de directorios
en Dired, no terminará con más de un único búfer Dired.</p>
</dd>
</dl>
</section>
<section id="marcas-vs-banderas">
<h2>31.6 Marcas vs. Banderas<a class="headerlink" href="#marcas-vs-banderas" title="Link to this heading"></a></h2>
<p>En lugar de marcar un archivo con “D”, puede marcar el archivo con algún otro carácter (normalmente “*”). La mayoría de los comandos Dired para operar sobre archivos usan los archivos marcados con “*”. El único comando que opera sobre archivos marcados es x, que los borra.</p>
<p>Estos son algunos comandos para marcar con “*”, para desmarcar y para operar sobre marcas. (Ver Borrado de Archivos con Dired, para comandos para marcar y desmarcar archivos).</p>
<p>m
* m</p>
<blockquote>
<div><p>Marca el archivo actual con “*” (dired-mark). Si la región está activa, marca en su lugar todos los archivos de la región; de lo contrario, si se proporciona un argumento numérico n,
marca en su lugar los n archivos siguientes, empezando por el archivo actual (si n es negativo, marca los -n archivos anteriores). Si se invoca en la línea de cabecera de un
subdirectorio (véase Subdirectorios en Dired), este comando marca todos los archivos de ese subdirectorio.</p>
</div></blockquote>
<ul class="simple">
<li><dl class="simple">
<dt>N</dt><dd><p>Informa del número y tamaño de los archivos marcados (dired-number-of-marked-files).</p>
</dd>
</dl>
</li>
<li><ul>
<li><p>Marca todos los archivos ejecutables con “*” (dired-mark-executables). Con un argumento numérico, desmarca todos esos archivos.</p></li>
</ul>
</li>
<li><dl class="simple">
<dt>&#64;</dt><dd><p>Marca todos los enlaces simbólicos con “*” (dired-mark-symlinks). Con un argumento numérico, desmarca todos esos archivos.</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>/</dt><dd><p>Marca con “*” todos los archivos que sean directorios, excepto . y .. (dired-mark-directories). Con un argumento numérico, desmarca todos esos archivos.</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>s</dt><dd><p>Marca todos los archivos del subdirectorio actual, aparte de . y .. (dired-mark-subdir-files).</p>
</dd>
</dl>
</li>
</ul>
<p>u
* u</p>
<blockquote>
<div><p>Elimina cualquier marca en esta línea (dired-unmark). Si la región está activa, se desmarcan todos los archivos de la región; de lo contrario, si se proporciona un argumento numérico
n, se desmarcan los n archivos siguientes, empezando por el archivo actual (si n es negativo, se desmarcan los -n archivos anteriores).</p>
</div></blockquote>
<p>DEL
* DEL</p>
<blockquote>
<div><p>Mueve el punto a la línea anterior y elimina cualquier marca en esa línea (dired-unmark-backward). Si la región está activa, desmarca todos los archivos de la región; de lo contrario,
si se proporciona un argumento numérico n, desmarca los n archivos anteriores, empezando por el archivo actual (si n es negativo, desmarca los -n archivos siguientes).</p>
</div></blockquote>
<dl class="simple">
<dt>U</dt><dd><p>Elimina todas las marcas de todos los archivos de este búfer Dired (dired-unmark-all-marks).</p>
</dd>
</dl>
<ul>
<li><dl>
<dt>? caracter-de-marca</dt><dd><p>Elimina todas las marcas que usan el carácter caracter-de-marca (dired-unmark-all-files). Si se invoca con M-DEL, el comando solicita caracter-de-marca. Ese caracter-de-marca es un
solo carácter, no use RET para terminarlo. Véase más adelante la descripción del comando * c, que permite sustituir un carácter de marca por otro.</p>
<p>Con un argumento numérico, este comando consulta sobre cada archivo marcado, preguntando si desea eliminar su marca. Puede responder y para indicar que sí, n para indicar que no, o !
para eliminar las marcas de los archivos restantes sin preguntar por ellos.</p>
</dd>
</dl>
</li>
<li><p>C-n</p></li>
</ul>
<dl class="simple">
<dt>M-}</dt><dd><p>Se mueve al siguiente archivo marcado (dired-next-marked-file). Un archivo está « seleccionado « si tiene algún tipo de marca.</p>
</dd>
</dl>
<ul class="simple">
<li><p>C-p</p></li>
</ul>
<dl class="simple">
<dt>M-{</dt><dd><p>Pasa al archivo marcado anterior (dired-prev-marked-file).</p>
</dd>
</dl>
<p>t
* t</p>
<blockquote>
<div><p>Alterna todas las marcas (dired-toggle-marks): los archivos marcados con “*” se desmarcan, y los archivos no marcados se marcan con “*”. Los archivos marcados de cualquier otra forma
no se ven afectados.</p>
</div></blockquote>
<dl>
<dt>c caracter-de-marca-anterior nuevo-caracter-de-marca</dt><dd><p>Sustituye todas las marcas que usan el carácter caracter-de-marca-anterior por marcas que usan el carácter nuevo-caracter-de-marca (dired-change-marks). Este comando es la forma
principal de crear o usar marcas distintas de “*” o “D”. Los argumentos son caracteres simples, no use RET para terminarlos.</p>
<p>Puede usar casi cualquier carácter como carácter de marca mediante este comando, para distinguir varias clases de archivos. Si caracter-de-marca-anterior es un espacio (” “), el
comando actúa sobre todos los archivos no marcados; si nuevo-caracter-de-marca es un espacio, el comando desmarca los archivos sobre los que actúa.</p>
<p>Para ilustrar la potencia de este comando, a continuación se muestra cómo poner marcas “D” en todos los archivos que no tienen marcas, a la vez que se desmarcan todos los que ya
tienen marcas “D”:</p>
<blockquote>
<div><ul class="simple">
<li><p>c D t * c SPC D * c t SPC</p></li>
</ul>
</div></blockquote>
<p>Esto supone que no hay archivos marcados con “t”.</p>
</dd>
</dl>
<p>% m expreg RET
* % expreg RET</p>
<blockquote>
<div><p>Marca (con “*”) todos los archivos cuyos nombres coincidan con la expresión regular expreg (dired-mark-files-regexp). Este comando es como % d, salvo que marca los archivos con “*” en
lugar de marcarlos con “D”.</p>
<p>Sólo se usa la parte del nombre del archivo que no pertenece al directorio. Use “^” y “$” para anclar las coincidencias. Puede excluir subdirectorios ocultándolos temporalmente
(consulte Ocultar Subdirectorios).</p>
</div></blockquote>
<dl class="simple">
<dt>% g expreg RET</dt><dd><p>Marca (con “*”) todos los archivos cuyo contenido coincida con la expresión regular regexp (dired-mark-files-containing-regexp). Este comando es como % m, excepto que busca el
contenido del archivo en lugar del nombre del archivo. Tenga en cuenta que si un archivo es visitado en un búfer de Emacs, y dired-always-read-filesystem es nil (por defecto), este
comando buscará en el búfer sin volver a visitar el archivo, por lo que los resultados pueden ser inconsistentes con el archivo en disco si su contenido ha cambiado desde la última
vez que fue visitado. Si no desea esto, puede revertir los archivos que ha visitado en sus búferes, o activar el modo Auto-Revertir (Auto-Revert mode) en esos búferes, antes de
invocar este comando. Consulte Revertir un Búfer. Si prefiere que este comando siempre vuelva a visitar el archivo, sin tener que revertir el archivo o activar el modo Auto-Revertir,
es posible que desee establecer dired-always-read-filesystem como no nulo.</p>
</dd>
</dl>
<p>C-/
C-x u
C-_</p>
<blockquote>
<div><p>Deshace cambios en el búfer de Dired, como añadir o eliminar marcas (dired-undo). Este comando no revierte las operaciones reales de archivo, ¡ni recupera archivos perdidos! Sólo
deshace los cambios en el propio búfer.</p>
<p>En algunos casos, usar esto después de comandos que operan sobre archivos puede causar problemas. Por ejemplo, después de renombrar uno o más archivos, dired-undo restaura los nombres
originales en el búfer de Dired, lo que desincroniza el búfer de Dired con el contenido real del directorio.</p>
</div></blockquote>
</section>
<section id="operar-con-archivos">
<h2>31.7 Operar con Archivos<a class="headerlink" href="#operar-con-archivos" title="Link to this heading"></a></h2>
<p>Esta sección describe los comandos básicos de Dired para operar sobre uno o varios archivos. Todos estos comandos van en mayúsculas; todos ellos usan el minibúfer, ya sea para leer un argumento o para pedir confirmación, antes de actuar. Todos ellos te permiten especificar los archivos a manipular de estas formas:</p>
<blockquote>
<div><ul class="simple">
<li><p>Si le da al comando un argumento numérico de prefijo n, opera en los siguientes n archivos, empezando por el archivo actual. (Si n es negativo, el comando opera en los -n archivos</p></li>
</ul>
<p>anteriores a la línea actual).</p>
<ul class="simple">
<li><p>De lo contrario, si algunos archivos están marcados con “*”, el comando opera en todos esos archivos.</p></li>
<li><p>En caso contrario, el comando actúa sólo sobre el archivo actual.</p></li>
</ul>
</div></blockquote>
<p>Algunos otros comandos Dired, como ! y los comandos “%”, usan las mismas convenciones para decidir sobre qué archivos trabajar.</p>
<p>Además de los comandos Dired descritos aquí, también es posible invocar comandos de Control de Versiones (CV) sobre uno o más archivos mostrados en un búfer Dired. Véase Control de Versiones.</p>
<p>Los comandos que piden un directorio de destino, como los que copian y renombran archivos o crean enlaces para ellos, intentan adivinar el directorio de destino por defecto para la operación. Normalmente, sugieren el directorio por defecto del búfer de Dired, pero si la opción dired-dwim-target no es nula, y si hay otro búfer de Dired mostrado en alguna ventana, el directorio de ese otro búfer es sugerido en su lugar. Puede personalizar dired-dwim-target para que prefiera la siguiente ventana con un búfer Dired, o la ventana utilizada más recientemente con un búfer Dired, o para usar cualquier otra función. Cuando el valor es una función, se llamará sin argumentos y se espera que devuelva una lista de directorios que se usarán por defecto (es decir, objetivo por defecto e «historia futura»).</p>
<p>Estos son los comandos de Dired que manipulan archivos y operan sobre ellos.</p>
<dl>
<dt>C nuevo RET</dt><dd><p>Copia los archivos especificados (dired-do-copy). El argumento nuevo es el directorio en el que se va a copiar, o (si se copia un único archivo) el nuevo nombre. Es como el comando de
shell cp.</p>
<p>La opción dired-create-destination-dirs controla si Dired debe crear directorios inexistentes en el destino al copiar/renombrar archivos. El valor por defecto nil significa que Dired
nunca crea dichos directorios inexistentes; el valor always, significa que Dired los crea automáticamente; el valor ask significa que Dired le pide confirmación antes de crearlos.</p>
<p>Si la opción dired-create-destination-dirs-on-trailing-dirsep es distinta de nil, además de dired-create-destination-dirs, un separador de directorio al final del directorio de
destino es tratado de forma especial. En ese caso, cuando se copia a “test/” y no existe ya el directorio “test”, éste se creará y los archivos o directorios de origen especificados
se copiarán en el directorio recién creado.</p>
<p>Si dired-copy-preserve-time no es nulo, al copiar con este comando se conserva la hora de modificación del archivo antiguo en la copia, como en “cp -p”.</p>
<p>La variable dired-recursive-copies controla si se copian directorios recursivamente (como “cp -r”). Por defecto es top, lo que significa preguntar antes de copiar recursivamente un
directorio.</p>
<p>La variable dired-copy-dereference controla si se copian los enlaces simbólicos como enlaces o después de hacer referencia a ellos (como “cp -L”). Por defecto es nil, lo que significa
que los enlaces simbólicos se copian creando otros nuevos.</p>
<p>La opción de usuario dired-keep-marker-copy controla cómo este comando maneja el marcado de archivos. Por defecto, todas las nuevas copias de archivos se marcan con una “C”.</p>
</dd>
<dt>D</dt><dd><p>Elimina los archivos especificados (dired-do-delete). Es como el comando rm del shell.</p>
<p>Al igual que los otros comandos de esta sección, este comando opera sobre los archivos marcados, o los n archivos siguientes. Por el contrario, x (dired-do-flagged-delete) borra todos
los archivos marcados.</p>
</dd>
<dt>R nuevo RET</dt><dd><p>Renombra los archivos especificados (dired-do-rename). Si renombra un único archivo, el argumento nuevo es el nuevo nombre del archivo. Si renombra varios archivos, el argumento nuevo
es el directorio al que se moverán los archivos (es como el comando de shell mv).</p>
<p>La opción dired-create-destination-dirs controla si Dired debe crear directorios inexistentes en nuevo.</p>
<p>La opción dired-create-destination-dirs-on-trailing-dirsep, cuando se establece además de dired-create-destination-dirs, controla si un separador de directorio al final del destino es
tratado de forma especial. En ese caso, cuando se renombra un directorio “anterior” a “nuevo/” y no existe ya un directorio “nuevo”, éste se creará y “anterior” se moverá al
directorio recién creado. En caso contrario, “anerior” se renombra a “nuevo”.</p>
<p>Dired cambia automáticamente el nombre del archivo visitado de los búferes asociados a los archivos renombrados para que hagan referencia a los nuevos nombres.</p>
<p>Si el valor de la variable dired-vc-rename-file no es nulo, los archivos se renombran usando los comandos del VCS subyacente, a través de vc-rename-file (ver Borrar y Renombrar
Archivos 1de Versión Controlada).</p>
</dd>
<dt>H nuevo RET</dt><dd><p>Crea enlaces duros a los archivos especificados (dired-do-hardlink). Es como el comando de shell ln. El argumento nuevo es el directorio en el que se crearán los enlaces, o (si sólo
se crea un enlace) el nombre que se le dará al enlace.</p>
</dd>
<dt>S nuevo RET</dt><dd><p>Crea enlaces simbólicos a los archivos especificados (dired-do-symlink). Es como “ln -s”. El argumento nuevo es el directorio en el que se crearán los enlaces, o (si sólo se crea un
enlace) el nombre que se le dará al enlace.</p>
</dd>
<dt>Y nuevo RET</dt><dd><p>Crea enlaces simbólicos relativos a los archivos especificados (dired-do-relsymlink). El argumento nuevo es el directorio en el que se crearán los enlaces, o (si sólo se crea un
enlace) el nombre que se le dará al enlace. Es como dired-do-symlink pero puede crear enlaces simbólicos relativos. Por ejemplo:</p>
<blockquote>
<div><p>foo -&gt; ../bar/foo</p>
</div></blockquote>
<p>No se puede crear absolutos como:</p>
<blockquote>
<div><p>foo -&gt; /path/that/may/change/any/day/bar/foo</p>
</div></blockquote>
</dd>
<dt>M modoespecial RET</dt><dd><p>Cambia el modo (también llamado bits de permiso) de los archivos especificados (dired-do-chmod). modoespecial puede estar en notación octal o simbólica, como los argumentos manejados
por el programa chmod. Este comando no sigue los enlaces simbólicos, por lo que informa de un error si intenta cambiar el modo de un enlace simbólico en una plataforma en la que
dichos modos son inmutables.</p>
</dd>
<dt>G nuevogrupo RET</dt><dd><p>Cambia el grupo de los archivos especificados a nuevogrupo (dired-do-chgrp).</p>
</dd>
<dt>O nuevodueño RET</dt><dd><p>Cambia el propietario de los archivos especificados a nuevopropietario (dired-do-chown). (En la mayoría de los sistemas, sólo el superusuario puede hacer esto).</p>
<p>La variable dired-chown-program especifica el nombre del programa a usar para hacer el trabajo. (Esta variable es necesaria porque diferentes sistemas ponen chown en diferentes
lugares).</p>
</dd>
<dt>T marca-de-tiempo RET</dt><dd><p>Toca los archivos especificados (dired-do-touch). Esto significa actualizar sus tiempos de modificación a marca-de-tiempo, que por defecto es la hora actual. Es como el comando de
shell touch.</p>
</dd>
<dt>P comando RET</dt><dd><p>Imprime los archivos especificados (dired-do-print). Debe especificar el comando para imprimirlos, pero el minibúfer comienza con una suposición adecuada hecha usando las variables
lpr-command y lpr-switches (las mismas variables que usa lpr-búfer; vea Imprimiendo Copias Duras).</p>
</dd>
<dt>Z</dt><dd><p>Comprime los archivos especificados (dired-do-compress). Si el archivo ya parece estar comprimido, en su lugar lo descomprime. Cada archivo marcado se comprime en su propio archivo;
esto usa el programa gzip si está disponible, de lo contrario usa compress.</p>
<p>En un nombre de directorio, este comando produce un archivo comprimido dependiendo de la opción de usuario dired-compress-directory-default-suffix. El valor predeterminado es un
archivo .tar.gz que contiene todos los archivos del directorio, ejecutando el comando tar con la salida dirigida a gzip. Para permitir la descompresión de directorios comprimidos,
teclear Z en un archivo .tar.gz o .tgz descomprime todos los ficheros del archivo en un directorio cuyo nombre es el nombre del archivo sin la extensión.</p>
</dd>
<dt>c</dt><dd><p>Comprime los archivos especificados (dired-do-compress-to) en un único archivo en cualquier parte del sistema de archivos. El archivo predeterminado se controla mediante la opción de
usuario dired-compress-directory-default-suffix. Véase también dired-compress-files-alist.</p>
</dd>
<dt>:d</dt><dd><p>Desencripta los archivos especificados (epa-dired-do-decrypt). Ver Integración de Dired en el Manual de Usuario del Asistente EasyPG.</p>
</dd>
<dt>:v</dt><dd><p>Verifica las firmas digitales de los archivos especificados (epa-dired-do-verify). Ver Integración de Dired en el Manual de Usuario del Asistente EasyPG.</p>
</dd>
<dt>:s</dt><dd><p>Firma digitalmente los archivos especificados (epa-dired-do-sign). Consulte Integración de Dired en el Manual de Usuario del Asistente EasyPG.</p>
</dd>
<dt>:e</dt><dd><p>Cifra los archivos especificados (epa-dired-do-encrypt). Ver Integración de Dired en el Manual de Usuario del Asistente EasyPG.</p>
</dd>
<dt>L</dt><dd><p>Carga los archivos Emacs Lisp especificados (dired-do-load). Véase Bibliotecas de código Lisp para Emacs.</p>
</dd>
<dt>B</dt><dd><p>Compila por bytes los archivos Emacs Lisp especificados (dired-do-byte-compile). Véase Compilación por Byte en el Manual de Referencia de Emacs Lisp.</p>
</dd>
<dt>I</dt><dd><p>Ejecuta Info en este archivo (se supone que es un archivo en formato Info).</p>
</dd>
<dt>N</dt><dd><p>Ejecuta man en este archivo (se supone que es un archivo en formato nroff).</p>
</dd>
<dt>A expreg RET</dt><dd><p>Busca en todos los archivos especificados la expresión regular expreg (dired-do-find-regexp).</p>
<p>Este comando es una variante de xref-find-references (ver Buscar y Reemplazar con Identificadores), muestra el búfer <em>xref</em>, donde puede navegar entre las coincidencias y mostrarlas
según sea necesario usando los comandos descritos en Comandos disponibles en el búfer <em>xref</em>.</p>
<p>Si alguno de los archivos marcados son directorios, este comando busca recursivamente en todos los archivos de esos directorios y en cualquiera de sus subdirectorios, excepto en los
archivos cuyos nombres coincidan con grep-find-ignored-files y en los subdirectorios cuyos nombres coincidan con grep-find-ignored-directories.</p>
</dd>
<dt>Q expreg RET a RET</dt><dd><p>Realiza query-replace-regexp en cada uno de los archivos especificados, sustituyendo las coincidencias de expreg por la cadena to (dired-do-find-regexp-and-replace).</p>
<p>Este comando es una variante de xref-query-replace-in-results. Presenta un búfer <em>xref</em> que enumera todas las coincidencias de expreg, y puede usar los comandos especiales de ese
búfer (consulte Comandos Disponibles en el Búfer <em>xref</em>). En particular, si sale del bucle de reemplazo de la consulta, puede usar r en ese búfer para reemplazar más coincidencias.
Consulte Buscar y Reemplazar con Identificadores.</p>
<p>Al igual que con dired-do-find-regexp, si alguno de los archivos marcados son directorios, este comando realiza reemplazos en todos los archivos de esos directorios, y en cualquiera
de sus subdirectorios, recursivamente, excepto para archivos cuyos nombres coincidan con grep-find-ignored-files y subdirectorios cuyos nombres coincidan con
grep-find-ignored-directories.</p>
</dd>
</dl>
</section>
<section id="comandos-shell-en-dired">
<h2>31.8 Comandos Shell en Dired<a class="headerlink" href="#comandos-shell-en-dired" title="Link to this heading"></a></h2>
<p>El comando Dired ! (dired-do-shell-command) lee una cadena de comandos shell en el minibúfer, y ejecuta ese comando shell en uno o más archivos. Los archivos sobre los que opera el comando shell se determinan de la forma habitual para los comandos Dired (ver Operar sobre Archivos). ¡El comando X es un sinónimo de !</p>
<p>El comando &amp; (dired-do-async-shell-command) hace lo mismo, excepto que ejecuta el comando shell de forma asíncrona. (También se puede hacer esto con !, añadiendo un carácter “&amp;” al final del comando shell). Cuando el comando opera sobre más de un archivo, ejecuta múltiples copias paralelas del comando shell especificado, una para cada archivo. Como excepción, si el comando shell especificado termina en “;” o “;&amp;”, el comando shell se ejecuta en segundo plano en cada archivo secuencialmente; Emacs espera a que termine cada comando shell invocado antes de ejecutar el siguiente.</p>
<p>Tanto para ! como para &amp;, el directorio de trabajo para el comando shell es el directorio de nivel superior del búfer Dired.</p>
<p>Si se indica a ! o &amp; que operen sobre más de un archivo, la cadena del comando shell determina cómo se pasan esos archivos al comando shell:</p>
<blockquote>
<div><ul class="simple">
<li><p>Si usa “*” rodeado de espacios en blanco en la cadena de comandos, entonces el comando se ejecuta una sola vez, con la lista de nombres de archivo sustituida por el “*”. El orden de</p></li>
</ul>
<p>los nombres de archivo es el orden de aparición en el búfer de Dired.</p>
<p>Así, ! tar cf foo.tar * RET ejecuta tar en toda la lista de nombres de archivo, colocándolos en un archivo tar foo.tar.</p>
<p>Si desea usar “*” como comodín del shell con espacios en blanco alrededor, escriba “<em>»»”. En el shell, esto es equivalente a “</em>”; pero como el “*” no está rodeado de espacios en
blanco, Dired no lo trata de forma especial. Emacs te pedirá confirmación si haces esto, a menos que dired-confirm-shell-command sea nil.</p>
<ul class="simple">
<li><p>De lo contrario, si la cadena de comandos contiene “?” rodeado de espacios en blanco o “<cite>?</cite>”, Emacs ejecuta el comando shell una vez por cada archivo, sustituyendo el nombre de</p></li>
</ul>
<p>archivo actual por “?” y “<cite>?</cite>” cada vez. Puede usar “?” y “<cite>?</cite>” más de una vez en el comando; el mismo nombre de archivo sustituye cada vez. Si los mezcla con “*”, el comando indicará
un error.</p>
<ul class="simple">
<li><p>Si la cadena de comandos no contiene ni “*” ni “?” ni “<cite>?</cite>”, Emacs ejecuta el comando shell una vez por cada archivo, añadiendo el nombre del archivo al final. Por ejemplo, !</p></li>
</ul>
<p>uudecode RET ejecuta uudecode en cada archivo.</p>
</div></blockquote>
<p>Para iterar sobre los nombres de archivo de una manera más detallada, es posible que prefiera usar un bucle shell explícito. Por ejemplo, a continuación se muestra cómo uuencodificar cada archivo, obteniendo el nombre del archivo de salida añadiendo “.uu” al nombre del archivo de entrada:</p>
<blockquote>
<div><p>for file in * ; do uuencode «$file» «$file» &gt;»$file».uu; done</p>
</div></blockquote>
<p>El mismo ejemplo con la notación “<cite>?</cite>”:</p>
<blockquote>
<div><p>uuencode ? ? &gt; <cite>?</cite>.uu</p>
</div></blockquote>
<p>Los comandos ! y &amp; no intentan actualizar el búfer de Dired para mostrar archivos nuevos o modificados, porque no saben qué archivos se modificarán. Usa el comando g para actualizar el búfer de Dired (ver Actualizar el Búfer de Dired).</p>
<p>Consulte Comandos de shell Individuales, para obtener información sobre la ejecución de comandos de shell fuera de Dired.</p>
</section>
<section id="proponer-comandos-de-shell">
<h2>31.9 Proponer comandos de shell<a class="headerlink" href="#proponer-comandos-de-shell" title="Link to this heading"></a></h2>
<p>Basándose en el nombre de un archivo, Dired intenta adivinar qué comando de shell puede que quiera aplicarle. Por ejemplo, si ha apuntado a un archivo llamado foo.tar y pulsa !, Dired adivinará que quiere ejecutar “tar xvf”, y le sugerirá ese como el comando shell por defecto.</p>
<p>Puede teclear M-n para obtener el comando por defecto en el minibúfer para su edición. Si hay varios comandos para un archivo dado, escriba M-n varias veces para ver cada comando coincidente en orden.</p>
<p>Dired sólo intenta adivinar un comando para un único archivo, nunca para una lista de archivos marcados.</p>
<dl>
<dt>Variable: dired-guess-shell-alist-default</dt><dd><p>Esta variable especifica las reglas predefinidas para adivinar comandos de shell adecuados para ciertos archivos. Establézcala a nil para desactivar la posibilidad de adivinar
comandos. Los elementos de dired-guess-shell-alist-user (definidos por el Usuario) anularán estas reglas.</p>
</dd>
<dt>Variable: dired-guess-shell-alist-user</dt><dd><p>Si no es nula, esta variable especifica la lista definida por el Usuario de expresiones regulares de archivo y sus comandos sugeridos. Estas reglas tienen prioridad sobre las reglas
predefinidas en la variable dired-guess-shell-alist-default cuando se ejecuta dired-do-shell-command). El valor por defecto es nil.</p>
<p>Cada elemento de la lista tiene el siguiente aspecto</p>
<blockquote>
<div><p>(expreg comando)</p>
</div></blockquote>
<p>donde cada orden puede ser una cadena o una expresión Lisp que se evalúe como una cadena. Si se dan varios comandos, todos ellos pasarán temporalmente al historial.</p>
<p>Un “*” en el comando del intérprete de órdenes representa el nombre del archivo que coincide con la expresión regular. Cuando Emacs invoca el comando, reemplaza cada instancia de “*”
con el nombre de archivo coincidente.</p>
<p>Para añadir reglas para las extensiones de archivo “.foo” y “.bar”, añada esto a su archivo Init:</p>
<blockquote>
<div><dl>
<dt>(setq dired-guess-shell-alist-user</dt><dd><dl>
<dt>(list</dt><dd><p>(list «\.foo$» «foo-command») ; regla fija
;; posiblemente más reglas…
(list «\.bar$» ; regla con condición test</p>
<blockquote>
<div><dl class="simple">
<dt>“(if condición</dt><dd><p>«comando-bar-1»
«comando-bar-2»))))</p>
</dd>
</dl>
</div></blockquote>
</dd>
</dl>
</dd>
</dl>
</div></blockquote>
<p>Esto anulará cualquier regla predefinida para las mismas extensiones.</p>
</dd>
</dl>
<p>Puede encontrar más opciones de Usuario con M-x customize-group RET dired-guess RET.</p>
</section>
<section id="transformacion-de-nombres-de-archivos-en-dired">
<h2>31.10 Transformación de Nombres de Archivos en Dired<a class="headerlink" href="#transformacion-de-nombres-de-archivos-en-dired" title="Link to this heading"></a></h2>
<p>Esta sección describe los comandos de Dired que modifican los nombres de los archivos de forma sistemática. Cada comando opera sobre algunos o todos los archivos marcados, usando un nuevo nombre hecho mediante la transformación del nombre existente.</p>
<p>Al igual que los comandos básicos de Dired para la manipulación de archivos (véase Operar con Archivos), los comandos descritos aquí operan sobre los n archivos siguientes, o sobre todos los archivos marcados con “*”, o sobre el archivo actual. (Para marcar archivos, use los comandos descritos en Marcas Dired vs. Banderas).</p>
<p>Todos los comandos descritos en esta sección funcionan de forma interactiva: le piden que confirme la operación para cada archivo candidato. Por lo tanto, puede seleccionar más archivos de los que realmente necesita (por ejemplo, con una expresión regular que coincida con muchos archivos) y, a continuación, filtrar los nombres seleccionados escribiendo y o n cuando el comando le pida confirmación.</p>
<dl class="simple">
<dt>% u</dt><dd><p>Cambia el nombre de cada uno de los archivos seleccionados a un nombre en mayúsculas. Si los antiguos nombres de archivo son Foo y bar, los nuevos nombres serán FOO y BAR.</p>
</dd>
<dt>% l</dt><dd><p>Cambia el nombre de cada uno de los archivos seleccionados a un nombre en minúsculas (dired-downcase). Si los antiguos nombres de archivo son Foo y bar, los nuevos nombres serán foo y
bar.</p>
</dd>
</dl>
<p>% R de RET a RET
% C de RET a RET
% H de RET a RET
% S de RET a RET
% Y de RET a RET</p>
<blockquote>
<div><p>Estos cinco comandos renombran, copian, crean: enlaces duros, enlaces blandos y enlaces blandos relativos, calculando en cada caso el nuevo nombre por sustitución de expresiones
regulares a partir del nombre del archivo anterior.</p>
</div></blockquote>
<p>Los cuatro comandos de sustitución por expresiones regulares realizan una búsqueda y sustitución de los nombres de archivo seleccionados. Leen dos argumentos: una expresión regular «de» y un patrón de sustitución «a»; comparan cada nombre de archivo antiguo con «de» y sustituyen la parte coincidente por «a». Puede usar “&amp;” y “digit” en to para referirse a todo o parte de lo que el patrón coincidió en el nombre del archivo antiguo, como en replace-regexp (vea Reemplazo de Expresiones Regulares). Si la expresión regular coincide más de una vez en un nombre de archivo, sólo se sustituye la primera coincidencia.</p>
<p>Por ejemplo, % R ^.*$ RET x-&amp; RET cambia el nombre de cada archivo seleccionado añadiendo “x-” a su nombre. También es posible la operación inversa, es decir, eliminar la “x-” de cada nombre de archivo: un método es % R ^x-(.*)$ RET 1 RET; otro es % R ^x- RET RET. ( Use “^” y “$” para anclar coincidencias que deben abarcar todo el nombre del archivo).</p>
<p>Normalmente, el proceso de sustitución no tiene en cuenta los nombres de directorio de los archivos; opera sobre el nombre del archivo dentro del directorio. Si especifica un argumento numérico igual a cero, la sustitución afecta a todo el nombre absoluto del archivo, incluido el nombre del directorio. (Un argumento distinto de cero especifica el número de archivos sobre los que operar).</p>
<p>Puede que desee seleccionar el conjunto de archivos sobre los que operar usando la misma expreg de la que usará para operar sobre ellos. Para hacer esto, marque esos archivos con % m de RET, luego use la misma expresión regular en el comando para operar sobre los archivos. Para hacer esto más conveniente, los comandos % para operar sobre archivos usan por defecto la última expresión regular especificada en cualquier comando %.</p>
</section>
<section id="comparacion-de-archivos-con-dired">
<h2>31.11 Comparación de Archivos con Dired<a class="headerlink" href="#comparacion-de-archivos-con-dired" title="Link to this heading"></a></h2>
<p>El comando = (dired-diff) compara el archivo actual (el archivo en el punto) con otro archivo (leído usando el minibúfer) usando el programa diff. El archivo especificado con el minibúfer es el primer argumento de diff, y el archivo en el punto es el segundo argumento. La salida del programa diff se muestra en un búfer usando el modo Diff (ver Comparación de Archivos).</p>
<p>Si la región está activa, el valor por defecto para el archivo leído usando el minibúfer es el archivo en la marca (es decir, la marca ordinaria de Emacs, no una marca de Dired; véase Establecer la Marca). De otro modo, si el archivo en el punto tiene un archivo de respaldo (vea Archivos de Respaldo), ese es el predeterminado.</p>
<p>También puede comparar archivos usando ediff-files, vea Puntos de Entrada Principales en el Manual de Usuario de Ediff.</p>
</section>
<section id="subdirectorios-en-dired">
<h2>31.12. Subdirectorios en Dired<a class="headerlink" href="#subdirectorios-en-dired" title="Link to this heading"></a></h2>
<p>Un búfer Dired normalmente muestra sólo un directorio, pero opcionalmente puede incluir también sus subdirectorios.</p>
<p>La forma más sencilla de incluir múltiples directorios en un búfer de Dired es especificar las opciones “-lR” para ejecutar ls. (Si da un argumento numérico cuando ejecuta Dired, entonces puede especificar estas opciones en el minibúfer). Eso produce un listado recursivo de directorios mostrando todos los subdirectorios en todos los niveles.</p>
<p>Más a menudo, querrá mostrar sólo subdirectorios específicos. Puede hacerlo con i (dired-maybe-insert-subdir):</p>
<dl class="simple">
<dt>i</dt><dd><p>Inserta el contenido de un subdirectorio más adelante en el búfer.</p>
</dd>
</dl>
<p>Si usa este comando en una línea que describe un archivo que es un directorio, inserta el contenido de ese directorio en el mismo búfer de Dired, y se desplaza hasta allí. El contenido del subdirectorio insertado sigue al directorio de nivel superior del búfer Dired, igual que en la salida “ls -lR”.</p>
<p>Si el contenido del subdirectorio ya está presente en el búfer, el comando i simplemente se mueve a él.</p>
<p>En cualquier caso, i pone la marca Emacs antes de moverse, así que C-u C-SPC vuelve a su posición anterior en el búfer Dired (ver Poniendo la Marca). También puede usar “^” para volver al directorio padre en el mismo búfer de Dired (ver Visitando Archivos en Dired).</p>
<p>Usa el comando l (dired-do-redisplay) para actualizar el contenido del subdirectorio, y usa C-u k en la línea de cabecera del subdirectorio para eliminar el listado del subdirectorio (ver Actualizando el Búfer Dired). También puede ocultar y mostrar los subdirectorios insertados (consulte Ocultar Subdirectorios).</p>
</section>
<section id="interruptores-de-subdirectorio-en-dired">
<h2>31.13 Interruptores de Subdirectorio en Dired<a class="headerlink" href="#interruptores-de-subdirectorio-en-dired" title="Link to this heading"></a></h2>
<p>Puede insertar subdirectorios con los modificadores ls especificados en los buffers de Dired usando C-u i. Puede cambiar los modificadores ls de un subdirectorio ya insertado en un punto usando C-u l.</p>
<p>Dired conserva los modificadores si revierte el búfer. Borrar un subdirectorio implica deshacerse de dichos switches.</p>
<p>Usar dired-undo (ver Dired Marks vs. Flags) para reinsertar o borrar subdirectorios que fueron insertados con switches explícitos puede evitar la maquinaria de Dired para recordar (u olvidar) los switches (modificadores). Borrar un subdirectorio usando dired-undo no olvida esas opciones. Cuando se reinserte más tarde usando i, se reinsertará usando sus antiguas opciones. Usar dired-undo para reinsertar un subdirectorio que fue borrado usando los comandos Dired normales (no dired-undo) lo insertará originalmente con sus antiguos interruptores. Revertir el búfer, sin embargo, lo volverá a listar usando los modificadores por defecto del búfer. Si algo de esto da problemas, puede corregir fácilmente la situación usando C-u i o C-u l.</p>
<p>Dired no recuerda el modificador R. Insertar un subdirectorio con opciones que incluyan el modificador R equivale a insertar cada uno de sus subdirectorios usando todas las opciones restantes. Por ejemplo, actualizar o eliminar un subdirectorio que se insertó con el modificador R no actualizará ni eliminará sus subdirectorios.</p>
<p>Los modificadores predeterminados del búfer no afectan a los subdirectorios que se insertaron usando modificadores especificados explícitamente. En particular, los comandos como s que cambian los modificadores del búfer no afectan a dichos subdirectorios. (Sin embargo, sí afectan a los subdirectorios sin modificadores asignados explícitamente).</p>
<p>Puede hacer que Dired se olvide de todos los switches (modificadores) de subdirectorios y vuelva a listar todos los subdirectorios con los switches por defecto del búfer usando M-x dired-reset-subdir-switches. Esto también revierte el búfer de Dired.</p>
</section>
<section id="moverse-por-subdirectorios">
<h2>31.14 Moverse por Subdirectorios<a class="headerlink" href="#moverse-por-subdirectorios" title="Link to this heading"></a></h2>
<p>Cuando un búfer Dired lista subdirectorios, puede usar los comandos de movimiento de página C-x [ y C-x ] para moverse por directorios enteros (ver Páginas).</p>
<p>Los siguientes comandos se mueven a través, arriba y abajo en el árbol de directorios dentro de un búfer Dired. Se mueven a las líneas de cabecera de directorio, que son las líneas que dan el nombre a un directorio, al principio del contenido del directorio.</p>
<dl class="simple">
<dt>C-M-n</dt><dd><p>Va a la siguiente línea de cabecera de subdirectorio, independientemente del nivel (dired-next-subdir).</p>
</dd>
<dt>C-M-p</dt><dd><p>Va a la línea de cabecera del subdirectorio anterior, independientemente del nivel (dired-prev-subdir).</p>
</dd>
<dt>C-M-u</dt><dd><p>Sube a la línea de cabecera del directorio padre (dired-tree-up).</p>
</dd>
<dt>C-M-d</dt><dd><p>Desciende en el árbol de directorios, hasta la línea de cabecera del primer subdirectorio (dired-tree-down).</p>
</dd>
</dl>
<dl class="simple">
<dt>&lt;</dt><dd><p>Avanza hasta la línea de archivo-directorio anterior (dired-prev-dirline). Estas líneas son las que describen un directorio como archivo en su directorio padre.</p>
</dd>
</dl>
<dl class="simple">
<dt>&gt;</dt><dd><p>Desciende a la siguiente línea de archivo de directorio (dired-next-dirline).</p>
</dd>
<dt>M-G</dt><dd><p>Pregunta por un directorio y se mueve a su línea de directorio-archivo (dired-goto-subdir).</p>
</dd>
</dl>
</section>
<section id="ocultar-subdirectorios">
<h2>31.15 Ocultar Subdirectorios<a class="headerlink" href="#ocultar-subdirectorios" title="Link to this heading"></a></h2>
<p>Ocultar un subdirectorio significa hacerlo invisible, excepto su línea de cabecera.</p>
<dl class="simple">
<dt>$</dt><dd><p>Oculta o muestra el subdirectorio en el que se encuentra el punto, y mueve el punto al siguiente subdirectorio (dired-hide-subdir). Esto es una conmutación. Un argumento numérico
sirve como contador de repeticiones.</p>
</dd>
<dt>M-$</dt><dd><p>Oculta todos los subdirectorios de este búfer Dired, dejando sólo sus líneas de cabecera (dired-hide-all). O, si algún subdirectorio está actualmente oculto, vuelve a hacer visibles
todos los subdirectorios. Puede usar este comando para obtener una visión general en árboles de directorios muy profundos o para moverse rápidamente a subdirectorios lejanos.</p>
</dd>
</dl>
<p>Los comandos ordinarios de Dired nunca tienen en cuenta los archivos dentro de un subdirectorio oculto. Por ejemplo, los comandos para operar sobre archivos marcados ignoran los archivos en directorios ocultos aunque estén marcados. Por lo tanto, puede usar la opción de ocultamiento para excluir temporalmente subdirectorios de las operaciones sin tener que eliminar las marcas de Dired en los archivos de esos subdirectorios.</p>
<p>Vea Subdirectorios en Dired, para saber cómo insertar un listado de subdirectorios, y vea Actualizando el Búfer de Dired, para saber cómo borrarlo.</p>
</section>
<section id="actualizar-el-bufer-de-dired">
<h2>31.16. Actualizar el Búfer de Dired<a class="headerlink" href="#actualizar-el-bufer-de-dired" title="Link to this heading"></a></h2>
<p>Esta sección describe órdenes para actualizar el búfer Dired para reflejar cambios externos (no Dired) en los directorios y archivos, y para borrar parte del búfer Dired.</p>
<dl class="simple">
<dt>g</dt><dd><p>Actualiza todo el contenido del búfer Dired (revert-buffer).</p>
</dd>
<dt>l</dt><dd><p>Actualiza los archivos especificados (dired-do-redisplay). Se especifican los archivos para l del mismo modo que para las operaciones de archivo.</p>
</dd>
<dt>k</dt><dd><p>Elimina las líneas de archivo especificadas, no los archivos, sólo las líneas (dired-do-kill-lines).</p>
</dd>
<dt>s</dt><dd><p>Alterna entre el orden alfabético y el orden fecha/hora (dired-sort-toggle-or-edit).</p>
</dd>
<dt>C-u s conmutadores RET</dt><dd><p>Refresca el búfer Dired usando interruptores como dired-listing-switches.</p>
</dd>
</dl>
<p>Escriba g (revert-buffer) para actualizar el contenido del búfer Dired, basándose en los cambios en los archivos y directorios listados. De este modo se conservan todas las marcas excepto las de los archivos que han desaparecido. Los subdirectorios ocultos se actualizan pero permanecen ocultos.</p>
<p>Para actualizar sólo algunos de los archivos, escriba l (dired-do-redisplay). Al igual que los comandos de Dired que operan con archivos, este comando opera sobre los n archivos siguientes (o archivos -n anteriores), o sobre los archivos marcados si los hay, o sobre el archivo actual. Actualizar los archivos significa leer su estado actual, y luego actualizar sus líneas en el búfer para indicar ese estado.</p>
<p>Si usa l en una línea de cabecera de subdirectorio, actualiza el contenido del subdirectorio correspondiente.</p>
<p>Si usa C-x d o algún otro comando de Dired para visitar un directorio que ya se está mostrando en un búfer de Dired, Dired cambia a ese búfer pero no lo actualiza. Si el búfer no está actualizado, Dired muestra una advertencia diciéndole que teclee g para actualizarlo. También puede decirle a Emacs que revierta cada búfer Dired automáticamente cuando vuelva a visitarlo, estableciendo la variable dired-auto-revert-buffer a un valor no nulo.</p>
<p>Para borrar líneas de archivo del búfer -sin borrar realmente los archivos- teclea k (dired-do-kill-lines). Al igual que los comandos que operan con archivos, este comando opera sobre los n archivos siguientes, o sobre los archivos marcados si los hubiera. Sin embargo, no opera sobre el archivo actual, ya que de lo contrario teclear mal k podría ser molesto.</p>
<p>Si usa k para eliminar la línea de un archivo de directorio que había insertado en el búfer de Dired como subdirectorio (véase Subdirectorios en Dired), elimina también el listado de subdirectorios. Escribir C-u k en la línea de cabecera de un subdirectorio también elimina la línea del subdirectorio del búfer de Dired.</p>
<p>La orden g recupera las líneas individuales que haya eliminado de esta forma, pero no los subdirectorios; debe usar i para reinsertar un subdirectorio.</p>
<p>Los archivos en los búferes de Dired se listan normalmente en orden alfabético por nombres de archivo. Alternativamente Dired puede ordenarlos por fecha/hora. El comando s de Dired (dired-sort-toggle-or-edit) cambia entre estos dos modos de ordenación. La línea de modo de un búfer Dired indica el modo en que está ordenado: por nombre o por fecha.</p>
<p>C-u s conmutador RET permite especificar un nuevo valor para dired-listing-switchs.</p>
</section>
<section id="dired-y-find-buscar">
<h2>31.17 Dired y Find (Buscar)<a class="headerlink" href="#dired-y-find-buscar" title="Link to this heading"></a></h2>
<p>Puede seleccionar un conjunto de archivos para mostrarlos en un búfer Dired de forma más flexible usando la utilidad find para elegir los archivos.</p>
<p>Para buscar archivos con nombres que coincidan con un patrón comodín use M-x find-name-dired. Lee los argumentos directorio y patrón, y selecciona todos los archivos del directorio o de sus subdirectorios cuyos nombres individuales coincidan con el patrón.</p>
<p>Los archivos seleccionados se muestran en un búfer de Dired, en el que están disponibles los comandos normales de Dired.</p>
<p>Si desea comprobar el contenido de los archivos, en lugar de sus nombres, use M-x find-grep-dired. Este comando lee dos argumentos del minibúfer, directorio y expreg; elige todos los archivos del directorio o sus subdirectorios que contienen una coincidencia para expreg. Funciona ejecutando los programas find y grep. Véase también M-x grep-find, en Búsqueda con Grep en Emacs. Recuerde escribir la expresión regular para grep, no para Emacs. (Un método alternativo para mostrar archivos cuyo contenido coincide con una expresión regular dada es el comando % g expreg, ver Marcas Dired. vs. Banderas).</p>
<p>El comando más general de esta serie es M-x find-dired, que permite especificar cualquier condición que find pueda probar. Toma dos argumentos del minibúfer, directorio y find-args; ejecuta find en el directorio, pasando find-args para decirle a find qué condición debe probar. Para usar este comando, necesita saber cómo usar find.</p>
<p>El formato del listado producido por estos comandos está controlado por la variable find-ls-option. Se trata de un par de opciones; la primera especifica cómo llamar a find para producir el listado del archivo, y la segunda le dice a Dired que analice la salida.</p>
<p>El comando M-x locate proporciona una interfaz similar al programa locate. M-x locate-with-filter es similar, pero mantiene sólo los archivos cuyos nombres coinciden con una expresión regular dada.</p>
<p>Estos búferes no funcionan del todo como los búferes ordinarios de Dired: las operaciones con archivos funcionan, pero no siempre actualizan automáticamente el búfer. Revertir el búfer con g borra todos los subdirectorios insertados, y borra todas las banderas y marcas.</p>
</section>
<section id="editar-el-bufer-dired">
<h2>31.18 Editar el Búfer Dired<a class="headerlink" href="#editar-el-bufer-dired" title="Link to this heading"></a></h2>
<p>Wdired es un modo especial que le permite realizar operaciones de archivo editando directamente el búfer Dired (la «W» de «Wdired» significa «writable», escribible). Para entrar en el modo Wdired, teclea C-x C-q (dired-toggle-read-only) mientras esté en un búfer Dired. También puede usar el ítem del menú: «Immediate / Edit File Names» (Inmediato / Editar nombres de archivo).</p>
<p>En modo Wdired, puede renombrar archivos editando los nombres de archivo que aparecen en el búfer Dired. Para ello están disponibles todos los comandos de edición habituales de Emacs, incluidas las operaciones con rectángulos y la consulta-sustitución. Una vez que haya terminado de editar, escriba C-c C-c (wdired-finish-edit). Esto aplica los cambios y vuelve al modo Dired habitual.</p>
</section>
<section id="ver-miniaturas-de-imagenes-en-dired">
<h2>31.19 Ver Miniaturas de Imágenes en Dired<a class="headerlink" href="#ver-miniaturas-de-imagenes-en-dired" title="Link to this heading"></a></h2>
<p>Image-Dired es una herramienta para navegar por archivos de imagen. Permite ver las imágenes como miniaturas o a tamaño completo, ya sea dentro de Emacs o a través de un visor externo. Esto es diferente del modo Imagen (ver Visualización de Archivos de Imagen) para visitar un archivo de imagen en el búfer de Emacs.</p>
<p>Para entrar en Imagen-Dired, marque los archivos de imagen que quiera ver en el búfer Dired, usando m como de costumbre. A continuación, escriba C-t d ( image-dired-display-thumbs). Esto crea y cambia a un búfer que contiene Image-Dired, correspondiente a los archivos marcados.</p>
<p>También puede borrar imágenes a través de Image-Dired. Escriba d (image-dired-flag-thumb-original-file) para marcar el archivo de imagen para su borrado en el búfer Dired. Alternativamente, puede eliminar la miniatura de una imagen del búfer de miniaturas sin marcar la imagen para su eliminación, escribiendo C-d (image-dired-delete-char).</p>
<p>También puede usar Image-Dired para operaciones «en línea» (es decir, directamente en el búfer Dired). Escribe C-t C-t, y las miniaturas de las imágenes seleccionadas en Dired aparecerán delante de sus nombres (image-dired-dired-toggle-marked-thumbs). C-t i y C-t x mostrarán la imagen bajo el punto en Emacs o con el visor externo, respectivamente.</p>
<p>Entre las funciones más avanzadas se incluyen las etiquetas de imagen, que son metadatos usados para categorizar archivos de imagen. Las etiquetas se almacenan en un archivo de texto plano configurado por image-dired-tags-db-file.</p>
<p>Para etiquetar archivos de imagen, márquelos en el búfer de Dired (también puede marcar archivos en Dired desde el búfer de miniaturas tecleando m) y escriba C-t t (image-dired-tag-files). Esto lee el nombre de la etiqueta en el minibúfer. Para marcar archivos con una determinada etiqueta, escriba C-t f (image-dired-mark-tagged-files). Después de marcar archivos de imagen con una etiqueta determinada, puede usar C-t d para verlos.</p>
<p>También puede etiquetar un archivo directamente desde el búfer de miniaturas tecleando t t, y puede eliminar una etiqueta tecleando t r. También hay una etiqueta especial llamada «comentario» para cada archivo (no es una etiqueta en el mismo sentido que las otras etiquetas, se maneja de forma ligeramente diferente). Se usa para introducir un comentario o descripción sobre la imagen. Para comentar un archivo desde el búfer de miniaturas, escriba c. Se le pedirá que escriba un comentario. Escriba C-t c para añadir un comentario desde Dired (imagen-dired-comentario-archivos). C-t e mostrará un búfer para editar comentarios y etiquetas (image-dired-dired-edit-comment-and-tags).</p>
<p>Los archivos marcados en Dired también se marcarán en Image-Dired si image-dired-thumb-visible-marks no es nulo (que es el valor predeterminado).</p>
<p>Image-Dired también permite manipular imágenes de forma sencilla. En el búfer de miniaturas, escriba L para girar la imagen original 90 grados en el sentido contrario a las agujas del reloj, y R para girarla 90 grados en el sentido de las agujas del reloj. Esta rotación no tiene pérdidas, y usa una utilidad externa llamada jpegtran, que necesita instalar primero.</p>
</section>
<section id="otras-caracteristicas-de-dired">
<h2>31.20 Otras Características de Dired<a class="headerlink" href="#otras-caracteristicas-de-dired" title="Link to this heading"></a></h2>
<p>Por defecto, Dired mostrará el espacio disponible en el disco en la primera línea. Este es el primer valor de la variable dired-free-space. Si en lugar de esto lo estableces a separado, Dired mostrará esto en una línea separada (incluyendo el espacio que ocupan los archivos en el directorio actual). Si lo establece a nil, el espacio libre no se mostrará en absoluto.</p>
<p>El comando + (dired-create-directory) lee el nombre de un directorio y lo crea. Señala un error si el directorio ya existe.</p>
<p>El comando (dired-create-empty-file) lee el nombre de un archivo y lo crea. Si el archivo ya existe, indica un error.</p>
<p>El comando M-s a C-s (dired-do-isearch) inicia una búsqueda incremental de varios archivos en los archivos marcados. Si la búsqueda falla al final de un archivo, al teclear C-s se avanza al siguiente archivo marcado y se repite la búsqueda; al final del último archivo marcado, la búsqueda vuelve al primer archivo marcado. El comando M-s a M-C-s (dired-do-isearch-regexp) hace lo mismo con una búsqueda de expresión regular. Consulte Repetición de Búsqueda Incremental, para obtener información sobre la repetición de búsqueda.</p>
<p>El comando w (dired-copy-filename-as-kill) pone los nombres de los archivos marcados (o los n siguientes) en el anillo kill, como si los hubiera matado con C-w. Los nombres están separados por un espacio.</p>
<p>Con un argumento de prefijo cero, esto usa el nombre de archivo absoluto de cada archivo marcado. Con sólo C-u como argumento prefijo, usa nombres de archivo relativos al directorio por defecto del búfer Dired. (Como caso especial, si point está en una línea de cabecera de directorio, w le da el nombre absoluto de ese directorio. Cualquier argumento de prefijo o archivos marcados son ignorados en este caso.</p>
<p>El propósito principal de este comando es que pueda utilizar los nombres de archivo como argumentos para otros comandos de Emacs. También muestra lo que ha añadido al anillo de muertes, por lo que puede usarlo para mostrar la lista de archivos marcados actualmente en el área de eco.</p>
<p>Si tiene un archivo HTML en el listado de archivos, puede ser útil para ver ese archivo con un navegador. El comando W (browse-url-of-dired-file) usará el navegador estándar configurado para ver ese archivo.</p>
<p>El comando ( (dired-hide-details-mode) cambia si los detalles, como la propiedad o los permisos del archivo, son visibles en el búfer actual de Dired. Por defecto, también oculta los destinos de los enlaces simbólicos, y todas las líneas que no sean la línea de cabecera y los listados de archivos/directorios. Para cambiar esto, personalice las opciones dired-hide-details-hide-symlink-targets y dired-hide-details-hide-information-lines, respectivamente.</p>
<p>Si el directorio que está visitando está bajo control de versiones (ver Control de Versiones), entonces los comandos normales de VC diff y log operarán sobre los archivos seleccionados.</p>
<p>El comando M-x dired-compare-directories se usa para comparar el búfer actual de Dired con otro directorio. Marca todos los archivos que difieren entre los dos directorios. Pone estas marcas en todos los búferes de Dired donde estos archivos están listados, lo que por supuesto incluye el búfer actual.</p>
<p>El método de comparación por defecto (usado si teclea RET en el prompt) es comparar sólo los nombres de archivo - los nombres de archivo difieren si no aparecen en el otro directorio. Puede especificar comparaciones más estrictas introduciendo una expresión Lisp, que puede referirse a las variables size1 y size2, los respectivos tamaños de archivo; mtime1 y mtime2, los tiempos de última modificación en segundos, como números de coma flotante; y fa1 y fa2, las respectivas listas de atributos de archivo (devueltas por la función file-attributes). Esta expresión se evalúa para cada par de archivos con nombres similares, y los archivos difieren si el valor de la expresión es distinto de cero.</p>
<p>Por ejemplo, la secuencia M-x dired-compare-directories RET (&gt; mtime1 mtime2) RET marca los archivos más nuevos en este directorio que en el otro, y marca los archivos más antiguos en el otro directorio que en éste. También marca los archivos sin contrapartida, en ambos directorios, como siempre.</p>
<p>En el sistema X Window, Emacs soporta el protocolo de arrastrar y soltar. Puede arrastrar un objeto archivo desde otro programa y soltarlo en un búfer Dired; esto mueve, copia o crea un enlace al archivo en ese directorio. El programa de origen determina exactamente qué acción se lleva a cabo. Arrastrar archivos desde un búfer Dired también está soportado, activando la opción de Usuario dired-mouse-drag-files, el ratón puede ser usado para arrastrar archivos a otros programas. Cuando se establece a link, hará que el otro programa (normalmente un gestor de archivos) cree un enlace simbólico al archivo; cuando se establece a move, hará que el otro programa mueva el archivo a una nueva ubicación, y estableciéndolo a cualquier otro valor no nulo hará que el otro programa abra o cree una copia del archivo. Los modificadores de teclado pulsados durante la operación de arrastrar y soltar también pueden controlar qué acción realiza el otro programa con el archivo.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="30_Abreviaturas.html" class="btn btn-neutral float-left" title="30 Abreviaturas" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="32_CalendAgnda.html" class="btn btn-neutral float-right" title="32 El Calendario y la Agenda" 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>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,387 @@
<!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>33 Envío de Correo &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="34 Lectura del Correo con Rmail" href="34_LectCorreoRmail.html" />
<link rel="prev" title="32 El Calendario y la Agenda" href="32_CalendAgnda.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">33 Envío de Correo</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#formato-del-bufer-de-correo">33.1 Formato del Búfer de Correo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#campos-de-cabecera-de-correo">33.2 Campos de Cabecera de Correo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#alias-de-correo">33.3 Alias de Correo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#comandos-de-correo">33.4 Comandos de Correo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#firma-de-correos">33.5 Firma de Correos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#diversiones-por-correo-electronico">33.6 Diversiones por Correo Electrónico</a></li>
<li class="toctree-l2"><a class="reference internal" href="#metodos-de-composicion-de-correo">33.7. Métodos de Composición de Correo</a></li>
</ul>
</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>
</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">33 Envío de Correo</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/33_EnvioDeCorreo.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="envio-de-correo">
<h1>33 Envío de Correo<a class="headerlink" href="#envio-de-correo" title="Link to this heading"></a></h1>
<p>Para enviar un mensaje de correo electrónico desde Emacs, escriba C-x m. Esto cambia a un búfer llamado <em>unsent mail</em> (correo no enviado), donde puede editar el texto y las cabeceras del mensaje. Cuando haya terminado, teclee C-c C-s o C-c C-c para enviarlo.</p>
<dl class="simple">
<dt>C-x m</dt><dd><p>Comienza a redactar el correo (compose-mail).</p>
</dd>
<dt>C-x 4 m</dt><dd><p>De la misma manera, en otra ventana (compose-mail-other-window).</p>
</dd>
<dt>C-x 5 m</dt><dd><p>De la misma manera, pero en un nuevo marco (compose-mail-other-frame).</p>
</dd>
<dt>C-c C-s</dt><dd><p>En el búfer de correo, envía el mensaje (message-send).</p>
</dd>
<dt>C-c C-c</dt><dd><p>En el búfer de correo, envía el mensaje y entierra el búfer (message-send-and-exit).</p>
</dd>
</dl>
<p>El búfer de correo es un búfer estándar de Emacs, por lo que puede cambiar a otros búferes mientras redacta el correo. Si quiere enviar otro mensaje antes de terminar el actual, teclee C-x m de nuevo para abrir un nuevo búfer de correo cuyo nombre tenga un sufijo numérico diferente (vea Operaciones Varias con el Búfer). (Esto sólo funciona si utiliza el modo predeterminado Mensaje (Message mode) para redactar el correo electrónico; consulte Comandos de Correo (Mail Commands)). Si sabe que le gustaría continuar redactando el mensaje no enviado que estaba editando, invoque este comando con un argumento prefijo, C-u C-x m, y Emacs cambiará al último búfer de correo que utilizó y le permitirá continuar editando el mensaje donde lo dejó.</p>
<p>El comando C-x 4 m (compose-mail-other-window) hace lo mismo que C-x m, excepto que muestra el búfer de correo en una ventana diferente. El comando C-x 5 m (compose-mail-other-frame) lo hace en un nuevo marco.</p>
<p>Cuando teclea C-c C-c o C-c C-s para enviar el correo, Emacs puede preguntarle cómo debería entregar el correo-ya sea directamente vía SMTP, o usando algún otro método. Vea Envío de Correo, para más detalles.</p>
<section id="formato-del-bufer-de-correo">
<h2>33.1 Formato del Búfer de Correo<a class="headerlink" href="#formato-del-bufer-de-correo" title="Link to this heading"></a></h2>
<p>A continuación se muestra un ejemplo del contenido de un búfer de correo:</p>
<blockquote>
<div><p>To: <a class="reference external" href="mailto:subotai&#37;&#52;&#48;ejemplo&#46;org">subotai<span>&#64;</span>ejemplo<span>&#46;</span>org</a>
CC: <a class="reference external" href="mailto:mongol&#46;soldier&#37;&#52;&#48;ejemplo&#46;net">mongol<span>&#46;</span>soldier<span>&#64;</span>ejemplo<span>&#46;</span>net</a>, <a class="reference external" href="mailto:rms&#37;&#52;&#48;gnu&#46;org">rms<span>&#64;</span>gnu<span>&#46;</span>org</a>
Subject: Re: ¿Qué es mejor en la vida?
From: <a class="reference external" href="mailto:tano&#37;&#52;&#48;ejemplo&#46;org">tano<span>&#64;</span>ejemplo<span>&#46;</span>org</a>
text follows this line
Ser o no ser, he aquí la cuestión</p>
</div></blockquote>
<p>En la parte superior del búfer de correo hay un conjunto de campos de cabecera, que se utilizan para especificar información sobre el destinatario o destinatarios del correo electrónico, el asunto, etc. El búfer anterior contiene campos de cabecera para «To» (Para), « CC «, «Subject» (Asunto) y «From» (De). Algunos campos de cabecera se preinicializan automáticamente en el búfer de correo, cuando es apropiado.</p>
<p>La línea que dice “text follows this line” (texto a continuación de esta línea) separa los campos de cabecera del cuerpo (o texto) del mensaje. Todo lo que está por encima de esa línea se trata como parte de las cabeceras; todo lo que está por debajo se trata como el cuerpo. La línea delimitadora no aparece en el mensaje enviado.</p>
<p>Puede insertar y editar los campos de cabecera utilizando los comandos de edición habituales. Véase Edición de Cabeceras de Correo, para comandos específicos de edición de campos de cabecera. Ciertas cabeceras, como “Date” (Fecha) y “Message-Id” (identificador del Mensaje), normalmente se omiten en el búfer de correo y se crean automáticamente cuando se envía el mensaje.</p>
</section>
<section id="campos-de-cabecera-de-correo">
<h2>33.2 Campos de Cabecera de Correo<a class="headerlink" href="#campos-de-cabecera-de-correo" title="Link to this heading"></a></h2>
<p>Un campo de cabecera en el búfer de correo comienza con un nombre de campo al principio de una línea, terminado por dos puntos. Las mayúsculas y minúsculas son equivalentes en los nombres de campo. Tras los dos puntos y los espacios en blanco opcionales viene el contenido del campo.</p>
<p>Puede utilizar cualquier nombre que desee para un campo de cabecera, pero normalmente las Personas utilizan sólo nombres de campo estándar con significados reconocidos.</p>
<p>El campo de cabecera «From» (De) identifica a la persona que envía el correo electrónico (es decir, Usted). Debe ser una dirección de correo válida, ya que normalmente las respuestas se envían allí. El contenido por defecto de este campo de cabecera se calcula a partir de las variables user-full-name (que especifica su nombre completo) y user-mail-address (su dirección de correo electrónico). En algunos sistemas operativos, Emacs inicializa estas dos variables usando variables de entorno (ver Variables Generales). Si esta información no está disponible o es incorrecta, debería personalizar las variables Usted mismo (ver Interfaz de Personalización Fácil).</p>
<p>Aparte de “From” (De), aquí se muestra una tabla de campos de uso común:</p>
<dl class="simple">
<dt>To</dt><dd><p>La(s) dirección(es) de correo a la(s) que va dirigido el mensaje. Para indicar más de una dirección, utilice comas para separarlas.</p>
</dd>
<dt>Subject</dt><dd><p>El asunto del mensaje.</p>
</dd>
<dt>CC</dt><dd><p>Direcciones de correo adicionales a las que enviar el mensaje. Es como “To” (Para), salvo que estos lectores no deben considerar que el mensaje va dirigido a ellos.</p>
</dd>
<dt>BCC</dt><dd><p>Dirección o direcciones de correo adicionales a las que enviar el mensaje, que no deben aparecer en la cabecera del mensaje realmente enviado. BCC significa copia oculta.</p>
</dd>
<dt>FCC</dt><dd><p>El nombre de un fichero, al que se adjuntará una copia del mensaje enviado. Emacs escribe el mensaje en formato mbox, a menos que el fichero esté en formato Babyl (usado por Rmail
antes de Emacs 23), en cuyo caso el Editor escribe en formato Babyl. Si un buffer de Rmail está visitando el fichero, Emacs lo actualiza en consecuencia. Para especificar más de un
fichero, use varios campos “FCC”, con un nombre de fichero en cada campo.</p>
</dd>
<dt>Reply-To</dt><dd><p>Dirección a la que deben enviarse las respuestas, en lugar de «From» (De). Se utiliza si, por algún motivo, la dirección «From» no puede recibir respuestas.</p>
</dd>
<dt>Mail-Reply-To</dt><dd><p>Este campo tiene prioridad sobre «Reply-To» (Responder a). Se utiliza porque algunas listas de correo utilizan el campo «Reply-To» para sus propios fines (una práctica un tanto
controvertida).</p>
</dd>
<dt>Mail-Followup-To</dt><dd><p>Una o varias direcciones que se utilizarán como destinatarios predeterminados para los mensajes de seguimiento. Esto se utiliza normalmente cuando responde a un mensaje de una lista
de correo a la que está suscrito y desea que las respuestas se envíen a la lista sin enviarle una copia adicional.</p>
</dd>
<dt>In-Reply-To</dt><dd><p>Identificador del mensaje al que está respondiendo. La mayoría de los lectores de correo utilizan esta información para agrupar mensajes relacionados. Normalmente, esta cabecera se
rellena automáticamente cuando se responde a un mensaje en cualquier programa de correo integrado en Emacs.</p>
</dd>
<dt>References</dt><dd><p>Identificadores para los mensajes anteriores relacionados. Al igual que «In Reply To» (En respuesta a), normalmente se rellena automáticamente.</p>
</dd>
</dl>
<p>Los campos «To», «CC» y «BCC» pueden aparecer cualquier número de veces, y cada uno de estos campos de cabecera puede contener varias direcciones, separadas por comas. De este modo, puede especificar cualquier número de lugares a los que enviar el mensaje. Estos campos también pueden tener líneas de continuación: una o más líneas que empiecen con espacios en blanco, a continuación de la línea de inicio del campo, se consideran parte del campo. Este es un ejemplo de un campo «To» con una línea de continuación:</p>
<blockquote>
<div><dl class="simple">
<dt>To: <a class="reference external" href="mailto:foo&#37;&#52;&#48;ejemplo&#46;net">foo<span>&#64;</span>ejemplo<span>&#46;</span>net</a>, <a class="reference external" href="mailto:este&#37;&#52;&#48;ejemplo&#46;net">este<span>&#64;</span>ejemplo<span>&#46;</span>net</a>,</dt><dd><p>néstor&#64;ejemplo.com</p>
</dd>
</dl>
</div></blockquote>
<p>Puede indicar a Emacs que inserte ciertas cabeceras por defecto en el búfer de correo estableciendo la variable mail-default-headers en una cadena. Entonces C-x m inserta esta cadena en las cabeceras del mensaje. Por ejemplo, así es como se añade una cabecera “Reply-To” y “FCC” a cada mensaje:</p>
<blockquote>
<div><dl class="simple">
<dt>(setq mail-default-headers</dt><dd><p>«Reply-To: <a class="reference external" href="mailto:foo&#37;&#52;&#48;ejemplo&#46;comnFCC">foo<span>&#64;</span>ejemplo<span>&#46;</span>comnFCC</a>: ~/Correo/enviado»)</p>
</dd>
</dl>
</div></blockquote>
<p>Si los campos de cabecera por defecto no son apropiados para un mensaje en particular, edítelos según sea necesario antes de enviar el mensaje.</p>
</section>
<section id="alias-de-correo">
<h2>33.3 Alias de Correo<a class="headerlink" href="#alias-de-correo" title="Link to this heading"></a></h2>
<p>Puede definir alias de correo, que son nombres mnemotécnicos cortos que representan una o más direcciones de correo. Por defecto, los alias de correo se definen en el fichero ~/.mailrc. Puede especificar un nombre de archivo diferente, estableciendo la variable mail-personal-alias-file.</p>
<p>Para definir un alias en ~/.mailrc, escriba una línea como esta:</p>
<blockquote>
<div><p>alias nick direccionescompletas</p>
</div></blockquote>
<p>Esto significa que nick debe expandirse en direccionescompletas, donde éstas pueden ser una sola dirección o varias separadas por espacios. Por ejemplo, para hacer que maingnu signifique <a class="reference external" href="mailto:gnu&#37;&#52;&#48;gnu&#46;org">gnu<span>&#64;</span>gnu<span>&#46;</span>org</a> más una dirección local propia, ponga esta línea:</p>
<blockquote>
<div><p>alias gnuprincipal <a class="reference external" href="mailto:gnu&#37;&#52;&#48;gnu&#46;org">gnu<span>&#64;</span>gnu<span>&#46;</span>org</a> local-gnu</p>
</div></blockquote>
<p>Si una dirección contiene un espacio, cite toda la dirección con un par de comillas dobles, de la siguiente manera:</p>
<blockquote>
<div><p>alias dmaradona «Diego Armando Maradona &lt;<a class="reference external" href="mailto:ninguno&#37;&#52;&#48;ejemplo&#46;com">ninguno<span>&#64;</span>ejemplo<span>&#46;</span>com</a>&gt;»</p>
</div></blockquote>
<p>Tenga en cuenta que no necesita incluir comillas dobles alrededor de partes individuales de la dirección, como el nombre completo de la Persona. Emacs las pone si son necesarias. Por ejemplo, inserta la dirección anterior como “«Diego Armando Maradona» &lt;<a class="reference external" href="mailto:ninguno&#37;&#52;&#48;ejemplo&#46;com">ninguno<span>&#64;</span>ejemplo<span>&#46;</span>com</a>&gt;”.</p>
<p>Emacs también reconoce los comandos include en ~/.mailrc. Tienen este aspecto:</p>
<blockquote>
<div><p>source nombrearchivo</p>
</div></blockquote>
<p>El fichero ~/.mailrc no es exclusivo de Emacs; muchos otros programas de lectura de correo lo usan para los alias de correo, y puede contener otros comandos. Sin embargo, Emacs ignora todo excepto las definiciones de alias y los comandos de inclusión.</p>
<p>Los alias de correo se expanden como abreviaturas, es decir, tan pronto como se teclea un carácter separador de palabras después de un alias (ver Abreviaturas). Esta expansión sólo tiene lugar dentro de los campos de encabezado «To», «From», «CC», «BCC» y «Reply-To» (más sus variantes «Resent» (Reenviar)); no tiene lugar en otros campos de encabezado, como «Subject» (Asunto).</p>
<p>También puede insertar una dirección con alias directamente, utilizando el comando M-x mail-abbrev-insert-alias. Esto lee un nombre de alias, con terminación, e inserta su definición en el punto.</p>
</section>
<section id="comandos-de-correo">
<h2>33.4 Comandos de Correo<a class="headerlink" href="#comandos-de-correo" title="Link to this heading"></a></h2>
<p>El modo principal por defecto para el buffer <em>mail</em> se llama modo Mensaje (Message mode). Se comporta como el modo Texto (Text mode) en muchos aspectos, pero proporciona varios comandos adicionales en el prefijo C-c, que hacen más cómoda la edición de un mensaje.</p>
<p>En esta sección, describiremos algunos de los comandos más utilizados disponibles en el modo Mensaje. Este modo también tiene su propio manual, donde se describen sus características con mayor detalle. Véase Mensaje en Mensaje.</p>
<p>33.4.1 Envío de Correo</p>
<dl class="simple">
<dt>C-c C-c</dt><dd><p>Envía el mensaje y entierra el búfer de correo (message-send-and-exit).</p>
</dd>
<dt>C-c C-s</dt><dd><p>Envía el mensaje y deja seleccionado el búfer de correo (message-send).</p>
</dd>
</dl>
<p>El comando habitual para enviar un mensaje es C-c C-c (message-send-and-exit). Esto envía el mensaje y luego entierra el búfer de correo, poniéndolo en la prioridad más baja para la reselección. Si quiere que elimine el búfer de correo, cambie la variable message-kill-buffer-on-exit a t.</p>
<p>El comando C-c C-s (message-send) envía el mensaje y deja el buffer seleccionado. Utilice este comando si desea modificar el mensaje (quizás con nuevos destinatarios) y enviarlo de nuevo.</p>
<p>Al enviar un mensaje se ejecuta el gancho message-send-hook. También marca el búfer de correo como no modificado, excepto si el búfer de correo es también un búfer que visita archivos (en ese caso, sólo guardar el archivo hace eso, y no recibes una advertencia si intenta enviar el mismo mensaje dos veces).</p>
<p>La variable message-send-mail-function controla cómo se entrega el mensaje (send-mail-function se utiliza para el modo Mail). El valor de send-mail-function debe ser una de las siguientes funciones:</p>
<dl class="simple">
<dt>sendmail-query-once</dt><dd><p>Busca un método de entrega (una de las otras entradas de esta lista), y usa ese método para este mensaje; luego guarda el método en send-mail-function, para que se use en futuras
entregas. Este es el método por defecto, a menos que ya haya configurado las variables para el envío de correo a través de smtpmail-send-it (ver más abajo).</p>
</dd>
<dt>smtpmail-send-it</dt><dd><p>Envía correo a través de un host de correo externo, como el servidor de correo SMTP saliente de su proveedor de servicios de Internet. Si no le ha indicado a Emacs cómo contactar con
el servidor SMTP, le pedirá esta información, que se guarda en la variable smtpmail-smtp-server y en el fichero ~/.authinfo. Ver Emacs SMTP Library en Envío de correo vía SMTP.</p>
</dd>
<dt>sendmail-send-it</dt><dd><p>Envía correo utilizando el programa sendmail por defecto del sistema, o equivalente. Esto requiere que el sistema esté configurado para entregar correo directamente a través de SMTP.</p>
</dd>
<dt>mailclient-send-it</dt><dd><p>Pasa el búfer de correo al cliente de correo designado del sistema. Consulte la sección de comentarios en el archivo mailclient.el para más detalles.</p>
</dd>
<dt>feedmail-send-it</dt><dd><p>Es similar a sendmail-send-it, pero permite poner mensajes en cola para enviarlos más tarde. Consulte la sección de comentarios en el archivo feedmail.el para más detalles.</p>
</dd>
</dl>
<p>Cuando se envía un mensaje que contiene caracteres no ASCII, es necesario codificarlos con un sistema de codificación (véase Sistemas de Codificación). Normalmente, el sistema de codificación lo especifica automáticamente el entorno de lenguaje elegido (véase Entornos de Lenguaje). Puede especificar explícitamente el sistema de codificación para el correo saliente configurando la variable sendmail-coding-system (consulte Reconocimiento de Sistemas de Codificación). Si este sistema de codificación así determinado no maneja los caracteres de un mensaje en particular, Emacs le pide que seleccione el sistema de codificación a utilizar, mostrando una lista de posibles sistemas de codificación. Véase Elegir Sistemas de Codificación para la Salida.</p>
<p>33.4.2 Edición de Cabeceras de Correo</p>
<p>El modo Mensaje proporciona los siguientes comandos especiales para desplazarse a determinados campos de cabecera y para completar direcciones en las cabeceras.</p>
<dl class="simple">
<dt>C-c C-f C-t</dt><dd><p>Pasa a la cabecera «To» (Para) (message-goto-to).</p>
</dd>
<dt>C-c C-f-C-s</dt><dd><p>Va a la cabecera «Subject» (Asunto) (message-goto-subject).</p>
</dd>
<dt>C-c C-f C-c</dt><dd><p>Pasa a la cabecera “CC” (message-goto-cc).</p>
</dd>
<dt>C-c C-f C-b</dt><dd><p>Va a la cabecera “CCO” (message-goto-bcc).</p>
</dd>
<dt>C-c C-f C-r</dt><dd><p>Pasa a la cabecera “Reply-to” (Responder-a) (message-goto-reply-to).</p>
</dd>
<dt>C-c C-f C-f</dt><dd><p>Se mueve al campo de cabecera “Mail-Followup-To” (message-goto-followup-to).</p>
</dd>
<dt>C-c C-f C-w</dt><dd><p>Añade un nuevo campo de cabecera «FCC», con terminación de nombre de archivo (message-goto-fcc).</p>
</dd>
<dt>C-c C-b</dt><dd><p>Va al principio del cuerpo del mensaje (message-goto-body).</p>
</dd>
<dt>TAB</dt><dd><p>Completa una dirección de correo (message-tab).</p>
</dd>
</dl>
<p>Los comandos para mover el punto a campos de cabecera concretos se basan todos en el prefijo C-c C-f (“C-f” es por «campo»). Si el campo en cuestión no existe, el comando crea uno (la excepción es mail-fcc, que crea un campo nuevo cada vez).</p>
<p>El comando C-c C-b (message-goto-body) desplaza el punto justo después de la línea separadora de la cabecera, es decir, al principio del cuerpo.</p>
<p>Al editar un campo de cabecera que contenga direcciones, como «Para:», «CC:» y «CCO:», puede completar una dirección escribiendo TAB (message-tab). Esto intenta insertar el nombre completo correspondiente a la dirección basándose en un par de métodos, incluyendo EUDC, una librería que reconoce un número de protocolos de servidores de directorio (ver EUDC en El Cliente de Directorio Unificado Emacs). En su defecto, intenta expandir la dirección como un alias de correo (ver Alias de Correo). Si el punto está en un campo de cabecera que no acepta direcciones, o si está en el cuerpo del mensaje, entonces TAB simplemente inserta un carácter de tabulación.</p>
<p>33.4.3 Cómo se Cita el Correo</p>
<dl class="simple">
<dt>C-c C-y</dt><dd><p>Extrae el mensaje seleccionado del lector de correo, como cita (mensaje-yank-original).</p>
</dd>
<dt>C-c C-q</dt><dd><p>Rellena cada párrafo citado de otro mensaje (message-fill-yanked-message).</p>
</dd>
</dl>
<p>Puedes emplear el comando C-c C-y (mensaje-yank-original) para citar un mensaje al que está respondiendo. Esto inserta el texto de ese mensaje en el búfer de correo. Este comando sólo funciona si el búfer de correo se invoca desde un lector de correo que se ejecuta en Emacs, como Rmail.</p>
<p>Por defecto, Emacs inserta la cadena “&gt;” delante de cada línea del texto citado; esta cadena prefijo se especifica mediante la variable message-yank-prefix. Si llama a message-yank-original con un argumento prefijo, el prefijo de la cita no se inserta.</p>
<p>Después de usar C-c C-y, puede escribir C-c C-q (message-fill-yanked-message) para rellenar los párrafos del mensaje citado. Un uso de C-c C-q rellena todos esos párrafos, cada uno individualmente. Para rellenar un solo párrafo del mensaje citado, utilice M-q. Si el relleno no gestiona automáticamente el tipo de prefijo de cita que utiliza, intente establecer el prefijo de relleno explícitamente. Consulte Rellenar Texto.</p>
<p>Puede personalizar la citación por correo a través del gancho mail-citation-hook. Por ejemplo, puede utilizar el paquete Supercite, que proporciona una citación más flexible (consulte Introducción en Supercite).</p>
<p>33.4.4 Otros Aspectos del Correo</p>
<p>Puede adjuntar un archivo a un mensaje saliente escribiendo C-c C-a (mml-attach-file) en el búfer de correo. Para adjuntar un archivo se utiliza el estándar MIME (Multipurpose Internet Mail Extensions, Extensiones de Correo de Internet Multipropósito).</p>
<p>El comando mml-attach-file solicita el nombre del archivo y el tipo de contenido, la descripción y la disposición del archivo adjunto. Normalmente, el tipo de contenido se detecta automáticamente; basta con escribir RET para aceptar el valor predeterminado. La descripción es una sola línea de texto que el destinatario verá junto al archivo adjunto; también puede optar por dejarla vacía. La disposición es «inline» (en línea), lo que significa que el destinatario verá un enlace al archivo adjunto dentro del cuerpo del mensaje, o «attachment» (adjunto), lo que significa que el enlace estará separado del cuerpo del mensaje.</p>
<p>El comando mml-attach-file es específico del modo Mensaje; (Message mode) en modo Correo (Mail mode) utilice mail-add-attachment en su lugar. Sólo le pedirá el nombre del archivo, y determinará el tipo de contenido y la disposición automáticamente. Si desea incluir alguna descripción del archivo adjunto, escríbala en el cuerpo del mensaje.</p>
<p>El contenido real del archivo adjunto no se inserta en el búfer de correo. En su lugar, se inserta un texto en el búfer de correo, como el siguiente:</p>
<blockquote>
<div><p>&lt;#part type=»text/plain» filename=»~/foo.txt» disposition=inline&gt;
&lt;#/part&gt;</p>
</div></blockquote>
<p>Cuando escriba C-c C-c o C-c C-s para enviar el mensaje, el archivo adjunto se entregará con él.</p>
<p>Mientras escribe un mensaje, puede corregir la ortografía del texto escribiendo M-x ispell-message. Si ha introducido un mensaje entrante en el borrador saliente, este comando omite lo que se ha introducido, pero comprueba el texto que usted mismo ha insertado (busca sangrías o prefijos de mail-yank para distinguir las líneas citadas de las introducidas por usted). Vea Comprobación y Corrección Ortográfica.</p>
<p>Activar el modo Mensaje (que C-x m hace automáticamente) ejecuta los ganchos normales text-mode-hook y message-mode-hook. Al inicializar un nuevo mensaje saliente se ejecuta el gancho normal message-setup-hook; puede utilizar este gancho si desea realizar cambios en la apariencia del búfer de correo. Ver Ganchos.</p>
<p>La principal diferencia entre estos ganchos es cuándo se invocan. Siempre que escriba C-x m, message-mode-hook se ejecuta en cuanto se crea el búfer de correo. Entonces la función message-setup inserta los contenidos por defecto del buffer. Una vez insertados estos contenidos por defecto, se ejecuta message-setup-hook.</p>
<p>Si utiliza C-x m para continuar una composición existente, message-mode-hook se ejecuta inmediatamente después de cambiar al búfer de correo. Si el búfer no se ha modificado, o si decide borrarlo y empezar de nuevo, message-setup-hook se ejecuta después de insertar los contenidos por defecto.</p>
</section>
<section id="firma-de-correos">
<h2>33.5 Firma de Correos<a class="headerlink" href="#firma-de-correos" title="Link to this heading"></a></h2>
<p>Puede añadir un texto estándar -su firma de correo- al final de cada mensaje. Esta firma puede contener información como su número de teléfono o su localización física. La variable message-signature determina cómo Emacs maneja la firma de correo.</p>
<p>El valor por defecto de message-signature es t; esto significa buscar su firma de correo en el fichero ~/.signature. Si este fichero existe, su contenido se inserta automáticamente al final del buffer de correo. Puede cambiar el archivo de firma a través de la variable message-signature-file.</p>
<p>Si cambia message-signature por una cadena, ésta especifica directamente el texto de la firma.</p>
<p>Si cambia message-signature a nil, Emacs no insertará su firma de correo automáticamente. Puede insertar su firma de correo escribiendo C-c C-w (message-insert-signature) en el buffer de correo. Emacs buscará su firma en el fichero de firmas.</p>
<p>Si usa el modo Correo en lugar del modo Mensaje para componer su correo, las variables correspondientes que determinan cómo se envía su firma son mail-signature y mail-signature-file en su lugar.</p>
<p>Por convención, una firma de correo debe estar marcada por una línea cuyo contenido sea “– “. Si su firma carece de este prefijo, se le añade por Usted. El resto de la firma no debe tener más de cuatro líneas.</p>
</section>
<section id="diversiones-por-correo-electronico">
<h2>33.6 Diversiones por Correo Electrónico<a class="headerlink" href="#diversiones-por-correo-electronico" title="Link to this heading"></a></h2>
<p>M-x spook añade una línea de palabras clave elegidas al azar a un mensaje de correo saliente. Las palabras clave se eligen de una lista de palabras que sugieren que se está hablando de algo subversivo.</p>
<p>La idea que subyace a esta función es la sospecha de que la NSA19 y otras agencias de inteligencia husmean en todos los mensajes de correo electrónico que contienen palabras clave que sugieren que podrían resultarles interesantes. (Las agencias dicen que no, pero eso es lo que dirían.) La idea es que si mucha gente añade palabras sospechosas a sus mensajes, las agencias estarán tan ocupadas con entradas espurias que tendrán que renunciar a leerlo todo. Sea o no cierto, al menos divierte a algunos.</p>
<p>Puede utilizar el programa de la fortuna para poner un mensaje de galleta de la fortuna en el correo saliente. Para ello, añada fortune-to-signature a mail-setup-hook:</p>
<blockquote>
<div><p>(add-hook “mail-setup-hook “fortune-to-signature)</p>
</div></blockquote>
<p>Es probable que tenga que configurar la variable fortune-file antes de usarlo.</p>
<ol class="arabic simple" start="19">
<li><p>La Agencia de Seguridad Nacional de estados unidos.</p></li>
</ol>
</section>
<section id="metodos-de-composicion-de-correo">
<h2>33.7. Métodos de Composición de Correo<a class="headerlink" href="#metodos-de-composicion-de-correo" title="Link to this heading"></a></h2>
<p>En este capítulo hemos descrito el modo habitual de Emacs para editar y enviar correo-Modo mensaje (Message mode). Éste es sólo uno de los varios modos disponibles. Antes de Emacs 23.2, el modo por defecto era el modo Mail, que es similar al modo Message en muchos aspectos pero carece de características como el soporte MIME. Otro modo disponible es MH-E (ver MH-E en The Emacs Interface to MH).</p>
<p>Puede elegir cualquiera de estos agentes de Usuario de correo como su método preferido para editar y enviar correo. Los comandos C-x m, C-x 4 m y C-x 5 m usan el agente que hayas especificado; también lo hacen otras partes de Emacs que envían correo, como el informador de fallos (ver Informar de Fallos). Para especificar un agente de Usuario de correo, personalice la variable mail-user-agent. Actualmente, los valores válidos incluyen message-user-agent (modo Mensaje (Message mode)) sendmail-user-agent (modo Correo (Mail mode)), gnus-user-agent, y mh-e-user-agent. Puede haber opciones adicionales disponibles; consulte el manual de su paquete de agente de Usuario de Correo para más detalles. También puede definir otro agente de usuario de correo utilizando define-mail-user-agent.</p>
<p>Si selecciona un método de composición de correo diferente, la información de este capítulo sobre el búfer de correo y el modo Mensaje no se aplica; los otros métodos utilizan un formato de texto diferente en un búfer diferente, y sus comandos también son diferentes.</p>
<p>De forma similar, para especificar su método preferido para leer el correo, personalice la variable read-mail-command. El valor predeterminado es rmail (consulte Lectura de Correo con Rmail).</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="32_CalendAgnda.html" class="btn btn-neutral float-left" title="32 El Calendario y la Agenda" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="34_LectCorreoRmail.html" class="btn btn-neutral float-right" title="34 Lectura del Correo con Rmail" 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>

View File

@ -0,0 +1,700 @@
<!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>34 Lectura del Correo con Rmail &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="35 Correo Electrónico y Noticias de Usenet con Gnus" href="35_EmailNotcUsnt.html" />
<link rel="prev" title="33 Envío de Correo" href="33_EnvioDeCorreo.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">34 Lectura del Correo con Rmail</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#conceptos-basicos-de-rmail">34.1 Conceptos Básicos de Rmail</a></li>
<li class="toctree-l2"><a class="reference internal" href="#desplazamiento-dentro-de-un-mensaje">34.2 Desplazamiento Dentro de un Mensaje</a></li>
<li class="toctree-l2"><a class="reference internal" href="#moverse-entre-mensajes">34.3 Moverse entre Mensajes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#borrar-mensajes">34.4 Borrar Mensajes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#archivos-de-rmail-y-bandejas-de-entrada">34.5 Archivos de Rmail y Bandejas de Entrada</a></li>
<li class="toctree-l2"><a class="reference internal" href="#multiples-archivos-de-rmail">34.6 Múltiples Archivos de Rmail</a></li>
<li class="toctree-l2"><a class="reference internal" href="#copiar-mensajes-en-archivos">34.7 Copiar Mensajes en Archivos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#etiquetas">34.8 Etiquetas</a></li>
<li class="toctree-l2"><a class="reference internal" href="#atributos-de-rmail">34.9 Atributos de Rmail</a></li>
<li class="toctree-l2"><a class="reference internal" href="#envio-de-respuestas">34.10. Envío de Respuestas</a></li>
<li class="toctree-l2"><a class="reference internal" href="#resumenes">34.11 Resúmenes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#hacer-resumenes">34.11.1 Hacer Resúmenes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#editar-en-resumenes">34.11.2 Editar en Resúmenes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#ordenar-el-archivo-rmail">34.12 Ordenar el Archivo Rmail</a></li>
<li class="toctree-l2"><a class="reference internal" href="#visualizacion-de-mensajes">34.13 Visualización de Mensajes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#rmail-y-los-sistemas-de-codificacion">34.14. Rmail y los Sistemas de Codificación</a></li>
<li class="toctree-l2"><a class="reference internal" href="#edicion-dentro-de-un-mensaje">34.15 Edición Dentro de un Mensaje</a></li>
<li class="toctree-l2"><a class="reference internal" href="#mensajes-de-sintesis">34.16 Mensajes de Síntesis</a></li>
<li class="toctree-l2"><a class="reference internal" href="#lectura-de-mensajes-rot13">34.17 Lectura de mensajes Rot13</a></li>
<li class="toctree-l2"><a class="reference internal" href="#programa-movemail">34.18 Programa movemail</a></li>
<li class="toctree-l2"><a class="reference internal" href="#recuperar-correo-de-buzones-remotos">34.19. Recuperar Correo de Buzones Remotos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#recuperacion-de-correo-de-buzones-locales-en-varios-formatos">34.20. Recuperación de Correo de Buzones Locales en Varios Formatos</a></li>
</ul>
</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>
</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">34 Lectura del Correo con Rmail</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/34_LectCorreoRmail.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="lectura-del-correo-con-rmail">
<h1>34 Lectura del Correo con Rmail<a class="headerlink" href="#lectura-del-correo-con-rmail" title="Link to this heading"></a></h1>
<p>Rmail es un subsistema de Emacs para leer y disponer del correo que recibe. Rmail almacena los mensajes de correo en ficheros llamados ficheros Rmail. La lectura de los mensajes en un fichero Rmail se hace en un modo principal especial, el modo Rmail, que redefine la mayoría de las letras para ejecutar comandos para gestionar el correo.</p>
<p>Emacs también viene con un subsistema mucho más sofisticado y flexible para leer el correo, llamado Gnus. Gnus es un paquete muy grande, por lo que se describe en su propio manual, véase El Lector de Noticias Gnus.</p>
<section id="conceptos-basicos-de-rmail">
<h2>34.1 Conceptos Básicos de Rmail<a class="headerlink" href="#conceptos-basicos-de-rmail" title="Link to this heading"></a></h2>
<p>Usando Rmail de la manera más simple, tiene un archivo Rmail ~/RMAIL en el que se guarda todo su correo. Se llama su archivo primario de Rmail. El comando M-x rmail lee su archivo primario de Rmail, combina el correo nuevo de sus bandejas de entrada, muestra el primer mensaje que aún no ha leído y le permite comenzar a leer. La variable rmail-nombre-archivo especifica el nombre del archivo primario de Rmail.</p>
<p>Rmail sólo muestra un mensaje a la vez en el archivo de Rmail. El mensaje que se muestra se denomina mensaje actual. Los comandos especiales del modo Rmail pueden hacer cosas como borrar el mensaje actual, copiarlo en otro archivo, enviar una respuesta o pasar a otro mensaje. También puede crear múltiples archivos de Rmail (vea Manejo de Archivos) y usar Rmail para mover mensajes entre ellos (vea Copiando Mensajes a Archivos).</p>
<p>Dentro del archivo de Rmail, los mensajes se ordenan normalmente de forma secuencial por orden de recepción; puede especificar otras formas de ordenarlos (consulte Ordenación del Archivo de Rmail). Los mensajes se identifican mediante números enteros consecutivos que son sus números de mensaje. El número del mensaje actual se muestra en la línea de modo de Rmail, seguido del número total de mensajes del archivo. Puede desplazarse a un mensaje especificando su número de mensaje con la tecla j (véase Desplazarse Entre Mensajes).</p>
<p>Siguiendo las convenciones habituales de Emacs, los cambios en un fichero Rmail se hacen permanentes sólo cuando se guarda el fichero. Puede guardarlo con s (rmail-expunge-and-save), que también elimina primero los mensajes borrados del fichero (vea Eliminación de Mensajes). Para guardar el archivo sin borrar, utilice C-x C-s. Rmail guarda automáticamente el archivo de Rmail después de combinar el correo nuevo de un archivo de bandeja de entrada (consulte Archivos de Rmail y Bandejas de Entrada).</p>
<p>Puede salir de Rmail con q (rmail-quit); esto expurga (elimina) y guarda el archivo de Rmail, luego entierra el búfer de Rmail así como su búfer de resumen, si está presente (ver Resúmenes). Pero no es necesario salir formalmente. Si cambia de Rmail a editar en otros buffers, y nunca vuelve a cambiar, ha salido. Sólo asegúrese de guardar el archivo Rmail eventualmente (como cualquier otro archivo que haya cambiado). C-x s es una forma adecuada de hacerlo (ver Comandos para Guardar Archivos). El comando b de Rmail, rmail-bury, entierra el buffer de Rmail y su resumen sin borrar y guardar el archivo de Rmail.</p>
</section>
<section id="desplazamiento-dentro-de-un-mensaje">
<h2>34.2 Desplazamiento Dentro de un Mensaje<a class="headerlink" href="#desplazamiento-dentro-de-un-mensaje" title="Link to this heading"></a></h2>
<p>Cuando Rmail muestra un mensaje que no cabe en la pantalla, debe desplazarse por él para leer el resto. Puede hacerlo con los comandos de desplazamiento habituales: C-v, M-v y M-&lt; (ver Desplazamiento), pero en Rmail el desplazamiento es tan frecuente que merece ser más sencillo.</p>
<dl class="simple">
<dt>SPC</dt><dd><p>Se desplaza hacia delante (scroll-up-command).</p>
</dd>
</dl>
<p>DEL
S-SPC</p>
<blockquote>
<div><p>Se desplaza hacia atrás (scroll-down-command).</p>
</div></blockquote>
<dl class="simple">
<dt>.</dt><dd><p>Salta al comienzo del mensaje (rmail-beginning-of-message).</p>
</dd>
</dl>
<dl class="simple">
<dt>/</dt><dd><p>Avanza hasta el final del mensaje (rmail-end-of-message).</p>
</dd>
</dl>
<p>Dado que lo más habitual mientras se lee un mensaje es desplazarse por él a través de las páginas, Rmail hace que SPC y DEL (o S-SPC) hagan lo mismo que C-v (scroll-up-command, comando de desplazamiento hacia arriba) y M-v (scroll-down-command, comando de desplazamiento hacia abajo) respectivamente.</p>
<p>El comando . (rmail-beginning-of-message) retrocede hasta el principio del mensaje seleccionado. Esto no es exactamente lo mismo que M-&lt;: por un lado, no fija la marca; por otro, restablece los límites del búfer del mensaje actual si los ha cambiado (por ejemplo, editando, vea Editar Contenido de un Mensaje). Del mismo modo, el comando / (rmail-end-of-message) se desplaza hacia adelante hasta el final del mensaje seleccionado.</p>
</section>
<section id="moverse-entre-mensajes">
<h2>34.3 Moverse entre Mensajes<a class="headerlink" href="#moverse-entre-mensajes" title="Link to this heading"></a></h2>
<p>Lo más básico que se puede hacer con un mensaje es leerlo. La forma de hacerlo en Rmail es hacer que el mensaje sea actual. La práctica habitual es moverse secuencialmente por el fichero, ya que éste es el orden de recepción de los mensajes. Cuando entra en Rmail, se sitúa en el primer mensaje que aún no ha hecho actual (es decir, el primero que tiene el atributo «no visto»; vea Atributos de Rmail). Muévase hacia adelante para ver los demás mensajes nuevos; muévase hacia atrás para volver a examinar los mensajes antiguos.</p>
<dl class="simple">
<dt>n</dt><dd><p>Pasa al siguiente mensaje no eliminado, omitiendo los mensajes eliminados intermedios (rmail-next-undeleted-message).</p>
</dd>
<dt>p</dt><dd><p>Pasa al mensaje anterior no eliminado (rmail-previous-undeleted-message).</p>
</dd>
<dt>M-n</dt><dd><p>Pasa al mensaje siguiente, incluidos los mensajes eliminados (rmail-next-message).</p>
</dd>
<dt>M-p</dt><dd><p>Pasa al mensaje anterior, incluidos los mensajes eliminados (rmail-previous-message).</p>
</dd>
<dt>C-c C-n</dt><dd><p>Pasa al siguiente mensaje con el mismo subject (asunto) que el actual (rmail-next-same-subject).</p>
</dd>
<dt>C-c C-p</dt><dd><p>Pasa al mensaje anterior con el mismo subject (asunto) que el actual (rmail-previous-same-subject).</p>
</dd>
<dt>j</dt><dd><p>Pasa al primer mensaje. Con el argumento n, pasa al mensaje número n (rmail-show-message).</p>
</dd>
</dl>
<dl class="simple">
<dt>&gt;</dt><dd><p>Va al último mensaje (rmail-last-message).</p>
</dd>
</dl>
<dl class="simple">
<dt>&lt;</dt><dd><p>Va al primer mensaje (rmail-first-message).</p>
</dd>
<dt>M-s expreg RET</dt><dd><p>Pasa al siguiente mensaje que contenga una coincidencia para expreg (rmail-search).</p>
</dd>
</dl>
<ul class="simple">
<li><dl class="simple">
<dt>M-s expreg RET</dt><dd><p>Pasa al mensaje anterior que contiene una coincidencia para expreg. (Esto es M-s con un argumento negativo.)</p>
</dd>
</dl>
</li>
</ul>
<p>n y p son la forma habitual de moverse entre los mensajes en Rmail. Se mueven a través de los mensajes secuencialmente, pero se saltan los mensajes borrados, que es normalmente lo que se quiere hacer. Sus definiciones de comando se llaman rmail-next-undeleted-message y rmail-previous-undeleted-message. Si no desea omitir los mensajes eliminados, por ejemplo, si desea ir a un mensaje para recuperarlo, utilice las variantes M-n y M-p (rmail-next-message y rmail-previous-message). Un argumento numérico para cualquiera de estos comandos sirve como recuento de repeticiones.</p>
<p>En Rmail, puede especificar un argumento numérico escribiendo sólo los dígitos. No es necesario teclear primero C-u. También puede especificar un argumento negativo escribiendo sólo -.</p>
<p>El comando M-s (rmail-search) es la versión de búsqueda de Rmail. El comando habitual de búsqueda incremental C-s funciona en Rmail, pero sólo busca dentro del mensaje actual. El propósito de M-s es buscar otro mensaje. Lee una expresión regular (ver Sintaxis de Expresiones Regulares) de forma no incremental, luego busca una coincidencia a partir del comienzo del siguiente mensaje. A continuación, selecciona ese mensaje. Si expreg está vacío, M-s reutiliza la expreg usada la vez anterior.</p>
<p>Para buscar otro mensaje hacia atrás en el archivo, dé a M-s un argumento negativo. En Rmail puede hacerlo con - M-s. Esto inicia la búsqueda desde el final del mensaje anterior.</p>
<p>También es posible buscar un mensaje basándose en las etiquetas. Ver Etiquetas.</p>
<p>El comando C-c C-n (rmail-next-same-subject) pasa al siguiente mensaje con el mismo asunto que el actual. Un argumento prefijo sirve como contador de repeticiones. Con un argumento negativo, este comando se mueve hacia atrás, actuando como C-c C-p (rmail-previous-same-subject). Al comparar asuntos, estos comandos ignoran los prefijos que suelen añadirse a los asuntos de las respuestas. Estos comandos son útiles para leer todos los mensajes que pertenecen al mismo asunto, es decir, al mismo hilo.</p>
<p>Para pasar a un mensaje especificado por el número absoluto de mensaje, utilice j (rmail-show-message) con el número de mensaje como argumento. Sin argumento, j selecciona el primer mensaje. &lt; (rmail-primer-mensaje) también selecciona el primer mensaje. &gt; (rmail-último-mensaje) selecciona el último mensaje.</p>
</section>
<section id="borrar-mensajes">
<h2>34.4 Borrar Mensajes<a class="headerlink" href="#borrar-mensajes" title="Link to this heading"></a></h2>
<p>Cuando ya no necesite conservar un mensaje, puede borrarlo. Esto lo marca como ignorable, y algunos comandos de Rmail fingen que ya no está presente; pero todavía tiene su lugar en el archivo de Rmail, y todavía tiene su número de mensaje.</p>
<p>Al borrar el archivo de Rmail, en realidad se eliminan los mensajes borrados. Los mensajes restantes se renumeran consecutivamente.</p>
<dl class="simple">
<dt>d</dt><dd><p>Elimina el mensaje actual y pasa al siguiente mensaje no eliminado (rmail-delete-forward).</p>
</dd>
<dt>C-d</dt><dd><p>Elimina el mensaje actual y pasa al mensaje anterior no eliminado (rmail-delete-backward).</p>
</dd>
<dt>u</dt><dd><p>Deshace el borrado del mensaje actual, o vuelve al mensaje borrado anteriormente y lo deshace (rmail-undelete-previous-message).</p>
</dd>
<dt>x</dt><dd><p>Borra el archivo Rmail (rmail-expunge).</p>
</dd>
</dl>
<p>Existen dos comandos de Rmail para borrar mensajes. Ambos borran el mensaje actual y seleccionan otro. d (rmail-delete-forward) se mueve al siguiente mensaje, saltándose los mensajes ya borrados, mientras que C-d (rmail-delete-backward) se mueve al mensaje anterior no borrado. Si no hay ningún mensaje no eliminado al que desplazarse en la dirección especificada, el mensaje que se acaba de eliminar sigue siendo el actual. Un prefijo numérico sirve como contador de repeticiones, para permitir el borrado de varios mensajes en una sola orden. Un argumento negativo invierte el significado de d y C-d.</p>
<p>Cada vez que Rmail borra un mensaje, ejecuta el gancho rmail-delete-message-hook. Cuando se invocan las funciones del gancho, el mensaje se ha marcado como borrado, pero sigue siendo el mensaje actual en el búfer de Rmail.</p>
<p>Para que todos los mensajes borrados desaparezcan definitivamente del archivo de Rmail, escriba x (rmail-expunge). Hasta que haga esto, todavía puede deshacer la eliminación de los mensajes borrados. El comando undeletion, u (rmail-undelete-previous-message), está diseñado para cancelar el efecto de un comando d en la mayoría de los casos. Deshace el mensaje actual si el mensaje actual ha sido borrado. En caso contrario, retrocede a los mensajes anteriores hasta que encuentra un mensaje borrado y lo borra. Un prefijo numérico sirve como contador de repeticiones, para permitir el borrado de varios mensajes en una sola orden.</p>
<p>Normalmente se puede deshacer una d con una u porque la u retrocede y deshace el mensaje que la d borró. Pero esto no funciona cuando la d se salta algunos mensajes ya borrados que siguen al mensaje que se está borrando; entonces la orden u borra el último de los mensajes que se saltó. No hay una forma limpia de evitar este problema. Sin embargo, repitiendo el comando u, puedes volver al mensaje que quiere borrar. También puede seleccionar un mensaje borrado concreto con el comando M-p y, a continuación, escribir u para deshacer el borrado.</p>
<p>Un mensaje borrado tiene el atributo “deleted” (borrado), y como resultado aparece “deleted” en la línea de modo cuando se borra el mensaje actual. De hecho, borrar o deshacer el borrado de un mensaje no es más que añadir o quitar este atributo. Véase Atributos de Rmail.</p>
</section>
<section id="archivos-de-rmail-y-bandejas-de-entrada">
<h2>34.5 Archivos de Rmail y Bandejas de Entrada<a class="headerlink" href="#archivos-de-rmail-y-bandejas-de-entrada" title="Link to this heading"></a></h2>
<p>Cuando recibe correo localmente, el sistema operativo coloca el correo entrante en un fichero que llamamos bandeja de entrada. Cuando inicia Rmail, éste ejecuta un programa C llamado movemail para copiar los nuevos mensajes de su bandeja de entrada en su archivo primario de Rmail, que también contiene otros mensajes guardados de sesiones anteriores de Rmail. Es en este archivo donde realmente se lee el correo con Rmail. Esta operación se denomina obtener correo nuevo. Puede obtener correo nuevo en cualquier momento en Rmail escribiendo g.</p>
<p>La variable rmail-primary-inbox-list contiene una lista de los archivos que son buzones de entrada para su archivo primario de Rmail. Si no establece esta variable explícitamente, Rmail utiliza la variable de entorno MAIL o, como último recurso, una bandeja de entrada predeterminada basada en rmail-spool-directory. El archivo de bandeja de entrada por defecto depende de su sistema operativo; a menudo es /var/mail/nombre_usuario, /var/spool/mail/nombre_usuario, o /usr/spool/mail/nombre_usuario.</p>
<p>Puede especificar el/los archivo(s) de bandeja de entrada para cualquier archivo de Rmail para la sesión actual con el comando set-rmail-inbox-list; consulte Múltiples Archivos de Rmail.</p>
<p>Hay dos razones para tener archivos de Rmail y bandejas de entrada separados.</p>
<blockquote>
<div><p>1. El formato del archivo de bandeja de entrada varía entre sistemas operativos y según el otro software de correo que se utilice. Sólo una parte de Rmail necesita conocer las
alternativas, y sólo necesita entender cómo convertirlas todas al formato propio de Rmail.</p>
<p>2. Es muy engorroso acceder a un archivo de bandeja de entrada sin peligro de perder el correo, porque es necesario interbloquearlo con la entrega del correo. Además, los distintos
sistemas operativos utilizan técnicas de interbloqueo diferentes. La estrategia de mover el correo fuera de la bandeja de entrada de una vez por todas a un archivo Rmail separado
evita la necesidad de interbloqueo en todo el resto de Rmail, ya que sólo Rmail opera sobre el archivo Rmail.</p>
</div></blockquote>
<p>Rmail utiliza el formato estándar “mbox”, introducido por los sistemas Unix y GNU para los archivos de la bandeja de entrada, como formato interno de los archivos de Rmail. (De hecho, hay algunos formatos mbox ligeramente diferentes. Las diferencias no son muy importantes, pero puede establecer la variable rmail-mbox-format para indicar a Rmail qué formato utiliza su sistema. Consulte la documentación de esa variable para más detalles).</p>
<p>Cuando recibe correo nuevo, Rmail primero copia el correo nuevo del archivo de la bandeja de entrada al archivo de Rmail; luego guarda el archivo de Rmail; luego borra el archivo de la bandeja de entrada. De esta forma, un fallo del sistema puede provocar la duplicación del correo entre la bandeja de entrada y el archivo de Rmail, pero no puede perder el correo. Si rmail-preserve-inbox es distinto de cero, Rmail no borra el archivo de la bandeja de entrada cuando recibe correo nuevo. Es posible que desee establecer esto, por ejemplo, en un ordenador portátil que utilice para comprobar su correo a través de POP mientras viaja, para que su correo permanezca en el servidor y pueda guardarlo más tarde en su estación de trabajo principal.</p>
<p>En algunos casos, Rmail copia el nuevo correo del archivo de la bandeja de entrada indirectamente. Primero ejecuta el programa movemail para mover el correo de la bandeja de entrada a un archivo intermedio llamado .newmail-inboxname, en el mismo directorio que el archivo de Rmail. A continuación, Rmail fusiona el correo nuevo de ese archivo, guarda el archivo de Rmail y sólo entonces borra el archivo intermedio. Si se produce un fallo en el momento equivocado, este archivo sigue existiendo, y Rmail volverá a utilizarlo la próxima vez que reciba correo nuevo de esa bandeja de entrada.</p>
<p>Si Rmail no puede convertir los datos en .newmail-inboxname a formato mbox, renombra el archivo a RMAILOSE.n (n es un número entero elegido para que el nombre sea único) para que Rmail no vuelva a tener problemas con los datos. Debería mirar el archivo, encontrar cualquier mensaje que confunda a Rmail (probablemente uno que incluya el carácter de control-underscore, código octal 037), y borrarlo. A continuación, puede utilizar 1 g para obtener nuevo correo del archivo corregido.</p>
</section>
<section id="multiples-archivos-de-rmail">
<h2>34.6 Múltiples Archivos de Rmail<a class="headerlink" href="#multiples-archivos-de-rmail" title="Link to this heading"></a></h2>
<p>Rmail opera por defecto en su archivo Rmail primario, que se llama ~/RMAIL y recibe su correo entrante desde su archivo de bandeja de entrada del sistema. Pero también puede tener otros archivos Rmail y editarlos con éste. Estos archivos pueden recibir correo a través de sus propias bandejas de entrada, o puede mover mensajes a ellos con comandos explícitos de Rmail (vea Copiar Mensajes a Archivos).</p>
<dl class="simple">
<dt>i archivo RET</dt><dd><p>Lee el archivo en Emacs y ejecuta Rmail en él (rmail-input).</p>
</dd>
<dt>g</dt><dd><p>Fusiona el correo nuevo de las bandejas de entrada del archivo Rmail actual (rmail-get-new-mail).</p>
</dd>
<dt>C-u g archivo RET</dt><dd><p>Combina (fusiona) el correo nuevo del archivo de la bandeja de entrada.</p>
</dd>
</dl>
<p>Para ejecutar Rmail en un archivo que no sea su archivo de Rmail principal, puede utilizar el comando i (rmail-input) en Rmail. Esto visita el archivo en modo Rmail. Puede usar M-x rmail-input incluso cuando no esté en Rmail, pero es más fácil escribir C-u M-x rmail, que hace lo mismo.</p>
<p>El archivo que lee con i normalmente debería ser un archivo mbox válido. Si no lo es, Rmail intenta convertir su texto a formato mbox, y visita el texto convertido en el buffer. Si guarda el buffer, eso convierte el archivo.</p>
<p>Si especifica un nombre de archivo que no existe, i inicializa un nuevo búfer para crear un nuevo archivo de Rmail.</p>
<p>También puede seleccionar un archivo Rmail desde un menú. En el menú Clasificar, elija el elemento Archivo Rmail de entrada; a continuación, elija el archivo Rmail que desee. Las variables rmail-secondary-file-directory y rmail-secondary-file-regexp especifican qué archivos ofrecer en el menú: la primera variable dice en qué directorio encontrarlos; la segunda dice qué archivos de ese directorio ofrecer (todos los que coincidan con la expresión regular). Si ningún archivo coincide, no podrá seleccionar este elemento del menú. Estas variables también se aplican a la elección de un fichero de salida (véase Copiar Mensajes a Archivos).</p>
<p>Los archivos de la bandeja de entrada a utilizar se especifican mediante la variable rmail-inbox-list, que es buffer-local en modo Rmail. Como excepción especial, si no ha especificado ningún archivo de bandeja de entrada para su archivo principal de Rmail, éste utiliza la variable de entorno MAIL, o la bandeja de entrada estándar de su sistema.</p>
<p>El comando g (rmail-get-new-mail) fusiona el correo en el archivo Rmail actual desde sus bandejas de entrada. Si el archivo de Rmail no tiene bandejas de entrada, g no hace nada. El comando M-x rmail también fusiona correo nuevo en el archivo principal de Rmail.</p>
<p>Para fusionar el correo de un archivo que no es la bandeja de entrada habitual, dé a la tecla g un argumento numérico, como en C-u g. A continuación, lee un nombre de archivo y fusiona el correo de ese archivo. El archivo de la bandeja de entrada no se borra ni se modifica en modo alguno cuando se utiliza g con un argumento. Se trata, por tanto, de una forma general de fusionar un archivo de mensajes en otro.</p>
</section>
<section id="copiar-mensajes-en-archivos">
<h2>34.7 Copiar Mensajes en Archivos<a class="headerlink" href="#copiar-mensajes-en-archivos" title="Link to this heading"></a></h2>
<p>Estos comandos copian mensajes de un fichero Rmail a otro.</p>
<dl class="simple">
<dt>o archivo RET</dt><dd><p>Añade una copia completa del mensaje actual al fichero de nombre archivo (rmail-output).</p>
</dd>
<dt>C-o archivo RET</dt><dd><p>Añade una copia del mensaje actual, tal y como se muestra, al fichero de nombre archivo (rmail-output-as-seen).</p>
</dd>
<dt>w archivo RET</dt><dd><p>Envía sólo el cuerpo del mensaje al fichero de nombre archivo, tomando el nombre de archivo por defecto de la cabecera “Subject” (Asunto) del mensaje.</p>
</dd>
</dl>
<p>Los comandos o y C-o copian el mensaje actual en un archivo especificado, añadiéndolo al final. Un argumento prefijo positivo sirve como contador de repeticiones: se copiarán tantos mensajes consecutivos en el fichero especificado, empezando por el actual e ignorando los mensajes borrados.</p>
<p>Los dos comandos difieren principalmente en la cantidad a copiar: o copia las cabeceras completas de los mensajes, incluso si no están todas visibles, mientras que C-o copia exactamente las cabeceras que se muestran en ese momento y nada más. Véase Visualización de Mensajes. Además, o convierte el mensaje a formato Babyl (usado por Rmail en Emacs versión 22 y anteriores) si el archivo está en formato Babyl; C-o no puede dar salida a archivos Babyl en absoluto.</p>
<p>Si el fichero de salida está siendo visitado en un buffer de Emacs, los comandos de salida añaden el mensaje a ese buffer. Depende de Usted guardar el buffer eventualmente en su archivo.</p>
<p>A veces puede recibir un mensaje cuyo cuerpo contenga el contenido de un archivo. Puede guardar el cuerpo en un fichero (excluyendo la cabecera del mensaje) con el comando w (rmail-output-body-to-file). A menudo, estos mensajes contienen el nombre de archivo previsto en el campo «Subject» (Asunto), por lo que el comando w utiliza el campo «Subject» como predeterminado para el nombre del archivo de salida (después de sustituir algunos caracteres que no se pueden utilizar de forma transferible en los nombres de archivo). Sin embargo, el nombre del fichero se lee utilizando el minibuffer, por lo que puede especificar un nombre diferente si lo desea.</p>
<p>También puede enviar un mensaje a un fichero Rmail elegido con un menú. En el menú Classify (Clasificar), elija el elemento de menú Output Rmail File (Salida Archivo Rmail); a continuación, elija el archivo Rmail que desee. Esto envía el mensaje actual a ese archivo, como el comando o. Las variables rmail-secondary-file-directory y rmail-secondary-file-regexp especifican qué archivos ofrecer en el menú: la primera variable dice en qué directorio encontrarlos; la segunda dice qué archivos de ese directorio ofrecer (todos los que coincidan con la expresión regular). Si ningún fichero coincide, no podrá seleccionar esta opción del menú.</p>
<p>Copiar un mensaje con o o C-o da a la copia original del mensaje el atributo “filed” (archivado), de modo que “filed” aparece en la línea de modo cuando tal mensaje es actual.</p>
<p>Si desea conservar una sola copia de cada mensaje de correo, establezca la variable rmail-delete-after-output en t; entonces los comandos o, C-o y w borrarán el mensaje original después de copiarlo. (Puede deshacer el borrado después si lo desea, vea Borrado de Mensajes).</p>
<p>Por defecto, o dejará el estado de borrado de un mensaje tal y como estaba en el mensaje original; así, un mensaje borrado antes de ser enviado aparecerá como borrado en el fichero de salida. Establecer la variable rmail-output-reset-deleted-flag a un valor no nulo contrarresta esto: la copia del mensaje tendrá su estado de borrado restablecido, por lo que el mensaje aparecerá como no borrado en el fichero de salida. Además, cuando esta variable no es nula, si se especifica un argumento positivo a o no se ignorarán los mensajes borrados cuando se busquen mensajes consecutivos para enviar.</p>
<p>La variable rmail-output-file-alist le permite especificar valores inteligentes por defecto para el fichero de salida, basados en el contenido del mensaje actual. El valor debe ser una lista cuyos elementos tengan esta forma:</p>
<blockquote>
<div><p>(expreg . nombre-expreg)</p>
</div></blockquote>
<p>Si hay una coincidencia para regexp en el mensaje actual, entonces el nombre de archivo por defecto para la salida es nombre-expreg. Si varios elementos coinciden con el mensaje, el primer elemento coincidente decide el nombre de archivo por defecto. La subexpresión nombre-expreg puede ser una constante de cadena que indique el nombre de fichero a utilizar, o más generalmente puede ser cualquier expresión Lisp que produzca un nombre de fichero como cadena. rmail-output-file-alist se aplica tanto a o como a C-o.</p>
<p>Rmail puede guardar automáticamente mensajes de su archivo principal de Rmail (el que rmail-file-name especifica) en otros archivos, basándose en el valor de la variable rmail-automatic-folder-directives. Esta variable es una lista de elementos (“directives”, directivas) que dicen qué mensajes guardar y dónde. Cada directiva es una lista que consiste en un fichero de salida, seguido de uno o más pares de un nombre de cabecera y una expresión regular. Si un mensaje tiene una cabecera que coincide con la expresión regular especificada, ese mensaje se guarda en el fichero dado. Si la directiva tiene más de una entrada de encabezado, todas deben coincidir. Rmail comprueba las directivas cuando muestra un mensaje del fichero rmail-nombre-de-fichero, y aplica la primera que coincida (si hay alguna). Si el fichero de salida es nulo, el mensaje se elimina, no se guarda. Por ejemplo, puede utilizar esta función para guardar mensajes de una dirección concreta, o con un asunto concreto, en un archivo específico.20</p>
<p>Si hay una coincidencia para regexp en el mensaje actual, entonces el nombre de archivo por defecto para la salida es nombre-expreg. Si varios elementos coinciden con el mensaje, el primer elemento coincidente decide el nombre de archivo por defecto. La subexpresión nombre-expreg puede ser una constante de cadena que indique el nombre de fichero a utilizar, o más generalmente puede ser cualquier expresión Lisp que produzca un nombre de fichero como cadena. rmail-output-file-alist se aplica tanto a o como a C-o.</p>
<p>Rmail puede guardar automáticamente mensajes de su archivo principal de Rmail (el que rmail-file-name especifica) en otros archivos, basándose en el valor de la variable rmail-automatic-folder-directives. Esta variable es una lista de elementos (“directives”, directivas) que dicen qué mensajes guardar y dónde. Cada directiva es una lista que consiste en un fichero de salida, seguido de uno o más pares de un nombre de cabecera y una expresión regular. Si un mensaje tiene una cabecera que coincide con la expresión regular especificada, ese mensaje se guarda en el fichero dado. Si la directiva tiene más de una entrada de encabezado, todas deben coincidir. Rmail comprueba las directivas cuando muestra un mensaje del fichero rmail-nombre-de-fichero, y aplica la primera que coincida (si hay alguna). Si el fichero de salida es nulo, el mensaje se elimina, no se guarda. Por ejemplo, puede utilizar esta función para guardar mensajes de una dirección concreta, o con un asunto concreto, en un archivo específico.</p>
</section>
<section id="etiquetas">
<h2>34.8 Etiquetas<a class="headerlink" href="#etiquetas" title="Link to this heading"></a></h2>
<p>Cada mensaje puede tener asignadas varias etiquetas como medio de clasificación. Cada etiqueta tiene un nombre; nombres diferentes son etiquetas diferentes. Cualquier etiqueta puede estar presente o ausente en un mensaje en particular. Algunas etiquetas tienen un significado estándar y Rmail las asigna automáticamente a los mensajes cuando es necesario; estas etiquetas especiales se denominan atributos (véase Atributos de Rmail).</p>
<dl class="simple">
<dt>a etiqueta RET</dt><dd><p>Asigna la etiqueta de nombre etiqueta al mensaje actual (rmail-add-label).</p>
</dd>
<dt>k etiqueta RET</dt><dd><p>Elimina la etiqueta de nombre etiqueta del mensaje actual (rmail-kill-label).</p>
</dd>
<dt>C-M-n etiqueta RET</dt><dd><p>Pasa al siguiente mensaje que tenga una de las etiquetas de nombre etiqueta (rmail-next-labeled-message).</p>
</dd>
<dt>C-M-p etiqueta RET</dt><dd><p>Pasa al mensaje anterior que tiene una de las etiquetas de nombre eitqueta (rmail-previous-labeled-message).</p>
</dd>
<dt>C-M-l</dt><dd><p>Hace un resumen de todos los mensajes que contengan alguna de las etiquetas de nombre etiqueta (rmail-summary-by-labels).</p>
</dd>
</dl>
<p>Los comandos a (rmail-add-label) y k (rmail-kill-label) permiten asignar o eliminar cualquier etiqueta del mensaje actual. Si el argumento label está vacío, significa que se asignará o eliminará la etiqueta asignada o eliminada más recientemente.</p>
<p>Una vez que haya asignado etiquetas a los mensajes para clasificarlos como desee, existen tres formas de utilizar las etiquetas: en el desplazamiento, en los resúmenes y en la clasificación.</p>
<p>C-M-n labels RET (rmail-next-labeled-message) se mueve al siguiente mensaje que tenga una de las etiquetas de nombre etiqueta. El argumento etiquetas especifica uno o más nombres de etiquetas, separados por comas. C-M-p (rmail-previous-labeled-message) es similar, pero retrocede a mensajes anteriores. Un argumento numérico para cualquiera de los dos comandos sirve como recuento de repeticiones.</p>
<p>El comando C-M-l labels RET (rmail-summary-by-labels) muestra un resumen que contiene sólo los mensajes que tienen al menos una de las etiquetas especificadas. El argumento etiquetas es uno o más nombres de etiquetas, separados por comas. Para más información sobre resúmenes, consulte Resúmenes.</p>
<p>Si el argumento etiquetas de C-M-n, C-M-p o C-M-l está vacío, significa que se utilizará el último conjunto de etiquetas especificado para cualquiera de estos comandos.</p>
<p>Consulte Ordenación del Archivo de Rmail, para obtener información sobre la ordenación de mensajes con etiquetas.</p>
</section>
<section id="atributos-de-rmail">
<h2>34.9 Atributos de Rmail<a class="headerlink" href="#atributos-de-rmail" title="Link to this heading"></a></h2>
<p>Algunas etiquetas como “deleted” y “filed” tienen significados incorporados, y Rmail las asigna a los mensajes automáticamente en los momentos apropiados; estas etiquetas se llaman atributos. A continuación se muestra una lista de atributos de Rmail:</p>
<dl class="simple">
<dt>unseen</dt><dd><p>Significa que el mensaje nunca ha sido actual. Se asigna a los mensajes cuando proceden de un archivo de bandeja de entrada y se elimina cuando un mensaje se actualiza. Al iniciar
Rmail, inicialmente muestra el primer mensaje que tiene este atributo.</p>
</dd>
<dt>deleted</dt><dd><p>Significa que el mensaje está borrado. Se asigna mediante comandos de borrado y se elimina mediante comandos de anulación del borrado (véase Borrado de Mensajes).</p>
</dd>
<dt>filed</dt><dd><p>Significa que el mensaje se ha copiado en otro fichero. Asignado por los comandos de salida de archivos o y C-o (véase Copia de Mensajes a Archivos).</p>
</dd>
<dt>answered</dt><dd><p>Significa que ha enviado por correo una respuesta al mensaje. Asignado por el comando r (rmail-reply). Véase Envío de Respuestas.</p>
</dd>
<dt>answered</dt><dd><p>Significa que ha enviado por correo una respuesta al mensaje. Asignado por el comando r (rmail-reply). Véase Envío de Respuestas.</p>
</dd>
<dt>forwarded</dt><dd><p>Significa que ha reenviado el mensaje. Asignado por el comando f (rmail-forward). Véase Envío de Respuestas.</p>
</dd>
<dt>edited</dt><dd><p>Significa que ha editado el texto del mensaje dentro de Rmail. Véase Editar dentro de un Mensaje.</p>
</dd>
<dt>resent</dt><dd><p>Significa que ha reenviado el mensaje. Asignado por el comando M-x rmail-resend. Véase Envío de Respuestas.</p>
</dd>
<dt>retried</dt><dd><p>Significa que ha reintentado un mensaje saliente fallido. Asignado por el comando M-x rmail-retry-failure. Véase Envío de Respuestas.</p>
</dd>
</dl>
<p>El resto de etiquetas son asignadas o eliminadas únicamente por los Usuarios, y no tienen un significado estándar.</p>
</section>
<section id="envio-de-respuestas">
<h2>34.10. Envío de Respuestas<a class="headerlink" href="#envio-de-respuestas" title="Link to this heading"></a></h2>
<p>Rmail tiene varios comandos para enviar correo saliente. Vea Envío de Correo, para información sobre el uso del modo Mensaje, incluyendo ciertas características pensadas para trabajar con Rmail. Lo que esta sección documenta son los comandos especiales de Rmail para entrar en el búfer de correo utilizado para componer el mensaje saliente. Tenga en cuenta que las teclas habituales para enviar correo-C-x m, C-x 4 m, y C-x 5 m-también funcionan normalmente en el modo Rmail.</p>
<dl class="simple">
<dt>m</dt><dd><p>Envía un mensaje (rmail-mail).</p>
</dd>
<dt>c</dt><dd><p>Continúa editando el mensaje saliente ya iniciado (rmail-continue).</p>
</dd>
<dt>r</dt><dd><p>Envía una respuesta al mensaje Rmail actual (rmail-reply).</p>
</dd>
<dt>f</dt><dd><p>Reenvía el mensaje actual a otros usuarios (rmail-forward).</p>
</dd>
<dt>C-u f</dt><dd><p>Reenvía el mensaje actual a otros usuarios (rmail-resend).</p>
</dd>
<dt>M-m</dt><dd><p>Intenta enviar un mensaje rebotado por segunda vez (rmail-retry-failure).</p>
</dd>
</dl>
<p>La razón más común para enviar un mensaje mientras se está en Rmail es responder al mensaje que se está leyendo. Para ello, escriba r (rmail-reply). Esto muestra un búfer de composición de correo en otra ventana, de forma similar a C-x 4 m, pero preinicializa los campos de cabecera “Subject”, “To”, “CC”, “In-Reply-To” (En-Respuesta-A) y “References” (Referencias) basándose en el mensaje al que está respondiendo. El campo «To» empieza con la dirección de la persona que envió el mensaje que recibió, y el campo «CC» empieza con todos los demás destinatarios de ese mensaje.</p>
<p>Puede excluir a determinados destinatarios para que no se incluyan automáticamente en las respuestas, utilizando la variable mail-dont-reply-to-names. Su valor debe ser una expresión regular; los destinatarios que coincidan quedarán excluidos del campo «CC». También se excluyen del campo «To», a menos que esto deje el campo vacío. Si esta variable es nula, la primera vez que escriba una respuesta se inicializará con un valor por defecto que coincide con su propia dirección.</p>
<p>Para responder sólo al remitente del mensaje original, introduzca el comando de respuesta con un argumento numérico: C-u r o 1 r. De este modo se omite completamente el campo “CC” para una respuesta concreta.</p>
<p>Una vez inicializado el búfer de composición de correo, la edición y el envío del correo se realizan como de costumbre (véase Envío de correo). Puede editar los campos de cabecera preconfigurados si no son los que desea. También puede utilizar comandos como C-c C-y, que introduce el mensaje al que está respondiendo (consulte Comandos de correo). También puede cambiar al búfer de Rmail, seleccionar allí un mensaje diferente, volver a cambiar y tirar del nuevo mensaje actual.</p>
<p>A veces un mensaje no llega a su destino. Los emisores de correo suelen enviarle el mensaje fallido de vuelta, incluido en un mensaje de fallo. El comando M-m de Rmail (rmail-retry-failure) prepara el envío del mismo mensaje por segunda vez: establece un búfer de composición de correo con los mismos campos de texto y cabecera que antes. Si teclea C-c C-c inmediatamente, volverá a enviar el mensaje exactamente igual que la primera vez. Alternativamente, puede editar el texto o las cabeceras y luego enviarlo. La variable rmail-retry-ignored-headers, con el mismo formato que rmail-ignored-headers (ver Visualización de Mensajes), controla qué cabeceras se eliminan del mensaje fallido al reintentarlo.</p>
<p>Otra razón frecuente para enviar correo en Rmail es reenviar el mensaje actual a otros Usuarios. f (rmail-forward) hace esto fácil preinicializando el buffer de composición de correo con el mensaje actual como texto, y un asunto de la forma [from: subject], donde from y subject son el remitente y el asunto del mensaje original. Todo lo que tiene que hacer es rellenar los destinatarios y enviar. Cuando reenvíe un mensaje, los destinatarios recibirán un mensaje que procede de Usted y cuyo contenido es el mensaje original.</p>
<p>Rmail ofrece dos formatos para los mensajes reenviados. Por defecto se utiliza el formato MIME (ver Visualización de Mensajes). Esto incluye el mensaje original como una parte separada. Puede utilizar un formato más simple si lo prefiere, estableciendo la variable rmail-enable-mime-composing a nil. En este caso, Rmail sólo incluye el mensaje original encerrado entre dos líneas delimitadoras. También modifica cada línea que comienza con un guión, inserting “- “ (insertando “- “) al principio de la línea. Cuando reciba un mensaje reenviado en este formato, si contiene algo más que texto ordinario -por ejemplo, el código fuente de un programa- puede resultarle útil deshacer esa transformación. Para ello, seleccione el mensaje reenviado y escriba M-x unforward-rmail-message. Este comando extrae el mensaje reenviado original, eliminando las cadenas “- “ insertadas, y lo inserta en el archivo de Rmail como un mensaje separado inmediatamente después del actual.</p>
<p>El reenvío es una alternativa similar al reenvío; la diferencia es que el reenvío envía un mensaje que es del remitente original, tal y como le llegó a usted-con unos pocos campos de cabecera añadidos (“Resent-From” y “Resent-To”) para indicar que llegó a través de Usted. Para reenviar un mensaje en Rmail, utilice C-u f. (f ejecuta rmail-forward, que invoca rmail-resend si proporciona un argumento numérico).</p>
<p>Utilice el comando m (rmail-mail) para iniciar la edición de un mensaje saliente que no sea una respuesta. Deje vacíos los campos de cabecera. Su única diferencia con C-x 4 m es que hace que el búfer de Rmail sea accesible para C-c C-y, tal como lo hace r.</p>
<p>El comando c (rmail-continue) reanuda la edición del búfer de composición de correo, para terminar de editar un mensaje saliente que ya estaba componiendo, o para alterar un mensaje que ha enviado.</p>
<p>Si establece la variable rmail-mail-new-frame a un valor no nulo, entonces todos los comandos de Rmail para comenzar a enviar un mensaje crean un nuevo marco para editarlo. Este marco se borra cuando se envía el mensaje.</p>
<p>Todos los comandos de Rmail para enviar un mensaje utilizan el método de composición de correo que haya elegido (vea Métodos de Composición de Correo).</p>
</section>
<section id="resumenes">
<h2>34.11 Resúmenes<a class="headerlink" href="#resumenes" title="Link to this heading"></a></h2>
<p>Un resumen es un búfer que contiene una línea por mensaje para darle una visión general del correo en un archivo Rmail. Cada línea muestra el número y la fecha del mensaje, el remitente, el número de líneas, las etiquetas y el asunto. Al mover el punto en el búfer de resumen se seleccionan los mensajes a medida que se desplaza a sus líneas de resumen. Casi todos los comandos de Rmail son válidos también en la memoria intermedia de sumario; cuando se utilizan allí, se aplican al mensaje descrito por la línea actual del sumario.</p>
<p>Un búfer de sumario sólo se aplica a un único archivo de Rmail; si está editando varios archivos de Rmail, cada uno puede tener su propio búfer de sumario. El nombre del búfer de resumen se obtiene añadiendo «-summary» al nombre del búfer de Rmail. Normalmente, sólo se muestra un búfer de resumen a la vez.</p>
<section id="hacer-resumenes">
<h3>34.11.1 Hacer Resúmenes<a class="headerlink" href="#hacer-resumenes" title="Link to this heading"></a></h3>
<p>Estos son los comandos para crear un resumen para el búfer de Rmail actual. Una vez que el buffer de Rmail tiene un resumen, los cambios en el buffer de Rmail (como borrar o expurgar mensajes, y recibir nuevo correo) actualizan automáticamente el resumen.</p>
<p>h
C-M-h</p>
<blockquote>
<div><p>Resume todos los mensajes (rmail-summary).</p>
</div></blockquote>
<p>l etiquetas RET
C-M-l etiquetas RET</p>
<blockquote>
<div><p>Resume los mensajes que tienen una o más de las etiquetas especificadas (rmail-summary-by-labels).</p>
</div></blockquote>
<dl class="simple">
<dt>C-M-r rcpts RET</dt><dd><p>Resume los mensajes que coinciden con los destinatarios especificados (rmail-summary-by-recipients).</p>
</dd>
<dt>C-M-t tema RET</dt><dd><p>Resume los mensajes que tienen una coincidencia con tema expreg especificado en sus asuntos (rmail-summary-by-topic).</p>
</dd>
<dt>C-M-s expreg RET</dt><dd><p>Resume los mensajes cuyas cabeceras coinciden con la expresión regular expreg especificada (rmail-summary-by-regexp).</p>
</dd>
<dt>C-M-f remitentes RET</dt><dd><p>Resume los mensajes que coinciden con los remitentes especificados. (rmail-summary-by-senders).</p>
</dd>
</dl>
<p>El comando h o C-M-h (rmail-summary) llena el búfer de resumen del búfer de Rmail actual con un resumen de todos los mensajes del búfer. A continuación, muestra y selecciona el búfer de resumen en otra ventana.</p>
<p>C-M-l labels RET (rmail-summary-by-labels) hace un resumen parcial mencionando sólo los mensajes que tienen una o más de las etiquetas de nombre etiquetas. etiquetas debe contener nombres de etiquetas separados por comas.</p>
<p>C-M-r rcpts RET (rmail-summary-by-recipients) hace un resumen parcial mencionando sólo los mensajes que tienen uno o más destinatarios que coinciden con la expresión regular rcpts. Esto se compara con las cabeceras «To» (Para), «From» (De) y «CC» (CC) (proporcione un argumento de prefijo para excluir la cabecera «CC»).</p>
<p>C-M-t topic RET (rmail-summary-by-topic) hace un resumen parcial mencionando sólo los mensajes cuyos asuntos tienen una coincidencia con la expresión regular topic. Con un argumento prefijo, la coincidencia es con todo el mensaje, no sólo con el asunto.</p>
<p>C-M-s regexp RET (rmail-summary-by-regexp) hace un resumen parcial que menciona sólo los mensajes cuyas cabeceras (incluyendo la fecha y las líneas de asunto) coinciden con la expresión regular regexp.</p>
<p>C-M-f remitentes RET (rmail-summary-by-senders) hace un resumen parcial que menciona sólo los mensajes cuyos campos «From» coinciden con la expresión regular remitentes.</p>
<p>Tenga en cuenta que sólo hay un búfer de resumen para cualquier búfer de Rmail; hacer cualquier tipo de resumen descarta cualquier resumen anterior.</p>
<p>La variable rmail-summary-window-size dice cuántas líneas usar para la ventana de resumen. La variable rmail-summary-line-count-flag controla si la línea de resumen de un mensaje debe incluir el número de líneas del mensaje. Establecer esta opción a nil puede acelerar la generación de resúmenes.</p>
</section>
<section id="editar-en-resumenes">
<h3>34.11.2 Editar en Resúmenes<a class="headerlink" href="#editar-en-resumenes" title="Link to this heading"></a></h3>
<p>Puede usar el búfer de resumen de Rmail para hacer casi cualquier cosa que pueda hacer en el propio búfer de Rmail. De hecho, una vez que tiene un búfer de resumen, no hay necesidad de volver al búfer de Rmail.</p>
<p>Puedes seleccionar y mostrar varios mensajes en el búfer Rmail, desde el búfer resumen, simplemente moviendo el punto en el búfer resumen a diferentes líneas. No importa qué comando Emacs use para mover el punto; cualquiera que sea la línea en la que esté el punto al final del comando, ese mensaje se selecciona en el búfer Rmail.</p>
<p>Casi todos los comandos de Rmail funcionan tanto en el búfer de resumen como en el búfer de Rmail. Así, d en el búfer de resumen borra el mensaje actual, u lo deshace y x lo expurga. (Sin embargo, en en este último caso, si no hay más mensajes sin borrar en la dirección correspondiente, los comandos de borrado van al primer o al último mensaje, en lugar de quedarse en el mensaje actual). o y C-o envían el mensaje actual a un ARCHIVO; r inicia una respuesta al mismo; etc. Puede desplazarse por el mensaje actual mientras permanece en el búfer de resumen usando SPC y DEL. Sin embargo, en este búfer, si se desplaza más allá del final o del principio de un mensaje con SPC o DEL, pasará, respectivamente, al mensaje siguiente o al anterior sin borrar. Personalice la opción rmail-summary-scroll-between-messages a nil para desactivar el desplazamiento a los mensajes siguientes/anteriores.</p>
<p>M-u (rmail-summary-undelete-many) elimina todos los mensajes eliminados del resumen. Un argumento prefijo significa que se borran tantos mensajes como se hayan borrado anteriormente.</p>
<p>Los comandos de Rmail para moverse entre mensajes también funcionan en el búfer de resumen, pero con un giro: se mueven a través del conjunto de mensajes incluidos en el resumen. También se aseguran de que el búfer de Rmail aparezca en la pantalla (a diferencia de los comandos de movimiento del cursor, que actualizan el contenido del búfer de Rmail pero no lo muestran en una ventana a menos que ya aparezca). He aquí una lista de estos comandos:</p>
<dl class="simple">
<dt>n</dt><dd><p>Pasa a la línea siguiente, saltándose las líneas que dicen «deleted» (borrado), y selecciona su mensaje (rmail-summary-next-msg).</p>
</dd>
<dt>p</dt><dd><p>Pasa a la línea anterior, saltando las líneas que dicen «deleted», y selecciona su mensaje (rmail-summary-previous-msg).</p>
</dd>
<dt>M-n</dt><dd><p>Pasa a la línea siguiente y seleccionar su mensaje (rmail-summary-next-all).</p>
</dd>
<dt>M-p</dt><dd><p>Pasa a la línea anterior y selecciona su mensaje (rmail-summary-previous-all).</p>
</dd>
</dl>
<dl class="simple">
<dt>&gt;</dt><dd><p>Pasa a la última línea y selecciona su mensaje (rmail-summary-last-message).</p>
</dd>
</dl>
<dl class="simple">
<dt>&lt;</dt><dd><p>Pasa a la primera línea y selecciona su mensaje (rmail-summary-first-message).</p>
</dd>
</dl>
<p>j
RET</p>
<blockquote>
<div><p>Selecciona el mensaje en la línea actual (asegurándose de que el buffer Rmail aparece en la pantalla; rmail-summary-goto-msg). Con el argumento n, selecciona el mensaje número n y se
desplaza a su línea en el búfer de resumen; esto señala un error si el mensaje no aparece en el búfer de resumen.</p>
</div></blockquote>
<dl class="simple">
<dt>M-s patrón RET</dt><dd><p>Busca un patrón en los mensajes empezando por el mensaje actual; selecciona el mensaje encontrado y mueve el punto en el búfer de resumen a la línea de ese mensaje
(rmail-summary-search). Un argumento prefijo actúa como un recuento de repeticiones; un argumento negativo significa buscar hacia atrás (equivalente a rmail-summary-search-backward.)</p>
</dd>
<dt>C-M-n etiquetas RET</dt><dd><p>Pasa al siguiente mensaje con al menos una de las etiquetas especificadas (rmail-summary-next-labeled-message). etiquetas es una lista de etiquetas separadas por comas. Un argumento
prefijo actúa como contador de repeticiones.</p>
</dd>
<dt>C-M-p etiquetas RET</dt><dd><p>Pasa al mensaje anterior con al menos una de las etiquetas especificadas (rmail-summary-previous-labeled-message).</p>
</dd>
<dt>C-c C-n RET</dt><dd><p>Pasa al siguiente mensaje con el mismo asunto que el mensaje actual (rmail-summary-next-same-subject). Un argumento prefijo actúa como contador de repeticiones.</p>
</dd>
<dt>C-c C-p RET</dt><dd><p>Pasa al mensaje anterior con el mismo asunto que el mensaje actual (rmail-summary-previous-same-subject).</p>
</dd>
</dl>
<p>Borra, deshace el borrado y obtiene nuevo correo, e incluso la selección de un mensaje diferente, todas actualizan el búfer de resumen cuando las realiza en el búfer Rmail. Si la variable rmail-redisplay-summary no es nula, estas acciones también devuelven el búfer de resumen a la pantalla.</p>
<p>Cuando haya terminado de usar el resumen, escriba Q (rmail-summary-wipe) para borrar la ventana del búfer de resumen. También puede salir de Rmail mientras está en el resumen: q (rmail-summary-quit) borra la ventana del resumen, luego sale de Rmail guardando el archivo de Rmail y cambiando a otro búfer. Alternativamente, b (rmail-summary-bury) simplemente entierra el resumen de Rmail y el buffer.</p>
</section>
</section>
<section id="ordenar-el-archivo-rmail">
<h2>34.12 Ordenar el Archivo Rmail<a class="headerlink" href="#ordenar-el-archivo-rmail" title="Link to this heading"></a></h2>
<p>C-c C-s C-d
M-x rmail-sort-by-date</p>
<blockquote>
<div><p>Ordena los mensajes del búfer actual de Rmail por fecha.</p>
</div></blockquote>
<p>C-c C-s C-s
M-x rmail-sort-by-subject</p>
<blockquote>
<div><p>Ordena los mensajes del búfer actual de Rmail por asunto.</p>
</div></blockquote>
<p>C-c C-s C-a
M-x rmail-sort-by-author</p>
<blockquote>
<div><p>Ordena los mensajes del búfer actual de Rmail por el nombre del autor.</p>
</div></blockquote>
<p>C-c C-s C-r
M-x rmail-sort-by-recipient</p>
<blockquote>
<div><p>Ordena los mensajes del búfer actual de Rmail por el nombre del destinatario.</p>
</div></blockquote>
<p>C-c C-s C-c
M-x rmail-sort-by-correspondent</p>
<blockquote>
<div><p>Ordena los mensajes del búfer actual de Rmail por el nombre del otro corresponsal.</p>
</div></blockquote>
<p>C-c C-s C-l
M-x rmail-sort-by-lines</p>
<blockquote>
<div><p>Ordena los mensajes del búfer actual de Rmail por número de líneas.</p>
</div></blockquote>
<p>C-c C-s C-k RET etiquetas RET
M-x rmail-sort-by-labels RET etiquetas RET</p>
<blockquote>
<div><p>Ordena los mensajes del búfer actual de Rmail por etiquetas. El argumento etiquetas debe ser una lista de etiquetas separadas por comas. El orden de estas etiquetas especifica el
orden de los mensajes; los mensajes con la primera etiqueta van primero, los mensajes con la segunda etiqueta van segundo, y así sucesivamente. Los mensajes que no tienen ninguna de
estas etiquetas aparecen en último lugar.</p>
</div></blockquote>
<p>Los comandos de ordenación de Rmail realizan una ordenación estable: si no hay razón para preferir uno de dos mensajes, su orden permanece inalterado. Puede usar esto para ordenar por más de un criterio. Por ejemplo, si usa rmail-sort-by-date y luego rmail-sort-by-author, los mensajes del mismo autor aparecerán ordenados por fecha.</p>
<p>Con un argumento prefijo, todos estos comandos invierten el orden de comparación. Esto significa que ordenan los mensajes de más reciente a más antiguo, de mayor a menor, o en orden alfabético inverso.</p>
<p>Las mismas teclas en el buffer de resumen ejecutan funciones similares; por ejemplo, C-c C-s C-l ejecuta rmail-summary-sort-by-lines. Estos comandos siempre ordenan todo el búfer de Rmail, incluso si el resumen sólo muestra un subconjunto de mensajes.</p>
<p>Tenga en cuenta que no puede deshacer una ordenación, por lo que puede que desee guardar el búfer de Rmail antes de ordenarlo.</p>
</section>
<section id="visualizacion-de-mensajes">
<h2>34.13 Visualización de Mensajes<a class="headerlink" href="#visualizacion-de-mensajes" title="Link to this heading"></a></h2>
<p>Esta sección describe cómo Rmail muestra las cabeceras de correo, secciones MIME y adjuntos, URLs y mensajes encriptados.</p>
<dl class="simple">
<dt>t</dt><dd><p>Alterna la visualización de la cabecera completa (rmail-toggle-header).</p>
</dd>
</dl>
<p>Antes de mostrar cada mensaje por primera vez, Rmail reformatea su cabecera, ocultando los campos de cabecera no relevantes para reducir el desorden. El comando t (rmail-toggle-header) alterna entre mostrar los campos de cabecera reformateados y mostrar la cabecera original completa. Con un argumento de prefijo positivo, el comando muestra la cabecera reformateada; con un argumento de prefijo cero o negativo, muestra la cabecera completa. Si es necesario, al volver a seleccionar el mensaje también se reformatea.</p>
<p>La variable rmail-ignored-headers contiene una expresión regular que especifica los campos de cabecera a ocultar; se ocultará cualquier línea de cabecera que coincida. La variable rmail-nonignored-headers anula esto: cualquier campo de cabecera que coincida con esa expresión regular se mostrará aunque coincida también con rmail-ignored-headers. La variable rmail-displayed-headers es una alternativa a estas dos variables; si no es nula, debe ser una expresión regular que especifique qué cabeceras mostrar (por defecto es nula).</p>
<p>Rmail resalta ciertos campos de cabecera que son especialmente relevantes -por defecto, los campos «From» (De) y «Subject» (Asunto). Este resaltado usa la cara rmail-highlight. La variable rmail-highlighted-headers contiene una expresión regular que especifica los campos de cabecera a resaltar; si coincide con el principio de un campo de cabecera, se resalta todo el campo. Para desactivar esta función, establezca rmail-highlighted-headers en nil.</p>
<p>Si un mensaje está en formato MIME (Multipurpose Internet Mail Extensions, Extensiones de Correo en Internet Multipropósito) y contiene múltiples partes (entidades MIME), Rmail muestra cada parte con una etiqueta. La etiqueta resume el índice, el tamaño y el tipo de contenido de la parte. Dependiendo del tipo de contenido, también puede contener uno o más botones; éstos realizan acciones como guardar la parte en un archivo.</p>
<dl class="simple">
<dt>RET</dt><dd><p>Oculta o muestra la parte MIME en el punto (rmail-mime-toggle-hidden).</p>
</dd>
<dt>TAB</dt><dd><p>Mueve el punto al siguiente botón de etiqueta MIME. (rmail-mime-next-item).</p>
</dd>
<dt>S-TAB</dt><dd><p>Mueve el punto a la parte MIME anterior (rmail-mime-previous-item).</p>
</dd>
<dt>v</dt><dd><p>Alterna entre visualización MIME y mensaje sin formato (rmail-mime).</p>
</dd>
</dl>
<p>Cada parte MIME de texto plano se muestra inicialmente inmediatamente después de su lema, como parte del búfer de Rmail (a menos que el mensaje tenga una parte HTML, ver más abajo), mientras que las partes MIME de otros tipos se representan sólo por sus lemas, con su contenido real oculto. En cualquier caso, puede alternar entre los estados mostrado y oculto de una parte MIME escribiendo RET en cualquier lugar de la parte, o en cualquier lugar de su lema (excepto en los botones para otras acciones, si los hay). Escriba RET (o haga clic con el ratón) para activar un botón de línea de etiquetas, y TAB para alternar entre los botones de línea de etiquetas.</p>
<p>El comando v (rmail-mime) alterna entre la visualización MIME predeterminada descrita anteriormente y una visualización sin procesar que muestra los datos MIME sin decodificar. Con un argumento de prefijo, este comando alterna la visualización de sólo una entidad en el punto.</p>
<p>Si el mensaje tiene una parte MIME HTML, Rmail la muestra con preferencia a la parte de texto plano, si Emacs puede renderizar HTML20. Para evitarlo, y que en su lugar se muestre la parte de texto plano, personalice la variable rmail-mime-prefer-html a un valor nulo.</p>
<p>Para evitar que Rmail maneje mensajes decodificados MIME, cambie la variable rmail-enable-mime a nil. En este caso, el comando v (rmail-mime) crea un búfer temporal para mostrar el mensaje MIME actual.</p>
<p>Si el mensaje actual está encriptado, use el comando C-c C-d (rmail-epa-decrypt) para desencriptarlo, usando la librería EasyPG (vea EasyPG en el Manual de Usuario del Asistente EasyPG).</p>
<p>Puede resaltar y activar URLs en el buffer de Rmail usando el modo Goto Address:</p>
<blockquote>
<div><p>(add-hook “rmail-show-message-hook “goto-address-mode)</p>
</div></blockquote>
<p>A continuación, puede navegar por estas URL haciendo clic en ellas con ratón-2 (o con ratón-1 rápidamente) o desplazándose a una y tecleando C-c RET. Véase Activar URLs.</p>
<ol class="arabic simple" start="20">
<li><p>Esta capacidad requiere que Emacs esté compilado con soporte para libxml2 o que tenga instalado el navegador Lynx.</p></li>
</ol>
</section>
<section id="rmail-y-los-sistemas-de-codificacion">
<h2>34.14. Rmail y los Sistemas de Codificación<a class="headerlink" href="#rmail-y-los-sistemas-de-codificacion" title="Link to this heading"></a></h2>
<p>Rmail decodifica automáticamente los mensajes que contienen caracteres no ASCII, igual que hace Emacs con los ficheros que visita y con la salida de los subprocesos. Rmail usa la cabecera estándar “charset=charset” en el mensaje, si la hay, para determinar cómo fue codificado el mensaje por el remitente. Mapea charset en el correspondiente sistema de codificación Emacs (ver Sistemas de Codificación), y usa ese sistema de codificación para decodificar el texto del mensaje. Si la cabecera del mensaje no tiene la especificación “charset”, o si charset no es reconocido, Rmail elige el sistema de codificación con la heurística habitual de Emacs y por defecto (ver Reconociendo Sistemas de Codificación).</p>
<p>Ocasionalmente, un mensaje se decodifica incorrectamente, bien porque Emacs adivinó el sistema de codificación equivocado en ausencia de la especificación “charset”, o bien porque la especificación era inexacta. Por ejemplo, un mailer mal configurado podría enviar un mensaje con una cabecera “charset=iso-8859-1” cuando en realidad el mensaje está codificado en koi8-r. Si ve el texto del mensaje distorsionado, o algunos de sus caracteres se muestran como códigos hexadecimales o casillas vacías, es posible que haya ocurrido esto.</p>
<p>Puede corregir el problema decodificando de nuevo el mensaje usando el sistema de codificación correcto, si puede averiguar o adivinar cuál es el correcto. Para ello, invoque el comando M-x rmail-redecode-body. Este comando lee el nombre de un sistema de codificación y luego vuelve a codificar el mensaje usando el sistema de codificación especificado. Si ha especificado el sistema de codificación correcto, el resultado debería ser legible.</p>
<p>Cuando recibe correo nuevo en Rmail, cada mensaje se traduce automáticamente desde el sistema de codificación en el que está escrito, como si fuera un fichero independiente. Esto usa la lista prioritaria de sistemas de codificación que usted haya especificado. Si un mensaje MIME especifica un juego de caracteres, Rmail obedece esa especificación. Para leer y guardar archivos Rmail, Emacs usa el sistema de codificación especificado por la variable rmail-file-coding-system. El valor por defecto es nil, lo que significa que los ficheros Rmail no se traducen (se leen y escriben en el código de caracteres interno de Emacs).</p>
</section>
<section id="edicion-dentro-de-un-mensaje">
<h2>34.15 Edición Dentro de un Mensaje<a class="headerlink" href="#edicion-dentro-de-un-mensaje" title="Link to this heading"></a></h2>
<p>La mayoría de las combinaciones de teclas habituales de Emacs están disponibles en el modo Rmail, aunque unas pocas, como C-M-n y C-M-h, son redefinidas por Rmail para otros propósitos. Sin embargo, el búfer de Rmail es normalmente de sólo lectura, y la mayoría de las letras son redefinidas como comandos de Rmail. Si desea editar el texto de un mensaje, debe usar el comando e de Rmail.</p>
<dl class="simple">
<dt>e</dt><dd><p>Edita el mensaje actual como texto normal.</p>
</dd>
</dl>
<p>El comando e (rmail-edit-current-message) cambia del modo Rmail al modo Rmail Edit, otro modo principal que es casi igual al modo Text. La línea de modo indica este cambio.</p>
<p>En el modo Edición de Rmail, las letras se insertan como de costumbre y los comandos de Rmail no están disponibles. Puede editar el cuerpo del mensaje y los campos de cabecera. Cuando termine de editar el mensaje, escriba C-c C-c (rmail-cease-edit) para volver al modo Rmail. Alternativamente, puede volver al modo Rmail pero cancelar cualquier edición que haya realizado, tecleando C-c C-] (rmail-abort-edit).</p>
<p>Al entrar en el modo de edición de Rmail se ejecuta el gancho text-mode-hook; después se ejecuta el gancho rmail-edit-mode-hook (ver Ganchos). Al volver al modo ordinario de Rmail se añade el atributo “edited” (editado) al mensaje, si se ha hecho algún cambio en él (ver Atributos de Rmail).</p>
</section>
<section id="mensajes-de-sintesis">
<h2>34.16 Mensajes de Síntesis<a class="headerlink" href="#mensajes-de-sintesis" title="Link to this heading"></a></h2>
<p>Un mensaje digest es un mensaje que existe para contener y transportar varios otros mensajes. Los compendios o resúmenes se usan en algunas listas de correo; todos los mensajes que llegan a la lista durante un periodo de tiempo como un día se ponen dentro de un solo compendio que luego se envía a los suscriptores. Transmitir el resumen único usa menos tiempo de ordenador que transmitir los mensajes individuales aunque el tamaño total sea el mismo, debido a la sobrecarga por mensaje en la transmisión de correo en red.</p>
<p>Cuando reciba un mensaje de resumen, la forma más cómoda de leerlo es desdigerirlo: volver a convertirlo en muchos mensajes individuales. Así podrá leer y borrar los mensajes individuales según le convenga. Para ello, seleccione el mensaje digerido y escriba el comando M-x undigestify-rmail-message. Esto extrae los submensajes como mensajes Rmail separados y los inserta a continuación del resumen. El propio mensaje de resumen se marca como eliminado.</p>
</section>
<section id="lectura-de-mensajes-rot13">
<h2>34.17 Lectura de mensajes Rot13<a class="headerlink" href="#lectura-de-mensajes-rot13" title="Link to this heading"></a></h2>
<p>Los mensajes de las listas de correo que pueden ofender o molestar a algunos lectores a veces se codifican en un código simple llamado rot13, llamado así porque rota el alfabeto en 13 letras. Este código no es para mantener el secreto, ya que no proporciona ninguno; más bien, permite a aquellos que lo deseen evitar ver el texto real del mensaje. Por ejemplo, la crítica de una película podría usar rot13 para ocultar puntos importantes de la trama.</p>
<p>Para ver un búfer que usa el código rot13, use el comando M-x rot13-otra-ventana. Esto muestra el búfer actual en otra ventana que aplica el código al mostrar el texto.</p>
<p>Si sólo le interesa una región, es preferible utilizar el comando M-x rot13-region. Esto cifrará/descifrará la región activa en su lugar. Si el búfer es de sólo lectura, intentará mostrar el texto sin formato en el área de eco. Si el texto es demasiado largo para el área de eco, el comando abrirá un búfer temporal con el texto cifrado/descifrado.</p>
</section>
<section id="programa-movemail">
<h2>34.18 Programa movemail<a class="headerlink" href="#programa-movemail" title="Link to this heading"></a></h2>
<p>Rmail usa el programa movemail para mover el correo de su bandeja de entrada a su archivo de Rmail (vea Archivos y Bandejas de Entrada de Rmail). Cuando se carga por primera vez, Rmail intenta localizar el programa movemail y determinar su versión. Hay dos versiones del programa movemail: la versión GNU Mailutils (ver movemail en GNU mailutils), y una versión específica de Emacs que se construye e instala a menos que Emacs haya sido configurado with-mailutils en efecto. Las dos versiones de movemail soportan la misma sintaxis de línea de comandos y el mismo subconjunto básico de opciones. Sin embargo, la versión Mailutils ofrece características adicionales y es más segura.</p>
<p>La versión Emacs de movemail puede recuperar correo de los formatos habituales de buzón Unix. Atención: Aunque también puede usar el protocolo POP3, esto no es recomendable porque no soporta POP3 a través de canales TLS encriptados.</p>
<p>La versión Mailutils es capaz de manejar un amplio conjunto de formatos de buzón, como buzones Unix planos, buzones maildir y MH, etc. Es capaz de acceder a buzones remotos usando el protocolo POP3 o IMAP4, y puede recuperar correo de ellos usando un canal encriptado TLS. También acepta argumentos de buzón en forma de URL. La descripción detallada de las URL de buzón puede encontrarse en URL en Formatos de URL de buzón. En resumen, una URL es:</p>
<blockquote>
<div><p>proto://[usuario[:contraseña]&#64;]host-o-nombre-archivo[:puerto]</p>
</div></blockquote>
<p>donde los corchetes denotan elementos opcionales.</p>
<dl class="simple">
<dt>proto</dt><dd><p>Especifica el protocolo o formato de buzón que se usará. La semántica exacta del resto de elementos URL depende del valor real de proto (véase más abajo).</p>
</dd>
<dt>usuario</dt><dd><p>Nombre de usuario para acceder al buzón remoto.</p>
</dd>
<dt>contraseña</dt><dd><p>Contraseña de usuario para acceder al buzón remoto.</p>
</dd>
<dt>host-o-nomre-archivo</dt><dd><p>Nombre de host del servidor remoto para buzones remotos o nombre de archivo de un buzón local.</p>
</dd>
<dt>puerto</dt><dd><p>Número de puerto opcional, si no es el predeterminado para ese protocolo.</p>
</dd>
</dl>
<p>proto puede ser uno de los siguientes:</p>
<p>Formato de buzón Unix habitual. En este caso, usuario, contraseña y puerto no se usan, y host-o-nombre-archivo denota el nombre del archivo del buzón, por ejemplo, mbox:///var/spool/mail/juan.</p>
<dl class="simple">
<dt>mh</dt><dd><p>Un buzón local en formato MH. no se usan usuario, contraseña ni puerto. host-or-nombre-achivo indica el nombre de la carpeta MH, por ejemplo, mh:///Mail/inbox.</p>
</dd>
<dt>maildir</dt><dd><p>Un buzón local en formato maildir. No se usan usuario, contraseña ni puerto, y host-or-nombre-archivo indica el nombre del buzón maildir, por ejemplo, maildir:///mail/inbox.</p>
</dd>
<dt>file</dt><dd><p>Cualquier archivo local en formato buzón. Su formato real es detectado automáticamente por movemail.</p>
</dd>
</dl>
<p>pop
pops</p>
<blockquote>
<div><p>El usuario especifica el nombre de usuario remoto que se usará, la contraseña se puede especificar con la palabra contraseña pass, el nombre de host o archivo es el nombre o la
dirección IP del servidor de correo remoto al que se conectará y el puerto es el número de puerto; por ejemplo, <a class="reference external" href="pop://juan:guessme&#64;remote.server.net:995">pop://juan:guessme&#64;remote.server.net:995</a>. Si el servidor lo admite,
movemail intentará usar una conexión encriptada; use el formulario “pops” para solicitarla.</p>
</div></blockquote>
<p>imap
impas</p>
<blockquote>
<div><p>Un buzón remoto al que se accede mediante el protocolo IMAP4. usuario especifica el nombre de usuario remoto que se va a usar, contraseña se puede usar para especificar la contraseña
del usuario, host-o-nombre-archivo es el nombre o la dirección IP del servidor de correo remoto al que se va a conectar y puerto es el número de puerto; por ejemplo,
<a class="reference external" href="imap://juan:guessme&#64;remote.server.net:993">imap://juan:guessme&#64;remote.server.net:993</a>. Si el servidor lo admite, movemail intentará usar una conexión encriptada; usa el formulario “imaps” para solicitarla.</p>
</div></blockquote>
<p>Alternativamente, puede especificar el nombre de archivo del buzón a usar. Esto equivale a especificar el protocolo “file”:</p>
<blockquote>
<div><p>/var/spool/mail/usuario ≡ <a class="reference external" href="file:///var/spool/mail/usuario">file:///var/spool/mail/usuario</a></p>
</div></blockquote>
<p>La variable rmail-movemail-program controla qué versión de movemail usar. Si es una cadena, especifica el nombre de archivo absoluto del ejecutable de movemail. Si es nil, Rmail busca movemail en los directorios listados en rmail-movemail-search-path, luego en exec-path (ver Ejecutando Comandos Shell desde Emacs), luego en exec-directory.</p>
</section>
<section id="recuperar-correo-de-buzones-remotos">
<h2>34.19. Recuperar Correo de Buzones Remotos<a class="headerlink" href="#recuperar-correo-de-buzones-remotos" title="Link to this heading"></a></h2>
<p>Algunos sitios usan un método llamado POP3 para acceder a los datos de la bandeja de entrada de los usuarios en lugar de almacenar los datos en archivos de la bandeja de entrada. El movemail de Mailutils soporta por defecto POP3 con encriptación TLS. Advertencia: Aunque el movemail de Emacs soporta POP3, no se recomienda usarlo para esto ya que no soporta conexiones encriptadas-la versión de Mailutils sí. Ambas versiones de movemail sólo funcionan con POP3, no con versiones antiguas de POP.</p>
<p>Puede especificar una bandeja de entrada POP3 usando una URL POP3 (vea el programa movemail). Una URL POP3 tiene la forma “<a class="reference external" href="pop://nombredeusuario&#64;nombredehost:puerto">pop://nombredeusuario&#64;nombredehost:puerto</a>”, donde nombre de host y puerto son el nombre de host (o dirección IP) y el número de puerto del servidor de correo remoto y nombre de usuario es el nombre de usuario en ese servidor. Además, puede especificar la contraseña en la URL del buzón: <a class="reference external" href="pop://nombredeusuario">pop://nombredeusuario</a>:contraseña&#64;nombredehost:puerto”. En este caso, la contraseña tiene preferencia sobre la establecida por rmail-remote-password (ver más abajo). Esto es especialmente útil si tiene varios buzones remotos con diferentes contraseñas. Si usa Mailutils movemail, puede usar “pops” en lugar de “pop”.</p>
<p>Por compatibilidad con versiones anteriores, Rmail también admite una forma alternativa de especificar buzones POP3 remotos. Especificar un nombre de buzón en la forma “po:nombreusuario:nombrehost:puerto” es equivalente a “pop://nombreusuario&#64;nombrehost:puerto”. Si omite la parte :hostname, la variable de entorno MAILHOST especifica la máquina en la que buscar el servidor POP3.</p>
<p>Otro método para acceder a buzones remotos es IMAP. Este método sólo está soportado por Mailutils movemail. Para especificar un buzón IMAP en la lista de buzones de entrada, use la siguiente URL de buzón: “<a class="reference external" href="imap:/">imap:/</a>/nombredeusuario[:contraseña]&#64;nombredehost:puerto”. La parte de la contraseña es opcional, como se ha descrito anteriormente. Puede usar “imaps” en lugar de “imap”.</p>
<p>El acceso a un buzón remoto puede requerir una contraseña. Rmail usa el siguiente algoritmo para recuperarla:</p>
<blockquote>
<div><p>1 Si hay una contraseña en la URL del buzón (véase más arriba), se usa.</p>
<p>2 Si la variable rmail-remote-password-required es nil, Rmail asume que no se requiere contraseña.</p>
<p>3 Si la variable rmail-remote-password es distinta de nil, se usa su valor.</p>
<p>4 En caso contrario, Rmail le preguntará por la contraseña a usar.</p>
</div></blockquote>
<p>En algunos servidores de correo los nombres de usuario incluyen información de dominio, lo que puede significar que contengan el carácter “&#64;”. La cadena especificadora de la bandeja de entrada usa “&#64;” para señalar el inicio del nombre del servidor de correo. Esto crea confusión para movemail. Si su nombre de usuario contiene “&#64;” y está usando Mailutils movemail entonces puede arreglar esto: Reemplace &#64; en el nombre de usuario por su codificación URL “%40”.</p>
<p>Si necesita pasar banderas de línea de comandos adicionales a movemail, establezca la variable rmail-movemail-flags una lista de las banderas que desea usar. No use esta variable para pasar la bandera “-p” para preservar el contenido de su bandeja de entrada; use rmail-preserve-inbox en su lugar.</p>
<p>Es posible que el programa movemail instalado en su sitio admita la autenticación Kerberos. Si la admite, la usará por defecto siempre que intente recuperar correo POP3 cuando rmail-remote-password y rmail-remote-password-required no estén configurados.</p>
<p>Algunos servidores POP3 almacenan los mensajes en orden inverso. Si su servidor hace esto, y prefiere leer su correo en el orden en que fue recibido, puede decirle a movemail que invierta el orden de los mensajes descargados añadiendo la bandera “-r” a rmail-movemail-flags.</p>
<p>Mailutils movemail soporta encriptación TLS. Si desea usarlo, añada la opción “tls” a rmail-movemail-flags.</p>
</section>
<section id="recuperacion-de-correo-de-buzones-locales-en-varios-formatos">
<h2>34.20. Recuperación de Correo de Buzones Locales en Varios Formatos<a class="headerlink" href="#recuperacion-de-correo-de-buzones-locales-en-varios-formatos" title="Link to this heading"></a></h2>
<p>Si su correo entrante está almacenado en una máquina local en un formato distinto al buzón Unix, necesitará el programa movemail de Mailutils para recuperarlo. Véase el Programa movemail, para una descripción detallada de las distintas versiones de este. Por ejemplo, para acceder al correo de un buzón en formato maildir ubicado en /var/spool/mail/in, deberá incluir lo siguiente en la lista de buzones de Rmail:</p>
<blockquote>
<div><p>maildir:///var/spool/mail/in</p>
</div></blockquote>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="33_EnvioDeCorreo.html" class="btn btn-neutral float-left" title="33 Envío de Correo" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="35_EmailNotcUsnt.html" class="btn btn-neutral float-right" title="35 Correo Electrónico y Noticias de Usenet con Gnus" 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>

View File

@ -0,0 +1,247 @@
<!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>35 Correo Electrónico y Noticias de Usenet con Gnus &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="36 Seguridad del Host (Anfitrión)" href="36_SegHost.html" />
<link rel="prev" title="34 Lectura del Correo con Rmail" href="34_LectCorreoRmail.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">35 Correo Electrónico y Noticias de Usenet con Gnus</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#buffers-de-gnus">35.1 Buffers de Gnus</a></li>
<li class="toctree-l2"><a class="reference internal" href="#cuando-inicia-gnus">35.2 Cuando Inicia Gnus</a></li>
<li class="toctree-l2"><a class="reference internal" href="#usar-el-bufer-de-grupo-gnus">35.3 Usar el Búfer de Grupo Gnus</a></li>
<li class="toctree-l2"><a class="reference internal" href="#usar-el-bufer-de-resumen-de-gnus">35.4 Usar el Búfer de Resumen de Gnus</a></li>
</ul>
</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>
</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">35 Correo Electrónico y Noticias de Usenet con Gnus</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/35_EmailNotcUsnt.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="correo-electronico-y-noticias-de-usenet-con-gnus">
<h1>35 Correo Electrónico y Noticias de Usenet con Gnus<a class="headerlink" href="#correo-electronico-y-noticias-de-usenet-con-gnus" title="Link to this heading"></a></h1>
<p>Gnus es un paquete de Emacs diseñado principalmente para leer y publicar noticias de Usenet. También se puede usar para leer y responder a mensajes de otras fuentes: correo electrónico, directorios remotos, resúmenes, etc. Aquí presentamos Gnus y describimos algunas de sus características básicas. Para más detalles, consulte Gnus en El Manual de Gnus.</p>
<section id="buffers-de-gnus">
<h2>35.1 Buffers de Gnus<a class="headerlink" href="#buffers-de-gnus" title="Link to this heading"></a></h2>
<p>Gnus usa varios buffers para mostrar información y recibir órdenes. Los tres búferes más usados por Gnus son el búfer de grupo, el búfer de resumen y el búfer de artículo.</p>
<p>El búfer de grupo contiene una lista de fuentes de artículos (por ejemplo, grupos de noticias y bandejas de entrada de correo electrónico), que se denominan colectivamente grupos. Este es el primer búfer que Gnus muestra cuando se inicia. Normalmente sólo muestra los grupos a los que está suscrito y que contienen artículos no leídos. Desde este buffer, puede seleccionar un grupo para leer.</p>
<p>El búfer de resumen enumera los artículos de un solo grupo, mostrando un artículo por línea. Por defecto, muestra el autor, el asunto y el número de línea de cada artículo, pero esto se puede personalizar; consulte Formato del Búfer de Resumen en el Manual de Gnus. El búfer de sumario se crea cuando selecciona un grupo en el búfer de grupo, y se elimina cuando sale del grupo.</p>
<p>Desde el búfer de resúmenes, puede seleccionar un artículo para verlo. El artículo se muestra en el búfer de artículos. En el uso normal de Gnus, Usted ve este buffer pero no lo selecciona, todos los comandos útiles de Gnus pueden ser invocados desde el búfer de resumen. Pero puede seleccionar el búfer de artículos y ejecutar comandos Gnus desde él, si lo desea.</p>
</section>
<section id="cuando-inicia-gnus">
<h2>35.2 Cuando Inicia Gnus<a class="headerlink" href="#cuando-inicia-gnus" title="Link to this heading"></a></h2>
<p>Si su sistema ha sido configurado para leer noticias de Usenet, empezar con Gnus es fácil - simplemente teclee M-x gnus.</p>
<p>Al arrancar, Gnus lee su fichero de inicialización de noticias: un fichero llamado .newsrc en su directorio personal que lista sus grupos de noticias de Usenet y suscripciones (este fichero no es exclusivo de Gnus; es usado por muchos otros programas lectores de noticias). A continuación, intenta ponerse en contacto con el servidor de noticias predeterminado del sistema, que normalmente se especifica mediante la variable de entorno NNTPSERVER.</p>
<p>Si su sistema no tiene un servidor de noticias por defecto, o si desea usar Gnus para leer correo electrónico, entonces antes de invocar M-x gnus necesita decirle a Gnus dónde obtener noticias y/o correo. Para ello, personalice las variables gnus-select-method y/o gnus-secondary-select-methods. Vea Encontrando las Noticias en El Manual de Gnus.</p>
<p>Una vez que Gnus ha arrancado, muestra el búfer de grupos. Por defecto, el búfer de grupos muestra sólo un pequeño número de grupos suscritos. Los grupos con otros estados -no suscritos, muertos o zombis- están ocultos. La primera vez que inicie Gnus, cualquier grupo al que no esté suscrito se convierte en un grupo muerto; cualquier grupo que aparezca posteriormente en el servidor de noticias se convierte en un grupo zombi.</p>
<p>Para continuar, debe seleccionar un grupo en el buffer de grupos para abrir el búfer de resumen de ese grupo; después, seleccione un artículo en el buffer de resumen para ver su buffer de artículos en una ventana separada. En las secciones siguientes se explica cómo usar el búfer de grupo y el de sumario para hacer esto.</p>
<p>Para salir de Gnus, escriba q en el búfer de grupo. Esto registra automáticamente sus estados de grupo en los archivos .newsrc y .newsrc.eld, para que tengan efecto en sesiones posteriores de Gnus.</p>
</section>
<section id="usar-el-bufer-de-grupo-gnus">
<h2>35.3 Usar el Búfer de Grupo Gnus<a class="headerlink" href="#usar-el-bufer-de-grupo-gnus" title="Link to this heading"></a></h2>
<p>Los siguientes comandos están disponibles en el buffer de grupo Gnus:</p>
<dl class="simple">
<dt>SPC</dt><dd><p>Pasa al búfer de resumen del grupo en la línea actual (gnus-group-read-group).</p>
</dd>
</dl>
<p>l
A s</p>
<blockquote>
<div><p>En el búfer de grupos, enumera sólo los grupos a los que está suscrito y que contienen artículos no leídos (gnus-group-list-groups; éste es el listado por defecto).</p>
</div></blockquote>
<p>L
A u</p>
<blockquote>
<div><p>Lista todos los grupos suscritos y no suscritos, pero no los grupos muertos o zombis (gnus-group-list-all-groups).</p>
</div></blockquote>
<dl class="simple">
<dt>A k</dt><dd><p>Lista los grupos muertos (gnus-group-list-killed).</p>
</dd>
<dt>A z</dt><dd><p>Lista los grupos zombis (gnus-group-list-zombies).</p>
</dd>
<dt>u</dt><dd><p>Cambia el estado de suscripción del grupo (gnus-group-toggle-subscription-at-point) en la línea actual. Invocar esto en un grupo muerto o zombi lo convierte en un grupo no suscrito.</p>
</dd>
<dt>C-k</dt><dd><p>Elimina el grupo en la línea actual (gnus-group-kill-group). Los grupos eliminados no se registran en el archivo .newsrc y no se muestran en los listados l o L.</p>
</dd>
<dt>DEL</dt><dd><p>Mueve el punto al grupo anterior que contiene artículos no leídos (gnus-group-prev-unread-group).</p>
</dd>
<dt>n</dt><dd><p>Mueve el punto al siguiente grupo no leído (gnus-group-next-unread-group).</p>
</dd>
<dt>p</dt><dd><p>Mueve el punto al grupo anterior no leído (gnus-group-prev-unread-group).</p>
</dd>
<dt>q</dt><dd><p>Actualiza la configuración de Gnus y cierra Gnus (gnus-group-exit).</p>
</dd>
</dl>
</section>
<section id="usar-el-bufer-de-resumen-de-gnus">
<h2>35.4 Usar el Búfer de Resumen de Gnus<a class="headerlink" href="#usar-el-bufer-de-resumen-de-gnus" title="Link to this heading"></a></h2>
<p>Los siguientes comandos están disponibles en el buffer de resumen de Gnus:</p>
<dl>
<dt>SPC</dt><dd><p>Si no hay ningún artículo seleccionado, seleccione el artículo en la línea actual y muestra su búfer de artículos. En caso contrario, intente desplazarse por el búfer de artículos
seleccionados en su ventana; al llegar al final del búfer, seleccione el siguiente artículo no leído (gnus-summary-next-page).</p>
<p>Así, puede leer todos los artículos tecleando repetidamente SPC.</p>
</dd>
<dt>DEL</dt><dd><p>Desplaza el texto del artículo hacia atrás (gnus-summary-prev-page).</p>
</dd>
<dt>n</dt><dd><p>Selecciona el siguiente artículo sin leer (gnus-summary-next-unread-article).</p>
</dd>
<dt>p</dt><dd><p>Selecciona el anterior artículo sin leer (gnus-summary-prev-unread-article).</p>
</dd>
<dt>s</dt><dd><p>Realiza una búsqueda incremental en el búfer del artículo seleccionado (gnus-summary-isearch-article), como si cambiara a él y tecleara C-s (véase Búsqueda Incremental).</p>
</dd>
<dt>M-s M-s expreg RET</dt><dd><p>Busca hacia adelante artículos que contengan una coincidencia para expreg (gnus-summary-search-article-forward).</p>
</dd>
<dt>M-r expreg RET</dt><dd><p>Busca hacia atrás artículos que contengan una coincidencia para expreg (gnus-summary-search-article-backward).</p>
</dd>
<dt>q</dt><dd><p>Sale del búfer de resumen y vuelve al búfer de grupo (gnus-summary-exit).</p>
</dd>
</dl>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="34_LectCorreoRmail.html" class="btn btn-neutral float-left" title="34 Lectura del Correo con Rmail" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="36_SegHost.html" class="btn btn-neutral float-right" title="36 Seguridad del Host (Anfitrión)" 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>

View File

@ -0,0 +1,166 @@
<!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>36 Seguridad del Host (Anfitrió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="37 Seguridad en Red" href="37_SegEnRed.html" />
<link rel="prev" title="35 Correo Electrónico y Noticias de Usenet con Gnus" href="35_EmailNotcUsnt.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">36 Seguridad del Host (Anfitrión)</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/36_SegHost.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="seguridad-del-host-anfitrion">
<h1>36 Seguridad del Host (Anfitrión)<a class="headerlink" href="#seguridad-del-host-anfitrion" title="Link to this heading"></a></h1>
<p>Emacs se ejecuta dentro de un sistema operativo como GNU/Linux, y depende del sistema operativo para comprobar las restricciones de seguridad como los accesos a ficheros. Las configuraciones por defecto de Emacs están diseñadas para un uso típico; pueden requerir algunas adaptaciones en entornos donde la seguridad es más preocupante, o menos preocupante, de lo habitual. Por ejemplo, las variables locales de fichero pueden ser arriesgadas, y puede establecer la variable enable-local-variables a :safe o (incluso más conservador) a nil; por el contrario, si todos sus ficheros son de confianza y la comprobación por defecto de estas variables es irritante, puede establecer enable-local-variables a :all. Vea Seguridad de las Variables de Archivo.</p>
<p>Vea Consideraciones de Seguridad en El Manual de Referencia de Emacs Lisp, para más información sobre consideraciones de seguridad cuando se usa Emacs como parte de una aplicación mayor.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="35_EmailNotcUsnt.html" class="btn btn-neutral float-left" title="35 Correo Electrónico y Noticias de Usenet con Gnus" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="37_SegEnRed.html" class="btn btn-neutral float-right" title="37 Seguridad en Red" 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>

View File

@ -0,0 +1,236 @@
<!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>37 Seguridad en Red &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="38 Visualización de Documentos" href="38_VisualizDeDoc.html" />
<link rel="prev" title="36 Seguridad del Host (Anfitrión)" href="36_SegHost.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">37 Seguridad en Red</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/37_SegEnRed.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="seguridad-en-red">
<h1>37 Seguridad en Red<a class="headerlink" href="#seguridad-en-red" title="Link to this heading"></a></h1>
<p>Siempre que Emacs establece cualquier conexión de red, pasa la conexión establecida al Gestor de Seguridad de Red (NSM). NSM es responsable de reforzar la seguridad de la red bajo su control. Actualmente, esto funciona utilizando las características de Seguridad de la Capa de Transporte (TLS).</p>
<p>La variable network-security-level determina el nivel de seguridad que aplica NSM. Si su valor es bajo, no se realiza ninguna comprobación de seguridad. Esto no es recomendable, y básicamente significará que no se puede confiar en tus conexiones de red. Sin embargo, esta configuración puede ser útil en circunstancias limitadas, como cuando se prueban problemas de red.</p>
<p>Si esta variable es media (que es el valor predeterminado), se realizarán una serie de comprobaciones. Si como resultado NSM determina que la conexión de red puede no ser de confianza, se lo hará saber, y le preguntará qué hacer con la conexión de red.</p>
<p>Puede decidir registrar una excepción de seguridad permanente para una conexión no verificada, una excepción temporal o rechazar la conexión por completo.</p>
<p>Además de las comprobaciones básicas de corrección de certificados, hay disponibles varias comprobaciones de algoritmos TLS. Algunas tecnologías de cifrado que antes se consideraban seguras han demostrado ser frágiles, por lo que Emacs (por defecto) le advierte de algunos de estos problemas.</p>
<p>El protocolo que comprueba la red se controla mediante la variable network-security-protocol-checks.</p>
<p>Es una lista donde el primer elemento de cada asociación es el nombre de la comprobación, y el segundo elemento es el nivel de seguridad donde la comprobación debería ser usada.</p>
<p>Un elemento como (rc4 medium) resultará en que la función nsm-protocol-checkrc4 sea llamada así: (nsm-protocol-checkrc4 host port status settings). La función debe devolver no nil si la conexión debe proceder y nil en caso contrario.</p>
<p>A continuación se muestra una lista de las comprobaciones realizadas en el nivel medio por defecto.</p>
<p>No se puede verificar un certificado TLS</p>
<blockquote>
<div><p>Si la conexión es TLS, SSL o STARTTLS, NSM comprobará si se puede verificar el certificado utilizado para establecer la identidad del servidor al que nos estamos conectando.</p>
<p>Aunque un certificado no válido suele ser motivo de preocupación (podría haber un Man-in-the-Middle (hombre en el medio) apropiándose de su conexión de red y robando su contraseña),
puede haber razones válidas para seguir adelante con la conexión de todos modos. Por ejemplo, puede que el servidor utilice un certificado autofirmado o que el certificado haya
caducado. Depende de Usted determinar si es aceptable continuar con la conexión.</p>
</div></blockquote>
<p>un certificado autofirmado ha cambiado</p>
<blockquote>
<div><p>Si previamente has aceptado un certificado autofirmado, pero ahora ha cambiado, eso podría significar que el servidor acaba de cambiar el certificado, pero también podría significar
que la conexión de red ha sido secuestrada.</p>
</div></blockquote>
<p>conexión previamente encriptada ahora desencriptada</p>
<blockquote>
<div><p>Si la conexión está sin cifrar, pero estaba cifrada en sesiones anteriores, esto podría significar que hay un proxy entre Usted y el servidor que elimina los anuncios STARTTLS,
dejando la conexión sin cifrar. Esto suele ser muy sospechoso.</p>
</div></blockquote>
<p>Hablar con un servicio no encriptado al enviar una contraseña.</p>
<blockquote>
<div><p>Cuando se conecta a un servidor IMAP o POP3, normalmente debería estar encriptado, porque es habitual enviar contraseñas a través de estas conexiones. Del mismo modo, si envía correo
electrónico a través de SMTP que requiera una contraseña, normalmente querrá que esa conexión esté cifrada. Si la conexión no está cifrada, NSM le avisará.</p>
</div></blockquote>
<p>Diffie-Hellman con pocos bits de alta prioridad</p>
<blockquote>
<div><p>Al realizar el intercambio de clave pública, el número de bits de primera prioridad debe ser lo suficientemente alto como para garantizar que el canal no pueda ser interceptado por
terceros. Si este número es demasiado bajo, Emacs le avisará. (Esta es la comprobación diffie-hellman-prime-bits en network-security-protocol-checks).</p>
</div></blockquote>
<p>Cifrado de flujo RC4</p>
<blockquote>
<div><p>Se cree que el cifrado de flujo RC4 es de baja calidad y puede permitir escuchas por parte de terceros. (Esta es la comprobación rc4 en network-security-protocol-checks).</p>
</div></blockquote>
<p>SHA1 en el certificado del host o en certificados intermedios</p>
<blockquote>
<div><p>Se cree que si un certificado intermedio utiliza el algoritmo hash SHA1, terceros pueden emitir certificados haciéndose pasar por esa instancia emisora. Por tanto, estas conexiones
son vulnerables a los ataques de hombre en el medio. (Se trata de las comprobaciones signature-sha1 e intermediate-sha1 en network-security-protocol-checks).</p>
</div></blockquote>
<p>SSL1, SSL2 y SSL3</p>
<blockquote>
<div><p>Se cree que los protocolos anteriores a TLS1.0 son vulnerables a una variedad de ataques, y es posible que desee evitar el uso de estos si lo que está haciendo requiere una mayor
seguridad. (Esta es la comprobación ssl en network-security-protocol-checks).</p>
</div></blockquote>
<p>Si network-security-level es alto, se harán las siguientes comprobaciones, además de las anteriores:</p>
<p>Cifrado 3DES</p>
<blockquote>
<div><p>El cifrado de flujo 3DES proporciona como máximo 112 bits de seguridad efectiva, lo que se considera un nivel bajo. (Esta es la comprobación 3des en network-security-protocol-checks).</p>
</div></blockquote>
<p>un certificado validado cambia la clave pública</p>
<blockquote>
<div><p>Los servidores cambian sus claves de vez en cuando, y normalmente no hay de qué preocuparse. Sin embargo, si le preocupa que sus conexiones de red estén siendo secuestradas por
agencias que tienen acceso a Autoridades de Certificación flexibles que emiten nuevos certificados para servicios de terceros, es posible que quiera estar al tanto de estos cambios.</p>
</div></blockquote>
<p>Por último, si el nivel de seguridad de la red es paranoico, también se le notificará la primera vez que NSM vea cualquier certificado nuevo. Esto te permitirá inspeccionar todos los certificados de todas las conexiones que haga Emacs.</p>
<p>Las siguientes variables adicionales pueden utilizarse para controlar detalles del funcionamiento del NSM:</p>
<p>nsm-settings-file</p>
<blockquote>
<div><p>Este es el archivo donde NSM almacena los detalles sobre las conexiones. Por defecto es ~/.emacs.d/network-security.data.</p>
</div></blockquote>
<p>nsm-save-host-names</p>
<blockquote>
<div><p>Por defecto, los nombres de host no se guardan para conexiones no STARTTLS. En su lugar se usa un hash host/puerto para identificar las conexiones. Esto significa que no se puede leer
casualmente el archivo de configuración para ver a qué servidores se ha conectado el usuario. Si esta variable es t, NSM también guardará los nombres de host en el archivo
nsm-settings.</p>
</div></blockquote>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="36_SegHost.html" class="btn btn-neutral float-left" title="36 Seguridad del Host (Anfitrión)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="38_VisualizDeDoc.html" class="btn btn-neutral float-right" title="38 Visualización de Documentos" 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>

View File

@ -0,0 +1,195 @@
<!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>38 Visualización de Documentos &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="39 Ejecución de comandos de shell desde Emacs" href="39_ComndShellEmacs.html" />
<link rel="prev" title="37 Seguridad en Red" href="37_SegEnRed.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">38 Visualización de Documentos</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/38_VisualizDeDoc.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="visualizacion-de-documentos">
<h1>38 Visualización de Documentos<a class="headerlink" href="#visualizacion-de-documentos" title="Link to this heading"></a></h1>
<p>El modo DocView es un modo principal para visualizar documentos DVI, PostScript (PS), PDF, OpenDocument, Microsoft Office, EPUB, CBZ, FB2, XPS y OXPS. Ofrece funciones como el corte, el zoom y la búsqueda dentro de los documentos. Funciona convirtiendo el documento en un conjunto de imágenes mediante los comandos gs (GhostScript) o pdfdraw/mutool draw (MuPDF) y otras herramientas externas, y luego muestra esas imágenes convertidas.</p>
<p>Cuando visita un archivo de documento que puede visualizarse con el modo DocView, Emacs utiliza automáticamente ese modo 21. Como excepción, cuando visita un fichero PostScript, Emacs cambia a modo PS, un modo mayor para editar ficheros PostScript como texto; sin embargo, también activa el modo menor DocView, de modo que puede teclear C-c C-c para ver el documento con DocView. Tanto en modo DocView como en modo DocView menor, repitiendo C-c C-c (doc-view-toggle-display) se alterna entre DocView y el contenido del archivo subyacente.</p>
<p>Cuando visita un archivo que normalmente sería manejado por el modo DocView pero no se cumple algún requisito (por ejemplo, opera en un marco de terminal o Emacs no tiene soporte PNG), se le pregunta si desea ver el contenido del documento como texto plano. Si confirma, el buffer se pone en modo texto y se activa el modo menor DocView. Así, tecleando C-c C-c se cambia al modo menor. Con otro C-c C-c se vuelve al modo DocView. El contenido de texto plano también puede visualizarse desde el modo DocView tecleando C-c C-t (doc-view-open-text).</p>
<p>Puede activar explícitamente el modo DocView con el comando M-x doc-view-mode. Puede activar el modo menor de DocView con M-x doc-view-minor-mode.</p>
<p>Cuando el modo DocView se inicia, muestra una pantalla de bienvenida y comienza a formatear el archivo, página por página. Muestra la primera página una vez que ha sido formateada.</p>
<p>Para eliminar el búfer de DocView, escriba k (doc-view-kill-proc-and-buffer). Para enterrarlo, escriba q (quit-window).</p>
<ol class="arabic simple" start="21">
<li><p>Las herramientas externas necesarias para el tipo de documento deben estar disponibles, y Emacs debe estar ejecutándose en un marco gráfico y tener soporte para imágenes PNG. Si no se cumplen estos requisitos, el Editor vuelve a otro modo principal.</p></li>
</ol>
<p>38.1 Navegación en DocView</p>
<p>En el modo DocView, puede desplazarse por la página actual usando las teclas de movimiento habituales de Emacs: C-p, C-n, C-b, C-f, y las teclas de flecha.</p>
<p>Por defecto, las teclas de movimiento de línea C-p y C-n detienen el desplazamiento al principio y al final de la página actual, respectivamente. Sin embargo, si cambia la variable doc-view-continuous a un valor no nulo, entonces C-p muestra la página anterior si ya se encuentra al principio de la página actual, y C-n muestra la página siguiente si se encuentra al final de la página actual.</p>
<p>También puede visualizar la página siguiente tecleando n, AvPág, siguiente o C-x ] (doc-view-next-page). Para visualizar la página anterior, escriba p, RePág, anterior o C-x [ (doc-view-previous-page).</p>
<p>SPC (doc-view-scroll-up-or-next-page) es una forma cómoda de avanzar por el documento. Se desplaza dentro de la página actual o avanza a la siguiente. DEL se desplaza hacia atrás de forma similar (doc-view-scroll-down-or-previous-page).</p>
<p>Para ir a la primera página, escriba M-&lt; (doc-view-first-page); para ir a la última, escriba M-&gt; (doc-view-last-page). Para saltar a una página por su número, escriba M-g M-g o M-g g (doc-view-goto-page).</p>
<p>Puede ampliar o reducir el documento con + (doc-view-enlarge) y - (doc-view-shrink). Por defecto, estos comandos sólo reescalan la imagen ya renderizada. Si desea que la imagen se vuelva a renderizar con el nuevo tamaño, ajuste doc-view-scale-internally a nil. Para especificar el tamaño por defecto de DocView, personalice la variable doc-view-resolution.</p>
<p>Cuando el programa mutool está disponible, DocView lo usará para generar entradas para un menú de esquema, haciéndolo accesible a través de la facilidad imenu (ver Imenu). Para deshabilitar esta funcionalidad incluso cuando mutool se encuentre en su sistema, personalice la variable doc-view-imenu-enabled al valor nil. Puede personalizar aún más cómo se formatean y muestran los elementos de imenu utilizando las variables doc-view-imenu-format y doc-view-flatten.</p>
<p>38.2 Búsqueda en DocView</p>
<p>En el modo DocView, puede buscar una expresión regular en el texto del fichero (véase Sintaxis de Expresiones Regulares). La interfaz de búsqueda está inspirada en isearch (véase Búsqueda Incremental).</p>
<p>Para iniciar una búsqueda, escriba C-s (doc-view-search) o C-r (doc-view-search-backward). Esto lee una expresión regular utilizando un minibúfer y, a continuación, se hace eco del número de coincidencias encontradas en el documento. Puede avanzar y retroceder entre las coincidencias tecleando C-s y C-r. El modo DocView no tiene forma de mostrar la coincidencia dentro de la imagen de la página; en su lugar, muestra un tooltip (mensaje emergente, en la posición del ratón) listando todas las líneas coincidentes en la página actual. Para forzar la visualización de este tooltip, teclee C-t (doc-view-show-tooltip).</p>
<p>Para iniciar una nueva búsqueda, utilice el comando de búsqueda con un argumento de prefijo; es decir, C-u C-s para una búsqueda hacia delante o C-u C-r para una búsqueda hacia atrás.</p>
<p>38.3 Recorte de DocView</p>
<p>Los documentos suelen tener márgenes amplios para la impresión. Son molestos cuando se lee el documento en la pantalla, porque ocupan espacio y pueden causar un desplazamiento incómodo.</p>
<p>Con DocView puede ocultar estos márgenes seleccionando una porción de páginas para mostrar. Una porción es un rectángulo dentro del área de la página; una vez que especifica una porción en DocView, se aplica a cualquier página que mire.</p>
<p>Para especificar la porción numéricamente, escriba c s (doc-view-set-slice); a continuación, introduzca la posición del píxel superior izquierdo y la anchura y altura de la porción.</p>
<p>Una forma gráfica más cómoda de especificar el corte es con c m (doc-view-set-slice-using-mouse), en la que se utiliza el ratón para seleccionar el corte. Basta con mantener pulsado el botón izquierdo del ratón en la esquina superior izquierda de la región que desea incluir en el corte y, a continuación, mover el puntero del ratón a la esquina inferior derecha y soltar el botón.</p>
<p>La forma más cómoda es establecer el corte óptimo utilizando la información de BoundingBox que se determina automáticamente a partir del documento escribiendo c b (doc-view-set-slice-from-bounding-box).</p>
<p>Para cancelar el corte seleccionado, escriba c r (doc-view-reset-slice). Entonces DocView muestra la página completa incluyendo todos sus márgenes.</p>
<p>38.4 Conversión DocView</p>
<p>Por eficiencia, DocView almacena en caché las imágenes producidas por gs. El nombre del directorio donde se almacenan las imágenes viene dado por la variable doc-view-cache-directory. Puede borrar el directorio de caché escribiendo M-x doc-view-clear-cache.</p>
<p>Para forzar la reconversión del documento actualmente visualizado, escriba r o g (revert-buffer). Para matar el proceso de conversión asociado al búfer actual, escriba K (doc-view-kill-proc). El comando k (doc-view-kill-proc-and-buffer) mata el proceso de conversión y el buffer DocView.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="37_SegEnRed.html" class="btn btn-neutral float-left" title="37 Seguridad en Red" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="39_ComndShellEmacs.html" class="btn btn-neutral float-right" title="39 Ejecución de comandos de shell desde Emacs" 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>

View File

@ -0,0 +1,477 @@
<!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>39 Ejecución de comandos de shell desde Emacs &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="40 Usar Emacs Como Servidor" href="40_EmacsComoServ.html" />
<link rel="prev" title="38 Visualización de Documentos" href="38_VisualizDeDoc.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">39 Ejecución de comandos de shell desde Emacs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#comandos-de-shell-simples">39.1 Comandos de shell Simples</a></li>
<li class="toctree-l2"><a class="reference internal" href="#subcomando-interactivo">39.2 Subcomando Interactivo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#modo-shell">39.3 Modo Shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="#avisos-de-shell">39.4 Avisos de Shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="#historial-de-ordenes-del-shell">39.5 Historial de Órdenes del Shell</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#anillo-del-historial-de-shell">39.5.1 Anillo del Historial de Shell</a></li>
<li class="toctree-l3"><a class="reference internal" href="#copiar-el-historial-del-shell">39.5.2 Copiar el Historial del Shell</a></li>
<li class="toctree-l3"><a class="reference internal" href="#referencias-al-historial-del-shell">39.5.3. Referencias al Historial del Shell</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#seguimiento-de-directorios">39.6 Seguimiento de Directorios</a></li>
<li class="toctree-l2"><a class="reference internal" href="#opciones-del-modo-shell">39.7 Opciones del Modo Shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="#emulador-de-terminal-emacs">39.8 Emulador de Terminal Emacs</a></li>
<li class="toctree-l2"><a class="reference internal" href="#modo-term">39.9 Modo Term</a></li>
<li class="toctree-l2"><a class="reference internal" href="#shell-de-host-remoto">39.10 Shell de Host Remoto</a></li>
<li class="toctree-l2"><a class="reference internal" href="#terminal-en-serie">39.11 Terminal en Serie</a></li>
</ul>
</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>
</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">39 Ejecución de comandos de shell desde Emacs</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/39_ComndShellEmacs.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="ejecucion-de-comandos-de-shell-desde-emacs">
<h1>39 Ejecución de comandos de shell desde Emacs<a class="headerlink" href="#ejecucion-de-comandos-de-shell-desde-emacs" title="Link to this heading"></a></h1>
<p>Emacs tiene instrucciones para pasar líneas de comandos individuales a subprocesos de shell, y para ejecutar un shell interactivamente con entrada y salida a un búfer Emacs, y para ejecutar un shell en una ventana de emulador de terminal.</p>
<dl class="simple">
<dt>M-! cmd RET</dt><dd><p>Ejecuta el comando shell cmd y muestra la salida (shell-command).</p>
</dd>
<dt>M-| cmd RET</dt><dd><p>Ejecuta el comando shell cmd con el contenido de la región como entrada; opcionalmente sustituye la región por la salida (shell-command-on-region).</p>
</dd>
<dt>M-&amp;</dt><dd><p>Ejecuta el comando de shell cmd de forma asíncrona y muestra la salida (async-shell-command).</p>
</dd>
<dt>M-x shell</dt><dd><p>Ejecuta un subshell con entrada y salida a través de un buffer Emacs. A continuación, puede dar órdenes de forma interactiva.</p>
</dd>
<dt>M-x term</dt><dd><p>Ejecuta un subshell con entrada y salida a través de un buffer Emacs. A continuación, puede dar órdenes de forma interactiva. Está disponible la emulación de terminal completa.</p>
</dd>
</dl>
<p>Siempre que se especifica un nombre de fichero relativo para un programa ejecutable (ya sea en el argumento cmd de uno de los comandos anteriores, o en otros contextos), Emacs busca el programa en los directorios especificados por la variable exec-path. El valor de esta variable debe ser una lista de directorios; el valor por defecto se inicializa a partir de la variable de entorno PATH cuando se inicia Emacs (ver Variables Generales).</p>
<p>M-x eshell invoca un shell implementado enteramente en Emacs. Está documentado en su propio manual. Ver Eshell en Eshell: The Emacs Shell.</p>
<section id="comandos-de-shell-simples">
<h2>39.1 Comandos de shell Simples<a class="headerlink" href="#comandos-de-shell-simples" title="Link to this heading"></a></h2>
<p>M-! (shell-command) lee una línea de texto usando el minibuffer y la ejecuta como un comando del shell, en un subshell hecho sólo para ese comando. La entrada estándar para el comando proviene del dispositivo null. Si el comando del shell produce alguna salida, ésta aparece en el área de eco (si es corta), o en el búfer “»<em>Shell Command Output</em>»” (shell-command-buffer-name) (si la salida es larga). Las variables resize-mini-windows y max-mini-window-height (ver Editar en el Minibúfer) controlan cuando Emacs debe considerar que la salida es demasiado larga para el área de eco. Tenga en cuenta que personalizar shell-command-dont-erase-buffer, descrito más adelante, puede afectar a lo que se muestra en el área de eco.</p>
<p>Por ejemplo, una forma de descomprimir un archivo llamado foo.gz es escribir M-! gunzip foo.gz RET. Este comando del shell normalmente crea el archivo foo y no produce ninguna salida en el terminal.</p>
<p>Un argumento numérico para shell-command, por ejemplo, M-1 M-!, hace que inserte la salida del terminal en el búfer actual en lugar de en un búfer separado. Por defecto, pone el punto antes de la salida, y pone la marca después de la salida (pero un valor no predeterminado de shell-command-dont-erase-buffer puede cambiar esto, ver más abajo). Por ejemplo, M-1 M-! gunzip &lt; foo.gz RET insertaría la forma descomprimida del archivo foo.gz en el búfer actual.</p>
<p>Siempre que el comando de shell especificado no termine con “&amp;”, se ejecuta de forma sincrónica, y debes esperar a que salga antes de continuar usando Emacs. Para dejar de esperar, teclea C-g para salir; esto envía una señal SIGINT para terminar el comando shell (es la misma señal que C-c genera normalmente en el shell). Emacs entonces espera hasta que el comando realmente termina. Si el comando de la shell no se detiene (porque ignora la señal SIGINT), teclea C-g de nuevo; esto envía al comando una señal SIGKILL, que es imposible de ignorar.</p>
<p>Un comando shell que termina en “&amp;” se ejecuta asíncronamente, y puede continuar usando Emacs mientras se ejecuta. También puede escribir M-&amp; (async-shell-command) para ejecutar un comando de shell asíncrono; esto es exactamente como llamar a M-! con un “&amp;” al final, excepto que no necesita el “&amp;”. La salida de los comandos de shell asíncronos, por defecto, va al buffer “»<em>Async Shell Command</em>»” (shell-command-buffer-name-async). Emacs inserta la salida en este búfer a medida que llega, tanto si el búfer es visible en una ventana como si no.</p>
<p>Si desea ejecutar más de un comando de shell asíncrono al mismo tiempo, podrían acabar compitiendo por el búfer de salida. La opción async-shell-command-buffer especifica qué hacer al respecto; por ejemplo, si renombrar el búfer de salida preexistente, o utilizar un búfer diferente para el nuevo comando. Consulte la documentación de la variable para más posibilidades.</p>
<p>Si desea que el búfer de salida de las órdenes asíncronas se muestre sólo cuando la orden genere salida, establezca async-shell-command-display-buffer a nil.</p>
<p>La opción async-shell-command-width define el número de columnas de visualización disponibles para la salida de comandos del shell asíncrono. Un número entero positivo indica al shell que utilice ese número de columnas para la salida de comandos. El valor predeterminado es nil, que significa utilizar el mismo número de columnas que proporciona el shell.</p>
<p>Para que los comandos anteriores muestren el directorio actual en sus avisos, personalice la variable shell-command-prompt-show-cwd con un valor distinto de nil.</p>
<p>M-| (shell-command-on-region) es como M-!, pero pasa el contenido de la región como la entrada estándar al comando del shell, en lugar de ninguna entrada. Con un argumento numérico, borra la región antigua y la sustituye por la salida del comando de la shell.</p>
<p>Por ejemplo, puede utilizar M-| con el programa gpg para ver qué claves hay en el búfer. Si el búfer contiene una clave GnuPG, escriba C-x h M-| gpg RET para enviar todo el contenido del búfer a gpg. Esto mostrará la lista de claves en el búfer cuyo nombre es el valor de shell-command-buffer-name.</p>
<p>Los comandos anteriores utilizan el intérprete de órdenes especificado por la variable shell-file-name. Su valor por defecto viene determinado por la variable de entorno SHELL cuando se inicia Emacs. Si el nombre del fichero es relativo, Emacs busca en los directorios listados en exec-path (ver Ejecutando Comandos shell desde Emacs).</p>
<p>Si el directorio por defecto es remoto (ver Archivos Remotos), el valor por defecto es /bin/sh. Esto puede cambiarse declarando shell-file-name connection-local (ver Variables Locales Por-Conexión).</p>
<p>Para especificar un sistema de codificación para M-! o M-<a href="#id1"><span class="problematic" id="id2">|</span></a>, utilice el comando C-x RET c inmediatamente antes. Consulte Sistemas de Codificación para la Comunicación entre Procesos.</p>
<p>Por defecto, la salida de errores se mezcla con la salida normal en el búfer de salida. Pero si cambia el valor de la variable shell-command-default-error-buffer a una cadena, la salida de error se inserta en un búfer con ese nombre.</p>
<p>Por defecto, el búfer de salida se borra entre comandos del shell, excepto cuando la salida va al búfer actual. Si cambia el valor de la opción shell-command-dont-erase-buffer a erase, el búfer de salida se borra siempre. Otros valores no nulos evitan el borrado del búfer de salida, y -si el búfer de salida no es el búfer actual- también controlan dónde poner el punto después de insertar la salida del comando shell:</p>
<dl class="simple">
<dt>beg-last-out</dt><dd><p>Sitúa el punto al principio de la última salida del comando shell.</p>
</dd>
<dt>end-last-out</dt><dd><p>Coloca el punto al final de la última salida del comando shell, es decir, al final del búfer de salida.</p>
</dd>
<dt>save-point</dt><dd><p>Restaura la posición del punto tal y como estaba antes de insertar la salida del comando shell.</p>
</dd>
</dl>
<p>Tenga en cuenta que si esta opción no es nula, la salida mostrada en el área de eco podría ser de más de la última orden, ya que el área de eco sólo muestra una parte del búfer de salida.</p>
<p>En caso de que el búfer de salida no sea el búfer actual, la salida del comando shell se añade al final de este búfer.</p>
</section>
<section id="subcomando-interactivo">
<h2>39.2 Subcomando Interactivo<a class="headerlink" href="#subcomando-interactivo" title="Link to this heading"></a></h2>
<p>Para ejecutar un subproceso interactivamente, escriba M-x shell. Esto crea (o reutiliza) un buffer llamado <em>shell</em>, y ejecuta un subproceso shell con entrada proveniente de y salida hacia ese buffer. Es decir, cualquier salida de terminal del subproceso va al búfer, avanzando un punto, y cualquier entrada de terminal para el subproceso proviene del texto del búfer. Para dar entrada a la subshell, vaya al final del buffer y escriba la entrada, terminada por RET.</p>
<p>Por defecto, cuando la subshell es invocada interactivamente, el <em>shell</em> buffer es mostrado en una nueva ventana, a menos que la ventana actual ya muestre el <em>shell</em> buffer. Este comportamiento puede personalizarse mediante display-buffer-alist (ver Cómo Trabaja display-buffer).</p>
<p>Mientras la subshell está esperando o ejecutando un comando, puede cambiar de ventana o de búfer y realizar otras ediciones en Emacs. Emacs inserta la salida del subshell en el buffer Shell siempre que tiene tiempo para procesarla (por ejemplo, mientras espera la entrada del teclado).</p>
<p>En el buffer de Shell, los prompts se muestran con la cara comint-highlight-prompt, y las líneas de entrada enviadas se muestran con la cara comint-highlight-input. Esto facilita distinguir las líneas de entrada de la salida del intérprete de comandos. Véase Caras de Texto.</p>
<p>Para hacer múltiples subshells, invoque M-x shell con un argumento prefijo (por ejemplo, C-u M-x shell). Entonces el comando leerá un nombre de buffer, y creará (o reutilizará) un subshell en ese buffer. También puede cambiar el nombre del búfer <em>shell</em> utilizando M-x rename-uniquely, y luego crear un nuevo búfer <em>shell</em> utilizando M-x shell simple. Las subcarpetas en diferentes buffers se ejecutan independientemente y en paralelo.</p>
<p>Emacs intenta hacer un seguimiento de cuál es el directorio actual mirando los comandos que se introducen, buscando comandos “cd” y similares. Esta es una solución propensa a errores, ya que hay muchas maneras de cambiar el directorio actual, por lo que Emacs también busca códigos de escape OSC (Operating System Commands, Comandos del Sistema Operativo) especiales que están diseñados para transmitir esta información de una manera más fiable. Debe hacer que su shell imprima la secuencia de escape apropiada en cada prompt, por ejemplo con el siguiente comando:</p>
<blockquote>
<div><p>printf «e]7;file://%s%se\» «$HOSTNAME» «$PWD»</p>
</div></blockquote>
<p>Para especificar el nombre del fichero shell usado por M-x shell, personaliza la variable explicit-shell-file-name. Si es nil (por defecto), Emacs usa la variable de entorno ESHELL si existe. Si no, normalmente usa la variable shell-file-name (ver Comandos de shell Single); pero si el directorio por defecto es remote (ver Archivos Remotos), te pregunta por el nombre del archivo de shell. Ver Minibúferes para nombres de ficheros, para pistas sobre cómo escribir nombres de archivos remotos de forma efectiva.</p>
<p>Emacs envía a la nueva shell el contenido del fichero ~/.emacs_nombre_shell como entrada, si existe, donde nombre_shell es el nombre del fichero desde el que se cargó la shell. Por ejemplo, si usa bash, el archivo que se le envía es ~/.emacs_bash. Si este fichero no se encuentra, Emacs lo intenta con ~/.emacs.d/init_shellname.sh.</p>
<p>Para especificar un sistema de codificación para la shell, puede usar el comando C-x RET c inmediatamente antes de M-x shell. También puede cambiar el sistema de codificación para un subshell en ejecución escribiendo C-x RET p en el buffer del shell. Véase Sistemas de Codificación para la Comunicación Interproceso.</p>
<p>Emacs establece la variable de entorno INSIDE_EMACS en la subshell a “version,comint”, donde version es la versión de Emacs (por ejemplo, “28.1”). Los programas pueden comprobar esta variable para determinar si se están ejecutando dentro de una subshell de Emacs.</p>
</section>
<section id="modo-shell">
<h2>39.3 Modo Shell<a class="headerlink" href="#modo-shell" title="Link to this heading"></a></h2>
<p>El modo principal para los búferes de Shell es el modo Shell. Muchos de sus comandos especiales están ligados al prefijo C-c, y se asemejan a los caracteres habituales de edición y control de trabajos presentes en los shells ordinarios, excepto que primero debe teclear C-c. He aquí una lista de comandos del modo Shell:</p>
<dl class="simple">
<dt>RET</dt><dd><p>Envía la línea actual como entrada a la subshell (comint-send-input). Se omite cualquier petición de la shell al principio de la línea (véase Peticiones de la shell). Si el punto está
al final del búfer, esto es como enviar la línea de comandos en un shell interactivo ordinario. Sin embargo, también puede invocar RET en cualquier parte del búfer de la shell para
enviar la línea actual como entrada.</p>
</dd>
<dt>TAB</dt><dd><p>Completa el nombre del comando o del fichero antes del punto en el buffer de la shell (completion-at-point). Esto usa las reglas de completado habituales de Emacs (ver Completado),
con las alternativas de completado siendo nombres de archivo, nombres de variables de entorno, el historial de comandos del shell y referencias al historial (ver Referencias al
Historial del Shell). Para las opciones que controlan el completado, vea Opciones del Modo Shell.</p>
</dd>
<dt>M-?</dt><dd><p>Muestra temporalmente una lista de las posibles terminaciones del nombre de archivo antes del punto (comint-dynamic-list-filename-completions).</p>
</dd>
<dt>C-d</dt><dd><p>Borra un carácter o envía EOF (comint-delchar-or-maybe-eof). Si se escribe al final del búfer de la shell, se envía EOF a la subshell. Si se escribe en cualquier otra posición del
búfer, se borra un carácter de la forma habitual.</p>
</dd>
<dt>C-c C-a</dt><dd><p>Se mueve al principio de la línea, pero después del prompt si lo hay (comint-bol-o-marca-de-proceso). Si repite este comando dos veces seguidas, la segunda vez se mueve de nuevo a la
marca de proceso, que es el principio de la entrada que todavía no ha enviado a la subshell. (Normalmente ese es el mismo lugar-el final del prompt en esta línea-pero después de C-c
SPC la marca de proceso puede estar en una línea anterior).</p>
</dd>
<dt>C-c SPC</dt><dd><p>Acumula varias líneas de entrada y las envía juntas (comint-accumulate). Este comando inserta una nueva línea antes del punto, pero no envía el texto precedente como entrada al
subshell-al menos, no todavía. Ambas líneas, la anterior a esta nueva línea y la posterior, se enviarán juntas (junto con la nueva línea que las separa), cuando escriba RET.</p>
</dd>
<dt>C-c C-u</dt><dd><p>Mata todo el texto pendiente al final del buffer para ser enviado como entrada (comint-kill-input). Si el punto no está al final del búfer, esto sólo mata la parte de este texto que
precede al punto.</p>
</dd>
<dt>C-c C-w</dt><dd><p>Mata una palabra antes del punto (backward-kill-word).</p>
</dd>
<dt>C-c C-c</dt><dd><p>Interrumpe el shell o su subjob (proceso hijo) actual, si existe (comint-interrupt-subjob). Este comando también elimina cualquier entrada del intérprete de órdenes pendiente en el
búfer del intérprete de órdenes y aún no enviada.</p>
</dd>
<dt>C-c C-z</dt><dd><p>Detiene el shell o su subjob (proceso hijo) actual si existe (comint-stop-subjob). Este comando también elimina cualquier entrada del intérprete de órdenes pendiente en el búfer del
intérprete de órdenes y aún no enviada.</p>
</dd>
<dt>C-c C-</dt><dd><p>Envía una señal de salida al shell o a su subjob (proceso hijo) actual si existe (comint-quit-subjob). Este comando también mata cualquier entrada del shell pendiente en el búfer del
shell y aún no enviada.</p>
</dd>
<dt>C-c C-o</dt><dd><p>Borra el último lote de salida de un comando shell (comint-delete-output). Esto es útil si un comando de shell arroja mucha salida que simplemente estorba. Con un prefijo como
argumento, este comando guarda el texto borrado en el kill-ring (ver The Kill Ring), de forma que más tarde pueda borrarlo (ver Yanking) en otro lugar.</p>
</dd>
<dt>C-c C-s</dt><dd><p>Escribe el último lote de salida de un comando del shell en un archivo (comint-write-output). Con un argumento prefijo, en su lugar se añade el archivo. Cualquier prompt al final de
la salida no se escribe.</p>
</dd>
</dl>
<p>C-c C-r
C-M-l</p>
<blockquote>
<div><p>Se desplaza para mostrar el principio del último lote de salida en la parte superior de la ventana; también desplaza el cursor hasta allí (comint-show-output).</p>
</div></blockquote>
<dl>
<dt>C-c C-e</dt><dd><p>Se desplaza para colocar la última línea del búfer en la parte inferior de la ventana (comint-show-maximum-output).</p>
</dd>
<dt>C-c C-f</dt><dd><p>Avanza un comando del shell, pero no más allá de la línea actual (shell-forward-command). La variable shell-command-regexp especifica cómo reconocer el final de un comando.</p>
</dd>
<dt>C-c C-b</dt><dd><p>Retrocede un comando del shell, pero no más allá de la línea actual (shell-backward-command).</p>
</dd>
<dt>M-x dirs</dt><dd><p>Pregunta al shell por su directorio de trabajo, y actualiza el directorio por defecto del buffer Shell. Véase Seguimiento de Directorios.</p>
</dd>
<dt>M-x comint-send-invisible RET texto RET ¶</dt><dd><p>Envía texto como entrada al shell, después de leerlo sin hacer eco. Esto es útil cuando un comando del shell ejecuta un programa que pide una contraseña.</p>
<p>Tenga en cuenta que Emacs no hará eco de las contraseñas por defecto. Si realmente quiere que se hagan eco, evalúe (vea Evaluando Expresiones Lisp de Emacs) la siguiente expresión
Lisp:</p>
<dl class="simple">
<dt>(remove-hook “comint-output-filter-functions</dt><dd><p>“comint-watch-for-password-prompt)</p>
</dd>
</dl>
</dd>
<dt>M-x comint-continue-subjob</dt><dd><p>Continúa el proceso shell. Esto es útil si accidentalmente suspende el proceso shell.22</p>
</dd>
<dt>M-x comint-strip-ctrl-m</dt><dd><p>Descarta todos los caracteres control-M del grupo actual de salida del shell. La forma más cómoda de utilizar este comando es hacer que se ejecute automáticamente cuando obtenga la
salida del subshell. Para ello, evalúe esta expresión Lisp:</p>
<blockquote>
<div><dl class="simple">
<dt>(add-hook “comint-output-filter-functions</dt><dd><p>“comint-strip-ctrl-m)</p>
</dd>
</dl>
</div></blockquote>
</dd>
<dt>M-x comint-truncate-buffer</dt><dd><p>Este comando trunca el búfer del shell a un cierto número máximo de líneas, especificado por la variable comint-buffer-maximum-size. A continuación se muestra cómo hacer esto
automáticamente cada vez que se obtiene salida de la subshell:</p>
<blockquote>
<div><dl class="simple">
<dt>(add-hook “comint-output-filter-functions</dt><dd><p>“comint-truncate-buffer)</p>
</dd>
</dl>
</div></blockquote>
</dd>
</dl>
<p>Por defecto, el modo Shell maneja los códigos de escape ANSI comunes (por ejemplo, para cambiar el color del texto). Emacs también soporta opcionalmente algunos códigos de escape extendidos, como algunos de los OSC (Operating System Codes, Códigos del Sistema Operativo) si pone lo siguiente en su fichero init:</p>
<blockquote>
<div><p>(add-hook “comint-output-filter-functions “comint-osc-process-output)</p>
</div></blockquote>
<p>Con esta opción activada, la salida de, por ejemplo, ls hyperlink se convertirá en botones clicables en el búfer del modo Shell.</p>
<p>El modo Shell es un derivado del modo Comint, un modo de propósito general para comunicarse con subprocesos interactivos. La mayoría de las características del modo Shell provienen en realidad del modo Comint, como se puede ver en los nombres de los comandos listados anteriormente. Las características especiales del modo Shell incluyen la característica de rastreo de directorios, y algunos comandos de usuario.</p>
<p>Otras características de Emacs que usan variantes del modo Comint incluyen GUD (ver Ejecutando depuradores bajo Emacs) y M-x run-lisp (ver Ejecutando un Lisp externo).</p>
<p>Puede usar M-x comint-run para ejecutar cualquier programa de su elección en un subproceso usando el modo Comint sin modificar -sin las especializaciones del modo Shell. Para pasar argumentos al programa, utilice C-u M-x comint-run.</p>
<ol class="arabic simple" start="22">
<li><p>No debe suspender el proceso del shell. Suspender un subjob (proceso hijo) del shell es un asunto completamente diferente, es una práctica normal, pero debe usar el shell para continuar el subjob; este comando no lo hará.</p></li>
</ol>
</section>
<section id="avisos-de-shell">
<h2>39.4 Avisos de Shell<a class="headerlink" href="#avisos-de-shell" title="Link to this heading"></a></h2>
<p>Un prompt es la salida de texto de un programa para mostrar que está listo para aceptar nuevas entradas del usuario. Normalmente, el modo Comint (y por tanto el modo Shell) calcula automáticamente qué parte del buffer es un prompt, basándose en la salida del subproceso. (Específicamente, asume que cualquier línea de salida recibida que no termine con una nueva línea es un prompt).</p>
<p>El modo Comint divide el buffer en dos tipos de campos: campos de entrada (donde se teclea la entrada del usuario) y campos de salida (en todos los demás lugares). Los prompt forman parte de los campos de salida. La mayoría de los comandos de movimiento de Emacs no cruzan los límites de los campos, a menos que se muevan por varias líneas. Por ejemplo, cuando punto está en el campo de entrada en una línea de comandos de shell, C-a pone punto al principio del campo de entrada, después del prompt. Internamente, los campos se implementan usando la propiedad de texto de campo (ver Propiedades de Texto en el Manual de Referencia de Emacs Lisp).</p>
<p>Si cambia la variable comint-use-prompt-regexp a un valor no nulo, el modo Comint reconocerá los avisos utilizando una expresión regular (véase Sintaxis de Expresiones Regulares). En el modo Shell, la expresión regular se especifica mediante la variable shell-prompt-pattern. El valor por defecto de comint-use-prompt-regexp es nil, porque este método para reconocer prompts no es fiable, pero puede que quiera establecerlo a un valor no nil en circunstancias inusuales. En ese caso, Emacs no divide el búfer Comint en campos, por lo que los comandos de movimiento generales se comportan como lo hacen normalmente en búferes sin propiedades de texto especiales. Sin embargo, puede usar los comandos de movimiento de párrafo para navegar convenientemente por el buffer (ver Párrafos); en modo Shell, Emacs usa shell-prompt-pattern como límites de párrafo.</p>
</section>
<section id="historial-de-ordenes-del-shell">
<h2>39.5 Historial de Órdenes del Shell<a class="headerlink" href="#historial-de-ordenes-del-shell" title="Link to this heading"></a></h2>
<p>Los búferes del intérprete de órdenes admiten tres formas de repetir órdenes anteriores. Puede usar teclas como las usadas para el historial del minibuffer; éstas funcionan de forma muy parecida a como lo hacen en el minibúfer, insertando texto de comandos anteriores mientras el punto permanece siempre al final del búfer. Puede moverse por el búfer hasta las entradas anteriores en su lugar original, y luego volver a enviarlas o copiarlas al final. ¡O puede utilizar una referencia histórica al estilo “!</p>
<section id="anillo-del-historial-de-shell">
<h3>39.5.1 Anillo del Historial de Shell<a class="headerlink" href="#anillo-del-historial-de-shell" title="Link to this heading"></a></h3>
<p>M-p
C-UP</p>
<blockquote>
<div><p>Recupera el comando shell anterior siguiente (comint-previous-input).</p>
</div></blockquote>
<p>M-n
C-DOWN</p>
<blockquote>
<div><p>Obtiene el siguiente comando shell anterior (comint-next-input).</p>
</div></blockquote>
<dl class="simple">
<dt>M-r</dt><dd><p>Inicia una búsqueda incremental de expreg (expesiones regulares) de antiguos comandos del shell (comint-history-isearch-backward-regexp).</p>
</dd>
<dt>C-c C-x</dt><dd><p>Obtiene la siguiente orden del historial (comint-get-next-from-history).</p>
</dd>
<dt>C-c .</dt><dd><p>Obtiene un argumento de un comando shell anterior (comint-input-previous-argument).</p>
</dd>
<dt>C-c C-l</dt><dd><p>Muestra el historial de comandos de shell del búfer en otra ventana (comint-dynamic-list-input-ring).</p>
</dd>
</dl>
<p>Los búferes de shell proporcionan un historial de los comandos de shell introducidos anteriormente. Para reutilizar comandos de shell del historial, utilice los comandos de edición M-p, M-n y M-r. Funcionan de forma similar a los comandos del historial del minibúfer (consulte Historial del Minibúfer), excepto que operan dentro del búfer del intérprete de comandos en lugar de hacerlo en el minibúfer, y M-r en un búfer del intérprete de comandos invoca la búsqueda incremental a través del historial de comandos del intérprete de comandos.</p>
<p>M-p recupera un comando del shell anterior hasta el final del búfer del shell. El uso sucesivo de M-p recupera sucesivamente comandos anteriores de la shell, cada uno reemplazando cualquier texto que ya estuviera presente como entrada potencial de la shell. M-n hace lo mismo, excepto que encuentra sucesivamente comandos más recientes del búfer. C-UP funciona como M-p, y C-DOWN como M-n.</p>
<p>El comando de búsqueda en el historial M-r inicia una búsqueda incremental de expresiones regulares en comandos anteriores del shell. Después de escribir M-r, comience a escribir la cadena o expresión regular deseada; el último comando del shell que coincida se mostrará en la línea actual. Los comandos de búsqueda incremental tienen sus efectos habituales; por ejemplo, C-s y C-r buscan hacia delante y hacia atrás la siguiente coincidencia (consulte Búsqueda Incremental). Cuando encuentre la entrada deseada, escriba RET para finalizar la búsqueda. Esto coloca la entrada en la línea de comandos. Cualquier entrada parcial que estuviera componiendo antes de navegar por la lista del historial se restaura cuando va al principio o al final del anillo del historial.</p>
<p>A menudo es útil reejecutar varios comandos sucesivos del shell que se ejecutaron previamente en secuencia. Para ello, primero busque y vuelva a ejecutar el primer comando de la secuencia. A continuación, escriba C-c C-x para obtener el siguiente comando, el que sigue al que acaba de repetir. A continuación, escribe RET para volver a ejecutar este comando. Puedes volver a ejecutar varios comandos sucesivos escribiendo C-c C-x RET una y otra vez.</p>
<p>El comando C-c . (comint-insert-previous-argument) copia un argumento individual de un comando anterior, como ESC . en Bash y zsh. El uso más simple copia el último argumento del comando shell anterior. Con un argumento prefijo n, copia el enésimo argumento en su lugar. Repetir C-c . copia desde un comando shell anterior, siempre usando el mismo valor de n (no des un argumento prefijo cuando repitas el comando C-c .).</p>
<p>Si establece comint-insert-previous-argument-from-end a un valor no nulo, C-c . copiará en su lugar el enésimo argumento contando desde el último; esto emula ESC . en zsh.</p>
<p>Estos comandos obtienen el texto de comandos anteriores del intérprete de comandos de una lista especial del historial, no del propio búfer del intérprete de comandos. Por lo tanto, editar el búfer del intérprete de comandos, o incluso eliminar grandes partes del mismo, no afecta al historial al que acceden estos comandos.</p>
<p>Algunas shell almacenan sus historiales de órdenes en archivos para que pueda consultar órdenes de sesiones anteriores de la shell. Emacs lee el fichero de historial de comandos de la shell elegida, para inicializar su propio historial de comandos. El nombre del fichero es ~/.bash_history para bash, ~/.sh_history para ksh, y ~/.history para otras shell.</p>
<p>Si ejecuta el intérprete de comandos en un host remoto, la variable tramp-histfile-override puede sobrescribir esta configuración. Se recomienda establecer esta variable en nil.</p>
</section>
<section id="copiar-el-historial-del-shell">
<h3>39.5.2 Copiar el Historial del Shell<a class="headerlink" href="#copiar-el-historial-del-shell" title="Link to this heading"></a></h3>
<dl class="simple">
<dt>C-c C-p</dt><dd><p>Mueve el punto al prompt anterior (comint-previous-prompt).</p>
</dd>
<dt>C-C C-n</dt><dd><p>Mueve el punto al siguiente prompt (comint-next-prompt).</p>
</dd>
<dt>C-c RET</dt><dd><p>Copia el comando de entrada en el punto, insertando la copia al final del buffer (comint-copy-old-input). Esto es útil si desplaza el punto a un comando anterior. Después de copiar el
comando, puede enviar la copia como entrada con RET. Si lo desea, puede editar la copia antes de volver a enviarla. Si usa este comando en una línea de salida, copia esa línea al
final del buffer.</p>
</dd>
<dt>ratón-2</dt><dd><p>Si comint-use-prompt-regexp es nil (por defecto), copia el comando de entrada antiguo sobre el que se hace clic, insertando la copia al final del buffer (comint-insert-input). Si
comint-use-prompt-regexp no es nil, o si el clic no es sobre la entrada antigua, simplemente tira como de costumbre.</p>
</dd>
</dl>
<p>Desplazarse a una entrada anterior y luego copiarla con C-c RET o ratón-2 produce los mismos resultados -el mismo contenido del búfer,- que obtendría utilizando M-p suficientes veces para recuperar esa entrada anterior de la lista del historial. Sin embargo, C-c RET copia el texto del búfer, que puede ser diferente de lo que hay en la lista del historial si edita el texto de entrada en el búfer después de haberlo enviado.</p>
</section>
<section id="referencias-al-historial-del-shell">
<h3>39.5.3. Referencias al Historial del Shell<a class="headerlink" href="#referencias-al-historial-del-shell" title="Link to this heading"></a></h3>
<p>Varios shells, incluyendo csh y bash, soportan referencias históricas que comienzan con “!” y “^”. El modo Shell reconoce estas construcciones y puede realizar la sustitución del historial por Usted.</p>
<p>Si inserta una referencia histórica y teclea TAB, se buscará en el historial de entrada un comando que coincida, se realizará la sustitución si es necesario, y se colocará el resultado en el búfer en lugar de la referencia histórica. Por ejemplo, puede buscar la orden más reciente que empiece por “mv” con ! m v TAB. Si lo desea, puede editar la orden y, a continuación, volver a enviarla al intérprete de comandos escribiendo RET.</p>
<p>El modo shell puede expandir opcionalmente las referencias del historial en el búfer cuando las envía al shell. Para ello, establezca la variable comint-input-autoexpand en input. Puede hacer que SPC realice la expansión del historial vinculando SPC al comando comint-magic-space. Consulte Cambio Interactivo de Combinaciones de Teclas.</p>
<p>El modo Shell reconoce las referencias al historial cuando siguen a un prompt. Consulte Avisos de Shell, para ver cómo el modo Shell reconoce los avisos.</p>
</section>
</section>
<section id="seguimiento-de-directorios">
<h2>39.6 Seguimiento de Directorios<a class="headerlink" href="#seguimiento-de-directorios" title="Link to this heading"></a></h2>
<p>El modo Shell realiza un seguimiento de los comandos “cd”, “pushd” y “popd” dados al subshell, para mantener el directorio por defecto del búfer Shell (ver Nombres de Archivos) igual que el directorio de trabajo del shell. Reconoce estos comandos examinando las líneas de entrada que envías.</p>
<p>Si usa alias para estos comandos, puede decirle a Emacs que los reconozca también, estableciendo las variables shell-pushd-regexp, shell-popd-regexp, y shell-cd-regexp a las expresiones regulares apropiadas (vea Sintaxis de Expresiones Regulares). Por ejemplo, si shell-pushd-regexp coincide con el principio de una línea de comandos del shell, esa línea se considera un comando pushd. Estos comandos sólo se reconocen al principio de una línea de comandos del shell.</p>
<p>Si Emacs se confunde con los cambios en el directorio de trabajo del subshell, escriba M-x dirs. Este comando pregunta al shell por su directorio de trabajo y actualiza el directorio por defecto en consecuencia. Funciona para shells que soportan la sintaxis de comandos más común, pero puede no funcionar para shells poco comunes.</p>
<p>También puede utilizar el modo Dirtrack, un modo menor de búfer local que implementa un método alternativo de seguimiento del directorio de trabajo del intérprete de comandos. Para utilizar este método, el prompt de su shell debe contener el directorio de trabajo en todo momento, y debe proporcionar una expresión regular para reconocer qué parte del prompt contiene el directorio de trabajo; consulte la documentación de la variable dirtrack-list para más detalles. Para utilizar el modo Dirtrack, escriba M-x dirtrack-mode en el buffer de Shell, o añada dirtrack-mode a shell-mode-hook (ver Ganchos).</p>
</section>
<section id="opciones-del-modo-shell">
<h2>39.7 Opciones del Modo Shell<a class="headerlink" href="#opciones-del-modo-shell" title="Link to this heading"></a></h2>
<p>Si la variable comint-scroll-to-bottom-on-input es distinta de nil, los comandos de inserción y yank desplazan la ventana seleccionada hasta el final antes de insertar. El valor por defecto es nulo.</p>
<p>Si comint-scroll-show-maximum-output es no nil, la llegada de la salida cuando el punto está al final intenta desplazar la última línea de texto hasta la línea inferior de la ventana, mostrando tanto texto útil como sea posible. (Esto imita el comportamiento de desplazamiento de la mayoría de los terminales.) El valor por defecto es t.</p>
<p>Configurando comint-move-point-for-output, puede optar por que point salte al final del buffer cuando llegue la salida - sin importar en qué punto del buffer estaba antes. Si el valor es this, el punto salta en la ventana seleccionada. Si el valor es all, el punto salta en cada ventana que muestre el buffer Comint. Si el valor es other, el punto salta en todas las ventanas no seleccionadas que muestren el búfer actual. El valor por defecto es nil, lo que significa que el punto no salta al final.</p>
<p>Si establece comint-prompt-read-only, las indicaciones en el búfer Comint son de sólo lectura.</p>
<p>La variable comint-input-ignoredups controla si se almacenan entradas idénticas sucesivas en el historial de entradas. Un valor no nulo significa omitir una entrada que sea igual a la entrada anterior. El valor por defecto es nil, que significa almacenar cada entrada incluso si es igual a la entrada anterior.</p>
<p>Tres variables personalizan el completado del nombre de archivo. La variable comint-completion-addsuffix controla si el completado inserta un espacio o una barra para indicar un nombre de fichero o directorio completamente completado (no nil significa insertar un espacio o una barra). comint-completion-recexact, si no es nil, indica a TAB que elija el completado más corto posible si el algoritmo de completado habitual de Emacs no puede añadir ni un solo carácter. comint-completion-autolist, si no es nil, indica que se listen todos los completados posibles siempre que el completado no sea exacto.</p>
<p>La terminación de comandos normalmente sólo considera los archivos ejecutables. Si establece shell-completion-execonly a nil, considera también los archivos no ejecutables.</p>
<p>La variable shell-completion-fignore especifica una lista de extensiones de nombres de archivo a ignorar en el completado en modo Shell. El valor predeterminado es nil, pero algunos Usuarios prefieren («~» «#» «%») ignorar los nombres de archivo que terminan en “~”, “#” o “%”. Otros modos Comint relacionados utilizan la variable comint-completion-fignore en su lugar.</p>
<p>También se pueden encontrar algunos detalles de implementación de la finalización de órdenes del shell en la documentación lisp de la función shell-dynamic-complete-command.</p>
<p>Puede configurar el comportamiento de “pushd”. Las variables controlan si “pushd” se comporta como “cd” si no se da ningún argumento (shell-pushd-tohome), pop en lugar de rotate con un argumento numérico (shell-pushd-dextract), y sólo añade directorios a la pila de directorios si no están ya en ella (shell-pushd-dunique). Los valores que elija deben coincidir con el shell subyacente, por supuesto.</p>
<p>El modo Comint establece la variable de entorno TERM a un valor por defecto seguro, pero este valor deshabilita algunas características útiles. Por ejemplo, el color está deshabilitado en las aplicaciones que usan TERM para determinar si se admite el color. Por lo tanto, Emacs proporciona una opción comint-terminfo-terminal que le permite elegir un terminal con características más avanzadas, como se define en la base de datos terminfo de su sistema. Emacs usará esta opción como el valor de TERM siempre que system-uses-terminfo no sea nulo.</p>
<p>Tanto comint-terminfo-terminal como system-uses-terminfo pueden declararse como variables connection-local para ajustar estas opciones a lo que espera un sistema remoto (ver Variables Locales por Conexión).</p>
</section>
<section id="emulador-de-terminal-emacs">
<h2>39.8 Emulador de Terminal Emacs<a class="headerlink" href="#emulador-de-terminal-emacs" title="Link to this heading"></a></h2>
<p>Para ejecutar un subshell en un emulador de terminal de texto, use M-x term. Esto crea (o reutiliza) un buffer llamado <em>terminal</em>, y ejecuta un subshell con la entrada proveniente de su teclado, y la salida va a ese buffer.</p>
<p>El emulador de terminal utiliza el modo Term, que tiene dos modos de entrada. En modo línea, Term básicamente actúa como el modo Shell (ver Modo Shell). En el modo char, cada carácter se envía directamente al subshell, como entrada de terminal; la única excepción es el carácter de escape de terminal, que por defecto es C-c (ver Modo Term). Cualquier eco de su entrada es responsabilidad del subshell; cualquier salida terminal del subshell va al buffer, punto de avance.</p>
<p>Algunos programas (como Emacs mismo) necesitan controlar la apariencia de la pantalla del terminal en detalle. Lo hacen emitiendo códigos de control especiales. El modo Term reconoce y maneja secuencias de escape tipo VT100 estándar ANSI, que son aceptadas por la mayoría de los terminales modernos, incluyendo xterm. (Por lo tanto, puede ejecutar Emacs dentro de una ventana de Emacs Term. )</p>
<p>La cara de term (term face) especifica la apariencia predeterminada del texto en el emulador de terminal (la apariencia predeterminada es la misma que la cara predeterminada). Cuando se usan códigos de control de terminal para cambiar la apariencia del texto, estos se representan en el emulador de terminal con las caras term-color-black (term-color-negro), term-color-red (term-color-rojo), term-color-green (term-color-verde), term-color-yellow (term-color-amarillo), term-color-blue (term-color-azul), term-color-magenta, term-color-cyan, term-color-white (term-color-blanco), term-color-underline (term-color-subrayado), and term-color-bold (term-color-negrita). Ver Caras de Texto.</p>
<p>También puede usar el modo Term para comunicarse con un dispositivo conectado a un puerto serie. Consulte Terminal en Serie.</p>
<p>El nombre de archivo utilizado para cargar el subshell se determina de la misma manera que para el modo Shell. Para hacer múltiples emuladores de terminal, renombrar el buffer <em>terminal</em> a algo diferente usando M-x rename-uniquely, al igual que con el modo Shell.</p>
<p>A diferencia del modo Shell, el modo Term no realiza un seguimiento del directorio actual mediante el examen de su entrada. Pero algunos shells pueden decirle a Term cuál es el directorio actual. Esto se hace automáticamente con bash versión 1. 15 y posteriores.</p>
</section>
<section id="modo-term">
<h2>39.9 Modo Term<a class="headerlink" href="#modo-term" title="Link to this heading"></a></h2>
<p>Para cambiar entre modo línea y modo char en el modo Term, utilice estos comandos:</p>
<dl class="simple">
<dt>C-c c-j</dt><dd><p>Cambia al modo línea (term-line-mode). No hace nada si ya está en modo línea.</p>
</dd>
<dt>C-c C-k</dt><dd><p>Cambia al modo char (term-char-mode). No hace nada si ya está en modo char.</p>
</dd>
</dl>
<p>Los siguientes comandos sólo están disponibles en modo char:</p>
<dl class="simple">
<dt>C-c C-c</dt><dd><p>Envía un literal C-c a la subcarpeta (term-interrupt-subjob).</p>
</dd>
<dt>C-c caracter</dt><dd><p>Esto es equivalente a C-x char en Emacs normal. Por ejemplo, C-c o invoca el enlace global de C-x o, que normalmente es “other-window” (otra-ventana).</p>
</dd>
</dl>
<p>El modo Term tiene una función de página a página. Cuando está activada, hace que la salida se detenga al final de cada pantalla:</p>
<dl class="simple">
<dt>C-c C-q</dt><dd><p>Activa la función de página a página (term-pager-toggle). Este comando funciona tanto en modo línea como en modo char. Cuando la función está activada, la línea de modo muestra la
palabra «página», y cada vez que Term recibe más de una pantalla de salida, hace una pausa y muestra «<strong>MORE</strong>» (MÁS) en la línea de modo. Escriba SPC para ver la siguiente pantalla
llena, o ? para ver las demás opciones. La interfaz es similar a la del programa more.</p>
</dd>
</dl>
</section>
<section id="shell-de-host-remoto">
<h2>39.10 Shell de Host Remoto<a class="headerlink" href="#shell-de-host-remoto" title="Link to this heading"></a></h2>
<p>Puede conectarse a un ordenador remoto, utilizando cualquier comando que utilizaría desde un terminal normal (por ejemplo, el comando ssh), desde una ventana Term.</p>
<p>Un programa que le pida una contraseña normalmente suprimirá el eco de la contraseña, por lo que la contraseña no aparecerá en el búfer. Esto ocurrirá como si estuviera usando un terminal real, si el búfer está en modo char. Si está en modo línea, la contraseña será visible temporalmente, pero se borrará cuando pulse return. (Esto ocurre automáticamente; no hay ningún procesamiento especial de la contraseña).</p>
<p>Cuando se conecta a una máquina diferente, necesita especificar el tipo de terminal que está utilizando, estableciendo la variable de entorno TERM en el entorno para el comando de conexión remota. (Si usa bash, hágalo escribiendo la asignación de la variable antes del comando de inicio de sesión remoto, sin una coma de separación). Los tipos de terminal “ansi” o “vt100” funcionarán en la mayoría de los sistemas.</p>
</section>
<section id="terminal-en-serie">
<h2>39.11 Terminal en Serie<a class="headerlink" href="#terminal-en-serie" title="Link to this heading"></a></h2>
<p>Si tiene un dispositivo conectado a un puerto serie de su ordenador, puede comunicarse con él escribiendo M-x serial-term. Este comando pregunta por el nombre y la velocidad del puerto serie, y cambia a un nuevo búfer en modo Term. Emacs se comunica con el dispositivo serie a través de este búfer como lo hace con un terminal en modo Term ordinario.</p>
<p>La velocidad del puerto serie se mide en bits por segundo. La velocidad más común es 9600 bits por segundo. Puede cambiar la velocidad interactivamente haciendo clic en la línea de modo.</p>
<p>Un puerto serie puede configurarse aún más haciendo clic en “8N1” en la línea de modo. Por defecto, un puerto serie está configurado como “8N1”, lo que significa que cada byte consta de 8 bits de datos, Ningún bit de comprobación de paridad y 1 bit de parada.</p>
<p>Si la velocidad o la configuración son incorrectas, no podrá comunicarse con su dispositivo y probablemente sólo verá salida basura en la ventana.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="38_VisualizDeDoc.html" class="btn btn-neutral float-left" title="38 Visualización de Documentos" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="40_EmacsComoServ.html" class="btn btn-neutral float-right" title="40 Usar Emacs Como Servidor" 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>

View File

@ -0,0 +1,378 @@
<!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>40 Usar Emacs Como Servidor &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="41 Impresión de Copias en Papel" href="41_ImprCopiasPapl.html" />
<link rel="prev" title="39 Ejecución de comandos de shell desde Emacs" href="39_ComndShellEmacs.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">40 Usar Emacs Como Servidor</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#servidor-tcp-emacs">40.1 Servidor TCP Emacs</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ejecutar-emacsclient">40.2 Ejecutar emacsclient</a></li>
<li class="toctree-l2"><a class="reference internal" href="#opciones-de-emacsclient">40.3 Opciones de emacsclient</a></li>
</ul>
</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>
</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">40 Usar Emacs Como Servidor</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/40_EmacsComoServ.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="usar-emacs-como-servidor">
<h1>40 Usar Emacs Como Servidor<a class="headerlink" href="#usar-emacs-como-servidor" title="Link to this heading"></a></h1>
<p>Varios programas pueden invocar su elección de editor para modificar una parte concreta del texto. Por ejemplo, los programas de control de versiones invocan a un editor para introducir registros de control de versiones (ver Control de Versiones), y la utilidad de correo de Unix invoca a un editor para introducir un mensaje a enviar. Por convención, su elección de editor se especifica mediante la variable de entorno EDITOR. Si establece EDITOR a “emacs”, el editor Emacs será invocado, pero de una manera poco práctica, iniciando un nuevo proceso Emacs. Esto es inconveniente porque el nuevo proceso Emacs no comparte búferes, historial de comandos u otro tipo de información con ningún proceso Emacs existente.</p>
<p>Puede resolver este problema configurando Emacs como servidor de edición, de forma que «escuche» las peticiones de edición externas y actúe en consecuencia. Hay varias formas de iniciar un servidor Emacs:</p>
<blockquote>
<div><ul class="simple">
<li><p>Ejecute el comando server-start en un proceso Emacs existente: escriba M-x server-start, o ponga la expresión (server-start) en su fichero init (vea El fichero de Inicialización de</p></li>
</ul>
<p>Emacs). El proceso Emacs existente es el servidor; cuando salga de Emacs, el servidor morirá con el proceso Emacs.</p>
<ul class="simple">
<li><p>Ejecute Emacs como demonio, usando una de las opciones de línea de comandos “daemon”. Ver Opciones Iniciales. Cuando Emacs se inicia de esta forma, llama a server-start después de</p></li>
</ul>
<p>la inicialización y no abre un marco inicial. Entonces espera las peticiones de edición de los clientes.</p>
<ul class="simple">
<li><p>Ejecute el comando emacsclient con la opción de línea de comandos “alternate-editor=»»”. Esto inicia un demonio Emacs sólo si no hay ningún demonio Emacs en ejecución.</p></li>
<li><p>Si su sistema operativo utiliza systemd para gestionar el arranque, puede iniciar automáticamente Emacs en modo demonio cuando inicie sesión utilizando el archivo de unidad systemd</p></li>
</ul>
<p>suministrado. Para activarlo:</p>
<blockquote>
<div><p>systemctl user enable emacs</p>
</div></blockquote>
<p>(Si su Emacs se instaló en una ubicación no estándar, puede que tenga que copiar el archivo emacs.service a un directorio estándar como ~/.config/systemd/user/).</p>
<ul class="simple">
<li><p>Un proceso externo puede invocar al servidor Emacs cuando se produce un evento de conexión sobre un socket especificado y pasar el socket al nuevo proceso del servidor Emacs. Un</p></li>
</ul>
<p>ejemplo de esto es la funcionalidad de socket de systemd: el servicio systemd crea un socket y escucha conexiones en él; cuando emacsclient se conecta a él por primera vez, systemd
puede lanzar el servidor Emacs y pasarle el socket para que atienda las conexiones de emacsclient. Una configuración para usar esta funcionalidad podría ser:</p>
<p>~/.config/systemd/user/emacs.socket:</p>
<blockquote>
<div><p>[Socket]
ListenStream=/path/to/.emacs.socket
DirectoryMode=0700</p>
<p>[Install]
WantedBy=sockets.target</p>
</div></blockquote>
<p>(El fichero emacs.service descrito anteriormente también debe estar instalado).</p>
<p>La ruta ListenStream será la ruta en la que Emacs escucha las conexiones desde emacsclient; es un archivo de su elección.</p>
</div></blockquote>
<p>Una vez iniciado un servidor Emacs, puedes usar un comando de shell llamado emacsclient para conectar con el proceso Emacs y decirle que visite un archivo. A continuación, puede establecer la variable de entorno EDITOR en “emacsclient”, de modo que los programas externos utilicen el proceso Emacs existente para la edición.23</p>
<p>Puede ejecutar múltiples servidores Emacs en la misma máquina dando a cada uno un nombre de servidor único, usando la variable nombre-servidor. Por ejemplo, M-x set-variable RET nombre-servidor RET «foo» RET establece el nombre del servidor a “foo”. El programa emacsclient puede especificar un servidor por nombre, usando la opción “-s” o “-f” (ver Opciones de emacsclient), dependiendo de si el servidor usa o no un socket TCP (ver Servidor TCP Emacs).</p>
<p>Si quiere ejecutar múltiples demonios Emacs (vea Opciones Iniciales), puede dar a cada demonio su propio nombre de servidor de esta forma:</p>
<blockquote>
<div><p>emacs daemon=foo</p>
</div></blockquote>
<p>Opcionalmente, el servidor Emacs puede detenerse automáticamente cuando se cumplen ciertas condiciones. Para hacer esto, llama a la función server-stop-automatically en su archivo init (ver El Archivo de Inicialización de Emacs), con uno de los siguientes argumentos:</p>
<blockquote>
<div><ul class="simple">
<li><p>Con el argumento empty, el servidor se detiene cuando ya no tiene clientes, ni búferes de visita de archivos sin guardar, ni procesos en ejecución.</p></li>
<li><p>Con el argumento delete-frame, cuando se está cerrando la última trama de cliente, se pregunta si se debe guardar cada búfer de visita de archivo no guardado y si se puede detener</p></li>
</ul>
<p>cada proceso no finalizado, y en caso afirmativo, se detiene el servidor.</p>
<ul class="simple">
<li><p>Con el argumento kill-terminal, cuando se cierra la última trama de cliente con C-x C-c (save-buffers-kill-terminal), se pregunta si se debe guardar cada búfer visitante de fichero</p></li>
</ul>
<p>no guardado y si se puede detener cada proceso no finalizado, y en caso afirmativo, se detiene el servidor.</p>
</div></blockquote>
<p>Si ha definido un servidor con un nombre de servidor único, es posible conectarse al servidor desde otra instancia de Emacs y evaluar expresiones Lisp en él, usando la función server-eval-at. Por ejemplo, (server-eval-at «foo» “(+ 1 2)) evalúa la expresión (+ 1 2) en el servidor “foo”, y devuelve 3. (Si no hay ningún servidor con ese nombre, se indica un error.) Actualmente, esta función es útil sobre todo para desarrolladores.</p>
<p>Si el entorno de escritorio de su sistema operativo es compatible con freedesktop.org (que es el caso de la mayoría de GNU/Linux y otras GUIs recientes tipo Unix), puede usar la entrada de menú “Emacs (Cliente)” para conectarse a un servidor Emacs con emacsclient. El demonio se inicia si no se está ejecutando ya.</p>
<ol class="arabic simple" start="23">
<li><p>Algunos programas utilizan una variable de entorno diferente; por ejemplo, para que TeX utilice “emacsclient”, establezca la variable de entorno TEXEDIT en “emacsclient +%d %s”.</p></li>
</ol>
<section id="servidor-tcp-emacs">
<h2>40.1 Servidor TCP Emacs<a class="headerlink" href="#servidor-tcp-emacs" title="Link to this heading"></a></h2>
<p>Un servidor Emacs normalmente escucha conexiones en un socket local de dominio Unix. Algunos sistemas operativos, como MS-Windows, no soportan sockets locales; en ese caso, el servidor usa sockets TCP en su lugar. En algunos casos es útil que el servidor escuche en un socket TCP incluso si soporta sockets locales, por ejemplo, si necesita contactar con el servidor Emacs desde una máquina remota. Puede establecer server-use-tcp a no nil para que Emacs escuche en un socket TCP en lugar de un socket local. Este es el valor por defecto si su sistema operativo no soporta sockets locales.</p>
<p>Si el servidor Emacs está configurado para usar TCP, escuchará por defecto en un puerto aleatorio de la interfaz localhost. Esto puede cambiarse a otra interfaz y/o a un puerto fijo usando las variables server-host y server-port.</p>
<p>Un socket TCP no está sujeto a los permisos del sistema de archivos. Para mantener cierto control sobre qué Usuarios pueden hablar con un servidor Emacs a través de sockets TCP, el programa emacsclient debe enviar una clave de autorización al servidor. Esta clave es normalmente generada aleatoriamente por el servidor Emacs. Este es el modo de operación recomendado.</p>
<p>Si es necesario, puede establecer la clave de autorización a un valor estático estableciendo la variable server-auth-key. La clave debe consistir en 64 caracteres ASCII imprimibles excepto el espacio (esto significa caracteres desde “!” hasta “~”, o desde el código decimal 33 hasta el 126). Puede utilizar M-x server-generate-key para obtener una clave aleatoria.</p>
<p>Cuando se inicia un servidor TCP Emacs, éste crea un fichero de servidor que contiene la información TCP que usará emacsclient para conectarse al servidor. La variable server-auth-dir especifica el directorio por defecto que contiene el archivo del servidor; por defecto, es ~/.emacs.d/server/. En ausencia de un socket local con permisos de archivo, los permisos de este directorio determinan qué Usuarios pueden hacer que sus procesos emacsclient hablen con el servidor Emacs. Si nombre-servidor es un nombre de fichero absoluto, este se creara donde especifique dicho nombre de archivo.</p>
<p>Para decirle a emacsclient que se conecte al servidor sobre TCP con un fichero servidor específico, use la opción “-f” o “server-file”, o establezca la variable de entorno EMACS_SERVER_FILE (vea Opciones de emacsclient). Si server-auth-dir se establece a un valor no estándar, o si server-name se establece a un nombre de archivo absoluto, emacsclient necesita un nombre de archivo absoluto para el archivo del servidor, ya que el server-auth-dir por defecto está codificado en emacsclient para ser usado como el directorio para resolver nombres de archivo relativos.</p>
</section>
<section id="ejecutar-emacsclient">
<h2>40.2 Ejecutar emacsclient<a class="headerlink" href="#ejecutar-emacsclient" title="Link to this heading"></a></h2>
<p>La forma más sencilla de usar el programa emacsclient es ejecutar el comando de shell “emacsclient archivo”, donde archivo es un nombre de archivo. Esto se conecta a un servidor Emacs, y le dice a ese proceso Emacs que visite archivo en uno de sus marcos existentes - ya sea un marco gráfico, o uno en un terminal de texto (ver Marcos y Pantallas Gráficas). Entonces puedes seleccionar ese marco para empezar a editar.</p>
<p>Si no hay servidor Emacs, el programa emacsclient se detiene con un mensaje de error ( puede evitar que esto ocurra usando la opción “alternate-editor=»»” de emacsclient, vea Opciones de emacsclient). Si el proceso Emacs no tiene ningún marco existente-lo que puede ocurrir si se inició como demonio (ver Usando Emacs como Servidor)-entonces Emacs abre un marco en el terminal en el que llamó a emacsclient.</p>
<p>También puede forzar a emacsclient a abrir un nuevo marco en una pantalla gráfica usando la opción “-c”, o en una terminal de texto usando la opción “-t”. Ver Opciones de emacsclient.</p>
<p>Si está ejecutando en un único terminal de texto, puede cambiar entre el shell de emacsclient y el servidor Emacs usando uno de dos métodos: (i) ejecuta el servidor Emacs y emacsclient en diferentes terminales virtuales, y cambia al terminal virtual del servidor Emacs después de llamar a emacsclient; o (ii) llama a emacsclient desde dentro del propio servidor Emacs, usando el modo Shell (ver Subshell Interactivo) o el modo Term (ver Modo Term); emacsclient bloquea sólo el subshell bajo Emacs, y puede seguir usando Emacs para editar el archivo.</p>
<p>Cuando termine de editar el archivo en el servidor Emacs, escriba C-x # (server-edit) en su buffer. Esto guarda el archivo y envía un mensaje de vuelta al programa emacsclient, diciéndole que salga. Los programas que usan EDITOR normalmente esperan a que el editor -en este caso emacsclient- salga antes de hacer otra cosa.</p>
<p>Si desea abandonar la edición, utilice el comando M-x server-edit-abort. Esto envía un mensaje de vuelta al programa emacsclient, diciéndole que salga con un estado de salida anormal, y no guarda ningún búfer.</p>
<p>También puede llamar a emacsclient con múltiples argumentos de nombre de archivo: “emacsclient archivo1 archivo2 …” le dice al servidor Emacs que visite archivo1, archivo2, y así sucesivamente. Emacs selecciona el búfer que visita archivo1, y entierra los otros búferes al final de la lista de búferes (ver Usando Búferes Múltiples). El programa emacsclient sale una vez que todos los ficheros especificados han terminado (es decir, una vez que se haya tecleado C-x # en cada búfer del servidor).</p>
<p>Terminar con un buffer del servidor también mata el buffer, a menos que ya existiera en la sesión de Emacs antes de que se pidiera al servidor que lo creara. Sin embargo, si establece server-kill-new-buffers a nil, entonces se usa un criterio diferente: terminar con un búfer del servidor lo mata si el nombre del fichero coincide con la expresión regular server-temp-file-regexp. Esto se hace para distinguir ciertos archivos temporales.</p>
<p>Cada C-x # comprueba si hay otras peticiones externas pendientes para editar varios archivos, y selecciona el siguiente archivo de este tipo. Puede cambiar a un buffer de servidor manualmente si lo desea; no tiene que llegar a él con C-x #. Pero C-x # es la forma de decirle a emacsclient que ha terminado.</p>
<p>Si establece el valor de la variable server-window a una ventana o a un marco, C-x # siempre muestra el siguiente búfer del servidor en esa ventana o en ese marco.</p>
<p>Cuando emacsclient se conecta, el servidor normalmente mostrará un mensaje que dice como salir del frame cliente. Si server-client-instructions se establece a nil, este mensaje se inhibe.</p>
</section>
<section id="opciones-de-emacsclient">
<h2>40.3 Opciones de emacsclient<a class="headerlink" href="#opciones-de-emacsclient" title="Link to this heading"></a></h2>
<p>Puede pasar algunos argumentos opcionales al programa emacsclient, como:</p>
<blockquote>
<div><p>emacsclient -c +12 arhivo1 +4:3 arhivo2</p>
</div></blockquote>
<p>Los argumentos “+línea” o “+línea:columna” especifican números de línea, o números de línea y columna, para el siguiente argumento de archivo. Se comportan como los argumentos de línea de comandos del propio Emacs. Ver Argumentos de Acción.</p>
<p>Los otros argumentos opcionales reconocidos por emacsclient se listan a continuación:</p>
<p>-a comando
alternate-editor=comando</p>
<blockquote>
<div><p>Especifica un comando shell a ejecutar si emacsclient falla al contactar con Emacs. Esto es útil cuando se ejecuta emacsclient en un script. El comando puede incluir argumentos, que
pueden ser entrecomillados «así». Actualmente, no es posible escapar las comillas.</p>
<p>Como excepción especial, si comando es la cadena vacía, entonces emacsclient inicia Emacs en modo demonio (como “emacs daemon”) y luego intenta conectarse de nuevo.</p>
<p>La variable de entorno ALTERNATE_EDITOR (EDITOR_ALTERNO) tiene el mismo efecto que la opción “-a”. Si ambas están presentes, la segunda tiene prioridad.</p>
</div></blockquote>
<p>-c
create-frame</p>
<blockquote>
<div><p>Crea un nuevo marco gráfico cliente, en lugar de usar un marco Emacs existente. Ver más abajo el comportamiento especial de C-x C-c en un marco cliente. Si Emacs no puede crear un
nuevo marco gráfico (por ejemplo, si no puede conectarse al servidor X), intenta crear un marco de cliente de terminal de texto, como si hubiera especificado la opción “-t” en su
lugar.</p>
<p>En MS-Windows, una única sesión de Emacs no puede mostrar marcos tanto en terminales gráficos como de texto, ni en múltiples terminales de texto. Por lo tanto, si el servidor Emacs se
está ejecutando en un terminal de texto, la opción “-c”, al igual que la opción “-t”, crea un nuevo marco en el terminal de texto actual del servidor. Ver Cómo Arrancar Emacs en
MS-Windows.</p>
<p>Si omite un argumento de nombre de archivo al suministrar la opción “-c”, el nuevo marco muestra el buffer <em>scratch</em> por defecto. Puede personalizar este comportamiento con la
variable initial-buffer-choice (vea Entrando en Emacs).</p>
</div></blockquote>
<p>-r
reuse-frame</p>
<blockquote>
<div><p>Crea un nuevo marco gráfico de cliente si no existe, en caso contrario utiliza un marco Emacs existente.</p>
</div></blockquote>
<p>-F alist
frame-parameters=alist</p>
<blockquote>
<div><p>Configura los parámetros de un marco gráfico recién creado (véase Parámetros del Marco).</p>
</div></blockquote>
<p>-d display
display=pantalla</p>
<blockquote>
<div><p>Indica a Emacs que abra los archivos dados en la pantalla X (suponiendo que haya más de una pantalla X disponible).</p>
</div></blockquote>
<p>-e
eval</p>
<blockquote>
<div><p>Le dice a Emacs que evalúe algún código Emacs Lisp, en lugar de visitar algunos archivos. Cuando se da esta opción, los argumentos a emacsclient se interpretan como una lista de
expresiones a evaluar, no como una lista de archivos a visitar.</p>
</div></blockquote>
<p>-f servidor-arhivo
server-file=servidor-arhivo</p>
<blockquote>
<div><p>Especifica un archivo de servidor (ver Servidor Emacs TCP) para conectarse a un servidor Emacs vía TCP. Alternativamente, puede establecer la variable de entorno EMACS_SERVER_FILE
para que apunte al fichero del servidor. (La opción de la línea de comandos anula la variable de entorno).</p>
<p>Un servidor Emacs normalmente usa un socket local para escuchar conexiones, pero también soporta conexiones sobre TCP. Para conectarse a un servidor Emacs TCP, emacsclient necesita
leer un fichero de servidor que contenga los detalles de conexión del servidor Emacs. El nombre de este fichero se especifica con esta opción, bien como un nombre de archivo relativo
a ~/.emacs.d/servidor o como un nombre de archivo absoluto. Véase Servidor TCP Emacs.</p>
</div></blockquote>
<p>-n
no-wait</p>
<blockquote>
<div><p>Deja que emacsclient salga inmediatamente, en lugar de esperar hasta que todos los búferes del servidor hayan terminado. Puede tomarse todo el tiempo que quiera para editar los
búferes del servidor dentro de Emacs, y no son matados cuando escriba C-x # en ellos.</p>
</div></blockquote>
<p>-w
timeout=N</p>
<blockquote>
<div><p>Espera una respuesta de Emacs durante N segundos antes de abandonar. Si no hay respuesta en ese tiempo, emacsclient mostrará una advertencia y saldrá. El valor por defecto es “0”, que
significa esperar indefinidamente.</p>
</div></blockquote>
<dl class="simple">
<dt>parent-id=id</dt><dd><p>Permite abrir un marco emacsclient como marco cliente en la ventana X padre con id id, a través del protocolo XEmbed. Actualmente, esta opción es útil principalmente para
desarrolladores.</p>
</dd>
</dl>
<p>-q
quiet</p>
<blockquote>
<div><p>No permite que emacsclient muestre mensajes sobre la espera de Emacs o la conexión a sockets de servidores remotos.</p>
</div></blockquote>
<p>-u
suppress-output</p>
<blockquote>
<div><p>No permite que emacsclient muestre los resultados devueltos por el servidor. Muy útil en combinación con “-e” cuando la evaluación realizada es de efecto secundario en lugar de
resultado.</p>
</div></blockquote>
<p>-s nombre-servidor
socket-name=nombre-servidor</p>
<blockquote>
<div><p>Conecta con el servidor Emacs llamado nombre-servidor. (Esta opción no está soportada en MS-Windows.) El nombre del servidor viene dado por la variable nombre-servidor en el servidor
Emacs. Si se omite esta opción, emacsclient se conecta al socket por defecto. Si establece nombre-servidor del servidor Emacs a un nombre de fichero absoluto, dé el mismo nombre de
archivo absoluto que nombre-servidor a esta opción para indicar a emacsclient que se conecte a ese servidor. Necesita usar esta opción si inició Emacs como demonio (vea Opciones
Iniciales) y especificó el nombre para el servidor iniciado por el demonio.</p>
<p>Alternativamente, puede establecer la variable de entorno EMACS_SOCKET_NAME para que apunte al socket del servidor. (La opción de línea de comandos anula la variable de entorno).</p>
</div></blockquote>
<p>-t
tty
-nw</p>
<blockquote>
<div><p>Crea un nuevo marco de cliente en el terminal de texto actual, en lugar de utilizar un marco Emacs existente. Esto se comporta igual que la opción “-c”, descrita anteriormente,
excepto que crea un marco de terminal de texto (ver Terminales Sin-Ventana).</p>
<p>En MS-Windows, “-t” se comporta igual que “-c” si el servidor Emacs está usando la pantalla gráfica, pero si el servidor Emacs se está ejecutando en un terminal de texto, crea un
nuevo marco en el terminal de texto actual.</p>
</div></blockquote>
<p>-T tramp-prefix
tramp-prefix=tramp-prefix</p>
<blockquote>
<div><p>Establece el prefijo a añadir a los nombres de fichero para que Emacs localice ficheros en máquinas remotas (ver Ficheros remotos) usando TRAMP (ver El Manual de Tramp en El Manual de
Tramp). Esto es sobre todo útil en combinación con el uso del servidor Emacs sobre TCP (ver Servidor Emacs TCP). Reenviando por ssh el puerto de escucha y haciendo que
archivo-servidor esté disponible en una máquina remota, los programas en la máquina remota pueden usar emacsclient como valor para las variables de entorno EDITOR y similares, pero en
lugar de hablar con un servidor Emacs en la máquina remota, los archivos serán visitados en la sesión Emacs local usando TRAMP.</p>
<p>Establecer la variable de entorno EMACSCLIENT_TRAMP tiene el mismo efecto que usar la opción “-T”. Si se especifican ambas, la opción de la línea de comandos tiene preferencia.</p>
<p>Por ejemplo, asume dos hosts, “local” y “remoto”, y que el Emacs local escucha en el puerto tcp 12345. Supongamos además que /home está en un sistema de ficheros compartido, de modo
que el fichero del servidor ~/.emacs.d/server/server es legible en ambos hosts.</p>
<blockquote>
<div><p>local$ ssh -R12345:localhost:12345 remot0
remote$ export EDITOR=»emacsclient </p>
<blockquote>
<div><p>server-file=servidor tramp=/<a class="reference external" href="ssh:remoto">ssh:remoto</a></p>
</div></blockquote>
<p>remote$ $EDITOR /tmp/foo.txt #Debería abrirse en emacs local.</p>
</div></blockquote>
</div></blockquote>
<p>Los nuevos marcos de terminal gráficos o de texto creados por las opciones “-c” o “-t” se consideran marcos de cliente. Cualquier nuevo marco que crees a partir de un marco de cliente también se considera un marco de cliente. Si escribe C-x C-c (save-buffers-kill-terminal) en un marco de cliente, ese comando no mata la sesión de Emacs como hace normalmente (ver Salir de Emacs). En su lugar, Emacs borra el marco del cliente; además, si el marco del cliente tiene un emacsclient esperando para recuperar el control (es decir, si no proporcionó la opción “-n”), Emacs borra todos los demás marcos del mismo cliente, y marca los buffers del servidor del cliente como terminados, como si hubiera tecleado C-x # en todos ellos. Si resulta que no quedan marcos después de borrar el marco o marcos del cliente, la sesión de Emacs finaliza.</p>
<p>Como excepción, cuando Emacs se inicia como demonio, todos los marcos se consideran marcos cliente, y C-x C-c nunca mata Emacs. Para matar un demonio de sesión, teclee M-x kill-emacs.</p>
<p>Tenga en cuenta que las opciones “-t” y “-n” son contradictorias: “-t” dice que tome el control del terminal de texto actual para crear una nueva trama cliente, mientras que “-n” dice que no tome el control del terminal de texto. Si proporciona ambas opciones, Emacs visita los archivos especificados en un marco existente en lugar de un nuevo marco de cliente, anulando el efecto de “-t”.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="39_ComndShellEmacs.html" class="btn btn-neutral float-left" title="39 Ejecución de comandos de shell desde Emacs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="41_ImprCopiasPapl.html" class="btn btn-neutral float-right" title="41 Impresión de Copias en Papel" 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>

View File

@ -0,0 +1,179 @@
<!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>41 Impresión de Copias en Papel &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="42 Ordenar texto" href="42_OrdenarTexto.html" />
<link rel="prev" title="40 Usar Emacs Como Servidor" href="40_EmacsComoServ.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">41 Impresión de Copias en Papel</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/41_ImprCopiasPapl.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="impresion-de-copias-en-papel">
<h1>41 Impresión de Copias en Papel<a class="headerlink" href="#impresion-de-copias-en-papel" title="Link to this heading"></a></h1>
<p>Emacs proporciona comandos para imprimir copias en papel de un búfer entero o de parte de él. Puede invocar los comandos de impresión directamente, como se detalla a continuación, o utilizando el menú “File” (Archivo) de la barra de menús.</p>
<p>Aparte de los comandos descritos en esta sección, también puede imprimir copias en papel desde Dired (véase Operar con Archivos) y la agenda (véase Visualizar la Agenda). Tambien puede «imprimir» un búfer Emacs a HTML con el comando M-x htmlfontify-buffer, que convierte el búfer actual a un fichero HTML, reemplazando las caras Emacs por marcas basadas en CSS. Además, Org mode permite imprimir archivos Org a una variedad de formatos, como PDF (ver Org Mode).</p>
<dl class="simple">
<dt>M-x print-buffer</dt><dd><p>Imprime una copia en papel del búfer actual con encabezados de página que contienen el nombre del archivo y el número de página.</p>
</dd>
<dt>M-x lpr-buffer</dt><dd><p>Imprime una copia en papel del búfer actual sin encabezados de página.</p>
</dd>
<dt>M-x print-region</dt><dd><p>Como print-buffer pero imprime sólo la región actual.</p>
</dd>
<dt>M-x lpr-region</dt><dd><p>Como lpr-buffer pero imprimer sólo la región actual.</p>
</dd>
</dl>
<p>En la mayoría de los sistemas operativos, los comandos de impresión anteriores envían los archivos para su impresión llamando al programa lpr. Para cambiar el programa de impresión, personalice la variable lpr-command. Para especificar opciones adicionales para el programa de impresión, personalice la variable de lista lpr-switches. Su valor debe ser una lista de cadenas de opciones, cada una de las cuales debe empezar por “-” (por ejemplo, la cadena de opciones «-w80» especifica un ancho de línea de 80 columnas). El valor por defecto es la lista vacía, nil.</p>
<p>Para especificar la impresora a utilizar, establezca la variable nombre-impresora. El valor por defecto, nil, especifica la impresora por defecto. Si la establece con un nombre de impresora (una cadena), ese nombre se pasa a lpr con el modificador “-P”; si no está usando lpr, debe especificar el modificador con lpr-printer-switch.</p>
<p>La variable lpr-headers-switches especifica de manera similar los switches extra a usar para hacer los encabezados de página. La variable lpr-add-switches controla si se suministran las opciones “-T” y “-J” (adecuadas para lpr) al programa de impresión: nil significa no añadirlas (este debería ser el valor si su programa de impresión no es compatible con lpr).</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="40_EmacsComoServ.html" class="btn btn-neutral float-left" title="40 Usar Emacs Como Servidor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="42_OrdenarTexto.html" class="btn btn-neutral float-right" title="42 Ordenar 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>

View File

@ -0,0 +1,217 @@
<!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>42 Ordenar texto &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="43 Edición de Imágenes" href="43_EdicImag.html" />
<link rel="prev" title="41 Impresión de Copias en Papel" href="41_ImprCopiasPapl.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">42 Ordenar texto</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/42_OrdenarTexto.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="ordenar-texto">
<h1>42 Ordenar texto<a class="headerlink" href="#ordenar-texto" title="Link to this heading"></a></h1>
<p>Emacs proporciona varios comandos para ordenar texto en el búfer. Todos operan sobre el contenido de la región. Dividen el texto de la región en muchos registros de ordenamiento, identifican una clave de clasificación (u ordenamiento) para cada registro, y luego reordenan los registros en el orden determinado por las claves de clasificación. Los registros se ordenan de forma que sus claves estén en orden alfabético o, para una clasificación numérica, en orden numérico. En la clasificación alfabética, todas las letras mayúsculas de la “A” a la “Z” van antes que las minúsculas de la “a”, de acuerdo con la secuencia de caracteres ASCII (pero sort-fold-case, que se describe más adelante, puede cambiar esto).</p>
<p>Los distintos comandos de reordenamiento difieren en cómo dividen el texto en registros de ordenamiento (o clasificación) y en qué parte de cada registro se utiliza como clave de ordenamiento. La mayoría de los comandos hacen de cada línea un registro de clasificación separado, pero algunos comandos utilizan párrafos o páginas como registros de clasificación. La mayoría de los comandos de ordenamiento utilizan cada registro de clasificación completo como su propia clave de ordenamiento, pero algunos utilizan sólo una parte del registro como clave de este tipo.</p>
<dl>
<dt>M-x sort-lines</dt><dd><p>Divide la región en líneas y ordena comparando todo el texto de una línea. Un argumento numérico significa ordenar en orden descendente.</p>
</dd>
<dt>M-x sort-paragraph</dt><dd><p>Divide la región en párrafos y ordena comparando todo el texto de un párrafo (excepto las líneas en blanco del encabezado). Un argumento numérico significa ordenar en orden
descendente.</p>
</dd>
<dt>M-x sort-pages</dt><dd><p>Divide la región en páginas y ordena comparando todo el texto de una página (excepto las líneas en blanco del encabezado). Un argumento numérico significa ordenar en orden descendente.</p>
</dd>
<dt>M-x sort-fields</dt><dd><p>Divide la región en líneas y la ordena comparando el contenido de un campo en cada línea. Los campos se definen como separados por espacios en blanco, de modo que la primera serie de
caracteres consecutivos sin espacios en blanco de una línea constituye el campo 1, la segunda serie constituye el campo 2, etc.</p>
<p>Especifica por qué campo ordenar con un argumento numérico: 1 para ordenar por el campo 1, etc.; por defecto es 1. Un argumento negativo significa contar los campos desde la derecha
en lugar de desde la izquierda; así, menos 1 significa ordenar por el último campo. Si varias líneas tienen contenidos idénticos en el campo que se ordena, mantienen el mismo orden
relativo que tenían en el búfer original.</p>
</dd>
<dt>M-x sort-numeric-fields</dt><dd><p>Igual que M-x sort-fields, excepto en que el campo especificado se convierte en un número entero para cada línea y se comparan los números. “10” va antes que “2” cuando se considera
como texto, pero después cuando se considera como número. Por defecto, los números se interpretan según sort-numeric-base, pero los números que empiezan por “0x” o “0” se interpretan
como hexadecimal y octal, respectivamente.</p>
</dd>
<dt>M-x sort-columns</dt><dd><p>Como M-x sort-fields, excepto en que el texto de cada línea utilizado para la comparación procede de un rango fijo de columnas. Con un argumento prefijo, ordena en orden inverso. Para
más detalles sobre este comando, véase más abajo.</p>
</dd>
<dt>M-x reverse-region</dt><dd><p>Reverse the order of the lines in the region. This is useful for sorting into descending order by fields, since those sort commands do not have a feature for doing that.</p>
</dd>
</dl>
<p>Por ejemplo, si un búfer con este contenido:</p>
<blockquote>
<div><p>En los sistemas en los que está implementada la detección de colisiones (bloqueo de los archivos que se están editando),
Emacs también comprueba la primera vez que modifica un búfer si el archivo ha cambiado en el disco desde la última vez que fue visitado
o guardado.
En caso afirmativo, se le pedirá que confirme que desea modificar el búfer.</p>
</div></blockquote>
<p>aplicando M-x sort-lines a todo el buffer se obtiene esto:</p>
<blockquote>
<div><p>En los sistemas en los que está implementada la detección de colisiones (bloqueo de los archivos que se están
editando), Emacs también comprueba la primera vez que se modifica un búfer guardado. Si es así, se le pide que confirme que desea modificar
el búfer.
si el archivo ha cambiado en el disco desde la última vez que se visitó o</p>
</div></blockquote>
<p>donde la «O» mayúscula se ordena antes que todas las minúsculas. Si en su lugar utiliza campos de ordenamiento C-u 2 M-x, obtendrá lo siguiente:</p>
<blockquote>
<div><p>implementado, Emacs también comprueba la primera vez que modifica un búfer
guardado. Si lo ha hecho, se le pide que confirme que desea
modificar el búfer.
En sistemas donde la detección de colisiones (bloqueo de ficheros en edición) es
si el archivo ha cambiado en el disco desde la última vez que se visitó o</p>
</div></blockquote>
<p>donde las claves de ordenamiento eran “Emacs”, “Si”, “búfer”, “sistemas” y “el”.</p>
<p>M-x sort-columns (ordenar-columnas) requiere más explicación. Se especifican las columnas poniendo punto en una de las columnas y la marca en la otra columna. Como esto significa que no puede poner el punto o la marca al principio de la primera línea del texto que desea ordenar, este comando utiliza una definición inusual de «región»: toda la línea en la que está el punto se considera parte de la región, y también toda la línea en la que está la marca, así como todas las líneas intermedias.</p>
<p>Por ejemplo, para ordenar una tabla por la información que se encuentra en las columnas 10 a 15, podría poner la marca en la columna 10 en la primera línea de la tabla, y el punto en la columna 15 en la última línea de la tabla, y luego ejecutar sortr-columns. De forma equivalente, podría ejecutarlo con la marca en la columna 15 en la primera línea y el punto en la columna 10 en la última línea.</p>
<p>Esto puede considerarse como ordenar el rectángulo especificado por el punto y la marca, excepto que el texto de cada línea a la izquierda o derecha del rectángulo se mueve junto con el texto dentro del rectángulo. Véase Rectángulos.</p>
<p>Muchos de los comandos de ordenamiento ignoran las diferencias entre mayúsculas y minúsculas al comparar, si sort-fold-case es distinto de nil.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="41_ImprCopiasPapl.html" class="btn btn-neutral float-left" title="41 Impresión de Copias en Papel" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="43_EdicImag.html" class="btn btn-neutral float-right" title="43 Edición de Imágenes" 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>

View File

@ -0,0 +1,255 @@
<!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>43 Edición de Imágenes &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="44 Edición de Archivos Binarios" href="44_EdicArchBinarios.html" />
<link rel="prev" title="42 Ordenar texto" href="42_OrdenarTexto.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">43 Edición de Imágenes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#edicion-basica-en-modo-imagen">43.1 Edición Básica en Modo Imagen</a></li>
<li class="toctree-l2"><a class="reference internal" href="#control-del-movimiento-despues-de-la-insercion">43.2 Control del Movimiento Después de la Inserción</a></li>
<li class="toctree-l2"><a class="reference internal" href="#pestanas-del-modo-imagen">43.3 Pestañas del Modo Imagen</a></li>
<li class="toctree-l2"><a class="reference internal" href="#comandos-de-rectangulo-en-modo-imagen">43.4 Comandos de Rectángulo en Modo Imagen</a></li>
</ul>
</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>
</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">43 Edición de Imágenes</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/43_EdicImag.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="edicion-de-imagenes">
<h1>43 Edición de Imágenes<a class="headerlink" href="#edicion-de-imagenes" title="Link to this heading"></a></h1>
<p>Para editar una imagen formada por caracteres de texto (por ejemplo, una imagen de la división de un registro en campos, como un comentario en un programa), utilice el comando M-x picture-mode para acceder al modo Imagen.</p>
<p>En el modo Imagen, la edición se basa en el modelo de cuarto plano del texto, según el cual los caracteres de texto se encuentran dispuestos en un área que se extiende infinitamente hacia la derecha y hacia abajo. El concepto de final de línea no existe en este modelo; lo más que se puede decir es dónde se encuentra el último carácter no en blanco de la línea.</p>
<p>Por supuesto, Emacs siempre considera el texto como una secuencia de caracteres, y las líneas realmente tienen un final. Pero el modo Imagen sustituye los comandos más utilizados por variantes que simulan el modelo de cuarto de plano del texto. Lo hacen insertando espacios o convirtiendo tabuladores en espacios.</p>
<p>La mayoría de los comandos básicos de edición de Emacs son redefinidos por el modo Imagen para hacer esencialmente lo mismo pero en un cuarto de plano. Además, este modo define varias teclas que empiezan con el prefijo C-c para ejecutar comandos especiales de edición de imágenes.</p>
<p>Una de estas teclas, C-c C-c, es particularmente importante. A menudo, una imagen forma parte de un archivo más grande que suele editarse en algún otro modo principal. El modo imagen registra el nombre del modo principal anterior para que pueda utilizar el comando C-c C-c (modo imagen-salir) más adelante para volver a ese modo. C-c C-c también borra los espacios al final de las líneas, a menos que se le dé un argumento numérico.</p>
<p>Los comandos especiales del modo Imagen funcionan todos en otros modos (siempre que la biblioteca de imágenes esté cargada), pero no están vinculados a teclas excepto en el modo Imagen. Las descripciones que siguen hablan de mover «una columna», etc., pero todos los comandos del modo imagen manejan argumentos numéricos como sus equivalentes normales.</p>
<p>Al activar el modo de imagen se ejecuta el gancho picture-mode-hook. Se pueden encontrar extensiones adicionales al modo Picture en artist.el.</p>
<section id="edicion-basica-en-modo-imagen">
<h2>43.1 Edición Básica en Modo Imagen<a class="headerlink" href="#edicion-basica-en-modo-imagen" title="Link to this heading"></a></h2>
<p>La mayoría de las teclas hacen en modo Imagen lo mismo que hacen habitualmente, pero lo hacen en un estilo de cuarto de plano. Por ejemplo, C-f es la tecla de rebote para ejecutar picture-forward-column, un comando que mueve el punto una columna a la derecha, insertando un espacio si es necesario para que el final real de la línea no suponga ninguna diferencia. C-b es la orden de rebote para ejecutar picture-backward-column, que siempre mueve el punto una columna a la izquierda, convirtiendo un tabulador en varios espacios si es necesario. C-n y C-p son rebotes para ejecutar picture-move-down y picture-move-up, que pueden insertar espacios o convertir tabuladores según sea necesario para asegurarse de que el punto permanece exactamente en la misma columna. C-e ejecuta picture-end-of-line, que se mueve después del último carácter no en blanco de la línea. C-a ejecuta imagen-principio-de-línea. (La elección del modelo de pantalla no afecta a los inicios de línea; lo único que hace este comando es actualizar a 0 la columna de imagen actual).</p>
<p>La inserción de texto se adapta al modelo de pantalla de cuarto de plano mediante el uso del modo de sobrescritura (véase Modos Menores.) Los caracteres autoinsertados sustituyen al texto existente, columna a columna, en lugar de empujar el texto existente hacia la derecha. RET ejecuta picture-newline, que simplemente se desplaza al principio de la línea siguiente para que el nuevo texto sustituya a esa línea.</p>
<p>En el modo Imagen, los comandos que normalmente borran o eliminan texto, en su lugar lo borran (sustituyéndolo por espacios). DEL (picture-backward-clear-column) sustituye el carácter precedente por un espacio en lugar de eliminarlo; esto desplaza el punto hacia atrás. C-d (picture-clear-column) sustituye el carácter o caracteres siguientes por espacios, pero no desplaza el punto. (Si desea borrar caracteres a espacios y avanzar sobre ellos, utilice SPC). C-k (picture-clear-line) realmente elimina el contenido de las líneas, pero no borra las nuevas líneas del buffer.</p>
<p>Para realizar la inserción real, debe utilizar comandos especiales. C-o (picture-open-line) crea una línea en blanco después de la línea actual; nunca divide una línea. C-M-o (split-line) tiene sentido en modo Imagen, por lo que no se modifica. C-j (picture-duplicate-line) inserta otra línea con el mismo contenido debajo de la línea actual.</p>
<p>Para realizar un borrado real en modo Imagen, utilice C-w, C-c C-d (que se define como delete-char, al igual que C-d en otros modos), o uno de los comandos de rectángulo de imagen (consulte Comandos de Rectángulo en Modo Imagen).</p>
</section>
<section id="control-del-movimiento-despues-de-la-insercion">
<h2>43.2 Control del Movimiento Después de la Inserción<a class="headerlink" href="#control-del-movimiento-despues-de-la-insercion" title="Link to this heading"></a></h2>
<p>Dado que los caracteres de autoinserción en el modo Imagen sobrescriben y mueven el punto, no existe ninguna restricción esencial sobre cómo debe moverse el punto. Normalmente el punto se mueve hacia la derecha, pero puede especificar cualquiera de las ocho direcciones ortogonales o diagonales para el movimiento después de un carácter autoinsertado. Esto es útil para dibujar líneas en el búfer.</p>
<p>C-c &lt;
C-c LEFT</p>
<blockquote>
<div><p>Mueve a la izquierda después de la inserción (picture-movement-left).</p>
</div></blockquote>
<p>C-c &gt;
C-c RIGHT</p>
<blockquote>
<div><p>Mueve a la derecha después de la inserción (picture-movement-right).</p>
</div></blockquote>
<p>C-c ^
C-c UP</p>
<blockquote>
<div><p>Mueve a arriba después de la inserción (picture-movement-up).</p>
</div></blockquote>
<p>C-c .
C-c DOWN</p>
<blockquote>
<div><p>Mueve abajo después de la inserción (picture-movement-down).</p>
</div></blockquote>
<p>C-c `
C-c Home</p>
<blockquote>
<div><p>Mueve hacia arriba y hacia la izquierda («noroeste») después de la inserción (picture-movement-nw).</p>
</div></blockquote>
<p>C-c “
C-c PageUp
C-c prior</p>
<blockquote>
<div><p>Mueve hacia arriba y hacia la derecha («noreste») después de la inserción (imagen-movimiento-ne).</p>
</div></blockquote>
<p>C-c /
C-c End</p>
<blockquote>
<div><p>Para desplazarse hacia abajo y hacia la izquierda («suroeste») después de la inserción (picture-movement-sw).</p>
</div></blockquote>
<p>C-c C-c PageDown
C-c next</p>
<blockquote>
<div><p>Desplazarse hacia abajo y hacia la derecha («sureste») tras la inserción (imagen-movimiento-se).</p>
</div></blockquote>
<p>Dos comandos de movimiento se mueven en función de la dirección actual de inserción de la imagen. El comando C-c C-f (picture-motion) se mueve en la misma dirección que el movimiento tras la inserción actual, mientras que C-c C-b (picture-motion-reverse) se mueve en la dirección opuesta.</p>
</section>
<section id="pestanas-del-modo-imagen">
<h2>43.3 Pestañas del Modo Imagen<a class="headerlink" href="#pestanas-del-modo-imagen" title="Link to this heading"></a></h2>
<p>En el modo Imagen se ofrecen dos tipos de acciones similares a las pestañas. Utilice M-TAB (picture-tab-search) para el tabulado basado en el contexto. Sin argumento, se mueve a un punto por debajo del siguiente carácter «interesante» que sigue al espacio en blanco en la línea anterior no en blanco. «Next» (Siguiente) aquí significa «que aparece en una posición horizontal mayor que en la que comienza el punto». Con el argumento prefijo, como en C-u M-TAB, este comando se mueve al siguiente carácter interesante en la línea actual. M-TAB no cambia el texto; sólo mueve el punto. Los caracteres «interesantes» se definen mediante la variable picture-tab-chars, que debe definir un conjunto de caracteres. La sintaxis para esta variable es como la sintaxis usada dentro de “[…]” en una expresión regular-pero sin el “[” y el “]”. Su valor por defecto es «!-~».</p>
<p>El propio TAB ejecuta picture-tab, que opera basándose en la configuración actual de tabulador; en modo Imagen es el equivalente de tab-to-tab-stop. Normalmente sólo mueve el punto, pero con un argumento numérico borra el texto sobre el que se mueve.</p>
<p>Las formas de tabulación basadas en contexto y en tabulador se unen mediante el comando C-c TAB (picture-set-tab-stops). Este comando establece los tabuladores en las posiciones que M-TAB consideraría significativas en la línea actual. El uso de este comando, junto con TAB, puede conseguir el efecto del tabulado basado en el contexto. Pero M-TAB es más conveniente en los casos en que es suficiente.</p>
<p>Puede ser conveniente evitar el uso de caracteres de tabulación reales en las imágenes. Por ejemplo, esto evita que C-x TAB estropee la imagen. Puede hacerlo estableciendo la variable indent-tabs-mode a nil.</p>
</section>
<section id="comandos-de-rectangulo-en-modo-imagen">
<h2>43.4 Comandos de Rectángulo en Modo Imagen<a class="headerlink" href="#comandos-de-rectangulo-en-modo-imagen" title="Link to this heading"></a></h2>
<p>El modo Imagen define comandos para trabajar en trozos rectangulares del texto de forma que encajen con el modelo de cuarto plano. Los comandos estándar de rectángulo también pueden ser útiles. Véase Rectángulos.</p>
<dl class="simple">
<dt>C-c C-k</dt><dd><p>Borra el rectángulo-región con espacios (picture-clear-rectangle). Con un argumento prefijo, borra el texto.</p>
</dd>
<dt>C-c C-w r</dt><dd><p>Similar, pero guarda primero el contenido del rectángulo en el registro r (picture-clear-rectangle-to-register). Véase Registros.</p>
</dd>
<dt>C-c C-y</dt><dd><p>Copia el último rectángulo matado en el búfer sobrescribiendo, con la esquina superior izquierda en el punto (picture-yank-rectangle). Con argumento, insertar en su lugar.</p>
</dd>
<dt>C-c C-x r</dt><dd><p>Similar, pero utiliza el rectángulo del registro r (picture-yank-rectangle-from-register).</p>
</dd>
</dl>
<p>Los comandos de rectángulo de imagen C-c C-k (picture-clear-rectangle) y C-c C-w (picture-clear-rectangle-to-register) difieren de los comandos de rectángulo estándar en que normalmente eliminan el rectángulo en lugar de borrarlo; esto es análogo a la forma en que se cambia C-d en el modo Imagen.</p>
<p>Sin embargo, el borrado de rectángulos puede ser útil en el modo Imagen, por lo que estos comandos borran el rectángulo si se les da un argumento numérico. C-c C-k ya sea con o sin un argumento numérico guarda el rectángulo para C-c C-y.</p>
<p>Los comandos del modo Imagen para desplazar rectángulos difieren de los estándar en que sobrescriben en lugar de insertar. Esto es lo mismo que la inserción de otro texto en el modo Imagen difiere de otros modos. C-c C-y (picture-yank-rectangle) inserta (sobrescribiendo) el rectángulo que fue eliminado más recientemente, mientras que C-c C-x (picture-yank-rectangle-from-register) hace lo mismo con el rectángulo que se encuentra en un registro especificado.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="42_OrdenarTexto.html" class="btn btn-neutral float-left" title="42 Ordenar texto" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="44_EdicArchBinarios.html" class="btn btn-neutral float-right" title="44 Edición de Archivos Binarios" 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>

View File

@ -0,0 +1,191 @@
<!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>44 Edición de Archivos Binarios &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="45 Guardar Sesiones de Emacs" href="45_GuardSesiEnEmacs.html" />
<link rel="prev" title="43 Edición de Imágenes" href="43_EdicImag.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">44 Edición de Archivos Binarios</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/44_EdicArchBinarios.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="edicion-de-archivos-binarios">
<h1>44 Edición de Archivos Binarios<a class="headerlink" href="#edicion-de-archivos-binarios" title="Link to this heading"></a></h1>
<p>Existe un modo principal especial para editar archivos binarios: Modo Hexl. Para utilizarlo, utilice M-x hexl-find-file en lugar de C-x C-f para visitar el archivo. Este comando convierte el contenido del fichero a hexadecimal y le permite editar la traducción. Al guardar el archivo, se convierte automáticamente a binario.</p>
<p>También puede utilizar el modo M-x hexl para traducir un búfer existente a hexadecimal. Esto es útil si visita un archivo normalmente y luego descubre que es un archivo binario.</p>
<p>La inserción de texto siempre sobrescribe en modo Hexl. Esto se hace para reducir el riesgo de estropear accidentalmente la alineación de los datos en el fichero. Los caracteres de texto ordinarios se insertan solos (es decir, se sobrescriben consigo mismos). Existen comandos para la inserción de caracteres especiales por su código. La mayoría de las teclas de movimiento del cursor, así como C-x C-s, están vinculadas en modo Hexl a comandos que producen el mismo efecto. He aquí una lista de otros comandos importantes especiales para el modo Hexl:</p>
<dl class="simple">
<dt>C-M-d</dt><dd><p>Inserta un byte con un código escrito en decimal.</p>
</dd>
<dt>C-M-o</dt><dd><p>Inserta un byte con un código escrito en octal.</p>
</dd>
<dt>C-M-x</dt><dd><p>Inserta un byte con un código escrito en hexadecimal.</p>
</dd>
<dt>C-M-a</dt><dd><p>Se desplaza al principio de una página de 512 bytes.</p>
</dd>
<dt>C-M-e</dt><dd><p>Se mueve al final de una página de 512 bytes.</p>
</dd>
<dt>C-x [</dt><dd><p>Va al principio de una página de 1 KB.</p>
</dd>
<dt>C-x ]</dt><dd><p>Se desplaza al final de una página de 1KB.</p>
</dd>
<dt>M-g</dt><dd><p>Se mueve a una dirección escrita en hex.</p>
</dd>
<dt>M-j</dt><dd><p>Va a una dirección escrita en decimal.</p>
</dd>
<dt>C-c C-c</dt><dd><p>Sale del modo Hexl, volviendo al modo principal que tenía este búfer antes de invocar hexl-mode.</p>
</dd>
</dl>
<p>Otros comandos Hexl le permiten insertar cadenas (secuencias) de bytes binarios, desplazarse por shorts o ints, etc.; escriba C-h a hexl- TAB para más detalles.</p>
<p>El modo Hexl también puede utilizarse para editar archivos de texto. Esto puede resultar útil si el archivo de texto incluye caracteres inusuales o utiliza una codificación inusual (véase Sistemas de Codificación). Para ello, los comandos Hexl que insertan bytes también pueden insertar caracteres ASCII y no ASCII, incluidos caracteres multibyte. Para editar un archivo de texto con Hexl, visite el archivo como de costumbre y, a continuación, escriba M-x hexl-mode RET para cambiar al modo Hexl. Ahora puede insertar caracteres de texto escribiéndolos. Sin embargo, la inserción de caracteres multibyte requiere un cuidado especial, para evitar el peligro de crear secuencias multibyte inválidas: debe empezar a teclear dichos caracteres cuando el punto esté en el primer byte de una secuencia multibyte en el fichero.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="43_EdicImag.html" class="btn btn-neutral float-left" title="43 Edición de Imágenes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="45_GuardSesiEnEmacs.html" class="btn btn-neutral float-right" title="45 Guardar Sesiones de Emacs" 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>

View File

@ -0,0 +1,181 @@
<!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>45 Guardar Sesiones de Emacs &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="46 Niveles de Edición Recursiva" href="46_NivelsEdicRecursv.html" />
<link rel="prev" title="44 Edición de Archivos Binarios" href="44_EdicArchBinarios.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">45 Guardar Sesiones de Emacs</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/45_GuardSesiEnEmacs.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="guardar-sesiones-de-emacs">
<h1>45 Guardar Sesiones de Emacs<a class="headerlink" href="#guardar-sesiones-de-emacs" title="Link to this heading"></a></h1>
<p>Puede usar la biblioteca de escritorio (desktop library) para guardar el estado de Emacs de una sesión a otra. La configuración guardada del escritorio de Emacs incluye los búferes, sus nombres de archivo, modos principales, posiciones de los búferes, configuración de ventanas y marcos, y algunas variables globales importantes.</p>
<p>Para habilitar esta característica, use el búfer de personalización (ver Interfaz de Personalización Fácil) para establecer desktop-save-mode a t para futuras sesiones, o añada esta línea en su fichero init (ver El fichero de Inicialización de Emacs):</p>
<blockquote>
<div><p>(desktop-save-mode 1)</p>
</div></blockquote>
<p>Si activa desktop-save-mode en su fichero init, cuando Emacs se inicia, busca un escritorio guardado en desktop-path (que por defecto es user-emacs-directory y luego su directorio home) y usa el primer escritorio que encuentra. Mientras Emacs se ejecuta con el modo desktop-save activado, por defecto auto-guarda el escritorio cada vez que cambia la configuración del mismo. La variable desktop-auto-save-timeout determina la frecuencia con la que Emacs busca modificaciones en su escritorio. El escritorio también se guarda cuando sale de Emacs.</p>
<p>Especifique la opción “no-desktop” en la línea de comandos de Emacs cuando no quiera que recargue ninguna configuración de escritorio guardada. Esto desactiva el modo de guardar escritorio para la sesión actual. Arrancar Emacs con la opción “no-init-file” también desactiva la recarga del escritorio, ya que se salta el archivo init, donde normalmente se activa el modo desktop-save.</p>
<p>Puede tener configuraciones de escritorio guardadas por separado en diferentes directorios; iniciar Emacs desde un directorio donde tiene una configuración de escritorio guardada restaurará esa configuración, siempre que personalice desktop-path para que anteponga . (el directorio actual) a los otros directorios allí. Puede guardar el escritorio actual y recargar el guardado en otro directorio escribiendo M-x desktop-change-dir. Tecleando M-x desktop-revert se vuelve al escritorio previamente recargado.</p>
<p>El archivo en el que Emacs guarda el escritorio está bloqueado mientras se ejecuta la sesión, para evitar sobrescribirlo inadvertidamente desde otra sesión de Emacs. Ese bloqueo se elimina normalmente cuando Emacs sale, pero si Emacs o su sistema se bloquea, el bloqueo permanece, y cuando reinicia Emacs, por defecto le preguntará si quiere usar el fichero de escritorio bloqueado. Puede evitar la pregunta personalizando la variable desktop-load-locked-desktop a nil, que significa no cargar nunca el escritorio en este caso, o a t, que significa cargar el escritorio sin preguntar. También puede personalizar la variable con el valor especial check-pid, que significa cargar el archivo si el proceso Emacs que ha bloqueado el escritorio no se está ejecutando en la máquina local. Esto no debería usarse en circunstancias en las que el Emacs que ha bloqueado el escritorio pueda estar ejecutándose en otra máquina, lo que podría ser el caso en entornos multiusuario en los que su directorio personal está montado remotamente usando NFS o similar.</p>
<p>Cuando Emacs arranca en modo demonio, no puede hacerle ninguna pregunta, así que si encuentra el fichero de escritorio bloqueado, no lo cargará, a menos que desktop-load-locked-desktop sea t. Tenga en cuenta que restaurar el escritorio en modo demonio es algo problemático por otras razones: por ejemplo, el demonio no puede usar características de la GUI, así que parámetros como la posición del marco, el tamaño y las decoraciones no pueden restaurarse. Por esa razón, puede que desee retrasar la restauración del escritorio en modo demonio hasta que se conecte el primer cliente, llamando a desktop-read (ver más abajo) en una función de gancho que añada a server-after-make-frame-hook (ver Creando Marcos en El Manual de Referencia de Emacs Lisp).</p>
<p>Siempre que quiera, puedes usar el comando M-x desktop-save para forzar el guardado inmediato del escritorio actual. Esto es útil si no quiere usar la restauración automática del escritorio, y por tanto no activa el modo desktop-save, o cuando ha hecho cambios significativos en el escritorio, y quiere asegurarse de que la configuración no se pierde si Emacs o su sistema se bloquean. Puedes usa M-x desktop-read para restaurar un escritorio previamente guardado si la sesión actual de Emacs aún no ha cargado ningún escritorio.</p>
<p>Por defecto, el escritorio intenta guardar y restaurar la configuración de marcos y ventanas. Para desactivar esto, establezca desktop-restore-frames a nil. (Consulte la documentación de esa variable para ver algunas opciones relacionadas que puede personalizar para afinar este comportamiento).</p>
<p>Cuando el escritorio restaura la configuración de marcos y ventanas, usa los valores registrados de los parámetros de los marcos, ignorando cualquier configuración para esos parámetros que tenga en su fichero de inicialización (ver El fichero de inicialización de Emacs). Esto significa que los parámetros de los marcos restaurados, como las fuentes y las caras, provendrán del archivo del escritorio, donde fueron guardados cuando salió de su sesión anterior de Emacs; cualquier configuración de esos parámetros en su archivo de inicialización será ignorada. Para desactivar esto, personalice el valor de frameset-filter-alist para filtrar los parámetros de marco que no quiere que se restauren; entonces se establecerán de acuerdo a sus personalizaciones en el archivo init.</p>
<p>La información sobre los búferes que visitan archivos remotos no se guarda por defecto. Personalice la variable desktop-files-not-to-save para cambiar esto.</p>
<p>Por defecto, todos los búferes del escritorio se restauran de una sola vez. Sin embargo, esto puede ser lento si hay muchos búferes en el escritorio. Puede especificar el número máximo de búferes a restaurar inmediatamente con la variable desktop-restore-eager; el resto de ellos se restauran lentamente, cuando Emacs está inactivo.</p>
<p>Escribe M-x desktop-clear para vaciar el escritorio de Emacs; esto puede ser útil, por ejemplo, si quiere cambiar a otro escritorio invocando M-x desktop-read next. El comando desktop-clear elimina todos los búferes excepto los internos, y borra las variables globales listadas en desktop-globals-to-clear. Si desea que conserve ciertos búferes, personalice la variable desktop-clear-preserve-búferes-regexp, cuyo valor es una expresión regular que coincide con los nombres de los búferes que no debe eliminar.</p>
<p>Si desea guardar el historial de minibúferes de una sesión a otra, utilice la biblioteca savehist.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="44_EdicArchBinarios.html" class="btn btn-neutral float-left" title="44 Edición de Archivos Binarios" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="46_NivelsEdicRecursv.html" class="btn btn-neutral float-right" title="46 Niveles de Edición Recursiva" 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>

View File

@ -0,0 +1,173 @@
<!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>46 Niveles de Edición Recursiva &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="47 Funciones de Hiperenlace y Navegación web" href="47_FuncHiperv-Y-NavWeb.html" />
<link rel="prev" title="45 Guardar Sesiones de Emacs" href="45_GuardSesiEnEmacs.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">46 Niveles de Edición Recursiva</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/46_NivelsEdicRecursv.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="niveles-de-edicion-recursiva">
<h1>46 Niveles de Edición Recursiva<a class="headerlink" href="#niveles-de-edicion-recursiva" title="Link to this heading"></a></h1>
<p>Una edición recursiva es una situación en la que está usando comandos Emacs para realizar una edición arbitraria mientras está en medio de otro comando Emacs. Por ejemplo, cuando teclea C-r dentro de una consulta-reemplazar (query-replace), entra en una edición recursiva en la que puede cambiar el búfer actual. Al salir de la edición recursiva, se vuelve a la consulta-reemplazo. Véase Reemplazar Consulta.</p>
<p>Salir de la edición recursiva significa volver al comando inacabado, que continúa la ejecución. El comando para salir es C-M-c (exit-recursive-edit).</p>
<p>También puede abortar la edición recursiva. Esto es como salir, pero además abandona inmediatamente el comando inacabado. Utilice el comando C-] (abortar-edición-recurrente) para hacerlo. Vea Salir y Abortar.</p>
<p>La línea de modo le muestra cuando está en una edición recursiva mostrando corchetes alrededor de los paréntesis que siempre rodean los nombres de los modos mayor y menor. La línea de modo de cada ventana muestra esto de la misma manera, ya que estar en una edición recursiva es cierto para Emacs como un todo más que para cualquier ventana o búfer en particular.</p>
<p>Es posible estar en ediciones recursivas dentro de otras ediciones recursivas. Por ejemplo, después de teclear C-r en una consulta-reemplazo, puede teclear un comando que entre en el depurador. Esto inicia un nivel de edición recursivo para el depurador, dentro del nivel de edición recursivo para C-r. Las líneas de modo muestran un par de corchetes para cada nivel de edición recursiva en curso.</p>
<p>Al salir de la edición recursiva interna (como con el comando c del depurador) se reanuda el comando que se está ejecutando en el siguiente nivel superior. Cuando ese comando termina, puede usar C-M-c para salir de otro nivel de edición recursiva, y así sucesivamente. Salir sólo se aplica al nivel más interno. Abortando también se sale sólo de un nivel de edición recursiva; se vuelve inmediatamente al nivel de comandos de la edición recursiva anterior. Si lo desea, puede abortar entonces el siguiente nivel de dicha edición.</p>
<p>Alternativamente, el comando M-x nivel superior aborta todos los niveles de edición recursiva, volviendo inmediatamente al lector de comandos del nivel superior. También sale del minibúfer, si está activo.</p>
<p>El texto que se edita dentro de la edición recursiva no tiene por qué ser el mismo texto que estaba editando en el nivel superior. Depende de para qué sea esta edición. Si el comando que invoca la edición recursiva selecciona primero un búfer diferente, ese será el búfer que editará recursivamente. En cualquier caso, puede cambiar de búfer dentro de dicha edición de forma normal (siempre que las teclas de cambio de búfer no hayan sido rechazadas). Probablemente podría hacer todo el resto de su edición dentro de la edición recursiva, visitando archivos y todo. Pero esto podría tener efectos inesperados (como desbordamiento de pila) de vez en cuando. Así que recuerde salir o abortar la edición recursiva cuando ya no la necesite.</p>
<p>En general, intentamos minimizar el uso de niveles de edición recursivos en GNU Emacs. Esto se debe a que lo obligan a volver atrás en un orden particular, desde el nivel más interno hacia el nivel superior. Cuando es posible, presentamos diferentes actividades en búferes separados para que pueda cambiar entre ellos a su gusto. Algunos comandos cambian a un nuevo modo principal que proporciona un comando para volver atrás. Estos enfoques le dan más flexibilidad para volver a las tareas inacabadas en el orden que elija.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="45_GuardSesiEnEmacs.html" class="btn btn-neutral float-left" title="45 Guardar Sesiones de Emacs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="47_FuncHiperv-Y-NavWeb.html" class="btn btn-neutral float-right" title="47 Funciones de Hiperenlace y Navegación web" 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>

View File

@ -0,0 +1,255 @@
<!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>47 Funciones de Hiperenlace y Navegación web &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="48 Juegos y Otras Diversiones" href="48_Juegos-Y-Otrs.html" />
<link rel="prev" title="46 Niveles de Edición Recursiva" href="46_NivelsEdicRecursv.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">47 Funciones de Hiperenlace y Navegación web</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#navegacion-web-con-eww">47.1 Navegación web con EWW</a></li>
<li class="toctree-l2"><a class="reference internal" href="#widgets-webkit-incrustados">47.2 Widgets WebKit incrustados</a></li>
<li class="toctree-l2"><a class="reference internal" href="#seguir-url">47.3 Seguir URL</a></li>
<li class="toctree-l2"><a class="reference internal" href="#activar-urls">47.4 Activar URLs</a></li>
<li class="toctree-l2"><a class="reference internal" href="#encontrar-archivos-y-urls-en-un-punto">47.5 Encontrar Archivos y URLs en un Punto</a></li>
</ul>
</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>
</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">47 Funciones de Hiperenlace y Navegación web</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/47_FuncHiperv-Y-NavWeb.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="funciones-de-hiperenlace-y-navegacion-web">
<h1>47 Funciones de Hiperenlace y Navegación web<a class="headerlink" href="#funciones-de-hiperenlace-y-navegacion-web" title="Link to this heading"></a></h1>
<p>Las siguientes subsecciones describen características convenientes para manejar URLs y otros tipos de enlaces que ocurren en el texto del búfer de Emacs.</p>
<section id="navegacion-web-con-eww">
<h2>47.1 Navegación web con EWW<a class="headerlink" href="#navegacion-web-con-eww" title="Link to this heading"></a></h2>
<p>EWW, Emacs Web Wowser, es un navegador web para Emacs. Permite navegar por URLs dentro de un buffer de Emacs. El comando M-x eww abrirá una URL o buscará en la web. Puedes abrir un archivo usando el comando M-x eww-open-file. Puedes usar EWW como navegador web para browse-url, ver Siguiendo URLs. Para más detalles, ver EWW en The Emacs Web Wowser Manual.</p>
</section>
<section id="widgets-webkit-incrustados">
<h2>47.2 Widgets WebKit incrustados<a class="headerlink" href="#widgets-webkit-incrustados" title="Link to this heading"></a></h2>
<p>Si Emacs fue compilado con los paquetes de soporte apropiados, es capaz de mostrar widgets de navegador en sus buffers. El comando M-x xwidget-webkit-browse-url pide una URL para mostrar en el widget del navegador. La URL por defecto normalmente es la URL en o antes del punto, pero si hay una región activa (ver La Marca y la Región), la URL por defecto viene de la región en su lugar, después de eliminar cualquier espacio en blanco de la misma. A continuación, el comando crea un nuevo búfer con el navegador incrustado que muestra la URL especificada. El búfer se pone en el modo Xwidget-WebKit (similar al modo Imagen, ver Visualización de Archivos de Imagen), que proporciona comandos de una tecla para desplazar el widget, cambiar su tamaño y recargarlo. Escriba C-h b en ese búfer para ver las combinaciones de teclas.</p>
<p>Por defecto, escribir un carácter de autoinserción dentro de un búfer xwidget webkit no hará nada, o desencadenará alguna acción especial. Para hacer que esos caracteres y otras teclas de edición comunes se inserten solas al pulsarlas, puedes activar xwidget-webkit-edit-mode, que las redefine para pasarlas al xwidget WebKit.</p>
<p>También puede activar el modo xwidget-webkit-edit escribiendo e dentro del búfer xwidget webkit.</p>
<p>xwidget-webkit-isearch-mode es un modo menor que se comporta de forma similar a la búsqueda incremental (ver Búsqueda Incremental), pero opera sobre el contenido de un widget WebKit en lugar del búfer actual. Está vinculado a C-s y C-r dentro de los búferes xwidget-webkit. Cuando se invoca mediante C-r, la búsqueda inicial se realizará en sentido inverso.</p>
<p>Si se escribe cualquier carácter autoinsertado, éste se insertará en la consulta de búsqueda actual. Si se teclea C-s, el widget WebKit mostrará el siguiente resultado de la búsqueda, mientras que si se teclea C-r mostrará el anterior.</p>
<p>Para salir de la búsqueda incremental, puedes teclear C-g.</p>
<p>El comando xwidget-webkit-browse-history muestra un búfer que contiene una lista de páginas previamente cargadas por el buffer WebKit actual, y le permite navegar a esas páginas pulsando RET.</p>
<p>Está vinculado a H.</p>
</section>
<section id="seguir-url">
<h2>47.3 Seguir URL<a class="headerlink" href="#seguir-url" title="Link to this heading"></a></h2>
<dl class="simple">
<dt>M-x browse-url RET url RET</dt><dd><p>Cargar una URL en un navegador Web.</p>
</dd>
</dl>
<p>El paquete Browse-URL permite seguir URLs fácilmente desde Emacs. La mayoría de las URLs se siguen invocando un navegador web; las URLs “mailto:” se siguen invocando el comando Emacs compose-mail para enviar correo a la dirección especificada (ver Enviar Correo).</p>
<p>El comando M-x browse-url pide una URL, y la sigue. Si el punto se encuentra cerca de una URL plausible, esa URL se ofrece por defecto. El paquete Browse-URL también proporciona otros comandos que puede asociar a teclas, como browse-url-at-point y browse-url-at-mouse.</p>
<p>Puede personalizar el comportamiento de Browse-URL mediante varias opciones del grupo browse-url Customize. En particular, la opción browse-url-mailto-function le permite definir cómo seguir las URLs “mailto:”, mientras que browse-url-browser-function especifica su navegador por defecto.</p>
<p>Puede definir que ciertas URLs sean exploradas con otras funciones personalizando browse-url-handlers, una lista de expresiones regulares o predicados emparejados con funciones para explorar URLs coincidentes.</p>
<p>Para más información, consulte el comentario del paquete escribiendo C-h P browse-url RET.</p>
<p>Emacs también tiene un modo menor que tiene cierto soporte para manejar URLs como si fueran ficheros. url-handler-mode es un modo menor global que afecta a la mayoría de los comandos y operaciones primitivas de Emacs que tratan con nombres de archivos. Después de activar este modo, puedes decir, por ejemplo, C-x C-f <a class="reference external" href="https://www.gnu.org/">https://www.gnu.org/</a> RET para ver el HTML de esa página web, y entonces puedes editarlo y guardarlo en un archivo local, por ejemplo.</p>
<p>Puede definir que ciertas URLs sean exploradas con otras funciones personalizando browse-url-handlers, una lista de expresiones regulares o predicados emparejados con funciones para explorar URLs coincidentes.</p>
<p>Para más información, consulte el comentario del paquete escribiendo C-h P browse-url RET.</p>
<p>Emacs también tiene un modo menor que tiene cierto soporte para manejar URLs como si fueran ficheros. url-handler-mode es un modo menor global que afecta a la mayoría de los comandos y operaciones primitivas de Emacs que tratan con nombres de archivos. Después de activar este modo, puedes decir, por ejemplo, C-x C-f <a class="reference external" href="https://www.gnu.org/">https://www.gnu.org/</a> RET para ver el HTML de esa página web, y entonces puedes editarlo y guardarlo en un archivo local, por ejemplo.</p>
</section>
<section id="activar-urls">
<h2>47.4 Activar URLs<a class="headerlink" href="#activar-urls" title="Link to this heading"></a></h2>
<dl class="simple">
<dt>M-x goto-address-mode</dt><dd><p>Activa URL y direcciones de correo electrónico en el búfer actual.</p>
</dd>
<dt>M-x global-goto-address-mode</dt><dd><p>Activa goto-address-mode en todos los búferes.</p>
</dd>
</dl>
<p>Puede hacer que Emacs marque las URLs especialmente en el búfer actual, tecleando M-x goto-address-mode. Cuando este modo menor del búfer está activado, encuentra todas las URLs en el búfer, las resalta, y las convierte en botones clicables. Puede seguir la URL tecleando C-c RET (goto-dirección-en-punto) mientras el punto está en su texto; o haciendo click con el ratón-2, o haciendo click con el ratón-1 rápidamente (ver Siguiendo Referencias con el Ratón). Seguir una URL se hace llamando a browse-url como subrutina (ver Seguir URLs).</p>
<p>Puede ser útil añadir goto-address-mode a los ganchos de modo y ganchos para mostrar un mensaje entrante (por ejemplo, rmail-show-message-hook para Rmail). Esto no es necesario para Gnus o MH-E, que tienen características similares propias.</p>
</section>
<section id="encontrar-archivos-y-urls-en-un-punto">
<h2>47.5 Encontrar Archivos y URLs en un Punto<a class="headerlink" href="#encontrar-archivos-y-urls-en-un-punto" title="Link to this heading"></a></h2>
<p>El paquete FFAP sustituye ciertas combinaciones de teclas para buscar archivos, como C-x C-f, por órdenes que proporcionan valores por defecto más sensibles. Estos comandos se comportan como los habituales cuando se les da un argumento prefijo. De lo contrario, obtienen el nombre de archivo o la URL por defecto del texto alrededor del punto. Si lo que se encuentra en el búfer tiene la forma de una URL en lugar de un nombre de archivo, los comandos utilizan browse-url para verlo (véase Seguir URLs).</p>
<p>Esta función es útil para seguir referencias en búferes de correo o noticias, archivos README, archivos MANIFEST, etc. Para obtener más información, consulte el comentario del paquete escribiendo C-h P ffap RET.</p>
<p>Para activar FFAP, escriba M-x ffap-bindings. Esto hace que los siguientes enlaces de teclas, y también instala ganchos para la funcionalidad FFAP adicional en Rmail, Gnus y VM búferes de artículos.</p>
<dl class="simple">
<dt>C-x C-f nombre-archivo RET</dt><dd><p>Busca nombre de archivo, adivinando un valor predeterminado a partir del texto alrededor del punto (find-file-at-point, buscar-archivo-en-el-punto).</p>
</dd>
<dt>C-x C-r nombre-archivo RET</dt><dd><p>ffap-read-only, análogo a find-file-read-only</p>
</dd>
<dt>C-x C-v nombre-archivo RET</dt><dd><p>ffap-alternate-file, análogo a find-alternate-file.</p>
</dd>
<dt>C-x d directorio RET</dt><dd><p>Inicia Dired en directorio, por defecto en donde está el punto (dired-at-point).</p>
</dd>
<dt>C-x C-d directorio RET</dt><dd><p>ffap-list-directory, análogo a list-directory.</p>
</dd>
<dt>C-x 4 f nombre-archivo RET</dt><dd><p>ffap-other-window, análogo a find-file-other-window.</p>
</dd>
<dt>C-x 4 r nombre-archivo RET</dt><dd><p>ffap-read-only-other-window, análogo a find-file-read-only-other-window.</p>
</dd>
<dt>C-x 4 d directorio RET</dt><dd><p>ffap-dired-other-window, como dired-other-window.</p>
</dd>
<dt>C-x 5 f nombre-archivo RET</dt><dd><p>ffap-other-frame, análogo a find-file-other-frame.</p>
</dd>
<dt>C-x 5 r nombre-archivo RET</dt><dd><p>ffap-read-only-other-frame, análogo a find-file-read-only-other-frame.</p>
</dd>
<dt>C-x 5 d directorio RET</dt><dd><p>ffap-dired-other-frame, análogo dired-other-frame.</p>
</dd>
<dt>C-x t C-f nombre-archivo RET</dt><dd><p>ffap-other-tab, análogo a find-file-other-tab.</p>
</dd>
<dt>C-x t C-r nombre-archivo RET</dt><dd><p>ffap-read-only-other-tab, análogo a find-file-read-only-other-tab.</p>
</dd>
<dt>M-x ffpap-net</dt><dd><p>Busca en el búfer el siguiente nombre de archivo o URL y, a continuación, encuentra ese archivo o URL.</p>
</dd>
<dt>S-ratón-3</dt><dd><p>ffap-at-mouse
Encuentra el archivo adivinado a partir del texto alrededor de la posición donde se hizo clic con el ratón.</p>
</dd>
<dt>C-S ratón-3</dt><dd><p>Muestra un menú de archivos y URLs mencionado en el búfer actual y luego busca el que selecciona (ffap-menu).</p>
</dd>
</dl>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="46_NivelsEdicRecursv.html" class="btn btn-neutral float-left" title="46 Niveles de Edición Recursiva" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="48_Juegos-Y-Otrs.html" class="btn btn-neutral float-right" title="48 Juegos y Otras Diversiones" 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>

View File

@ -0,0 +1,179 @@
<!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>48 Juegos y Otras Diversiones &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="49 Paquetes Emacs Lisp" href="49_PaqEmacsLisp.html" />
<link rel="prev" title="47 Funciones de Hiperenlace y Navegación web" href="47_FuncHiperv-Y-NavWeb.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">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>
</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">48 Juegos y Otras Diversiones</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/48_Juegos-Y-Otrs.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="juegos-y-otras-diversiones">
<h1>48 Juegos y Otras Diversiones<a class="headerlink" href="#juegos-y-otras-diversiones" title="Link to this heading"></a></h1>
<p>El paquete animate hace bailar el texto (por ejemplo, M-x animate-birthday-present).</p>
<p>M-x blackbox, M-x mpuz y M-x 5x5 son rompecabezas. blackbox lo reta a determinar la ubicación de objetos dentro de una caja mediante tomografía. mpuz muestra un rompecabezas de multiplicación con letras que representan dígitos en un código que debe adivinar: para adivinar un valor, escriba una letra y luego el dígito que cree que representa. El objetivo de 5x5 es rellenar todas las casillas.</p>
<p>M-x burbujas es un juego en el que el objetivo es eliminar tantas burbujas como pueda en el menor número de movimientos.</p>
<p>M-x decipher lo ayuda a criptoanalizar un búfer que está encriptado en un simple cifrado de sustitución monoalfabético.</p>
<p>M-x disociated-press revuelve el texto en el búfer actual de Emacs, palabra por palabra o carácter por carácter, escribiendo su salida en un búfer llamado <em>Dissociation</em> (Disociación). Un argumento positivo le dice que opere carácter por carácter, y especifica el número de caracteres solapados. Un argumento negativo le dice que opere palabra por palabra, y especifica el número de palabras solapadas. Dissociated Press produce resultados bastante parecidos a los de una cadena de Markov, pero es, sin embargo, una invención independiente e ignorada; copia técnicamente varios caracteres consecutivos del texto de muestra entre saltos aleatorios, a diferencia de una cadena de Markov que saltaría aleatoriamente después de cada palabra o carácter. Mantenga las palabras disociadas fuera de su documentación, si quiere que se use bien y sea prolija.</p>
<p>M-x dunnet ejecuta un juego de aventuras basado en texto.</p>
<p>Si quiere un poco más de implicación personal, pruebe M-x gomoku, que juega al Go Moku con Usted.</p>
<p>Si está un poco aburrido, puede probar M-x hanoi. Si está considerablemente aburrido, dele un argumento numérico. Si está muy, muy aburrido, prueba con un argumento de 9. Siéntase y observe.</p>
<p>M-x life ejecute el celular autómata Game of Life de Conway.</p>
<p>M-x morse-region convierte el texto de la región a código Morse; M-x unmorse-region lo vuelve a convertir. M-x nato-region convierte el texto de la región al alfabeto fonético de la OTAN; M-x denato-region lo vuelve a convertir.</p>
<p>M-x pong, M-x snake y M-x tetris son implementaciones de los conocidos juegos Pong, Snake y Tetris.</p>
<p>M-x solitaire juega a un solitario en el que salta fichas sobre otras fichas.</p>
<p>El comando M-x zone juega con la pantalla cuando Emacs está inactivo.</p>
<p>«Real Programmers» despliega M-x butterfly, que utiliza mariposas para voltear un bit en el plato de la unidad, véase <a class="reference external" href="https://xkcd.com/378">https://xkcd.com/378</a>.</p>
<p>Por último, si se encuentras frustrado, intente describir sus problemas a la famosa psicoterapeuta Eliza. Escriba M-x doctor. Termine cada entrada tecleando RET dos veces.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="47_FuncHiperv-Y-NavWeb.html" class="btn btn-neutral float-left" title="47 Funciones de Hiperenlace y Navegación web" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="49_PaqEmacsLisp.html" class="btn btn-neutral float-right" title="49 Paquetes Emacs Lisp" 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>

View File

@ -0,0 +1,379 @@
<!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>49 Paquetes Emacs Lisp &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="prev" title="48 Juegos y Otras Diversiones" href="48_Juegos-Y-Otrs.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.25
</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"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></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 current"><a class="current reference internal" href="#">49 Paquetes Emacs Lisp</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#el-menu-de-paquetes">49.1 El Menú de Paquetes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#estados-de-los-paquetes">49.2 Estados de los Paquetes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#instalacion-de-paquetes">49.3 Instalación de Paquetes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#archivos-de-paquete-y-ddistribucion-de-directorios">49.4. Archivos de Paquete y Ddistribución de Directorios</a></li>
<li class="toctree-l2"><a class="reference internal" href="#obtener-las-fuentes-de-los-paquetes">49.5. Obtener las Fuentes de los Paquetes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#especificar-las-fuentes-de-los-paquetes">49.5.1 Especificar las Fuentes de los Paquetes</a></li>
</ul>
</li>
</ul>
</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">49 Paquetes Emacs Lisp</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/49_PaqEmacsLisp.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="paquetes-emacs-lisp">
<h1>49 Paquetes Emacs Lisp<a class="headerlink" href="#paquetes-emacs-lisp" title="Link to this heading"></a></h1>
<p>Emacs se amplía implementando características adicionales en paquetes, que son bibliotecas Emacs Lisp. Éstas pueden ser escritas por Usted o proporcionadas por alguien más. Si quiere instalar tal paquete para que esté disponible en su futura sesión de Emacs, necesita compilarlo y ponerlo en un directorio donde Emacs busque bibliotecas Lisp. Vea Bibliotecas de Código Lisp para Emacs, para más detalles sobre este método de instalación manual. Muchos paquetes proporcionan instrucciones de instalación y uso en el gran comentario cerca del principio del archivo Lisp; puedes usar esas instrucciones para instalar y afinar el uso del paquete.</p>
<p>Los paquetes también pueden ser proporcionados por archivos de paquetes, que son grandes colecciones de paquetes Emacs Lisp. Cada paquete es un programa Emacs Lisp independiente, que a veces incluye otros componentes como un manual de información. Emacs incluye una herramienta que le permite descargar e instalar fácilmente paquetes de dichos archivos. El resto de este capítulo describe esta herramienta.</p>
<p>Para listar los paquetes disponibles para su instalación desde archivos de paquetes, escriba M-x list-packages RET. Aparecerá un búfer llamado <em>Packages</em> (Paquetes) con una lista de todos los paquetes. Puede instalar o desinstalar paquetes a través de este búfer. Ver El Búfer del Menú de Paquetes.</p>
<p>El comando C-h P (describe-package) pide el nombre de un paquete y muestra un búfer de ayuda describiendo los atributos del paquete y las características que implementa.</p>
<p>Por defecto, Emacs descarga paquetes de un archivo de paquetes mantenido por los desarrolladores de Emacs y alojado por el proyecto GNU. Opcionalmente, también puede descargar paquetes de archivos mantenidos por terceros. Ver Instalación de Paquetes.</p>
<p>Para más información sobre cómo convertir un programa Emacs Lisp en un paquete instalable, vea Empaquetado en el Manual de Referencia de Emacs Lisp.</p>
<section id="el-menu-de-paquetes">
<h2>49.1 El Menú de Paquetes<a class="headerlink" href="#el-menu-de-paquetes" title="Link to this heading"></a></h2>
<p>El comando M-x list-packages muestra el menú de paquetes. Este es un búfer que lista todos los paquetes que Emacs conoce, uno en cada línea, con la siguiente información:</p>
<blockquote>
<div><ul class="simple">
<li><p>El nombre del paquete (por ejemplo, “auctex”).</p></li>
<li><p>El número de versión del paquete (por ejemplo, «11.86»).</p></li>
<li><p>El estado del paquete-normalmente uno de los siguientes: “available” (disponible, puede descargarse del archivo de paquetes), “installed” (instalado), o “built-in” (incluido en Emacs</p></li>
</ul>
<p>por defecto). Ver Estado de los Paquetes.</p>
<ul class="simple">
<li><p>De qué archivo de paquetes proviene este paquete, si tiene más de un archivo de paquetes habilitado.</p></li>
<li><p>Una breve descripción del paquete.</p></li>
</ul>
</div></blockquote>
<p>El comando list-packages accede a la red, para recuperar la lista de paquetes disponibles de los servidores de archivo de paquetes. Si la red no está disponible, recurre a la lista recuperada más recientemente.</p>
<p>El comando principal a utilizar en el búfer de la lista de paquetes es el comando x. Si el paquete en cuestión aún no está instalado, este comando lo instalará. Si el paquete en cuestión ya está instalado, lo eliminará.</p>
<p>Los siguientes comandos están disponibles en el menú de paquetes:</p>
<dl class="simple">
<dt>h</dt><dd><p>Imprime un breve mensaje que resume cómo utilizar el menú del paquete (package-menu-quick-help).</p>
</dd>
</dl>
<p>?
RET</p>
<blockquote>
<div><p>Muestra un búfer de ayuda para el paquete en la línea actual (package-menu-describe-package), similar a la ventana de ayuda mostrada por el comando C-h P (ver Emacs Lisp Packages).</p>
</div></blockquote>
<dl class="simple">
<dt>i</dt><dd><p>Marca el paquete en la línea actual para su instalación (package-menu-mark-install). Si el estado del paquete es “available”, (disponible) esto añade un carácter “I” al principio de
la línea; tecleando x (ver más abajo) se descargará e instalará el paquete.</p>
</dd>
<dt>d</dt><dd><p>Marca el paquete en la línea actual para su eliminación (package-menu-mark-delete). Si el estado del paquete es “installed” (instalado), añade un carácter “D” al principio de la
línea; tecleando x (ver más abajo) borrará el paquete. Consulte Archivos de Paquetes y disposición de directorios, para obtener información sobre lo que implica la eliminación de
paquetes.</p>
</dd>
<dt>w</dt><dd><p>Abre el sitio web del paquete en la línea actual en un navegador (package-browse-url). browse-url se usa para abrir el navegador.</p>
</dd>
</dl>
<dl class="simple">
<dt>~</dt><dd><p>Marca todos los paquetes obsoletos para su eliminación (package-menu-mark-obsolete-for-deletion). Marca para su eliminación todos los paquetes cuyo estado sea “obsolete” (obsoleto).</p>
</dd>
</dl>
<p>u
DEL</p>
<blockquote>
<div><p>Elimina cualquier marca de instalación o borrado añadida previamente a la línea actual por un comando i o d (package-menu-mark-unmark).</p>
</div></blockquote>
<dl class="simple">
<dt>U</dt><dd><p>Marca todos los paquetes con una versión disponible más reciente para su actualización (package-menu-mark-upgrades). Esto coloca una marca de instalación en las nuevas versiones
disponibles, y una marca de borrado en las antiguas versiones instaladas (marcadas con el estado “obsolete”). Por defecto, esto no marcará los paquetes incorporados para los que esté
disponible una versión más reciente, pero personalizando package-install-upgrade-built-in puede cambiar esto. Consulte Instalación de Paquetes. Si personaliza
package-install-upgrade-built-in a un valor no nulo, asegúrese de revisar todos los paquetes incorporados que marca el comando U, para evitar actualizar paquetes incorporados que no
desee sobrescribir.</p>
</dd>
<dt>x</dt><dd><p>Descarga e instala todos los paquetes marcados con i, y sus dependencias; además, elimina todos los paquetes marcados con d (package-menu-execute). Esto también elimina las marcas. Si
no hay paquetes marcados, este comando instalará el paquete bajo el punto (si no está instalado ya), o borrará el paquete bajo punto (si ya está instalado).</p>
</dd>
</dl>
<p>g
r</p>
<blockquote>
<div><p>Actualiza la lista de paquetes (revert-buffer). Esto recupera la lista de paquetes disponibles del archivo de paquetes de nuevo, y vuelve a mostrar la lista de paquetes.</p>
</div></blockquote>
<dl class="simple">
<dt>H</dt><dd><p>Oculta paquetes cuyos nombres coincidan con una expresión regular (expreg) (package-menu-hide-package). Esta opción solicita una expresión regular y oculta los paquetes cuyos nombres
coincidan. El valor por defecto de la expreg ocultará sólo el paquete cuyo nombre coincida, por lo que pulsando RET se ocultará el paquete actual.</p>
</dd>
<dt>(_</dt><dd><p>Alterna entre la visibilidad de versiones antiguas de paquetes y también de versiones de archivos de menor prioridad (package-menu-toggle-hiding).</p>
</dd>
<dt>/ <a href="#id1"><span class="problematic" id="id2">a_</span></a></dt><dd><p>Filtra la lista de paquetes por archivo (package-menu-filter-by-archive). Esta opción solicita un archivo de paquetes (por ejemplo, “gnu”) y muestra sólo los paquetes de ese archivo.
Puede especificar varios archivos escribiendo sus nombres separados por comas.</p>
</dd>
<dt>/ <a href="#id3"><span class="problematic" id="id4">d_</span></a></dt><dd><p>Filtra la lista de paquetes por descripción (package-menu-filter-by-description). Pide una expresión regular y muestra sólo los paquetes con descripciones que coincidan con esa
expresión.</p>
</dd>
<dt>/ <a href="#id5"><span class="problematic" id="id6">k_</span></a></dt><dd><p>Filtra la lista de paquetes por palabra clave (package-menu-filter-by-keyword). Esta opción solicita una palabra clave (por ejemplo, «juegos») y muestra sólo los paquetes con esa
palabra clave. Puede especificar varias palabras clave escribiéndolas separadas por comas.</p>
</dd>
<dt>/ <a href="#id7"><span class="problematic" id="id8">N_</span></a></dt><dd><p>Filtra la lista de paquetes por nombre o descripción (package-menu-filter-by-name-or-description). Solicita una expresión regular y muestra sólo los paquetes cuyo nombre o descripción
coincidan con la expresión regular.</p>
</dd>
<dt>/ <a href="#id9"><span class="problematic" id="id10">n_</span></a></dt><dd><p>Filtra la lista de paquetes por nombre (package-menu-filter-by-name). Solicita una expresión regular y muestra sólo los paquetes cuyos nombres coincidan con ella.</p>
</dd>
<dt>/ <a href="#id11"><span class="problematic" id="id12">s_</span></a></dt><dd><p>Filtra la lista de paquetes por estado (package-menu-filter-by-status). Esto solicita uno o más estados (por ejemplo, “available” (disponible), ver Estados de Paquetes), y luego
muestra sólo los paquetes con el estado coincidente. Puede especificar varios valores de estado escribiéndolos separados por comas.</p>
</dd>
<dt>/ <a href="#id13"><span class="problematic" id="id14">v_</span></a></dt><dd><p>Filtra la lista de paquetes por versión (package-menu-filter-by-version). Primero se pide uno de los símbolos de comparación “&lt;”, “&gt;” o “=” y una cadena de versión, y luego se
muestran los paquetes cuyas versiones son correspondientemente inferiores, iguales o superiores a la versión que ha escrito.</p>
</dd>
<dt>/ <a href="#id15"><span class="problematic" id="id16">m_</span></a></dt><dd><p>Filtra la lista de paquetes por marca no vacía (package-menu-filter-marked). Esto muestra sólo los paquetes que han sido marcados para ser instalados o eliminados.</p>
</dd>
<dt>/ <a href="#id17"><span class="problematic" id="id18">u_</span></a></dt><dd><p>Filtra la lista de paquetes para mostrar sólo los paquetes para los que hay actualizaciones disponibles (package-menu-filter-upgradable). Por defecto, este filtro excluye los paquetes
incorporados para los que hay disponible una versión más reciente, pero personalizando package-install-upgrade-built-in puede cambiar esto. Consulte Instalación de Paquetes.</p>
</dd>
<dt>/ /_</dt><dd><p>Borra el filtro aplicado actualmente a la lista de paquetes (package-menu-filter-clear).</p>
</dd>
</dl>
<p>Por ejemplo, puede instalar un paquete escribiendo i en la línea que enumera ese paquete, seguido de x.</p>
</section>
<section id="estados-de-los-paquetes">
<h2>49.2 Estados de los Paquetes<a class="headerlink" href="#estados-de-los-paquetes" title="Link to this heading"></a></h2>
<p>Un paquete puede tener uno de los siguientes estados:</p>
<dl class="simple">
<dt>available (disponible)</dt><dd><p>El paquete no está instalado, pero puede descargarse e instalarse desde el archivo del paquete.</p>
</dd>
<dt>avail-obso (disponible pero obsoleto)</dt><dd><p>El paquete está disponible para su instalación, pero también existe una versión más reciente. Los paquetes con este estado están ocultos por defecto.</p>
</dd>
<dt>built-in</dt><dd><p>El paquete está incluido en Emacs por defecto. No se puede eliminar a través del menú de paquetes, y por defecto no se tiene en cuenta para la actualización (pero se puede cambiar
personalizando package-install-upgrade-built-in, ver Instalación de Paquetes).</p>
</dd>
<dt>dependency (dependencia)</dt><dd><p>El paquete se instaló automáticamente para satisfacer una dependencia de otro paquete.</p>
</dd>
<dt>disable (deshabilitado)</dt><dd><p>El paquete se ha desactivado mediante la variable package-load-list.</p>
</dd>
<dt>external</dt><dd><p>El paquete no está incorporado y no procede del directorio especificado por package-user-dir (consulte Archivos de Paquete y disposición de directorios). Los paquetes externos se
tratan de forma muy similar a los paquetes «integrados» y no se pueden eliminar.</p>
</dd>
<dt>held</dt><dd><p>El paquete se mantiene, Ver Instalación de Paquetes.</p>
</dd>
<dt>incompat</dt><dd><p>El paquete no puede instalarse por alguna razón, por ejemplo porque depende de paquetes desinstalables.</p>
</dd>
<dt>installed (instalado)</dt><dd><p>El paquete está instalado.</p>
</dd>
<dt>new (nuevo)</dt><dd><p>Equivale a “available”, excepto en que el paquete está disponible en el archivo de paquetes desde la última vez que invocó M-x list-packages.</p>
</dd>
<dt>obsolete (obsoleto)</dt><dd><p>El paquete es una versión instalada obsoleta; además de esta versión del paquete, también está instalada una versión más reciente.</p>
</dd>
</dl>
</section>
<section id="instalacion-de-paquetes">
<h2>49.3 Instalación de Paquetes<a class="headerlink" href="#instalacion-de-paquetes" title="Link to this heading"></a></h2>
<p>Los paquetes se instalan de forma más eficiente usando el menú de paquetes (ver El buffer del menú de Paquetes), pero también puede usar el comando M-x package-install. Este comando solicita el nombre de un paquete con el estado “available” (disponible) luego lo descarga y lo instala. Del mismo modo, si desea actualizar un paquete, puede utilizar el comando M-x package-upgrade, y si desea actualizar todos los paquetes, puede utilizar el comando M-x package-upgrade-all.</p>
<p>Por defecto, package-install no tiene en cuenta los paquetes integrados cuyas nuevas versiones están disponibles en los archivos. (Un paquete está incorporado si está incluido en la distribución de Emacs.) En particular, no mostrará los paquetes incorporados en la lista de candidatos a ser completados cuando escriba en su prompt. Pero si invoca package-install con un argumento prefijo, también considerará los paquetes incorporados que puedan ser actualizados. Puede hacer que este comportamiento sea el predeterminado personalizando la variable package-install-upgrade-built-in: si su valor no es nulo, package-install considerará los paquetes incorporados incluso cuando se invoque sin un argumento de prefijo. Tenga en cuenta que las órdenes del menú de paquetes (vea El Búfer del Menú de Paquetes) también se ven afectadas por package-install-upgrade-built-in.</p>
<p>Por el contrario, package-upgrade y package-upgrade-all nunca tienen en cuenta los paquetes incorporados. Si desea utilizar estos comandos para actualizar algunos paquetes incorporados, necesita actualizar cada uno de ellos, una vez, ya sea mediante C-u M-x package-install RET, o personalizando package-install-upgrade-built-in a un valor no nulo, y luego actualizar el paquete una vez mediante el menú de paquetes o mediante package-install.</p>
<p>Si personaliza package-install-upgrade-built-in a un valor no nulo, tenga mucho cuidado al usar comandos que actualizan muchos paquetes a la vez, como package-upgrade-all y U en el menú de paquetes: podrían sobrescribir paquetes incorporados que no pretendía reemplazar con versiones más recientes de los archivos. No utilice estos comandos de actualización masiva si sólo desea actualizar un pequeño número de paquetes incorporados.</p>
<p>Un paquete puede requerir la instalación de otros paquetes, porque depende de la funcionalidad proporcionada por ellos. Cuando Emacs instala un paquete, también descarga e instala automáticamente cualquier paquete necesario que no esté ya instalado. (Si un paquete requerido no está disponible de alguna manera, Emacs señala un error y detiene la instalación). La lista de requisitos de un paquete se muestra en su buffer de ayuda.</p>
<p>Por defecto, los paquetes se descargan de un único archivo de paquetes mantenido por los desarrolladores de Emacs. Esto se controla mediante la variable package-archives, cuyo valor es una lista de archivos de paquetes conocidos por Emacs. Cada elemento de la lista debe tener la forma (id . location), donde id es el nombre de un archivo de paquetes y location es la URL o nombre del directorio del archivo de paquetes. Puede alterar esta lista si desea usar archivos de paquetes de terceros, pero hágalo bajo su propia responsabilidad, y use sólo los de terceros en los que crea que puede confiar.</p>
<p>Los mantenedores de los archivos de paquetes pueden aumentar la confianza que puede tener en sus paquetes firmándolos. Generan un par de claves criptográficas privada/pública y utilizan la clave privada para crear un archivo de firma para cada paquete. Con la clave pública, puede utilizar los archivos de firma para verificar al creador del paquete y asegurarte de que el paquete no ha sido manipulado. La verificación de firmas utiliza el paquete GnuPG a través de la interfaz EasyPG (ver EasyPG en el Manual del Asistente EasyPG de Emacs). Una firma válida no es una garantía irrefutable de que un paquete no sea malicioso, por lo que debe ser precavido. Los archivos de paquetes deberían proporcionar instrucciones sobre cómo obtener su clave pública. Una forma es descargar la clave de un servidor como <a class="reference external" href="https://pgp.mit.edu/">https://pgp.mit.edu/</a>. Use M-x package-import-keyring para importar la clave a Emacs. Emacs almacena las claves de los paquetes en el directorio especificado por la variable package-gnupghome-dir, por defecto en el subdirectorio gnupg de package-user-dir, lo que hace que Emacs invoque GnuPG con la opción “homedir” al verificar las firmas. Si package-gnupghome-dir es nil, la opción “homedir” de GnuPG se omite. La clave pública para el archivo de paquetes GNU se distribuye con Emacs, en el etc/package-keyring.gpg. Emacs la usa automáticamente.</p>
<p>Si la opción de Usuario package-check-signature no es nula, Emacs intenta verificar las firmas cuando instala paquetes. Si la opción tiene el valor allow-unsigned, y se encuentra una configuración OpenPGP utilizable, se comprobarán los paquetes firmados, pero aún puede instalar un paquete que no esté firmado. Si utiliza algunos archivos que no firman sus paquetes, puede añadirlos a la lista package-unsigned-archives. (Si el valor es allow-unsigned y no se encuentra ningún OpenPGP utilizable, esta opción se trata como si su valor fuera nil). Si el valor es t, al menos una firma debe ser válida; si el valor es all, todas deben ser válidas.</p>
<p>Para más información sobre claves criptográficas y firmas, vea GnuPG en The GNU Privacy Guard Manual. Emacs viene con una interfaz para GNU Privacy Guard, ver EasyPG en Emacs EasyPG Assistant Manual.</p>
<p>Si tiene más de un archivo de paquetes habilitado, y algunos de ellos ofrecen diferentes versiones del mismo paquete, puede encontrar útil la opción package-pinned-packages. Puede añadir pares paquete/archivo a esta lista, para asegurarse de que el paquete especificado sólo se descarga del archivo especificado.</p>
<p>Otra opción útil cuando tiene varios archivos de paquetes activados es package-archive-priorities. Especifica la prioridad de cada archivo (los números más altos indican archivos de mayor prioridad). Por defecto, los archivos tienen prioridad cero, a menos que se especifique lo contrario en el valor de esta opción. Los paquetes de los archivos de menor prioridad no se mostrarán en el menú si el mismo paquete está disponible en un archivo de mayor prioridad. (Esto se controla mediante el valor de package-menu-hide-low-priority).</p>
<p>Una vez que un paquete se ha descargado, compilado en bytes e instalado, se pone a disposición de la sesión actual de Emacs. Hacer que un paquete esté disponible añade su directorio a load-path y carga sus autoloads (autocargas). El efecto de estos autoloads varía de un paquete a otro. La mayoría de los paquetes sólo hacen disponibles algunos comandos nuevos, mientras que otros tienen efectos más amplios en la sesión de Emacs. Para más información, consulta la ayuda del paquete.</p>
<p>Los paquetes instalados son automáticamente puestos a disposición por Emacs en todas las sesiones posteriores. Esto ocurre en el arranque, antes de procesar el fichero init pero después de procesar el fichero early init (ver El Archivo de Inicio Anticipado (early init file)). Como excepción, Emacs no hace disponibles los paquetes al inicio si se invoca con las opciones “-q” o “no-init-file” (ver Opciones iniciales).</p>
<p>Para evitar que Emacs haga automáticamente disponibles los paquetes al inicio, cambie la variable package-enable-at-startup a nil. Debe hacer esto en el fichero early init, ya que la variable se lee antes de cargar el fichero init normal. Actualmente esta variable no puede establecerse a través de Personalizar.</p>
<p>Si tiene muchos paquetes instalados, puede mejorar los tiempos de arranque estableciendo la opción de usuario package-quickstart a t. Establecer esta opción hará que Emacs precalcule muchas cosas en lugar de recalcularlas en cada arranque de Emacs. Sin embargo, si hace esto, entonces tendrá que ejecutar manualmente el comando package-quickstart-refresh cuando las activaciones necesiten ser cambiadas, como cuando cambia el valor de package-load-list.</p>
<p>Si ha establecido package-enable-at-startup como nil, puede hacer que los paquetes estén disponibles durante o después del inicio. Para que los paquetes instalados estén disponibles durante el arranque, llame a la función package-activate-all en su fichero init. Para que los paquetes instalados estén disponibles después del arranque, invoque el comando M-: (package-activate-all) RET.</p>
<p>Para un control más preciso sobre qué paquetes están disponibles al inicio, puede utilizar la variable package-load-list. Su valor debe ser una lista. Un elemento de lista de la forma (nombre versión) le dice a Emacs que haga disponible la versión del paquete llamado nombre. Aquí, versión debe ser una cadena de versión (correspondiente a una versión específica del paquete), o t (que significa hacer disponible cualquier versión instalada), o nil (que significa ninguna versión; esto desactiva el paquete, impidiendo que esté disponible). Un elemento de la lista también puede ser el símbolo all, que significa poner a disposición la última versión instalada de cualquier paquete no nombrado por los otros elementos de la lista. El valor por defecto es “(all).</p>
<p>Por ejemplo, si establece package-load-list a “((muse «3.20») all), entonces Emacs sólo hace disponible la versión 3.20 del paquete “muse”, además de cualquier versión instalada de paquetes que no sean “muse”. Cualquier otra versión de “muse” que esté instalada será ignorada. El paquete “muse” aparecerá en el menú de paquetes con el estado “hel” (retenido).</p>
<p>El código byte de Emacs es bastante estable, pero es posible que se quede obsoleto, o que los archivos compilados dependan de macros que han cambiado en nuevas versiones de Emacs. Puede usar el comando M-x package-recompile para recompilar un paquete en particular, o M-x package-recompile-all para recompilar todos los paquetes. (Este último comando puede tardar bastante en ejecutarse si tienes muchos paquetes instalados).</p>
</section>
<section id="archivos-de-paquete-y-ddistribucion-de-directorios">
<h2>49.4. Archivos de Paquete y Ddistribución de Directorios<a class="headerlink" href="#archivos-de-paquete-y-ddistribucion-de-directorios" title="Link to this heading"></a></h2>
<p>Cada paquete se descarga del archivo de paquetes en forma de un único fichero de paquete, ya sea un fichero fuente de Emacs Lisp o un fichero tar que contiene múltiples ficheros fuente de Emacs Lisp y otros archivos. Los archivos de paquete son automáticamente recuperados, procesados y eliminados por los comandos de Emacs que los instalan. Normalmente, no necesitará tratar directamente con ellos, a menos que esté haciendo un paquete (ver Empaquetado en el Manual de Referencia de Emacs Lisp). Si alguna vez necesita instalar un paquete directamente desde un archivo de paquete, use el comando M-x package-install-file.</p>
<p>Una vez instalado, el contenido de un paquete se coloca en un subdirectorio de ~/.emacs.d/elpa/ (puede cambiar el nombre de ese directorio cambiando la variable package-user-dir). El subdirectorio del paquete se llama nombre-versión, donde nombre es el nombre del paquete y versión es su cadena de versión.</p>
<p>Además de package-user-dir, Emacs busca los paquetes instalados en los directorios listados en package-directory-list. Estos directorios están pensados para que los administradores del sistema hagan que los paquetes de Emacs estén disponibles en todo el sistema; Emacs nunca instala paquetes allí. Los subdirectorios de paquetes para paquete-directorio-lista están dispuestos de la misma manera que en paquete-usuario-dir.</p>
<p>Borrar un paquete (ver El Búfer del Menú de Paquetes) implica borrar el subdirectorio de paquetes correspondiente. Esto sólo funciona para paquetes instalados en package-use-dir (directorio-paquete-usuario) si se le dice que actúe sobre un paquete en un directorio de paquetes de todo el sistema, la orden de borrado señala un error.</p>
</section>
<section id="obtener-las-fuentes-de-los-paquetes">
<h2>49.5. Obtener las Fuentes de los Paquetes<a class="headerlink" href="#obtener-las-fuentes-de-los-paquetes" title="Link to this heading"></a></h2>
<p>Por defecto package-install descarga un Tarball de un archivo de paquetes e instala sus ficheros. Esto puede ser inadecuado si desea hackear las fuentes del paquete y compartir sus cambios con otros. En ese caso, es posible que prefiera obtener directamente el código fuente y trabajar en él. Esto suele facilitar el desarrollo de parches y la notificación de errores.</p>
<p>Una forma de hacerlo es utilizar package-vc-install, para obtener el código fuente de un paquete directamente de la fuente. El comando también se asegurará automáticamente de que todos los archivos sean compilados en bytes y cargados automáticamente, al igual que con un paquete normal. Los paquetes instalados de esta forma se comportan como cualquier otro paquete. Puede actualizarlos usando package-upgrade o package-upgrade-all y borrarlos de nuevo usando package-delete. Incluso se muestran en el listado de paquetes normales. Si sólo desea clonar el código fuente de un paquete, sin añadirlo a la lista de paquetes, utilice package-vc-checkout.</p>
<p>Con la comprobación del código fuente, es posible que desee reproducir un error contra la versión de desarrollo actual o implementar una nueva característica para satisfacer un requisito. Si los metadatos del paquete indican cómo ponerse en contacto con el responsable, puede utilizar la orden package-report-bug para informar de un error por correo electrónico. Este informe incluirá todas las opciones de usuario que haya personalizado. Si ha realizado un cambio que desea compartir con los mantenedores, primero confirme sus cambios y luego utilice la orden package-vc-prepare-patch para compartirlo. Consulte Preparar parches.</p>
<p>Si mantiene sus propios paquetes, puede que quiera usar una comprobación local en lugar de clonar un repositorio remoto. Puede hacerlo usando package-vc-install-from-checkout, que crea un enlace simbólico desde el directorio del paquete (vea Archivos de paquete y disposición de directorios) a su checkout e inicializa el código. Tenga en cuenta que podría tener que usar package-vc-rebuild para repetir la inicialización y actualizar las autocargas.</p>
<section id="especificar-las-fuentes-de-los-paquetes">
<h3>49.5.1 Especificar las Fuentes de los Paquetes<a class="headerlink" href="#especificar-las-fuentes-de-los-paquetes" title="Link to this heading"></a></h3>
<p>Para instalar un paquete desde el código fuente, Emacs debe saber dónde obtener el código fuente del paquete (como un repositorio de código) e información básica sobre la estructura del código (como el fichero principal en un paquete multi-fichero). La especificación de un paquete describe estas propiedades.</p>
<p>Cuando es soportado por un archivo de paquetes (ver Archivos de Paquetes en el Manual de Referencia de Emacs Lisp), Emacs puede descargar automáticamente la especificación de un paquete desde dicho archivo. Si el primer argumento pasado a package-vc-install es un símbolo que nombra un paquete, entonces Emacs usará la especificación proporcionada por el archivo para ese paquete.</p>
<blockquote>
<div><p>;; Emacs descargará la especificación de BBDB desde GNU ELPA:
(package-vc-install “bbdb)</p>
</div></blockquote>
<p>El primer argumento de package-vc-install también puede ser una especificación de paquete. Esto le permite instalar paquetes fuente desde ubicaciones distintas a los archivos conocidos listados en la opción de usuario package-archives. Una especificación de paquete es una lista de la forma (nombre . spec), en la que spec debe ser una lista de propiedades utilizando cualquiera de las claves de la siguiente tabla.</p>
<p>Para definiciones de términos básicos para trabajar con repositorios de código y sistemas de control de versiones, vea Conceptos de VCS en El Manual de GNU Emacs.</p>
<dl>
<dt>:url</dt><dd><p>Una cadena que proporciona la URL que especifica el repositorio del que obtener el código fuente del paquete.</p>
</dd>
<dt>:branch</dt><dd><p>Una cadena que proporciona la revisión del código a instalar. No confundir con el número de versión de un paquete.</p>
</dd>
<dt>:lisp-dir</dt><dd><p>Una cadena que proporciona el nombre relativo al repositorio del directorio a utilizar para cargar las fuentes Lisp, que por defecto es el directorio raíz del repositorio.</p>
</dd>
<dt>:main-file</dt><dd><p>Cadena que proporciona el archivo principal del proyecto, del que se recopilarán los metadatos del paquete. Si no se proporciona, el valor predeterminado es el nombre del paquete con
«.el» añadido.</p>
</dd>
<dt>:doc</dt><dd><p>Una cadena que proporciona el nombre relativo al repositorio del fichero de documentación a partir del cual construir un fichero Info. Puede ser un fichero Texinfo o un fichero Org.</p>
</dd>
<dt>:vc-backend</dt><dd><p>Un símbolo nombrando el backend VC a usar para descargar una copia del repositorio del paquete (ver Sistemas de Control de Versiones en El Manual Emacs de GNU). Si se omite, Emacs
intentará hacer una suposición basada en la URL proporcionada, o, en su defecto, el proceso volverá al valor de package-vc-default-backend.</p>
<p>;; Especificar la información manualmente:
(package-vc-install</p>
<blockquote>
<div><dl class="simple">
<dt>“(bbdb :url «<a class="reference external" href="https://git.savannah.nongnu.org/git/bbdb.git">https://git.savannah.nongnu.org/git/bbdb.git</a>»</dt><dd><p>:lisp-dir «lisp»
:doc «doc/bbdb.texi»))</p>
</dd>
</dl>
</div></blockquote>
</dd>
</dl>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="48_Juegos-Y-Otrs.html" class="btn btn-neutral float-left" title="48 Juegos y Otras Diversiones" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</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>

View File

@ -0,0 +1,296 @@
18 Macros de Teclado
====================
En este capítulo describimos cómo grabar una secuencia de comandos de edición para poder repetirla cómodamente más tarde.
Una macro de teclado es un comando definido por un Usuario de Emacs para sustituir a otra secuencia de teclas. Por ejemplo, si descubre que está a punto de teclear :kbd:`Ctrl`-:kbd:`n` :kbd:`Alt`-:kbd:`d` :kbd:`Ctrl`-:kbd:`d` (``C-n M-d C-d``) cuarenta veces, puede acelerar su trabajo definiendo una macro de teclado para hacer ``C-n M-d C-d``, y luego ejecutarla 39 veces más.
Una *macro de teclado* se define ejecutando y registrando los comandos que constituyen su definición. Dicho de otro modo, al definir una macro de teclado, la definición se ejecuta por primera vez. De este modo, puede ver los efectos de sus comandos, para no tener que calcularlos mentalmente. Cuando cierra la definición, la macro de teclado está definida y también ha sido, en efecto, ejecutada una vez. A continuación, puede volver a hacer todo de nuevo invocando la macro.
Las macros de teclado difieren de los comandos ordinarios de Emacs en que están escritas en el lenguaje de comandos de Emacs en lugar de en Lisp. Esto hace que sea más fácil para el principiante escribirlas, y las hace más convenientes como hacks temporales. Sin embargo, el lenguaje de comandos de Emacs no es lo suficientemente potente como lenguaje de programación como para ser útil para escribir algo inteligente o general. Para tales cosas, debe utilizarse Lisp.
18.1 Uso básico
---------------
:kbd:`F3` (``F3``)
Empieza a definir una macro de teclado (``kmacro-start-macro-or-insert-counter``).
:kbd:`F4` (``F4``)
Si se está definiendo una macro de teclado, finaliza la definición; en caso contrario, ejecuta la macro de teclado más reciente (``kmacro-end-or-call-macro``).
:kbd:`Ctrl`-:kbd:`u` :kbd:`F3` (``C-u F3``)
Reejecuta la última macro de teclado y añade las teclas a su definición.
:kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`u` :kbd:`F3` (``C-u C-u F3``)
Añade teclas a la última macro de teclado sin volver a ejecutarla.
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`r` (``C-x C-k r``)
Ejecuta la última macro de teclado en cada línea que empieza en la región (``apply-macro-to-region-lines``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`(` (``C-x (``)
Empieza a definir una macro de teclado (estilo antiguo) (``kmacro-start-macro``); con un argumento prefijo, añade teclas a la última macro.
:kbd:`Ctrl`-:kbd:`x` :kbd:`)` (``C-x )``)
Finaliza una definición de macro (estilo antiguo) (``kmacro-end-macro``); el argumento prefijo sirve como recuento de repeticiones para ejecutar la macro.
:kbd:`Ctrl`-:kbd:`x` :kbd:`e` (``C-x e``)
Ejecuta la macro de teclado definida más recientemente (``kmacro-end-and-call-macro``); el argumento prefijo sirve como recuento de repeticiones.
Para empezar a definir una macro de teclado, escriba :kbd:`F3` (``F3``). A partir de ese momento, sus teclas seguirán ejecutándose, pero también pasarán a formar parte de la definición de la macro. ``Def`` aparece en la línea de modo para recordarle lo que está pasando. Cuando haya terminado, escriba :kbd:`F4` (``F4``, ``kmacro-end-or-call-macro``) para finalizar la definición. Por ejemplo,
::
F3 M-f foo F4
define una macro para avanzar una palabra y luego insertar ``foo``. Observe que ``F3`` y ``F4`` no forman parte de la macro.
Después de definir la macro, puede llamarla con ``F4``. Para el ejemplo anterior, esto tiene el mismo efecto que escribir :kbd:`Alt`-:kbd:`f` ``foo`` (``M-f foo``) de nuevo. (Tenga en cuenta las dos funciones del comando ``F4`` finaliza la macro si está en proceso de definir una, o llama a la última macro en caso contrario). También puede suministrar a ``F4`` un argumento prefijo numérico *n*, que significa invocar la macro *n* veces. Un argumento de cero repite la macro indefinidamente, hasta que obtiene un error o teclee :kbd:`Ctrl`-:kbd:`g` (``C-g``) (o, en MS-DOS, C-Break).
El ejemplo anterior demuestra un práctico truco que puede emplear con las macros de teclado: si desea repetir una operación en lugares regularmente espaciados del texto, incluya un comando de movimiento como parte de la macro. En este caso, la repetición de la macro inserta la cadena ``foo`` después de cada palabra sucesiva.
Tras finalizar la definición de una macro de teclado, puede añadir más pulsaciones a su definición escribiendo :kbd:`Ctrl`-:kbd:`u` :kbd:`F3` (``C-u F3``). Esto equivale a ``F3`` simple seguido de volver a escribir toda la definición hasta el momento. Como consecuencia, vuelve a ejecutar la macro tal y como estaba definida anteriormente. Si cambia la variable ``kmacro-execute-before-append`` a ``nil``, la macro existente no se reejecutará antes de anexarla (el valor por defecto es ``t``). También puede añadir al final de la definición de la última macro de teclado sin reejecutarla tecleando :kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`u` :kbd:`F3` (``C-u C-u F3``).
Cuando un comando lee un argumento con el minibúfer, su entrada en el minibúfer pasa a formar parte de la macro junto con el comando. Así, cuando vuelva a ejecutar la macro, el comando obtendrá el mismo argumento que cuando introdujo la macro. Por ejemplo,
::
F3 C-a C-k C-x b foo RET C-y C-x b RET F4
define una macro que elimina la línea actual, la vuelca en el búfer ``foo``, y luego vuelve al búfer original.
La mayoría de los comandos de teclado funcionan como de costumbre en una definición de macro de teclado, con algunas excepciones. Escribiendo :kbd:`Ctrl`-:kbd:`g` (``C-g``, ``keyboard-quit``) se sale de la definición de macro de teclado. Escribir :kbd:`Ctrl`-:kbd:`Alt`-:kbd:`c` (``C-M-c``, ``exit-recursive-edit``) puede ser poco fiable: funciona como se esperaría si se sale de una edición recursiva que se inició dentro de la macro, pero si se sale de una edición recursiva que se inició antes de invocar la macro de teclado, necesariamente también se sale de la macro de teclado. Los eventos del ratón tampoco son fiables, aunque pueda usarlos en una macro de teclado: cuando la macro reproduce el evento del ratón, usa la posición original del ratón de ese evento, la posición que tenía el ratón mientras estaba definiendo la macro. El resultado de esto puede ser difícil de predecir.
El comando ``C-x C-k r`` (``apply-macro-to-region-lines``) repite la última macro de teclado definida en cada línea que comienza en la región. Hace esto línea por línea, moviendo el punto al principio de la línea y luego ejecutando la macro.
Además de los comandos ``F3`` y ``F4`` descritos anteriormente, Emacs también soporta un conjunto más antiguo de combinaciones de teclas para definir y ejecutar macros de teclado. Para comenzar la definición de una macro, teclee :kbd:`Ctrl`-:kbd:`x` (``C-x``, ``kmacro-start-macro``); como con ``F3``, un argumento prefijo añade esta definición a la última macro de teclado. Para finalizar una definición de macro, escriba :kbd:`Ctrl`-:kbd:`x` (``C-x``, ``kmacro-end-macro``). Para ejecutar la macro más reciente, escriba :kbd:`Ctrl`-:kbd:`x` :kbd:`e` (``C-x e``, ``kmacro-end-and-call-macro``). Si teclea :kbd:`Ctrl`-:kbd:`x` :kbd:`e` (``C-x e``) mientras define una macro, la macro finaliza y se ejecuta inmediatamente. Inmediatamente después de teclear :kbd:`Ctrl`-:kbd:`x` :kbd:`e`, puede teclear :kbd:`e` (``e``) repetidamente para repetir inmediatamente la macro una o más veces. También puede dar a ``C-x e`` un argumento de repetición, al igual que ``F4`` (cuando se utiliza para ejecutar una macro).
A ``C-x )`` se le puede dar una cuenta de repetición como argumento. Esto significa repetir la macro justo después de definirla. La propia definición de la macro cuenta como la primera repetición, ya que se ejecuta a medida que se define, por lo que ``C-u 4 C-x )`` ejecuta la macro inmediatamente 3 veces adicionales.
Mientras se ejecuta una macro de teclado de larga duración, a veces puede ser útil activar una nueva visualización (para mostrar hasta dónde hemos llegado). El comando ``C-x C-k d`` puede usarse para esto. Como ejemplo no muy útil, ``C-x (M-f C-x C-k d C-x)`` creará una macro que volverá a mostrar una vez por iteración cuando la orden sea ``C-u 42 C-x e``.
18.2 El Anillo de Macros de Teclado
-----------------------------------
Todas las macros de teclado definidas se graban en el anillo de macros de teclado. Sólo hay un anillo de macros de teclado, compartido por todos los búfers.
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`Ctrl`-:kbd:`k` (``C-x C-k C-k``)
Ejecuta la macro de teclado en la cabecera del anillo (``kmacro-end-or-call-macro-repeat``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl` :kbd:`k` :kbd:`Ctrl`-:kbd:`n` (``C-x C-k C-n``)
Gira el anillo de macros del teclado hasta la siguiente macro (definida anteriormente) (``kmacro-cycle-ring-next``).
:kbd:`Ctrlf`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`Ctrl`-:kbd:`p` (``C-x C-k C-p``)
Gira el anillo de macros del teclado a la macro anterior (definida más adelante) (``kmacro-cycle-ring-previous``).
Todos los comandos que operan en el anillo de macros del teclado usan el mismo prefijo ``C-x C-k``. La mayoría de estos comandos pueden ejecutarse y repetirse inmediatamente uno tras otro sin repetir el prefijo ``C-x C-k``. Por ejemplo,
::
C-x C-k C-p C-p C-k C-k C-k C-n C-n C-k C-p C-k C-d
girará el anillo de macros del teclado a la segunda macro anterior, ejecutará la macro de cabecera resultante tres veces, girará de nuevo a la macro de cabecera original, la ejecutará una vez, girará a la macro anterior, la ejecutará, y finalmente la borrará del anillo de macros.
El comando ``C-x C-k C-k`` (``kmacro-end-or-call-macro-repeat``) ejecuta la macro de teclado que se encuentra en la cabeza del anillo de macros. Puede repetir la macro inmediatamente escribiendo otra combinación de telcas :kbd:`Ctrl`-:kbd:`k` (``C-k``), o puede girar el anillo de macros inmediatamente escribiendo :kbd:`Ctrl`-:kbd:`n` o :kbd:`Ctrl`-:kbd:`p` (``C-n`` o ``C-p``).
Cuando se está definiendo una macro de teclado, ``C-x C-k C-k`` se comporta como ``F4`` excepto que, inmediatamente después, puede usar la mayoría de las combinaciones de teclas de esta sección sin el prefijo ``C-x C-k``. Por ejemplo, otra ``C-k`` volverá a ejecutar la macro.
Los comandos ``C-x C-k C-n`` (``kmacro-cycle-ring-next``) y ``C-x C-k C-p`` (``kmacro-cycle-ring-previous``) rotan el anillo de macros, llevando la macro de teclado siguiente o anterior a la cabeza del anillo de macros. La definición de la nueva macro de cabecera se muestra en el área de eco. Puede continuar rotando el anillo de macros inmediatamente repitiendo sólo ``C-n`` y ``C-p`` hasta que la macro deseada esté en la cabeza del anillo. Para ejecutar la nueva macro cabeza de anillo inmediatamente, simplemente teclee :kbd:`Ctrl`-:kbd:`k` (``C-k``).
Tenga en cuenta que Emacs trata la cabeza del anillo de macros como la última macro de teclado definida. Por ejemplo, ``F4`` ejecutará esa macro, y ``C-x C-k n`` le dará un nombre.
El número máximo de macros almacenadas en el anillo de macros del teclado viene determinado por la variable personalizable ``kmacro-ring-max``.
18.3 El Contador de Macros de Teclado
-------------------------------------
Cada macro de teclado tiene un contador asociado, que se inicializa a 0 cuando se empieza a definir la macro. Este *contador actual* permite insertar en el búfer un número que depende del número de veces que se ha llamado a la macro. Normalmente, el contador se incrementa cada vez que se inserta su valor en el búfer.
Además del contador actual, las macros de teclado también mantienen el *contador anterior*, que registra el valor que tenía el contador actual la última vez que se incrementó o fijó. Tenga en cuenta que al incrementar el contador actual en cero, por ejemplo, con :kbd:`Ctrl`-:kbd:`u` :kbd:`0` :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`i` (``C-u 0 C-x C-k C-i``), también se registra el valor del contador actual como valor del contador anterior.
:kbd:`F3` (``F3``)
En una definición de macro de teclado, inserta el valor del contador de la macro de teclado en el búfer (``kmacro-start-macro-or-insert-counter``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`Ctrl`-:kbd:`i` (``C-x C-k C-i``)
Inserta el valor del contador de macros del teclado en el búfer (``kmacro-insert-counter``).
:kbd:`Ctrl`-:Kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`Ctrl`-:kbd:`c` (``C-x C-k C-c``)
Establece el contador de macros del teclado (``kmacro-set-counter``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`Ctrl`-:kbd:`a` (``C-x C-k C-a``)
Añade el prefijo arg al contador de macros del teclado (``kmacro-add-counter``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`Ctrl`-:kbd:`f` (``C-x C-k C-f``)
Especifica el formato para insertar el contador de macros de teclado (``kmacro-set-format``).
Cuando está definiendo una macro de teclado, el comando ``F3`` (``kmacro-start-macro-or-insert-counter``) inserta el valor actual del contador de la macro de teclado en el búfer, e incrementa el contador en 1. (Si no está definiendo una macro, ``F3`` inicia una definición de macro en su lugar. **Véase Uso Básico**). Puede usar un argumento de prefijo numérico para especificar un incremento diferente. Si sólo especifica un prefijo ``C-u``, eso inserta el valor anterior del contador, y no cambia el valor actual.
A modo de ejemplo, vamos a mostrar cómo se puede usar el contador de macros del teclado para construir una lista numerada. Considere la siguiente secuencia de teclas:
::
F3 C-a F3 . SPC F4
Como parte de esta definición de macro de teclado, la cadena :tt:`|0. |` se insertó al principio de la línea actual. Si ahora se desplaza a otro lugar del búfer y teclea ``F4`` para invocar la macro, la cadena :tt:`|1. |` se inserta al principio de esa línea. Las invocaciones posteriores insertan :tt:`|2. |`, :tt:`|3. |`, y así sucesivamente.
El comando ``C-x C-k C-i`` (``kmacro-insert-counter``) hace lo mismo que ``F3``, pero puede usarse fuera de una definición de macro de teclado. Cuando no se está definiendo o ejecutando ninguna macro de teclado, inserta e incrementa el contador de la macro en la cabecera del anillo de macros de teclado.
El comando ``C-x C-k C-c`` (``kmacro-set-counter``) establece el contador actual de la macro en el valor del argumento numérico. Si lo usa dentro de la macro, opera en cada repetición de la macro. Si especifica sólo ``C-u`` como prefijo, mientras ejecuta la macro, eso reinicia el contador al valor que tenía al principio de la repetición actual de la macro (deshaciendo cualquier incremento hasta el momento en esta repetición).
El comando ``C-x C-k C-a`` (``kmacro-add-counter``) añade el argumento prefijo al contador de macros actual. Con sólo ``C-u`` como argumento, reinicia el contador al último valor insertado por cualquier macro de teclado. (Normalmente, cuando use esto, la última inserción será en la misma macro y será el mismo contador).
El comando ``C-x C-k C-f`` (``kmacro-set-format``) pregunta por el formato a usar al insertar el contador de macros. El formato por defecto es ``%d``, que significa insertar el número en decimal sin ningún relleno. Puede salir con el minibúfer vacío para restablecer el formato por defecto. Puede especificar cualquier cadena de formato que la función format acepte y que tenga sentido con un único argumento entero extra (vea **Formato de Cadenas** en el Manual de Referencia de Emacs Lisp). No ponga la cadena de formato dentro de comillas dobles cuando la inserte en el minibúfer.
Si usa este comando mientras no se está definiendo o ejecutando ninguna macro de teclado, el nuevo formato afectará a todas las definiciones de macro posteriores. Las macros existentes siguen usando el formato vigente en el momento de su definición. Si establece el formato mientras define una macro de teclado, esto afecta a la macro que se está definiendo a partir de ese momento, pero no afecta a las macros posteriores. La ejecución de la macro utilizará, en cada paso, el formato vigente en ese paso durante su definición. Los cambios en el formato de la macro durante su ejecución, al igual que los cambios correspondientes durante su definición, no afectan a las macros posteriores.
El formato establecido por ``C-x C-k C-f`` no afecta a la inserción de números almacenados en registros.
Si se usa un registro como contador, incrementándolo en cada repetición de la macro, se consigue lo mismo que con un contador de macros de teclado. Consulte **Mantener Números en Registros**. Para la mayoría de los propósitos, es más sencillo usar un contador de macros de teclado.
18.4 Ejecutar Macros con Variaciones
------------------------------------
En una macro de teclado, puede crear un efecto similar al de ``query-replace``, en el sentido de que la macro le pregunta cada vez si desea realizar un cambio.
:kbd:`Ctrl`-:kbd:`x` :kbd:`q` (``C-x q``)
Cuando se alcanza este punto durante la ejecución de la macro, pide confirmación (``kbd-macro-query``).
Mientras define la macro, escriba :kbd:`Ctrl`-:kbd:`x` :kbd:`q` (``C-x q``) en el punto en el que desea que se produzca la consulta. Durante la definición de la macro, ``C-x q`` no hace nada, pero cuando ejecute la macro más tarde, ``C-x q`` le preguntará interactivamente si desea continuar.
Las respuestas válidas cuando ``C-x q`` pregunta son:
:kbd:`SPACE` (o :kbd:`y`) (``SPC`` (o ``y``))
Sigue ejecutando la macro de teclado.
:kbd:`DEL` (o :kbd:`n`) (``DEL`` (o ``n``))
Salta el resto de esta repetición de la macro y empieza inmediatamente con la siguiente repetición.
:kbd:`RETURN` (o :kbd:`q`) (``RET`` (o ``q``))
Omite el resto de esta repetición y cancela las siguientes.
:kbd:`Ctrl`-:kbd:`r` (``C-r``)
Entra en un nivel de edición recursiva, en el que es posible llevar a cabo ediciones que no forman parte de la macro. Al salir de la edición recursiva mediante
:kbd:`Ctrl`-:kbd:`Alt`-:kbd:`c` (``C-M-c``), se le vuelve a preguntar cómo continuar con la macro de teclado. Si en este momento escribe un :kbd:`SPACE` (``SPC``), se ejecutará el resto de la definición de la macro. Depende de Usted dejar el punto y el texto en un estado tal que el resto de la macro haga lo que desea.
:kbd:`Ctrl`-:kbd:`u` :kbd:`Ctrl`-:kbd:`x` :kbd:`u` (``C-u C-x q``), que es :kbd:`Ctrl`-:kbd:`x` :kbd:`q` (``C-x q``) con un argumento prefijo, lleva a cabo una función completamente diferente. Entra en una edición recursiva leyendo la entrada del teclado, tanto cuando la escribe durante la definición de la macro, como cuando se ejecuta desde la macro. Durante la definición, la edición que hace dentro de la edición recursiva no se convierte en parte de la macro. Durante la ejecución de la macro, la edición recursiva le da la
oportunidad de hacer alguna edición particular en cada repetición. Véase **Niveles de Edición Recursiva**.
18.5 Nombrar y Guardar Macros de Teclado
----------------------------------------
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`n` (``C-x C-k n``)
Da un nombre de comando (durante toda la sesión de Emacs) a la macro de teclado definida más recientemente (``kmacro-name-last-macro``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`b` (``C-x C-k b``)
Vincula la macro de teclado definida más recientemente a una secuencia de teclas (mientras dure la sesión) (``kmacro-bind-to-key``).
:kbd:`Alt`-:kbd:`x` ``insert-kbd-macro`` (``M-x insert-kbd-macro``)
Inserta en el búfer la definición de una macro de teclado, como código Lisp.
Si desea guardar una macro de teclado para su posterior uso, puede darle un nombre utilizando ``C-x C-k n`` (``kmacro-name-last-macro``). Esto lee un nombre como argumento usando el minibúfer y define ese nombre para ejecutar la última macro de teclado, en su forma actual. (Si posteriormente añade algo a la definición de esta macro, eso no altera la definición del nombre como macro). El nombre de la macro es un símbolo Lisp, y definirlo de esta forma lo convierte en un nombre de comando válido para llamar con ``M-x`` o para enlazar una tecla con ``keymap-global-set`` (ver **Mapas de Teclas**). Si especifica un nombre que tiene una definición anterior que no sea una macro de teclado, se muestra un mensaje de error y no se modifica nada.
También puede vincular la última macro de teclado (en su forma actual) a una tecla, usando ``C-x C-k b`` (``kmacro-bind-to-key``) seguido de la secuencia de teclas que desea vincular. Puede asociar cualquier secuencia de teclas del mapa de teclas global, pero como la mayoría de las secuencias de teclas ya tienen otras asociaciones, debe seleccionar la secuencia de teclas con cuidado. Si intenta vincular una secuencia de teclas con una combinación existente (en cualquier mapa de teclas), este comando le pedirá confirmación antes de reemplazar la combinación existente.
Para evitar problemas causados por la anulación de combinaciones existentes, las secuencias de teclas :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`0` (``C-x C-k 0``) a :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`9` (``C-x C-k 9``) y :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :Kbd:`A` (``C-x C-k A``) a :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`x`-:kbd:`Ctrl`-:kbd:`k` :kbd:`Z` (``C-x C-k Z``) están reservadas para sus propias combinaciones de macros de teclado. De hecho, para enlazar con una de estas secuencias de teclas, sólo tiene que escribir el dígito o la letra en lugar de las secuencias de teclas completas. Por ejemplo,
::
C-x C-k b 4
vinculará la última macro de teclado a la secuencia de teclas :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`4` (``C-x C-k 4``).
Una vez que una macro tiene un nombre de comando, puede guardar su definición en un archivo. Así podrá usarla en otra sesión de edición. Primero, visite el archivo en el que desea guardar la definición. A continuación, utilice este comando:
::
M-x insert-kbd-macro RET nombremacro RET
Esto inserta algún código Lisp que, cuando se ejecute más tarde, definirá la misma macro con la misma definición que tiene ahora. (No necesita entender código Lisp para hacer esto, porque ``insert-kbd-macro`` escribe el código Lisp por Usted). A continuación, guarde el archivo. Puede cargar el archivo más tarde con ``load-file`` (vea **Bibliotecas de Código Lisp** para Emacs). Si el archivo que guarda es su archivo init ``~/.emacs`` (vea **El Archivo de Inicialización** de Emacs) entonces la macro será definida cada vez que ejecute Emacs.
Si le damos un argumento prefijo a ``insert-kbd-macro``, hace código Lisp adicional para registrar las teclas (si las hay) que hemos ligado a *nombremacro*, de forma que a la macro se le reasignarán las mismas teclas cuando carguemos el archivo.
18.6 Edición de una Macro de Teclado
------------------------------------
:kbd:`Ctrl`-:kbd:`x` :Kbd:`Ctrl`-:kbd:`k` :kbd:`Ctrl`-:kbd:`e` (``C-x C-k C-e``)
Edita la última macro de teclado definida (``kmacro-edit-macro``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`e` *nombre* (``C-x C-k e`` *nombre* ``RET``)
Edita un *nombre* de macro de teclado previamente definido (``edit-kbd-macro``).
:kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`l` (``C-x C-k l``)
Edita las últimas 300 pulsaciones como macro de teclado (``kmacro-edit-lossage``).
Puede editar la última macro de teclado escribiendo :kbd:`Ctrl`-:kbd:`Ctrl`-:kbd:`k` :kbd:`e` (``C-x C-k C-e``) o :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`RETURN` (``C-x C-k RET``, ``kmacro-edit-macro``). Esto formatea la definición de macro en un búfer y entra en un modo principal especializado para editarla. Escriba :kbd:`Ctrl`-:kbd:`h` :kbd:`m` (``C-h m``) una vez en ese búfer para mostrar los detalles de cómo editar la macro. Cuando termine de editarla, teclee :kbd:`Ctrl`-:kbd:`c` :kbd:`Ctrl`-:kbd:`c` (``C-c C-c``).
Puede editar una macro de teclado con nombre o una macro asociada a una tecla escribiendo :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`e` (``C-x C-k e``, ``edit-kbd-macro``). A continuación, escriba la entrada de teclado que usaría para invocar la macro: ``C-x e`` o ``M-x`` nombre o alguna otra secuencia de teclas.
Puede editar las últimas 300 pulsaciones como una macro escribiendo :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :Kbd:`l` (``C-x C-k l``, ``kmacro-edit-lossage``).
18.7 Edición por Pasos de una Macro de Teclado
----------------------------------------------
Puede reproducir y editar interactivamente la última macro de teclado, comando a comando, tecleando :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:kbd:`k` :kbd:`Ctrl`-:kbd:`SPACE` (``C-x C-k SPC``, ``kmacro-step-edit-macro``). A menos que salga de la macro usando ``q`` o ``C-g``, la macro editada sustituye a la última macro en el anillo de macros.
Esta función de edición de macros muestra la última macro en el minibúfer junto con el primer (o siguiente) comando a ejecutar, y le pide que realice una acción. Puede introducir :kbd:`?` (``?``) para obtener un resumen de sus opciones. Estas acciones están disponibles:
* :kbd:`SPACE` e :kbd:`y` (``SPC`` e ``y``) ejecutan el comando actual y avanzan al siguiente comando de la macro de teclado.
* :kbd:`n` (``n``), :kbd:`d` (``d``) y :kbd:`DEL` (``DEL``) omiten y eliminan el comando actual.
* :kbd:`f` (``f``) omite el comando actual en esta ejecución de la macro de teclado, pero no lo elimina de la macro.
* :kbd:`TAB` (``TAB``) ejecuta el comando actual, así como todos los comandos similares inmediatamente posteriores al comando actual; por ejemplo, ``TAB`` puede usarse para insertar
una secuencia de caracteres (correspondiente a una secuencia de comandos de autoinserción).
* :kbd:`c` (``c``) continúa la ejecución (sin más edición) hasta el final de la macro de teclado. Si la ejecución termina normalmente, la macro editada sustituye a la macro de
teclado original.
* :kbd:`Ctrl`-:Kbd:`k` (``C-k``) omite y borra el resto de la macro de teclado, termina la edición por pasos y sustituye la macro de teclado original por la macro editada.
* :kbd:`q` (``q``) y :kbd:`Ctrl`-:kbd:`g` (``C-g``) cancela la edición por pasos de la macro de teclado; descartando cualquier cambio realizado en la macro de teclado.
* :kbd:`i` *tecla...* :kbd:`Ctrl`-:kbd:`j` (``i`` *tecla...* ``C-j``) lee y ejecuta una serie de secuencias de teclas (sin incluir la ``C-j`` final), y las inserta antes del comando
actual en la macro de teclado, sin avanzar sobre el comando actual.
* :kbd:`I` *tecla...* (``I`` *tecla...*) lee una secuencia de teclas, la ejecuta y la inserta antes del comando actual en la macro de teclado, sin avanzar sobre el comando actual.
* :kbd:`r` *tecla...* :kbd:`Ctrl`-:kbd:`j` (``r`` *tecla...* ``C-j``) lee y ejecuta una serie de secuencias de teclas (sin incluir la ``C-j`` final), y reemplaza el comando actual
en la macro de teclado con ellas, avanzando sobre las secuencias de teclas insertadas.
* :kbd:`R` *tecla...* (``R`` *tecla...*) lee una secuencia de teclas, la ejecuta y sustituye el comando actual de la macro de teclado por esa secuencia de teclas, avanzando sobre la
secuencia de teclas insertada.
* :kbd:`a` *tecla...* :kbd:`Ctrl`-:kbd:`j` (``a`` *tecla...* ``C-j``) ejecuta el comando actual, luego lee y ejecuta una serie de secuencias de teclas (sin incluir la ``C-j``
final), y las inserta después del comando actual en la macro de teclado; luego avanza sobre el comando actual y las secuencias de teclas insertadas.
* :kbd:`A` *tecla...* :kbd:`Ctrl`-:kbd:`j` (``A`` *tecla...* ``C-j``) ejecuta el resto de los comandos de la macro de teclado, luego lee y ejecuta una serie de secuencias de teclas
(sin incluir la ``C-j`` final), y las añade al final de la macro de teclado; a continuación, termina la edición por pasos y sustituye la macro de teclado original por la macro
editada.

View File

@ -78,11 +78,25 @@ Copyright © 1985-1987, 1993-2023 Free Software Foundation, Inc.
CapConSecciones/28_CompProbProg.rst
CapConSecciones/29_ManyProgrsGrands.rst
CapConSecciones/30_Abreviaturas.rst
CapConSecciones/
CapConSecciones/
CapConSecciones/
CapConSecciones/
CapConSecciones/
CapConSecciones/31_DiredEditDirect.rst
CapConSecciones/32_CalendAgnda.rst
CapConSecciones/33_EnvioDeCorreo.rst
CapConSecciones/34_LectCorreoRmail.rst
CapConSecciones/35_EmailNotcUsnt.rst
CapConSecciones/36_SegHost.rst
CapConSecciones/37_SegEnRed.rst
CapConSecciones/38_VisualizDeDoc.rst
CapConSecciones/39_ComndShellEmacs.rst
CapConSecciones/40_EmacsComoServ.rst
CapConSecciones/41_ImprCopiasPapl.rst
CapConSecciones/42_OrdenarTexto.rst
CapConSecciones/43_EdicImag.rst
CapConSecciones/44_EdicArchBinarios.rst
CapConSecciones/45_GuardSesiEnEmacs.rst
CapConSecciones/46_NivelsEdicRecursv.rst
CapConSecciones/47_FuncHiperv-Y-NavWeb.rst
CapConSecciones/48_Juegos-Y-Otrs.rst
CapConSecciones/49_PaqEmacsLisp.rst
CapConSecciones/
CapConSecciones/
CapConSecciones/

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -35,7 +35,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -78,6 +78,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

View File

@ -37,7 +37,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -80,6 +80,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>
@ -683,6 +702,179 @@ de la libertad del software.»</p>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html#personalizacion-de-la-abreviatura-dinamica">30.8 Personalización de la Abreviatura Dinámica</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#entrar-en-dired">31.1 Entrar en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#navegacion-en-el-bufer-dired">31.2 Navegación en el Búfer Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#borrar-archivos-con-dired">31.3 Borrar Archivos con Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#marcar-varios-archivos-a-la-vez">31.4 Marcar Varios Archivos a la Vez</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#visitar-archivos-en-dired">31.5 Visitar Archivos en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#marcas-vs-banderas">31.6 Marcas vs. Banderas</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#operar-con-archivos">31.7 Operar con Archivos</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#comandos-shell-en-dired">31.8 Comandos Shell en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#proponer-comandos-de-shell">31.9 Proponer comandos de shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#transformacion-de-nombres-de-archivos-en-dired">31.10 Transformación de Nombres de Archivos en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#comparacion-de-archivos-con-dired">31.11 Comparación de Archivos con Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#subdirectorios-en-dired">31.12. Subdirectorios en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#interruptores-de-subdirectorio-en-dired">31.13 Interruptores de Subdirectorio en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#moverse-por-subdirectorios">31.14 Moverse por Subdirectorios</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#ocultar-subdirectorios">31.15 Ocultar Subdirectorios</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#actualizar-el-bufer-de-dired">31.16. Actualizar el Búfer de Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#dired-y-find-buscar">31.17 Dired y Find (Buscar)</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#editar-el-bufer-dired">31.18 Editar el Búfer Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#ver-miniaturas-de-imagenes-en-dired">31.19 Ver Miniaturas de Imágenes en Dired</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html#otras-caracteristicas-de-dired">31.20 Otras Características de Dired</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#movimiento-en-el-calendario">32.1 Movimiento en el Calendario</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#movimiento-por-periodos-de-tiempo-estandar">32.1.1 Movimiento por Períodos de Tiempo Estándar</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#comienzo-o-fin-de-semana-mes-o-ano">32.1.2 Comienzo o Fin de Semana, Mes o Año</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#fechas-especificadas">32.1.3 Fechas Especificadas</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#desplazarse-por-el-calendario">32.2 Desplazarse por el Calendario</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#conteo-de-dias">32.3 Conteo de Días</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#escribir-archivos-de-calendario">32.5 Escribir archivos de Calendario</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#dias-festivos">32.6 Días Festivos</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#horas-de-salida-y-puesta-del-sol">32.7 Horas de Salida y Puesta del Sol</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#fases-de-la-luna">32.8 Fases de la Luna</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#conversion-a-y-desde-otros-calendarios">32.9 Conversión a y desde Otros Calendarios</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#sistemas-de-calendario-compatibles">32.9.1 Sistemas de Calendario Compatibles</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#conversion-a-otros-calendarios">32.9.2 Conversión a otros Calendarios</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#conversion-desde-otros-calendarios">32.9.3 Conversión desde Otros Calendarios</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#la-agenda">32.10. La Agenda</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#el-archivo-de-la-agenda">32.10.1 El archivo de la Agenda</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#visualizacion-de-la-agenda">32.10.2 Visualización de la Agenda</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#formatos-de-las-fechas">32.10.3 Formatos de las Fechas</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#comandos-para-anadir-a-la-agenda">32.10.4 Comandos para Añadir a la Agenda</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#entradas-especiales-en-la-agenda">32.10.5 Entradas Especiales en la Agenda</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#citas">32.10.6 Citas</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#importar-y-exportar-entradas-de-la-agenda">32.10.7. Importar y Exportar entradas de la Agenda</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#horario-de-verano">32.11 Horario de Verano</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#sumar-intervalos-de-tiempo">32.12 Sumar Intervalos de Tiempo</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#funciones-mas-avanzadas-del-calendario-y-la-agenda">32.13 Funciones Más Avanzadas del Calendario y la Agenda</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#personalizar-el-calendario">32.13.1 Personalizar el Calendario</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#personalizar-los-dias-festivos">32.13.2. Personalizar los Días Festivos</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#conversion-desde-el-calendario-maya">32.13.3 Conversión desde el Calendario Maya</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#formato-de-visualizacion-de-fechas">32.13.4 Formato de visualización de fechas</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#formato-de-visualizacion-de-la-hora">32.13.5 Formato de Visualización de la Hora</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#personalizar-la-agenda">32.13.6 Personalizar la Agenda</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#entradas-de-la-agenda-con-calendarios-no-gregorianos">32.13.7 Entradas de la Agenda con Calendarios no Gregorianos</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#id19">32.13.8 Visualización de la Agenda</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#agenda-elegante">32.13.9 Agenda Elegante</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html#entradas-sexp-y-la-visualizacion-de-la-agenda-elegante">32.13.10. Entradas Sexp y la Visualización de la Agenda Elegante</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html#formato-del-bufer-de-correo">33.1 Formato del Búfer de Correo</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html#campos-de-cabecera-de-correo">33.2 Campos de Cabecera de Correo</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html#alias-de-correo">33.3 Alias de Correo</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html#comandos-de-correo">33.4 Comandos de Correo</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html#firma-de-correos">33.5 Firma de Correos</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html#diversiones-por-correo-electronico">33.6 Diversiones por Correo Electrónico</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html#metodos-de-composicion-de-correo">33.7. Métodos de Composición de Correo</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#conceptos-basicos-de-rmail">34.1 Conceptos Básicos de Rmail</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#desplazamiento-dentro-de-un-mensaje">34.2 Desplazamiento Dentro de un Mensaje</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#moverse-entre-mensajes">34.3 Moverse entre Mensajes</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#borrar-mensajes">34.4 Borrar Mensajes</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#archivos-de-rmail-y-bandejas-de-entrada">34.5 Archivos de Rmail y Bandejas de Entrada</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#multiples-archivos-de-rmail">34.6 Múltiples Archivos de Rmail</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#copiar-mensajes-en-archivos">34.7 Copiar Mensajes en Archivos</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#etiquetas">34.8 Etiquetas</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#atributos-de-rmail">34.9 Atributos de Rmail</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#envio-de-respuestas">34.10. Envío de Respuestas</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#resumenes">34.11 Resúmenes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#hacer-resumenes">34.11.1 Hacer Resúmenes</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#editar-en-resumenes">34.11.2 Editar en Resúmenes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#ordenar-el-archivo-rmail">34.12 Ordenar el Archivo Rmail</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#visualizacion-de-mensajes">34.13 Visualización de Mensajes</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#rmail-y-los-sistemas-de-codificacion">34.14. Rmail y los Sistemas de Codificación</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#edicion-dentro-de-un-mensaje">34.15 Edición Dentro de un Mensaje</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#mensajes-de-sintesis">34.16 Mensajes de Síntesis</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#lectura-de-mensajes-rot13">34.17 Lectura de mensajes Rot13</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#programa-movemail">34.18 Programa movemail</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#recuperar-correo-de-buzones-remotos">34.19. Recuperar Correo de Buzones Remotos</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html#recuperacion-de-correo-de-buzones-locales-en-varios-formatos">34.20. Recuperación de Correo de Buzones Locales en Varios Formatos</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html#buffers-de-gnus">35.1 Buffers de Gnus</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html#cuando-inicia-gnus">35.2 Cuando Inicia Gnus</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html#usar-el-bufer-de-grupo-gnus">35.3 Usar el Búfer de Grupo Gnus</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html#usar-el-bufer-de-resumen-de-gnus">35.4 Usar el Búfer de Resumen de Gnus</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#comandos-de-shell-simples">39.1 Comandos de shell Simples</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#subcomando-interactivo">39.2 Subcomando Interactivo</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#modo-shell">39.3 Modo Shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#avisos-de-shell">39.4 Avisos de Shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#historial-de-ordenes-del-shell">39.5 Historial de Órdenes del Shell</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#anillo-del-historial-de-shell">39.5.1 Anillo del Historial de Shell</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#copiar-el-historial-del-shell">39.5.2 Copiar el Historial del Shell</a></li>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#referencias-al-historial-del-shell">39.5.3. Referencias al Historial del Shell</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#seguimiento-de-directorios">39.6 Seguimiento de Directorios</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#opciones-del-modo-shell">39.7 Opciones del Modo Shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#emulador-de-terminal-emacs">39.8 Emulador de Terminal Emacs</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#modo-term">39.9 Modo Term</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#shell-de-host-remoto">39.10 Shell de Host Remoto</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html#terminal-en-serie">39.11 Terminal en Serie</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html#servidor-tcp-emacs">40.1 Servidor TCP Emacs</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html#ejecutar-emacsclient">40.2 Ejecutar emacsclient</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html#opciones-de-emacsclient">40.3 Opciones de emacsclient</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/43_EdicImag.html#edicion-basica-en-modo-imagen">43.1 Edición Básica en Modo Imagen</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/43_EdicImag.html#control-del-movimiento-despues-de-la-insercion">43.2 Control del Movimiento Después de la Inserción</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/43_EdicImag.html#pestanas-del-modo-imagen">43.3 Pestañas del Modo Imagen</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/43_EdicImag.html#comandos-de-rectangulo-en-modo-imagen">43.4 Comandos de Rectángulo en Modo Imagen</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html#navegacion-web-con-eww">47.1 Navegación web con EWW</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html#widgets-webkit-incrustados">47.2 Widgets WebKit incrustados</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html#seguir-url">47.3 Seguir URL</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html#activar-urls">47.4 Activar URLs</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html#encontrar-archivos-y-urls-en-un-punto">47.5 Encontrar Archivos y URLs en un Punto</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html#el-menu-de-paquetes">49.1 El Menú de Paquetes</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html#estados-de-los-paquetes">49.2 Estados de los Paquetes</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html#instalacion-de-paquetes">49.3 Instalación de Paquetes</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html#archivos-de-paquete-y-ddistribucion-de-directorios">49.4. Archivos de Paquete y Ddistribución de Directorios</a></li>
<li class="toctree-l2"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html#obtener-las-fuentes-de-los-paquetes">49.5. Obtener las Fuentes de los Paquetes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html#especificar-las-fuentes-de-los-paquetes">49.5.1 Especificar las Fuentes de los Paquetes</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

Binary file not shown.

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.17
Traducción Revisón: 1.25
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="#" method="get">
@ -81,6 +81,25 @@
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="CapConSecciones/49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
</ul>
</div>

File diff suppressed because one or more lines are too long