Подтвердить что ты не робот

Интерактивные команды emacs со значением по умолчанию

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

4b9b3361

Ответ 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. я бы внимательно прочитайте соответствующий раздел руководства.