diego sevilla’s weblog
it is better to remain silent and be thought a fool,
than to open your mouth and remove all doubt -- groucho marx

24/11/2009

Curiosidad con emacs

Filed under: español, crítica/critics, código/code, free software/software libre — Diego Sevilla @ 2:00 — In English

Por si no quedaba claro ya que emacs es (quizá) el mejor editor que se ha escrito nunca (quizá con el único que podría compararse es con vi, pero con ese no tento ganta experiencia), deciros que el otro día tenía que añadir 10 punteros, cada uno de un tipo, para una clase template en C++, y quería que tuvieran nombres también diferentes (t0 a t9). Sabía que en emacs tenía que ser sencillo insertar en la posición actual con emacs-lisp. Y efectivamente, con ESC : (escape y después dos puntos) te pregunta en la ventana del minibuffer (abajo) la expresión lisp que evaluar. Si se introduce lo siguiente:

(dotimes (i 10) (insert (concat "T" (number-to-string i) "* t" (number-to-string i) ";\n")))

se obtiene lo que quería. Básicamente es repetir 10 veces insertar una cadena que concatena los textos con el valor de convertir de número a cadena la variable i. Se podría haber añadido un “let” para asociar el valor de i como cadena y no calcularlo dos veces, pero así lo escribí rápidamente. ¿Alguien da más?

emacs

2 Comments »

  1. Hola Diego,

    lo malo que le veo a emacs es que hace falta ser casi un experto para poder hacer cuatro cosas con él. La forma en la que se podría hacer en vim me parece más simple. Basta saberse en comando r! para añadir la salida del comando en la posición actual. De esta forma se pueden utilizar órdenes de bash, con las que uno suele estar más familiarizado. Por ejemplo, en este caso:

    :r! for i in `seq 10`; do echo “T$i * t$i;”; done

    Saludos!

    Comment by Andrés Senac — 25/11/2009 @ 0:12

  2. Hola, Andrés:

    Disiento contigo. Usarlo es sencillo desde el principio… Sólo que hay que ponerse… No me dirás tú que vi, con sus dos modos (no intuitivos a primera vista) y sus abreviaciones de comandos no es, como poco, igual de poco intuitivo que podría tachársele a emacs. Además, es que se puede leer del shell, filtrar un buffer, etc., pero es más interesante que te ofrezca no sólo esas posibilidades, sino la posibilidad de escribir un macro o trozo de programa directamente, además de la cantidad de librerías que posee el emacs, que se pueden usar directamente a golpe de ESC : . Supongo que es cuestión de gustos, pero me encuentro muy a gusto con emacs. Además, con M-x add-changelog-entry te añade entradas de changelog… ¿hace eso vi? :)

    Saludos!
    diego.

    Comment by Diego Sevilla — 25/11/2009 @ 0:46

RSS feed for comments on this post. TrackBack URI

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


Anti-Spam by WP-Morph 

Creative Commons License
This work is licensed under a Creative Commons License.
EWWV  AWStats  Site Meter 24 queries. 0.077 seconds. Powered by WordPress
406022 email messages processed in this box. 10858 were spam

0