2012-06-17 4 views
0

Я использую emacs, и функция автоматической печати не работает должным образом. У меня довольно много настроек для моих emacs. Поэтому неудивительно, что одна из других настроек не та, что ожидает авто-линия. Я хотел бы знать, есть ли способ узнать список команд (список команд emacs), выполняемых emacs в определенной точке, например. когда ctrl-s ctrl-c или в моем случае, когда вызывается функция авто-линии.Список выполняемых команд emacs

Редактировать: Я думаю, вы неправильно поняли вопрос. Я хотел бы знать, какая команда emacs называет «внутренне».

+0

По крайней мере, для одного из этих случаев вы можете использовать «описать-ключ» –

ответ

1

Я считаю, что view-lossage - это то, что вы ищете - , или C-h l.

Если вы хотите знать, к чему привязано нажатие клавиши, рассмотрите возможность использования describe-key, который обычно связан с C-h k.

+0

Я думаю, вы неправильно поняли вопрос. Я хотел бы знать, какая команда emacs называет «внутренне». – nagavamsikrishna

+0

О, вы хотите видеть все вызовы, которые возникают при выполнении команды? Я не знаю, как это сделать. Я бы начал с того, что просто прочитал источник интересующей вас функции. (Если вы нажмете 'Ch f' и введите имя функции, имя файла, в котором появилась функция, - это ссылка - нажмите enter или mouse- нажмите, чтобы перейти к определению функции. –

+0

В верхней части справки (открывается с помощью Ch k) вы можете нажать кнопку источника. – desudesudesu

1

В основном в этот момент вам нужно укусить пулю и изучить Emacs-lisp. Отладчик - это то, что вы ищете, чтобы вникать в вашу проблему (я использую edebug). Речь идет не только о том, какие функции вызывают, вам также необходимо увидеть значения соответствующих переменных при вызове этих функций.

Если вы чувствуете, что не справляетесь с этим, вы можете разделить ваш файл инициализации до тех пор, пока не найдете виновника, но в этот момент вам все еще нужен какой-то Emacs-lisp для дальнейшего изучения.

0

Чтобы добавить к тому, что @event_jr сказал -

Что вы, кажется, просят это история функций, вызываемых командой вы в последний раз вызывается. (Вы говорите о Emacs «внутренние команды», но, кажется, вы просто означать функции.)

Чтобы получить эту историю для любой команды вы запускаете (например, с помощью ключа), используйте M-x debug-on-entry, а затем введите команду имя. В следующий раз, когда вы используете эту команду, вы можете пройти через ее выполнение в отладчике Emacs (нажмите d на шаг, c, чтобы продолжить шаг).