2012-03-10 12 views
21

Zastanawiam się, jak to jest, że niektóre interaktywne polecenia w emacs stanowią domyślną wartość, a inne nie. Na przykład, gdy jestem w pliku C, a kursor jest ustawiony na printf, uruchomienie manual-entry zasugeruje domyślne wyświetlenie strony podręcznika dla printf. Chciałbym tworzyć własne interaktywne polecenia z wartością domyślną. W jaki sposób? Wygląda na to, że dobry punkt jest dobrym kierunkiem, ale w jaki sposób mogę łączyć rzeczy i interakcje razem?interaktywne polecenia emacs z wartością domyślną

Odpowiedz

23

Masz już dobre punkty wyjścia do badania własnego rozwiązania.

thing-at-point jest prawdopodobnie przydatny w tym kontekście. Niedawno otrzymałem answered pytanie, w którym wyjaśniłem, jak rozwiązać ten problem, badając bazę kodu Emacs .

Oto przybliżona funkcja zabawki, którą wymyśliłem.

(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)) 

Kluczową rzeczą jest, aby zrozumieć, jak działa formularz interactive. Przeczytałbym odpowiedni uważnie manual section.

+0

To wydaje się dokładnie to, czego szukałem. Wielkie dzięki! –

Powiązane problemy