Как распечатать все определенные переменные в emacs?
M-x печатает все определенные функции.
для проверки переменной определяется или не вычисляется следующее выражение, (boundp 'variable-name) C-x C-e будет печатать t, если имя переменной определено иначе nill.
Как распечатать все определенные переменные в emacs.
3 ответов
неясно, что именно вы хотите сделать с полным списком символов, так как способ, которым M-x
отображает имена функций несколько специализирован.
предполагая, что вы хотите, чтобы программно получить список всех определенных символов, вот как auto-complete.el
это:
(loop for x being the symbols
if (boundp x)
collect (symbol-name x))
обратите внимание, что вы также можете ввести M-x describe-var RET
и нажмите клавишу TAB
чтобы получить отсортированный список завершения всех символов.
предполагаю (apropos-variable "." t)
покажет вам все переменные, определенные в данный момент времени.
edit: я предположил неправильно, казалось бы.
интересно, что это на самом деле показывает мне значительно меньше результатов, чем автозаполнения от describe-var
.
может кто-нибудь пролить свет на это?
например, различия между ними, когда winner-mode
включено:
-
C-uM-x
apropos-variable
RETwinner-
RET -
C-hv
winner-
TAB
edit 2: Ah... похоже, что apropos может игнорировать любой символ, в котором отсутствует строка документации.
если это возможно, я предлагаю переназначить принято отвечать.
экстраполируя (тяжело!) то, что просят, вот способ получить довольно печатный список всех буферных локальных переменных с их значениями. Это очень удобно для выяснения того, почему, например, режим ведет себя не так, как ожидалось.
чтобы получить этот список, сделайте следующее:
M-x pp-eval-expression RET (buffer-local-variables) RET
соответствующие части из этого списка могут быть добавлены почти дословно в для использования с несколькими файлами.