使用vim从文件中删除模式

时间:2015-12-04 11:34:46

标签: vim

我正在尝试从文件中删除模式。

Edge[15] = 415 
Edge[16] = 65 
Edge[17] = 835 
Edge[18] = 951 
Edge[19] = 999 
Edge[20] = 887 ...

如何删除数字之前的所有内容,即直到=,即我只想要数字,然后想要使用加入,。

[415,65,835,...]

1 个答案:

答案 0 :(得分:2)

好的,所以你要求一个单行而不是你给出的多个步骤。肯定还有很多其他方式,这里有一个:

:%s/.*=\s*\(\d\+\)\n/\1, / | normal! $xr]^OI[

这会删除=之前的内容以及加入的行:substitute(根据您的需要调整:%范围),通过仅捕获数字。然后我使用普通模式命令去除尾随逗号并添加方括号。 (在Windows上键入^O为Ctrl-V Ctrl-O; Ctrl-Q CTRL-O。)如果您有 surround.vim 插件,则可以进一步简化。也可以使用第二个:.substitute来实现相同的目标。

实际上,我可能会使用可视块状模式,特殊J映射和普通模式来实现此目的。