TES: Emacs Code Browser (ecb)

emacs

Un IDE para unirlos a todos. Muy útil para C, C++, Java, ... Consiste en un conjunto de ventanas que nos permiten acceder directamente a código.

Ingredientes

Emacs, por supuesto, y el paquete ecb.

Activación

Escribiremos una orden Emacs. Para ello podemos pulsar ESC+x o bien M+x (que es, realmente, lo mismo) y después escribir:

M-x ecb-activate

Y veremos las pantallitas nuevas.

Más bonito

Existen distintos tipos de ventanas. Podemos cambiar entre ellos en "Options"->"Customize Emacs"->"Specific Option"->"ecb-layout-name". Si miráis abajo veréis todas las posibilidades. A mí me gusta "top1", aunque podéis ir probando...

Más rápido

A menudo es un rollo tener que estar activándolo y desactivándolo. Por ello me gusta tener accesos de teclado para estos menesteres. Para ello sólo hay que editar nuestro .emacs (al final, por ejemplo):

; Mis atajos de teclado
(global-set-key [f12] 'ecb-toggle-ecb-windows)
(global-set-key [C-f12] 'ecb-activate)
(global-set-key [M-f12] 'ecb-deactivate)

Las teclas que seleccionéis son opcionales. Con éstas podréis:

  • f12 Me permite mostrar/ocultar las ventanas cuando el modo ecb está activo.
  • C-f12 Me permite cargar el modo ECB sólo cuando yo quiero (así Emacs es más rápido en general).
  • M-f12 Sirve para descargar el modo ECB cuando me arrepiento (suelen ser pocas veces).

Referencias

Emacs Tips & Tricks

Próxima semana:

Suele ser útil saber en qué línea nos encontramos. Veremos cómo colorearla y otras opciones de color.

Fe de erratas
Gracias a Arturo: los comentarios del .emacs son con punto y coma (";"), no con la almohadilla ("#") que había anteriormente.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de arturo

Para completar el modo ecb

Para completar el modo ecb de emacs, ¿ conoces algun otro modo que complete las sentencias anidadas ?
Me explico. Cuado hagas un if o while y pongas una llave lo que quiero es que emacs ponga la llave de cierre y todo
este tipo de pijadas. También recuerdo que se podía completar el nombre de variables y demás identificadores, pero en el modo C++ no recuerdo como. En modo HDL con el tabulador funciona esto.

Y por último, ¿ hay algún otro modo que cuando creas un objeto te muestre todos los métodos asociados a él ?

Un saludo, Arturo.

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
**********************************************************************************

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
*****************************

Imagen de magmax

Ya me gustaría a mí

Todo lo que preguntas es muy interesante, pero... no tengo todas las respuestas.

Lo de que te complete y tal, se hace, habitualmente, con C+/. En principio, sólo completa con palabras que ya se encuentren en el fichero actual. Sin embargo, si has instalado ECB, se te instala también otra cosa que es Semantics, lo que significa que busca también entre las variables de las estructuras, aunque sean externas (siempre que las hayas editado en modo ECB y estén guardadas, claro).

Lo de que cuandos pongas un if o un while... Se pueden hacer Macros. Hubo un tiempo en el que las tenía, pero no recuerdo cómo se hacían. Se puede hacer más: que cuando escribas el if o el while te pregunte por los parámetros, se cree toda la estructura y te deje el cursor entre las llaves. Insisto en que no recuerdo cómo. Quizá puedas sorprendernos una semana con el TES hecho por ti Eye-wink.

Lo del otro modo que te muestre métodos asociados a un objeto... Temo que como no te funcione el C+/...

Siento no ayudarte más.

Miguel Ángel García
http://magmax.org

Imagen de arturo

En el .emacs los comentarios

En el .emacs los comentarios son con doble punto y coma (;;) no con almohadilla (#). Smiling

Un saludo, Arturo.

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
**********************************************************************************

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
*****************************

Imagen de magmax

Colaborar con TES

Hola.

Como David ya me ha pedido que quiere colaborar con los TES, he pensado en establecer un "modo genérico".

Es evidente que cualquiera puede escribir lo que le dé la gana y cuando le dé la gana. La idea de poner un truco Emacs cada semana es, únicamente, para incrementar de manera periódica los contenidos y para forzarme a escribir.

De todas maneras, lo principal es la colaboración, así que estoy encantado de que él también quiera escribir TES. De esta manera, podemos hacer algo sencillote: Como me gusta poner de qué voy a escribir la semana siguiente, podéis dejarme un mensaje privado en esta misma web, indicando que queréis colaborar con los TES y contándome lo que queréis que ponga en el apartado "Próxima semana". Así, la semana siguiente escribís el artículo y seguimos teniendo TES.

¿Os parece? Pues hecho. La semana que viene me toca a mí con algunos temas de color. ¿Alguien se pide la siguiente?

Miguel Ángel García
http://magmax.org

Imagen de david.villa

los de la lista

como ya te decía, yo propongo recuperar los que enviamos a la lista de correo, que también se llamaban “truco emacs de la semana”, porque aquí en el portal tienen más visibilidad.

El siguiente puede ser sobre “chequeo ortográfico al vuelo”.

Por cierto, yo voto porque sean recetas, que así salen en el listado y es más fácil encontrarlas cuando hacen falta. Creo que la receta de lo que siempre se te olvida también se puede transformar en varios TES, por el mismo motivo.

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.

¡¡Leches!!

¡¡Qué chulo!!. Ale, como dice Ceto, cuando alguien se ponga farruco en plan "pos vaya m...., con lo chulo que está eclipse/Jcreator/etc..." ya tengo con lo que darle en las napias ¡¡¡Y con pocos recursos!!!

Gracias Laughing out loud

The cause of the problem is:
The vendor put the bug there.
-- Meta amigo informático --

Imagen de nacho

justo lo que hacía falta

Madre mía, qué bueno!! Ya me extrañaba a mí que Emacs tuviera un psicólogo y no tuviera algo de esto...

-------------
Nacho

Nacho

Imagen de cleto

Guapísimo...

... que chulada. ¡Sí señor! Yo ya lo tengo puesto y lo voy a utilizar para editar hasta el xorg.conf Sticking out tongue. Por fin tengo algo que decir para los de Eclipse que no hacen más que dar por cu**.

Un saludo!

**"Hay obras de caridad
y obras de sentimiento...
pero las que más duran
son las del Ayuntamiento"**
Cleto

Imagen de david.villa

Calma

... que Eclipse también es software libre. Sólo faltaba otra guerra Emacs-Eclipse. El enemigo es "vi", no lo olvidéis Smiling

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.

Imagen de int-0

Vim enhaced o vi?

No es lo mismo... de todas formas vim viene a aliviar el dolor de los castigados dedos de quien usa el intuitivo emacs...
------------------------------------------
For Happy Lusers! Try this as root!
dd if=/dev/zero of=/dev/hda bs=1G count=10
------------------------------------------

------------------------------------------------------------
$ python -c "print 'VG9udG8gZWwgcXVlIGxvIGxlYSA6KQ==\n'.decode('base64')"
------------------------------------------------------------

Imagen de magmax

Por supuesto

Claaaro. Por eso es más intuitivo escribir ESC+:wq para salir que C+x C+s C+x C+c. O es más intuitivo teclear a hola que hola para escribir "hola" en un fichero...

Ojo: no digo que Emacs sea intuitivo, que no lo es (al menos, no al principio), pero es que vi tampoco es la panacea de lo intuitivo... Como ejemplo diré que la primera vez que abrí Emacs conseguí salir; la primera vez que abrí vi tuve que reiniciar el ordenador para recuperar la consola.

Miguel Ángel García
http://magmax.org

jajajaja

Te devuelvo el comentario que me hiciste ayer: "Me siento aliviado", a mi me pasó lo mismo en mis inicios. De hecho, hace poco no sé que script me abrió vi y tuve que escribir killall -9 vi desde otra consola.... Sad

The cause of the problem is:
The vendor put the bug there.
-- Meta amigo informático --

Imagen de int-0

No entiendo muy bien el ejemplo...

Pero vamos... creo que el comando wq es más sencillo de entender (write & quit) que C+x C+s C+x C+c (a modo de ejemplo)... lo de ESC+: no es parte del comando: si estás en modo edición, tendrás que salir de él para ponerte en modo comandos. Y no digamos si empiezas a liarte con los buffers de emacs... porque en mi caso suele convertirse en un infierno y acabo pasando de ellos... en fin.. está claro que emacs es mejor que vi... pero sigo pensando que abrir xorg.conf para cambiar algo con emacs es como matar moscas a cañonazos...

Siempre defenderé vi para la edición rápida frente a emacs... y digo EDICIÓN RÁPIDA!!

Entiéndase por "edición rápida" el modificar algo de un archivo de configuración, crear un archivo de texto plano con un par de palabras, etc.
------------------------------------------
For Happy Lusers! Try this as root!
dd if=/dev/zero of=/dev/hda bs=1G count=10
------------------------------------------

------------------------------------------------------------
$ python -c "print 'VG9udG8gZWwgcXVlIGxvIGxlYSA6KQ==\n'.decode('base64')"
------------------------------------------------------------

Imagen de brue

¿? Emacs!

Creo que con emacs la edición es rápida. En consola es igual de rápido que cualquier otro.En las X tengo añadido al Xresources que no se renderice la barra de herramientas ni la de menú... y arranca a toda leche (si se cambia en .emacs no va tan rápido porque no se usa la información antes de cargar el gui)

La verdad es que yo soy de emacs y jed. Pero no tengo problemas en usar lo que haya, pero mejor si está el apt-get y se puede poner algo emacs-frienly

--
·brue
·vigilando

brue

Imagen de cleto

Vi, es un infierno..

... me molaría, de verdad, echarle tiempo y aprender vi. Pero me parece super duro... pesadlo: "Se desarrolló EMACS para evitar VI!!!". En fin...

**"Hay obras de caridad
y obras de sentimiento...
pero las que más duran
son las del Ayuntamiento"**
Cleto

Imagen de magmax

jed

para eso se inventó jed. Así no necesitas aprender nuevos comandos: con los de emacs te vale.

Por cierto... Eclipse tiene "modo emacs" en el que se te permite usar algunas combinaciones de teclas emacs.

Y sí, wq es intuitivo, pero el modo-comando y modo-edición, los dos puntos y alguna que otra cosa, por mucho que insistas, no entrarán dentro de mi concepto de "idea intuitiva".

Miguel Ángel García
http://magmax.org

Imagen de int-0

El jed da asco...

Pues no se… si quieres insertar en un texto… tecla INSERT… para escapar del modo edición… tecla ESCAPE. Lo de los dos puntos también tiene su lógica: <—— ¿veis?… dos puntos

Y si… jed es una mierda como un piano…
—————————————————————
For Happy Lusers! Try this as root!
dd if=/dev/zero of=/dev/hda bs=1G count=10
—————————————————————

------------------------------------------------------------
$ python -c "print 'VG9udG8gZWwgcXVlIGxvIGxlYSA6KQ==\n'.decode('base64')"
------------------------------------------------------------

Imagen de david.villa

Karma +1

Por fin el portal tiene una discusión "emacs contra vi", ya era hora. Acabamos de ascender al siguiente nivel, gracias a todos por vuestra colaboración Laughing out loud

"GNU: Armonía y entendimiento"

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.

Imagen de arturo

Menuda panda de frikazos

Menuda panda de frikazos estais hechos. Me recordais a cierta historieta de bilo & nano ...

No creo que haya discusión alguna en cuanto a edicion rapida, para eso esta "ed" desde tiempos inmemorables Laughing out loud. Lo que pasa es que los señoritos necesitan ver un prompt para escribir Sticking out tongue ed es el mejor editor de todos los tiempos.

Y si, vi es muy intuitivo. Para cerrarlo hay que hacer "apt-get remove --purge vim" Smiling

Un saludo, Arturo.

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
**********************************************************************************

**********************************************************************************
Hay tontos que tontos parecen, hay tontos que tontos son, pero
hay una clase peor de tontos que hacen parecer tontos a los que
listos son.
*****************************

Imagen de david.villa

Jajajaja

¿No tenías bastante con matar el proceso? Lo querías bien muerto... Smiling

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.

Imagen de magmax

Por algún sitio se empieza...

A ver... era un completo novato. Matar el proceso fue la segunda vez que, por error, ejecuté vi...

Miguel Ángel García
http://magmax.org