我几次遇到以下情况,我想知道是否有一种快速的方法来处理它在Vim.
我将有一个如下所示的源文件:
#ifndef _FOO_H_
#define _FOO_H_
class Foo {
Foo(int foo);
};
#endif
Run Code Online (Sandbox Code Playgroud)
我想将其转换为以下内容:
#ifndef _BAR_H_
#define _BAR_H_
class Bar {
Bar(int bar);
};
#endif
Run Code Online (Sandbox Code Playgroud)
所以,我想要所有的foo - > bar,但要保留原始的大写.现在,我一直在使用3或4个不同的正则表达式,但似乎应该有更好的方法.有任何想法吗?
dF.*_*dF. 10
该脚本将执行保留案例的搜索/替换.
将脚本复制到插件目录(~/.vim/plugin),然后执行
:set ic
:%s/foo/\=KeepCaseSameLen(submatch(0), 'bar')/g
Run Code Online (Sandbox Code Playgroud)