我有一些我想清理的Skype聊天记录。他们看起来像这样:如何使用VIM删除聊天记录中的Skype时间戳?
[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
我可以在VIM中使用什么命令删除括号[]中的所有内容(包括方括号本身)?
我有一些我想清理的Skype聊天记录。他们看起来像这样:如何使用VIM删除聊天记录中的Skype时间戳?
[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
我可以在VIM中使用什么命令删除括号[]中的所有内容(包括方括号本身)?
只是一个substitute会做:
:%s/^\[.*\] //g
另外,从你的光标在第一[你可以这样做:
d%xj
其中:
d%
删除操作配套支架x
删除尾随空格j
下移到下一行此外,你可以记录它作为一个宏:
qqd%xjq
,然后在每一行后面迅速地@@
播放(或[email protected]@
重复99行等)。
到替代的替代:
:%norm da]x
说明:
:normal {commands}
运行{commands
}在正常模式下用于一条线:norm
是短期的:normal
:%norm
运行:normal
命令在f的每一行上ILEda]
删除在该行x
的开始[]
块删除下面的]
如需更多帮助,请参阅空间:
:h range
:h :norm
:h a]
:h d
:h x
我喜欢在记录宏和999 @@上使用标准命令的解决方案,因为对于大文件,宏播放可能会很慢。 :%标准暂时关闭显示屏,因此速度很快。 – darcyparker
你能解释的功能您正在使用的各种符号? – histelheim
如果有人输入了a,这将不起作用。 – Tim
“%” - 适用于所有行,“s” - 替代命令的快捷方式,“g” - 一行中搜索模式的所有出现次数,“^ \ [。* \]” - 搜索模式,“”(空字符串) - 用来替换模式的字符串,“/”是分隔命令部分的分隔符。 – clime