Vim-用寄存器替换与模式匹配的每一行
假设寄存器y中填充了一些文本。我可以用寄存器y替换缓冲区中匹配某个模式的每一行吗 我会认为它是这样的:Vim-用寄存器替换与模式匹配的每一行,vim,neovim,Vim,Neovim,假设寄存器y中填充了一些文本。我可以用寄存器y替换缓冲区中匹配某个模式的每一行吗 我会认为它是这样的: :g/[pattern]/"yp 但这肯定不行(我知道不行,但还是试过了)。有没有一种方法可以在一次失败的情况下做到这一点?一种方法是使用 使用:global,您将需要类似(未测试)的内容 或以下不会更改默认寄存器的选项: :g/pattern/call setline('.', @y) :g/pattern/exe "normal! S\<c-r>y\<esc>
:g/[pattern]/"yp
但这肯定不行(我知道不行,但还是试过了)。有没有一种方法可以在一次失败的情况下做到这一点?一种方法是使用 使用
:global
,您将需要类似(未测试)的内容
或以下不会更改默认寄存器的选项:
:g/pattern/call setline('.', @y)
:g/pattern/exe "normal! S\<c-r>y\<esc>"
:g/pattern/normal! V"yp
:g/pattern/call setline('.', @y)