Emacs C-h c, кажется, долго не работает для аккордов 3 комбинации? - PullRequest
1 голос
/ 01 ноября 2009

Я пытаюсь использовать C-h c в emacs, чтобы выяснить, с чем связана комбинация клавиш. Комбинация C-u C-c C-q, которая выравнивает теги в режиме org. Однако Emacs просто пытается найти C-u C-c, а затем терпит неудачу. Что я делаю неправильно? Я понимаю, что мог бы легко посмотреть на источник orgmode или что-то подобное, чтобы выяснить это, но для дальнейшего использования, что бы я сделал, чтобы выяснить, к какой функции относится нечто подобное?

Редактировать: ОК, так что на самом деле C-u, за которым следует C-c C-q, и, согласно emacs, это то, с чем связана эта комбинация:

(org-set-tags-command & необязательный arg just-align)

Вызовите команду set-tags для текущей записи.

Так что именно означает дать этой команде аргумент 4?

О, просто для объяснения: я пытаюсь начать изучать emacs-lisp и customization, и одна из вещей, которые я хотел сделать, - добавить эту команду в ловушку before-save-hook, чтобы при сохранении файл org, теги автоматически выровняются.

Окончательное редактирование: я выяснил, почему эта команда ведет себя так, как она; учитывая префиксный аргумент, он меняет свое поведение. Как установить аргумент префикса при вызове функции в elisp?

1 Ответ

4 голосов
/ 01 ноября 2009

Это не является общей проблемой для комбинаций длиной три клавиши: например, C-h c ESC ESC ESC (клавиатура-выход-выход) или C-h c C-x r t (строка-прямоугольник) обе работают нормально.

Когда я пытаюсь C-h c C-u C-c C-q в режиме org, команда прерывается после C-u и показывает:

C-u runs the command universal-argument

в минибуфере, что правильно. Таким образом, фактически «Cu Cc Cq» - это не команда, а команда «Cc Cq» (org-table-wrap-region), которая начинается с дополнительного аргумента (4 - см. Ch k Cu для объяснения).

...