Variables 列出包含regexp的所有Emacs变量

Variables 列出包含regexp的所有Emacs变量,variables,emacs,elisp,Variables,Emacs,Elisp,如何在Emacs中找到名称中包含目录的所有变量?如果您只想找到包含字符串的所有变量,请查看答案。在这里,我创建了表单中的配对列表 使用的功能说明 是一个映射样式函数,用于在obarray上操作,该变量包含Emacs使用的所有符号。 返回带有对象打印表示形式的字符串。 在字符串中查找regexp,如果未找到,则返回index或nil。 将元素插入原位列表的头中。 相当于倒转 这是一个普通函数 如果变量的值不是void,则返回t。 返回变量的值。 最终代码 工具书类 如果您只是想查找包含字符串的所有

如何在Emacs中找到名称中包含目录的所有变量?

如果您只想找到包含字符串的所有变量,请查看答案。在这里,我创建了表单中的配对列表

使用的功能说明 是一个映射样式函数,用于在obarray上操作,该变量包含Emacs使用的所有符号。 返回带有对象打印表示形式的字符串。 在字符串中查找regexp,如果未找到,则返回index或nil。 将元素插入原位列表的头中。 相当于倒转 这是一个普通函数 如果变量的值不是void,则返回t。 返回变量的值。 最终代码 工具书类
如果您只是想查找包含字符串的所有变量,请查看答案。在这里,我创建了表单中的配对列表

使用的功能说明 是一个映射样式函数,用于在obarray上操作,该变量包含Emacs使用的所有符号。 返回带有对象打印表示形式的字符串。 在字符串中查找regexp,如果未找到,则返回index或nil。 将元素插入原位列表的头中。 相当于倒转 这是一个普通函数 如果变量的值不是void,则返回t。 返回变量的值。 最终代码 工具书类
M-x apropos variable RET directory

M-x apropos variable RET directory

但请注意前缀参数对此函数的影响。请参见C-h f apropos变量和C-h f user-variable-p,后者是变量需要匹配的谓词,以便在默认情况下显示。但请注意前缀参数对此函数的影响。请参见C-h f apropos变量和C-h f user-variable-p,后者是变量需要匹配的谓词,以便在默认情况下显示。
(let ((matching-variables
       (let ((result '()))
         ;; result will contain only variables containing "directory"
         (mapatoms (lambda (variable)
                     (let* ((variable-string (prin1-to-string variable))
                            (match (string-match "directory" variable-string)))
                       (if match
                           (push variable result)))))
         result)))
  ;; returns list of pairs (variable-name . variable-value)
  (remove-if #'null
             (mapcar (lambda (variable)
                       (if (boundp variable)
                           (cons variable (symbol-value variable))
                         nil))
                     matching-variables)))