例如,在vi中,我想要更改一行
从…
\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??应为‘缓冲word的文件名部分\2’
有没有什么表达式?(比如\2:filename ?)我知道在csh中有这样的函数,但我想在vi中使用类似的函数。
谢谢。
发布于 2014-09-08 03:10:17
你可以试试这个:s命令:
s#\v(BOX_)(.*/([^/]*))*#\1/\3\2# 实际上,在正常模式下,您可以在该行上执行以下操作:
$F/yg_gEp将其录制为宏(或使用:normal命令),如果您想多次这样做的话。
https://stackoverflow.com/questions/25441933
复制相似问题