替换 VIM 中每一行第 N 次出现的字符
Replace the Nth occurrence of a character on each line in VIM
我有以下数据,我想替换第 3 次出现的 |什么都没有的符号。
ABC | DEF | GHI | XYZ | 123
ABC | DEF | GHI | XYZ | 123
ABC | DEF | GHI | XYZ | 123
最终输出应该是:
ABC | DEF | GHI XYZ | 123
ABC | DEF | GHI XYZ | 123
ABC | DEF | GHI XYZ | 123
您可以运行以下内容:
:%norm 3f|r
这意味着:
:%norm
每行,运行 下面的普通命令
3f|
将光标移动到第 3 个出现的 |
r
将其替换为 space
你当然可以:
:%norm 3f|x
彻底删除|
。
另一种方法是使用可视块模式(参见 :help visual-block
)。
虽然这只有在所有 |
都排成一行时才有效(即在同一个
列)。
我有以下数据,我想替换第 3 次出现的 |什么都没有的符号。
ABC | DEF | GHI | XYZ | 123
ABC | DEF | GHI | XYZ | 123
ABC | DEF | GHI | XYZ | 123
最终输出应该是:
ABC | DEF | GHI XYZ | 123
ABC | DEF | GHI XYZ | 123
ABC | DEF | GHI XYZ | 123
您可以运行以下内容:
:%norm 3f|r
这意味着:
:%norm
每行,运行 下面的普通命令3f|
将光标移动到第 3 个出现的|
r
将其替换为 space
你当然可以:
:%norm 3f|x
彻底删除|
。
另一种方法是使用可视块模式(参见 :help visual-block
)。
虽然这只有在所有 |
都排成一行时才有效(即在同一个
列)。