Mal*_*ous 12 emacs replace case-sensitive
我正在尝试执行正则表达式搜索并替换Emacs(使用M-x query-replace-regexp
),但通常有用的智能案例正在阻碍.我的来源是:
One
Two
Three
Run Code Online (Sandbox Code Playgroud)
我想用相似的东西替换每一行<item name="One"/>
.不幸的是,每一行开头的资本都被误解了,我得到<Item>
了一个我不想要的大写字母.
我可以找到有关如何使搜索大小写敏感的示例,以及如何\1
在替换字符串中保留小写,但没有关于如何保持整个替换字符串大小写 - 未修改.
尝试将此添加到.emacs:
(setq case-replace nil)
Run Code Online (Sandbox Code Playgroud)
C-h v case-replace RET:
文档:非零意味着`query-replace'应该保留替换中的大小写.
指向" 替换命令和案例 "手册的链接详细说明了与案例和适当变量的所有交互.
或者您可以定义一个新命令,如:
(defun query-replace-no-case ()
(interactive)
(let ((case-replace nil))
(call-interactively 'query-replace))))
Run Code Online (Sandbox Code Playgroud)
并且,如果您在函数中对此进行编码,并且只想暂时设置变量,那么您可以执行以下操作:
(let ((case-replace nil))
(while (search-forward ...)
(replace-match ...)))
Run Code Online (Sandbox Code Playgroud)