PDF de programación - Entornos de desarrollo universitarios : Emacs

Imágen de pdf Entornos de desarrollo universitarios : Emacs

Entornos de desarrollo universitarios : Emacsgráfica de visualizaciones

Actualizado el 22 de Julio del 2017 (Publicado el 30 de Enero del 2017)
985 visualizaciones desde el 30 de Enero del 2017
78,5 KB
8 paginas
Creado hace 20a (08/09/2003)
Entornos de desarrollo universitarios : Emacs

Eduardo Cermeño GTQ

Asociación para el Fomento del Software Libre

UAM

September 8, 2003

Abstract

Esta ponencia trata sobre GNU Emacs (Emacs en adelante), la imple-
mentación de Emacs realizada por GNU. La licencia del programa es GPL
lo que nos permite la libre distribución, copia y modificación del mismo. Se
puede adquirir gratuitamente en la web www.gnu.org tanto para platafor-
mas Unix (Linux) como para Windows NT, Windows 95, y MS-DOS.
Estas características nos interesan mucho porque permiten que sea una
herramienta muy interesante para el desarrollo en las Universidades. No
es el objetivo de esta ponencia hablar de software libre en general pero
como Emacs lo es y ello aporta beneficios vamos a comentarlos.

Al ser gratuito el coste de adquisición es nulo. Como podemos copi-
arlo y distribuirlo libremente se puede generalizar su uso sin ningún coste
económico. La posibilidad de modificarlo puede ser útil en ciertos ambi-
entes de investigación. Finalmente su alta disponibilidad facilita el inter-
cambio de documentos entre distintas plataformas y la adaptación de los
usuarios a un nuevo entorno. Es genial poder usar Emacs allá donde vayas
Windows o Linux.

La definición más común de Emacs es : ’advanced, self-documenting,
customizable extensible real-time display editor’ La parte de real-time dis-
play no es muy interesante puesto que se refiere a que todo lo que se inserte
aparece en pantalla de forma casi immediata. El resto de características
de la definición nos van a resultar muy útiles para mostrar las aplicaciones
de Emacs.

1 Emacs: Editor configurable (customizable)

Emacs ofrece la posibilidad de modificar sus keymaps. El keymap o mapa de
teclas es lo que caracteriza a un editor. Emacs por ejemplo utiliza las siguientes
combinaciones de teclas para cortar y pegar ctrl-space ctrl-w (para cortar) y
ctrl-y (para pegar).

Emacs posee distintos tipos de keymaps. El principal se denomina global
y afecta a todos los modos de edición. Para cada modo denominado ’major’
existe otro keymap que define las características propias del modo y finalmente
para los modos ’minor’ tenemos más keymaps que definen las teclas especiales
de esos modos. Solo necesitamos tener una idea aproximada de lo que son los
modos en Emacs, y espero que según avancemos esta idea se concrete poco a

1

poco. Las definiciones global se pueden ver como la base de la pirámide sobre
la que se basa todo el resto y sin la cual no existiria nada. Un poco como
el sistema operativo para un ordenador. Los major modes se sobreponen al
global de forma que aportan novedades, es decir nuevas utilidades y en caso de
conflicto tienen mayor prioridad porque consideramos que estamos adaptando
nuestro editor a nuestras necesidades concretas que ya no son tan generales.
Finalmente los minor modes son una capa superior que con la misma lógica
afinan más el editor.

Podemos modificar cualquiera de estos keymaps de forma sencilla mediante

los comandos : M-x global-set-key o M-x local-set-key

Estas modificaciones incluyen tanto la redefinición de teclas como la definición

de nuevas secuencias de teclas que ejecuten nuevas acciones.

Otra forma interesante de configurar Emacs es redefiniendo sus ’variables’.
Estas variables determinan de muchas formas el comportamiento del editor
puesto que definen valores clave para Emacs. Por ejemplo cuando se realiza
el wrapping en Emacs?. Pues el valor que determina esto se encuentra en la
variable ’fill-column’ que podemos cambiar a nuestro gusto con el comando M-x
set-variable. (Para más detalles consultar el manual on-line sobre la variable
que se quiera modificar tecleando C-h v).

Estos son los conceptos básicos sobre la configuración del editor. Debería
empezar a quedar claro que en Emacs podemos acceder a casi todo. Esto se
debe a que la mayor parte del código está escrito en LISP y nos permite crear
nuevos comandos y modificar los ya existentes en una misma sesión, de forma
interactiva.

Una pequea nota sobre la asignación de teclas. Conviene utilizar las combi-
naciones de tipo ctrl-c seguido por una letra porque este rango esta reservado
a este fin. De otra forma podrían surgir conflictos.

2 Emacs: Auto-ayuda (self-documenting)

Hasta ahora hemos mostrado una diminuta parte de las posibilidades de Emacs,
sin embargo puede parecer que el número de comandos que entrarán en juego va
a ser muy grande. La verdad es que conocer diez o veinte comandos o secuencias
de teclas suele bastar para la mayor parte de la actividades habituales. Pero
para poder aprovechar de forma real y efectiva la potencia de Emacs tiene que
existir un mecanismo de ayuda que nos permita aprender nuevas funciones a
medida que las vayamos necesitando, o que simplemente nos recuerde como se
utilizaba tal o tal función.

Si no recordamos la secuencia de teclas que realiza una función siempre
podemos probar a teclear M-x y una parte del nombre que creemos pueda haber
sido elegido para nombrar la función deseada. Por ejemplo si queremos hacer
algo tan sencillo como borrar un carácter y no recordamos que hay que pulsar
ctl-d, podemos teclear M-x delete y despúes una o dos veces el tabulador. Se
abrirá una ventana nueva (entiendase como ventana una ’window’ de Emacs es
decir una subdivisión del ’frame’ que es el objeto que se abre al iniciar Emacs)
con posibles soluciones. Para nuestro ejemplo habremos acertado puesto que no

2

hay muchas y entre ellas se encuentra delete-char. Si solo hubiera una solución
el hecho de pulsar el tabulador hubiera completado automáticamente el nombre
de la función. Además del enorme juego que proporciona el tabulador Emacs
posee una importante ayuda. Vamos a describir de forma muy breve una serie
de comandos de ayuda de forma que nos hagamos una idea de como funcionan
pero sin entrar en detalle.

C-h a topic RET Busca los comandos que tengan coincidencias con el topic
C-h i d m emacs RET i topic RET Busca el topic en los indices del manual
on-line de Emacs. Mostrando el primero por pantalla. C-h F Muestra la sección
FAQ de Emacs donde se pueden realizar búsquedas como si se tratase de un
documento normal de Emacs. C-h c seguido por una serie de teclas nos indica
a que función están asociadas las teclas.

Siempre es interesante teclear C-h ? para ver el resto de ópciones que ofrece

la ayuda de Emacs.

3 Emacs: Editor avanzado

Hemos presenatdo un editor altamente configurable y con una potente ayuda,
ahora vamos a mostrar que detrás de la sobria pantalla de Emacs se esconde un
editor muy potento lleno de funcionalidades. No hemos podido evitar hablar
de las ’windows’ de Emacs. De forma breve vamos a describir una sesión típica
de Emacs. Abrir el editor con la forma deseada (emacs -nw si no se desea
activar el entorno gráfico y queremos trabajar desde consola), una vez abierto
abrir tantos archivos como queramos y al terminar cerraremos Emacs. Como se
indica anteriormente el objeto que abre Emacs al arrancar se denomina ’frame’.
Esto es independiente de si estamos en un entorno gráfico o no puesto que si
lo estamos se abrirá la clásica ventanita de programa y sino el programa se
ejecutará en consola. Esa es la única diferencía que vamos a notar al editar, a
excepción de las funciones que aporta el ratón en entornos gráficos.

Una vez tengamos nuestro ’frame’ podemos abrir tantos buffers como quer-
amos. En general un buffer corresponde a un archivo pero también se crean
buffers para mostrar todo tipo de ayuda, subprocesos...En cualquier momento
podemos cambiar de buffer tecleando ctrl-x b o accediendo al menú Buffers
(con la tecla F-10 o con el ratón). Al terminar con un buffer no tenemos más
que ’matarlo’ tecleando ctrl-x k. De esta forma en una única sesión podemos
tener multitud de archivos y abiertos. Además podemos tener múltiples ’win-
dows’ de Emacs. Esto son divisiones del ’frame’ que nos permite visualizar de
forma simutánea varios buffers. Nótese que esto se puede realizar en consola
sin ningún problema.

Las tareas básicas de un editor son insertar y borrar. Un editor avanzado
debe incluir más funciones. Emacs ofrece multitud de ellas, desde las más co-
munes como copiar, pegar, cortar, buscar, reeemplazar, macros, mover bloques,
a funciones más complejas y específicas como son los modos para lenguajes de
programación.

3

3.1 Programación en C

Al cargar un archivo con extensión .c se carga automáticamente el modo C. Este
modo conoce la estructura de los programas C y asigna un color diferente para
diferenciar cometarios, instrucciones de precompilador, cadenas de caracteres,
palabras reservadas .... El tabulador sangra el texto de forma que alinea los
bloques condicionales y bucles de repetición. Si el sangrado es incorrecto muy
probablemente podemos deducir que las llaves o paréntesis no están balanceadas
de forma correcta. Al cerrar una llave el cursor nos indica la apertura, y si ésta
no se encuentra en la pantalla, el minibuffer nos indica el contenido de la línea
donde se abrió la llave.

El modo C también provee comandos para comentar regiones enteras de
forma automática y saltar las condiciones de precompilador entre otras. Para
compilar podemos utilzar el comando M-x compile que por defecto ejecuta
make -k. Este comando esta determinado por la variable compile-command
que podemos modificar como hemos sealado en la parte de configuración. Al
compilar se abre un buffer *compilation* donde se nos indican los posibles
errores que hayan surgido. Si pulsamos ctrl-c ctrl-c encima de una de las lineas
de error el cursor se posicionará en la posición donde se detectó el error.

El proceso de corrección de fallos o bugs se lleva a cabo con el comando M-x
gdb que ejecuta dicho debugger. Se abre un buffer *gud-nombredelejecutable*
donde podemos ejecutar los distintos comandos de debugger como haríamos
normalemente. Pero además en el buffer donde editamos el programa C aparece
un indicator que
  • Links de descarga
http://lwp-l.com/pdf2126

Comentarios de: Entornos de desarrollo universitarios : Emacs (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad