Vim替代文件

时间:2017-03-30 21:27:42

标签: vim

:[range]s/{pattern}/{string}/[flags] [count]
            For each line in [range] replace a match of {pattern}
            with {string}.

The "or" operator in a pattern is "\|".  Example:
    /foo\|bar
This matches "foo" or "bar".  More alternatives can be concatenated:
    /one\|two\|three
Matches "one", "two" and "three".

我们可以使用3行的模式/替代文件吗? 一个
2个
3

1 个答案:

答案 0 :(得分:1)

以下命令适用于我的系统:

let @a = system('cat repl.vim | tr "\n" "|"') | exe '%s/\v'.@a.'<bs>/x/g'

在这里,我在文件repl.vim中有一个单词列表。该命令的第一部分使用let来保存注册表a中的单词列表,将每个换行符\n替换为运算符|。在第二部分exe %s执行替换。

实际上,如果repl.vim包含:

pattern1
pattern2
pattern3

运行该命令将导致:

%s/\vpattern1|pattern2|pattern3/x/g