可以使用 Shift+Insert 作为从剪贴板粘贴到正在运行的终端会话的快捷方式。设置映射,如
:tmap <S-Insert> <C-W>"+
Run Code Online (Sandbox Code Playgroud)
这将导致从+寄存器粘贴。或者使用*有时在 MS Windows 中效果更好的寄存器。
要从终端窗口进行复制,请按CTRL-W N(这是大写字母N)1或CTRL-\ CTRL-N(这不是大写字母N)进入正常模式。在这里,您可以使用所有常用的vim命令来复制和粘贴内容。
进入插入模式将使您回到Shell。
要将寄存器中的内容粘贴到终端窗口中,您必须处于“终端作业”(“插入”)模式。
按,CTRL-W "然后按寄存器。
:help Terminal-mode 告诉我们:
当作业正在运行时,终端的内容受该作业的控制。包括光标位置。输入的密钥将发送到作业。终端内容可以随时更改。这称为终端作业模式。
使用CTRL-W N(或'termkey'N)切换到终端普通模式。现在终端窗口的内容在Vim的控制下,作业输出被挂起。CTRL- \ CTRL-N相同。
[...]
在终端普通模式下,您可以使用常用的Vim命令,视觉标记文本,拉动文本等来移动光标。但是您不能更改缓冲区的内容。将启动插入模式的命令(例如“ i”和“ a”)返回到“终端作业”模式。
:h terminal-typing在终端窗口中查看以获得更多有用的命令。
1 不幸的是,vim帮助没有告诉您它是大写N,我保留了原始符号
将剪贴板设置设置为.vimrc使用系统剪贴板作为 Vim 的剪贴板。取决于您的操作系统,它可能会有所不同,假设您使用的是 Mac 操作系统:set clipboard=unnamedplus
然后您可以使用y命令复制然后粘贴到另一个应用程序上,只需通过 Cmd + V,记住通过单击任何位置或按按退出终端的插入模式Ctrl+\ Ctrl+n