vim -- 如何在可视 block 上执行多个搜索和替换操作?

标签 vim replace

假设我有一些代码,

struct NodeVector {
    vector<bool_node*> *vec;
};

我想替换两件事,像这样,
:'<,'>s/NodeVector/MyClass/g | s/bool_node/MyEltClass/g

但是,它只运行第一次搜索,然后说“找不到模式:bool_node”。我怎样才能达到这个结果? (插件答案没问题)。
struct MyClass {
    vector<MyEltClass*> *vec;
};

最佳答案

这里的问题是搜索和替换命令都需要一个范围。例如,这些应该可以正常工作:

:'<,'>s/NodeVector/MyClass/g | '<,'>s/bool_node/MyEltClass/g

或者
:%s/NodeVector/MyClass/g | %s/bool_node/MyEltClass/g

关于vim -- 如何在可视 block 上执行多个搜索和替换操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458883/

相关文章:

regex - 使用 VBA 替换的精确匹配

java - 不使用replace或replaceAll替换字符串内容

Javascript replace() 仅替换第一个匹配项

string - Powershell脚本替换由于 “(”或 “)”而导致的路径字符串中的字符错误

vim - 如何使用 CoffeeScript vim 自动命令 BufWritePost 到一个目录?

linux - nautilus 是否已将文件打开到新的 gvim 缓冲区中?

XPATH : replace every ohter whitespace

vim 单词完成导航与 'j' 和 'k'

vim - 如何使用 Vim 和 Syntastic 忽略 Angular 指令 lint 错误

vim - 定义一个vim语法文件,选择性地应用不同区域的其他语法文件