Мне интересно, как некоторые интерактивные команды в emacs представляют значение по умолчанию, а другие нет. Например, когда я нахожусь в файле C и курсор стоит на printf
, запуск manual-entry
будет предлагать показ ручной страницы для printf
по умолчанию. Я хотел бы сделать свои собственные интерактивные команды со значением по умолчанию. Как?
Кажется, что вещь-в-точке - хорошее направление, но как я могу объединить вещи-в-точке и интерактивно?
Интерактивные команды emacs со значением по умолчанию
Ответ 1
У вас уже есть хорошие отправные точки для исследования собственного решения.
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
. я бы
внимательно прочитайте соответствующий раздел руководства.