具有默认值的emacs交互式命令

时间:2012-03-10 11:34:53

标签: emacs elisp interactive

我想知道emacs中的某些交互式命令是如何显示默认值而其他命令则不是。例如,当我在C文件中并且光标位于printf时,运行manual-entry将建议默认显示printf的手册页。我想用默认值创建自己的交互式命令。怎么样? 看起来事情是一个很好的方向,但我如何将点对点和互动融合在一起?

1 个答案:

答案 0 :(得分:27)

您已经有了很好的起点来研究自己的解决方案。

在这种情况下,

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

相关问题