-1

I have some Skype chatlogs that I want to clean up. They look like this:

[12-12-6 下午1:54:53] Xerxes: Bla Bla 
[12-12-6 下午1:55:23] Aron: Bla Bla Bla
[12-12-6 下午1:55:29] Aron: Bla

What command can I use in VIM to delete everything in brackets [] (including the brackets themselves)?

4

3 回答 3

6

替代的替代方法:

:%norm da]x

解释:

  • :normal {commands}{commands在正常模式下为一行运行}
  • :norm简称:normal
  • :%norm:normal在文件的每一行上运行命令
  • da]删除行首的[]
  • x删除后面的空格]

如需更多帮助,请参阅:

:h range
:h :norm
:h a]
:h d
:h x
于 2012-12-06T20:57:34.547 回答
3

或者,从第一个 [ 上的光标开始,您可以这样做:

d%xj

在哪里:

  • d%删除到匹配的大括号
  • x删除尾随空格
  • j向下移动到下一行

此外,您可以将其记录为宏:

qqd%xjq

然后@@在每一行上快速播放(或99@@重复 99 行等)。

于 2012-12-06T20:54:43.007 回答
1

只需一个替代品即可:

:%s/^\[.*\] //g
于 2012-12-06T19:33:58.660 回答