Emacs “如何使描述功能”;C-h f“;默认情况下不区分大小写

Emacs “如何使描述功能”;C-h f“;默认情况下不区分大小写,emacs,case-insensitive,Emacs,Case Insensitive,在搜索一个我记得部分名称的函数时,我使用C-h f调用描述函数,输入*函数名称的一部分,然后点击TAB。但是我现在意识到这个搜索不是不区分大小写的 例如: C-h finfoTAB 列出所有以info开头的函数,但不包括那些以info开头的函数,而 C-h fInfoTAB 列出所有以Info开头的函数,但不包括那些以Info开头的函数 另一个例子: C-h f*nfc选项卡 给我*nfc[不匹配],而 C-h f*NFC选项卡 给我ucs标准化HFS NFC区域 如何使用我的init.el文件

在搜索一个我记得部分名称的函数时,我使用C-h f调用
描述函数
,输入
*函数名称的一部分
,然后点击TAB。但是我现在意识到这个搜索不是不区分大小写的

例如:

C-h f
info
TAB

列出所有以
info
开头的函数,但不包括那些以
info
开头的函数,而

C-h f
Info
TAB

列出所有以
Info
开头的函数,但不包括那些以
Info
开头的函数

另一个例子:

C-h f
*nfc
选项卡

给我
*nfc[不匹配]
,而

C-h f
*NFC
选项卡

给我
ucs标准化HFS NFC区域


如何使用我的
init.el
文件中的一些配置,使
description函数默认不区分大小写?

(setq completion ignore case t)
应该做你想做的事,这里有一个自定义函数,我用它来代替
描述函数
。 它使用ido完成

(defvar函数缓存为零)
;;;###自动加载
(取消刷新函数缓存()
(互动)
(setq函数缓存为零)
(地图原子(λ)(符号)
(何时(fboundp符号)
(推送(符号名称符号)函数缓存)

(setq functions cache(sort functions cache#'string在命令的
交互式
规范中向
t
添加一个
completion ignore case
的绑定。其优点是(a)它只影响
描述函数
C-h f
)和(b)您可以轻松地将其打开/关闭(与任何Emacs建议一样)

(定义描述功能(忽略案例激活前)
“使其不区分大小写。”
(互动
(let)((完成忽略情况t);
(defadvice describe-function (before ignore-case activate)
  "Make it case-insensitive."
  (interactive
   (let ((completion-ignore-case       t) ; <============= ADDED BINDING
         (fn                           (function-called-at-point))
         (enable-recursive-minibuffers t)
         val)
     (setq val  (completing-read
                 (if fn
                     (format "Describe function (default %s): " fn)
                   "Describe function: ")
                 obarray 'fboundp t nil nil (and fn  (symbol-name fn))))
     (list (if (equal val "") fn (intern val))))))