有没有办法查看匹配前缀的所有绑定emacs变量的值?

时间:2010-12-08 02:23:54

标签: variables emacs settings show

例如,我想知道前缀为“comint - *”

的所有变量的值

3 个答案:

答案 0 :(得分:3)

如果您只想获得可自定义的变量,那么您可以使用 M-x customize-apropos

否则,尝试这样的事情:

(with-output-to-temp-buffer "*Variables*"
  (set-buffer standard-output)
  (insert (mapconcat (lambda (sym) (format "%s: %s" sym (eval sym)))
                     (apropos-internal "^comint-.*" 'boundp) "\n\n")))

这将产生一个*Variables*缓冲区,内容如下:

comint-accum-marker: nil

comint-buffer-maximum-size: 1024

comint-completion-addsuffix: t
...

答案 1 :(得分:1)

不是“完美”但你可以做 Ch v prefix然后点击 tab 来获取所有开始的变量用那个`前缀。

如果您想手动试用,您需要深入研究的功能是completion--do-completion

答案 2 :(得分:1)

我是这样做的:

(require 'cl)
(loop for sym being the symbols
      when (and (boundp sym) (string-match "^comint-" (symbol-name sym)))
      collect (cons sym (symbol-value sym)))

在我的系统上,评估为:

((comint-output-filter-functions comint-watch-for-password-prompt)
 (comint-mode-abbrev-table . [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0])
 (comint-exec-hook (lambda nil (set-process-query-on-exit-flag ... nil)))
 (comint-file-name-prefix . ""))