在插入模式下粘贴寄存器时如何在 Vim/Neovim 中使用括号粘贴模式?

问题描述 投票:0回答:1

当使用 Vim/Neovim 在插入模式下从寄存器插入代码时,它不会自动使用 xterm-bracketed-paste(Vim) / bracketed-paste-mode(Neovim)。

例如,如果我

y
demo.js
文件中添加了这个函数:

function x() {
  // comment
  alert("hey");
}

然后用

i<c-r>"
以插入模式粘贴它会搞砸:

function x() {
    // comment
  //   alert("hey");
  //   }
//

而在插入模式下从系统剪贴板粘贴相同的片段(即使用 Ctrl+Shift+v)由于括号粘贴功能而工作正常。

我知道我可以在粘贴前使用

:set paste
。但是然后我要么必须离开插入模式,要么 - 当映射到一个键时 - 按一个键以启用粘贴模式。

有没有办法自动化这个?

vim neovim
1个回答
0
投票

:h <c-r>
确实陈述了以下内容:

插入的文本就像您键入的一样,但映射和缩写 没有使用。

所以,它不会触发任何粘贴命令或回调或任何东西。它只是一种自动输入文本的方式。

类似问题的答案总是一样的:离开插入模式。 Vim 是基于模式的,这是 vim 强大功能的基础。插入模式不是专门用来粘贴东西的(虽然我喜欢

<c-r>
)。在插入模式下有很多东西你不能做。

© www.soinside.com 2019 - 2024. All rights reserved.