Curiosidad con emacs

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

blog comments powered by Disqus