我刚刚问了一个相关问题(setq question),但它明显不同,所以我决定从这个问题开始。
在我的 .emacs
文件,我定义了一个键绑定(bind)到 replace-string
命令:
(define-key global-map "\C-r" 'replace-string)
replace-string
进行基本的搜索和替换。假设搜索字符串的第一个字母是小写的,如果 case-fold-search
是 nil
然后 replace-string
进行区分大小写的搜索,否则进行不区分大小写的搜索。问题是
case-fold-search
控制“搜索”(如 search-forward
命令)和“搜索和替换”(如 replace-string
命令)的“区分大小写”。问题是我如何制作只需
replace-string
命令(或任何 C-r
绑定(bind))区分大小写,留下 search-forward
默认情况下不区分大小写。也许我需要设置
case-fold-search
至nil
只为 replace-string
命令,但我不知道该怎么做。
最佳答案
试试这个不需要建议的方法:
(global-set-key (kbd "C-r")
(lambda ()
(interactive)
(let ((case-fold-search nil))
(call-interactively 'replace-string))))
关于Emacs 区分大小写的替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5346107/