<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Emacs</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Guía de Referencia"><link rel="up" href="text-editing.html" title="Capítulo 4. La edición de texto: Emacs y VI"><link rel="previous" href="text-editing.html" title="Capítulo 4. La edición de texto: Emacs y VI"><link rel="next" href="ch04s02.html" title="VI: el ancestro"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Emacs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="text-editing.html">Anterior</a> </td><th width="60%" align="center">Capítulo 4. La edición de texto: Emacs y VI</th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Siguiente</a></td></tr></table><hr></div><div class="sect1" lang="es"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2539879"></a>Emacs</h2></div></div><div></div></div><p><a name="BId-text-editing-pa3"></a><a class="indexterm" name="BId-text-editing-it1"></a><span class="application">Emacs</span> es probablemente el editor de texto más potente que existe. Puede hacer absolutamente de todo y es extensible infinitamente gracias a su lenguaje de programación incorporado, basado en <span class="application">lisp</span>. Con <span class="application">Emacs</span>, puede navegar por la web, leer su correo, tomar parte en foros de discusión, hacer el café, y así sucesivamente. Esto no es para decir que en este capítulo aprenderá a hacer todo eso, pero tendrá un buen comienzo abriendo <span class="application">Emacs</span>, editando uno o más archivos, guardándolos y saliendo de <span class="application">Emacs</span>.</p><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2539960"></a>Presentación breve</h3></div></div><div></div></div><p><a name="BId-text-editing-pa4"></a><span class="application">Emacs</span> se invoca de la manera siguiente:</p><a name="BId-text-editing-sc1"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">emacs [archivo] [archivo ...]</pre></td></tr></table><p><a name="BId-text-editing-pa5"></a><span class="application">Emacs</span> abrirá cada archivo ingresado como argumento en un buffer diferente, con un máximo de dos buffers visibles a la vez. Si arranca <span class="application">Emacs</span> sin especificar archivos en la línea de comandos se le presentará el buffer <tt class="literal">*scratch*</tt>. Si está en <span class="application">X</span>, también tendrá disponible un menú, pero en este capítulo nos concentraremos estrictamente a trabajar con el teclado.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2540043"></a>Comenzando</h3></div></div><div></div></div><p><a name="BId-text-editing-pa6"></a>Es tiempo de poner manos a la obra. Para nuestro ejemplo, comencemos abriendo dos archivos, <tt class="filename">archivo1</tt> y <tt class="filename">archivo2</tt>. Si estos archivos no existen, serán creados tan pronto como Usted escriba algo en ellos:</p><a name="BId-text-editing-sc2"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">$ emacs archivo1 archivo2</pre></td></tr></table><p><a name="BId-text-editing-pa7"></a>Al teclear ese comando obtendrá la ventana siguiente:</p><div class="figure"><a name="emacs-1"></a><p class="title"><b>Figura 4.1. Editando dos archivos a la vez</b></p><div class="mediaobject" align="center"><img src="images/emacs-1.png" align="middle" alt="Editando dos archivos a la vez"></div></div><p><a name="BId-text-editing-pa8"></a>Como puede ver, se crearon dos buffers. También está presente un tercero en la parte inferior de la pantalla (donde se ve <tt class="literal">(New file)</tt>); este es el mini-buffer. Usted no puede acceder directamente a este buffer. <span class="application">Emacs</span> debe invitarlo durante las entradas interactivas. Para cambiar el buffer corriente teclee <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span>-<span><b class="keycap">O</b></span>. Puede ingresar texto como en un editor “<span class="quote">normal</span>”, y borrar caracteres con la tecla <span><b class="keycap">Supr</b></span> o la tecla <span><b class="keycap">Retroceso</b></span>.</p><p><a name="BId-text-editing-pa9"></a>Para desplazarse por ahí, puede usar las teclas de las flechas, así como también estas otras combinaciones de teclas: <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">A</b></span> para ir al principio de la línea, <span><b class="keycap">Alt</b></span>-<span><b class="keycap"><</b></span> para ir al principio del buffer y <span><b class="keycap">Alt</b></span>-<span><b class="keycap">></b></span> para ir al final del mismo. Hay muchas otras combinaciones, incluso para cada una de las teclas de las flechas<sup>[<a name="id2540269" href="#ftn.id2540269">12</a>]</sup>.</p><p><a name="BId-text-editing-pa11"></a>Tan pronto como quiera guardar los cambios hechos en un archivo, ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">S</b></span>, o si desea grabar el contenido del buffer en otro archivo, ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">W</b></span> y <span class="application">Emacs</span> le pedirá el nombre del archivo en el cual se debería escribir el contenido del buffer. Puede usar el “<span class="quote"><a name="BId-text-editing-gt1" href="glossary.html#term-completion"><i class="glossterm">completado</i></a></span>” para hacer esto.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2540392"></a>Manipulación de los buffers</h3></div></div><div></div></div><p><a name="BId-text-editing-pa12"></a>Si lo desea, Usted puede mostrar un buffer solo en la pantalla. Hay dos formas de hacer esto:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-text-editing-pa13"></a>Si Usted está en el buffer que quiere ocultar: ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">0</b></span>.</p></li><li><p><a name="BId-text-editing-pa14"></a>Si Usted está en el buffer que quiere conservar en la pantalla: ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">1</b></span>.</p></li></ul></div><p><a name="BId-text-editing-pa15"></a>Por lo tanto, hay dos maneras de restaurar el buffer que desea en la pantalla:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-text-editing-pa16"></a>ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">B</b></span> e introduzca el nombre del buffer que quiere, o</p></li><li><p><a name="BId-text-editing-pa17"></a>ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">B</b></span>, entonces se abrirá un buffer nuevo, denominado <tt class="literal">*Buffer List*</tt>; se puede desplazar por este buffer usando la secuencia <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">O</b></span>, luego seleccione el buffer que desea y presione la tecla <b class="userinput"><tt>Intro</tt></b>, o si no ingrese el nombre del buffer en el mini-buffer. El buffer <tt class="literal">*Buffer List*</tt> vuelve a segundo plano una vez que Usted ha hecho su elección.</p></li></ul></div><p><a name="BId-text-editing-pa18"></a>Si ha finalizado con un archivo y desea deshacerse del buffer asociado, ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">K</b></span>. Entonces <span class="application">Emacs</span> le preguntará qué buffer debe cerrar. Predeterminadamente, es el nombre del buffer en el cual Usted se encuentra en ese momento; si desea deshacerse de un buffer que no sea el propuesto, ingrese su nombre directamente o bien presione <span><b class="keycap">Tab</b></span>: <span class="application">Emacs</span> abrirá entonces otro buffer más denominado <tt class="literal">*Completions*</tt> dando la lista de elecciones posibles. Confirme su elección con La tecla <span><b class="keycap">Intro</b></span>.</p><p><a name="BId-text-editing-pa19"></a>También puede restaurar dos buffers visibles en la pantalla al mismo tiempo; para hacer esto ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">2</b></span>. Predeterminadamente, el nuevo buffer creado será una copia del buffer corriente (lo que le permite, por ejemplo, editar un archivo grande en varios lugares “<span class="quote">a la vez</span>”), y simplemente procederá como se describió anteriormente para moverse entre los buffers.</p><p><a name="BId-text-editing-pa20"></a>Puede abrir otros archivos en cualquier momento, usando <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">F</b></span>. <span class="application">Emacs</span> le pedirá el nombre del archivo y Usted puede volver a utilizar el completado si lo encuentra más conveniente.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2540788"></a>Copiar, cortar, pegar, buscar</h3></div></div><div></div></div><p><a name="BId-text-editing-pa21"></a>Suponga que estamos en la situación de la <a href="ch04s01.html#emacs-2" title="Figura 4.2. Emacs antes de copiar el bloque de texto">Figura 4.2, “Emacs antes de copiar el bloque de texto”</a>.</p><div class="figure"><a name="emacs-2"></a><p class="title"><b>Figura 4.2. Emacs antes de copiar el bloque de texto</b></p><div class="mediaobject" align="center"><img src="images/emacs-2.png" align="middle" alt="Emacs antes de copiar el bloque de texto"></div></div><p><a name="BId-text-editing-pa22"></a>Primero, necesitará seleccionar el texto que desea copiar. En este ejemplo, deseamos copiar toda la oración. El primer paso es poner una marca al comienzo del área. Asumiendo que el cursor está en la posición donde se encuentra en <a href="ch04s01.html#emacs-2" title="Figura 4.2. Emacs antes de copiar el bloque de texto">Figura 4.2, “Emacs antes de copiar el bloque de texto”</a>, la secuencia de comandos sería <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">Espacio</b></span> (<span><b class="keycap">Ctrl</b></span> y la barra espaciadora). <span class="application">Emacs</span> entonces mostrará el mensaje <tt class="literal">Mark set</tt> en el mini-buffer. Luego muévase al principio de la línea con <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">A</b></span>. El área seleccionada para copiar o cortar es toda el área que se encuentra entre la marca y la posición corriente del cursor, entonces en este caso será toda la línea. Luego, ingrese <span><b class="keycap">Alt</b></span>-<span><b class="keycap">W</b></span> (para copiar) o <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">W</b></span> (para cortar). Si Usted copia, <span class="application">Emacs</span> volverá brevemente a la posición de la marca, para que Usted pueda ver el área seleccionada.</p><p><a name="BId-text-editing-pa23"></a>Finalmente vaya al buffer sobre el cual quiere copiar el texto, e ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">Y</b></span>. Esto le dará el resultado siguiente:</p><div class="figure"><a name="emacs-3"></a><p class="title"><b>Figura 4.3. Copiando texto con Emacs</b></p><div class="mediaobject" align="center"><img src="images/emacs-3.png" align="middle" alt="Copiando texto con Emacs"></div></div><p><a name="BId-text-editing-pa24"></a>De hecho, lo que Usted acaba de hacer es copiar texto al <a name="BId-text-editing-gt2" href="glossary.html#term-kill-ring"><i class="glossterm">kill ring</i></a> (anillo de los muertos) de <span class="application">Emacs</span>: este <span class="foreignphrase"><i class="foreignphrase">kill ring</i></span> contiene todas las regiones copiadas o cortadas desde que se inició <span class="application">Emacs</span>. <span class="emphasis"><em>Cualquier</em></span> región copiada o cortada se pone al comienzo del <span class="foreignphrase"><i class="foreignphrase">kill ring</i></span>. La secuencia <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">Y</b></span> simplemente “<span class="quote">pega</span>” la región que está en el tope. Si desea tener acceso a otras regiones, presione <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">Y</b></span>, y luego <span><b class="keycap">Alt</b></span>-<span><b class="keycap">Y</b></span> hasta que obtiene el texto deseado.</p><p><a name="BId-text-editing-pa25"></a>Para buscar texto, vaya al buffer deseado e ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">S</b></span>. Entonces, <span class="application">Emacs</span> le pedirá la cadena a buscar. Para comenzar una búsqueda nueva con la misma cadena, todavía en el buffer corriente, ingrese <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">S</b></span> de nuevo. Cuando <span class="application">Emacs</span> llega al final del buffer y no encuentra más ocurrencias, puede teclear <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">S</b></span> de nuevo para volver a iniciar la búsqueda desde el principio del buffer. Al presionar la tecla <span><b class="keycap">Intro</b></span> se finaliza la búsqueda.</p><p><a name="BId-text-editing-pa26"></a>Para buscar y reemplazar, ingrese <span><b class="keycap">Alt</b></span>-<span><b class="keycap">%</b></span>. <span class="application">Emacs</span> le pedirá la cadena a buscar, con qué reemplazarla, y le pide confirmación para cada ocurrencia que encuentra.</p><p><a name="BId-text-editing-pa27"></a>Para deshacer, teclee <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">U</b></span> lo cual deshace la operación previa. Puede deshacer tantas operaciones como desee.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2541307"></a>Salir de Emacs</h3></div></div><div></div></div><p><a name="BId-text-editing-pa28"></a>El atajo para salir de <span class="application">Emacs</span> es <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">X</b></span> <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">C</b></span>. Si no ha guardado sus cambios, <span class="application">Emacs</span> le preguntará si desea o no guardar los buffers.</p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2540269" href="#id2540269">12</a>] </sup><span class="application">Emacs</span> ha sido diseñado para funcionar en una gran variedad de máquinas, algunas de las cuales incluso no tienen teclas de las flechas en el teclado. Esto es incluso más cierto en <span class="application">Vi</span>.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="text-editing.html">Anterior</a> </td><td width="20%" align="center"><a accesskey="u" href="text-editing.html">Subir</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s02.html">Siguiente</a></td></tr><tr><td width="40%" align="left" valign="top">Capítulo 4. La edición de texto: Emacs y VI </td><td width="20%" align="center"><a accesskey="h" href="index.html">Inicio</a></td><td width="40%" align="right" valign="top"> VI: el ancestro</td></tr></table></div></body></html>