即时尝试进行搜索并使用普通函数替换函数内部,但是当它运行时,它仍然说这里有一个错误是有问题的行
exec "%normal /1. row/\<CR>n3ddi\nDELIMITER $$\n\<esc>"
我无法弄清楚为什么它会给我带来错误
我想搜索“1. row”
的行然后从该行删除3行并添加文本DELIMITER $$
然后移动到缓冲区中的下一个
答案 0 :(得分:3)
我不确定你为什么要用normal
做这个,这是一个似乎有用的替代方案。此版本删除了“1.行”行和两行之后:
exec "g/1. row/.,+2d|norm! ODELIMITER $$"
这个删除了“1. row”之后的三行:
exec "g/1. row/+1,+3d|norm! ODELIMITER $$"
答案 1 :(得分:2)
我希望你有充分的理由这样做。
%
,则“下一个”(n
)毫无意义,无论如何它都会在整个缓冲区上执行。\<ESC>
,vim保持正常模式。试试这一行:
exec "%normal /1. row/\<CR>3ddi\r\r\rWHATEVER TEXT $$\r\r\r"