例如我有一段 Java 代码
public String setType(String newType) {
this.type = newType:
}
我选择所有内容,然后我想搜索并按型号替换类型,但不管首字母是什么,这样类型就会被型号替换,类型就会被型号替换:
public String setModel(String newModel) {
this.model = newModel:
}
我找不到在 vim 中仅使用一个命令来执行此操作的方法,我尝试了这些命令但没有成功:
:'<.'>s/[tT]ype/[mM]odel/g
:'<.'>s/\(t\|T\)ype/\(m\|M\)odel/g
任何想法?
答案1
你可以使用类似智能保护套:
:'<,'>s/type/\=SmartCase('model')/gi
如果没有插件,您还必须使用:help sub-replace-expr
:
:'<,'>s/\([tT]\)ype/\=submatch(1) ==# 't' ? 'model' : 'Model'/g