使用NeoVim的:terminal
功能时,我希望能够从寄存器中粘贴文本.
使用标准文本缓冲区时,我经常使用两种方法从寄存器中粘贴文本:
在正常模式下: "{register}p
在插入模式下:
我不能让这些命令按照我希望的方式在终端缓冲区中工作.当终端缓冲区处于正常模式时,我可以用来"{register}p
在当前命令行的末尾附加寄存器的内容.有时我想在当前命令行的开头插入文本,或者在其中途插入文本,似乎没有办法使用此命令执行此操作.
我发现这应该可以通过切换到终端模式(它似乎是相当于插入模式的终端缓冲区)并使用该
命令.但是ctrl+ r会直接发送到我的shell.我正在使用bash shell,它将这些键映射到反向搜索功能,所以我发现自己正在查看此提示:
(reverse-i-search)`':
有什么办法可以
在终端模式下使用吗?
Nvim 在终端模式下处理任何键(除外
)都很保守,因此默认情况下不处理CTRL-R.此外,Nvim不知道哪个应用程序在里面运行:terminal
,所以p
只是盲目地将文本发送到输入流.
话虽如此,您可以使用:tnoremap
CTRL-R获得类似的效果:
:tnoremap' "'.nr2char(getchar()).'pi'