在vi中,例如,我想更改一行
从cp ~/bkup/Evac_BUSYBOX_ e2fsprogs/old_e2fsprogs/blkid/blkid.h
cp ~/bkup/Evac_BUSYBOX_/blkid.h e2fsprogs/old_e2fsprogs/blkid/blkid.h
我有许多这样的行,只是末尾的文件名不同。我想使用这样的命令(对于使用标记从'a到。'的块)
:'a,.s/\cp (.*) (.*)/\cp 1?? 2
? ?应该是'缓冲字2的文件名部分'
有表达式吗?(像2:filename
?)我知道在cash中有这样的函数,但我想在vi中使用类似的函数。
谢谢。
您可以尝试:s
cmd:
s#v(BOX_)(.*/([^/]*))*#1/32#
实际上,在正常模式下,你可以在这一行这样做:
$F/yg_gEp
记录它作为宏(或:normal
cmd),如果你想做很多次。