интерактивные команды emacs со значением по умолчанию - PullRequest
24 голосов
/ 10 марта 2012

Мне интересно, как некоторые интерактивные команды в emacs представляют значение по умолчанию, а другие нет.Например, когда я нахожусь в файле C и курсор стоит на printf, при запуске manual-entry будет предложено показать страницу руководства для printf по умолчанию.Я хотел бы сделать свои собственные интерактивные команды со значением по умолчанию.Как?Кажется, что «вещь в точке» - хорошее направление, но как мне смешать вещь в точке и интерактив вместе?

1 Ответ

27 голосов
/ 10 марта 2012

У вас уже есть хорошие отправные точки для исследования собственного решения.

thing-at-point, вероятно, полезно в этом контексте. Я недавно ответил вопрос, где я объяснил, как решить этот тип проблемы, исследуя Кодовая база 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. я мог бы внимательно прочитайте соответствующий раздел руководства .

...