2012-03-10 68 views
21

我想知道emacs中的一些交互式命令是如何呈現默認值,而其他人則沒有。例如,當我在C文件中並且光標位於printf時,運行manual-entry將建議默認顯示printf的手冊頁。我想用默認值創建我自己的交互式命令。怎麼樣? 看起來東西點是一個很好的方向,但我如何將點對點和互動融合在一起?具有默認值的emacs交互式命令

回答

23

您已經有了很好的起點來研究您自己的解決方案。

thing-at-point在這種情況下可能是有用的。我最近在answered 這個問題,我解釋瞭如何通過探索Emacs代碼庫來解決這類問題。

這是一個粗糙的玩具功能,我想出了。

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

這裏的一個關鍵是要了解interactive表單的工作原理。我會 仔細閱讀相關的manual section

+0

這看起來像我正在尋找的。非常感謝! – 2012-03-10 12:23:15