来自
\cp ~/bkup/Evac_BUSYBOX_ e2fsprogs/old_e2fsprogs/blkid/blkid.h
到
\cp ~/bkup/Evac_BUSYBOX_/blkid.h e2fsprogs/old_e2fsprogs/blkid/blkid.h
我有很多这样的行,最后只有不同的文件名。 我想使用命令(对于使用'a to。中的标记的块)。
:'a,.s/\\cp \(.*\) \(.*\)/\\cp \1?? \2
??应该是'缓冲字的文件名部分\ 2'
有表达吗?(比如\2:filename
?)我知道在csh中有这样的功能,但我想在vi中使用类似的东西。
感谢。
答案 0 :(得分:0)
你可以尝试这个:s
cmd:
s#\v(BOX_)(.*/([^/]*))*#\1/\3\2#
实际上,在正常模式下,您可以在该行上执行此操作:
$F/yg_gEp
如果您想多次执行此操作,请将其记录为宏(或使用:normal
cmd)。