2012-03-10 13 views
21

Me pregunto cómo es que algunos comandos interactivos en emacs presentan valores predeterminados mientras que otros no. Por ejemplo, cuando estoy en el archivo C y el cursor se encuentra en printf, ejecutar manual-entry sugerirá mostrar la página de manual para printf de forma predeterminada. Me gustaría hacer mis propios comandos interactivos con valor predeterminado. ¿Cómo? Parece que una cosa-en-punto es una buena dirección, pero ¿cómo mezclo cosa a punto e interactiva?Comandos interactivos de emacs con valor predeterminado

Respuesta

23

Ya tiene buenos puntos de partida para buscar su propia solución.

thing-at-point es probablemente útil en este contexto. Hace poco answered pregunta donde explicaba cómo resolver este tipo de problema explorando el código base de de Emacs.

Aquí hay una función áspera de juguete que se me ocurrió.

(defun say-word (word) 
    (interactive (list 
       (read-string (format "word (%s): " (thing-at-point 'word)) 
          nil nil (thing-at-point 'word)))) 
    (message "The word is %s" word)) 

Una cosa clave aquí es entender cómo funciona la forma interactive. Me gustaría leer cuidadosamente el manual section.

+0

Esto parece exactamente lo que estaba buscando. ¡Muchas gracias! –

Cuestiones relacionadas