Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何限制\L&;的范围;在VIM搜索中,替换为仅适用于&;而且不超过_Vim - Fatal编程技术网

如何限制\L&;的范围;在VIM搜索中,替换为仅适用于&;而且不超过

如何限制\L&;的范围;在VIM搜索中,替换为仅适用于&;而且不超过,vim,Vim,在VIM搜索替换期间,可以使用\L&将匹配字符串设置为小写,但如何限制\L仅将小写应用于&(匹配字符串),而不应用于原始替换字符串的其余部分 例如: 原始文件: ABC XYZ 搜索替换后的预期结果: abc Hello There xyz Hello There 我使用搜索替换,如下所示: %s/.*/\L& Hello There/ 我得到的结果是: abc hello there xyz hello there “Hello There”应保持其原始大小写。因此,是否可以将

在VIM搜索替换期间,可以使用\L&将匹配字符串设置为小写,但如何限制\L仅将小写应用于&(匹配字符串),而不应用于原始替换字符串的其余部分

例如: 原始文件:

ABC
XYZ
搜索替换后的预期结果:

abc Hello There
xyz Hello There
我使用搜索替换,如下所示:

%s/.*/\L& Hello There/
我得到的结果是:

abc hello there
xyz hello there

“Hello There”应保持其原始大小写。因此,是否可以将\L限制为单词或设置\L的终止?

\E
结束
\L

:%s/.*/\L&\E Hello There/
有关更多帮助,请参阅:

:h s/\E

\E
结束
\L

:%s/.*/\L&\E Hello There/
有关更多帮助,请参阅:

:h s/\E

函数方式:
%s/*/\=tolower(子匹配(0)).“你好”
也应该可以。但是Peter的答案更好。函数方式:
%s/*/\=tolower(submatch(0))“你好”
也应该可以。但彼得的答案更好。完美。非常感谢你。我不知道\E的存在。
\E
的帮助在
\L
的帮助下有两行。非常感谢你。我不知道\E的存在。
\E
的帮助在
\L
的帮助下有两行。