我有一个代码块,每行前面有时间戳,如下所示:
12/02/2010 12:20:12 function myFun()
12/02/2010 12:20:13 {....
第一列是日期时间值。我想通过使用Vim对它们进行评论,因此:
/*12/02/2010 12:20:12*/ function myFun()
/*12/02/2010 12:20:13*/ {....
我试图先搜索日期:
/\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d
我正确地标记了所有时间戳。但是,当我尝试用命令替换它们时:
%s/\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d/\/*\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d*\//
我得到了以下结果:
/*dd/dd/dddd dd:dd:dd*/ function myFun()
/*dd/dd/dddd dd:dd:dd*/ {....
我想我需要命名搜索部分并将它们放回替换部分。我怎么能这样做?
答案 0 :(得分:6)
我想我会做类似的事情:
:%s-^../../.... ..:..:..-/* & */-
答案 1 :(得分:4)
我实际上不是我们的正则表达式。输入正确的格式需要很长时间。我会改用Visual Block。顺序就是这样的。
<C-V>}I/* <ESC>
3f\s
<C-V>I */
我喜欢正则表达式,并且不想敲击正则表达式解决方案,但是在使用预格式化的块执行操作时,发现这更容易,并且需要从实际任务中减少转移,这不是计算如何写一个正则表达式。
答案 2 :(得分:2)
%s/\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d/\/*&*\//
答案 3 :(得分:0)
:%s/^\([0-9/]* [0-9:]* \)\(.*\)/\/*\1*\/ \2/