首页 > 解决方案 > 在选项卡或终端之间轻松复制/粘贴 vim

问题描述

我应该在 vimrc 中添加哪一行以便在终端之间或不同文件/选项卡之间轻松复制/粘贴?

我现在有:

" Better copy & paste
set pastetoggle=<F2>
set clipboard=unnamed

我将我的 vim 用作 Python IDE,到目前为止从未遇到过问题,但它似乎无法处理 2 个不同文件/选项卡之间的复制/粘贴。

我应该添加哪一行?你用什么在不同的终端或标签之间复制/粘贴?

标签: ubuntuvim

解决方案


这是个人喜好,但我使用标准:

"+y
"+p

我喜欢它默认工作,对我来说,它已成为一个“手指宏”,我可以轻松快速地输入。如果您愿意,您可以将它们分配给其他东西,但我发现这可以正常工作。

在下面的 wiki 中链接了一个 vimtip,它将序列重新映射到以下内容:

vmap <C-Space> "ay
nmap <C-Space> "aP
imap <C-Space> <C-o>"ap
nmap <C-c> "ayiw

vimwiki 解释:https ://vim.fandom.com/wiki/Copy,_cut_and_paste

与大多数文本编辑器不同,Vim 区分它自己的寄存器和系统剪贴板。默认情况下,Vim 从它自己的默认寄存器复制、剪切和粘贴,称为未命名寄存器(“”,也称为quotequote)而不是系统剪贴板。

假设 Vim 是通过剪贴板访问编译的,则可以访问 "+ 或 "* 寄存器,这可以修改系统剪贴板。在这种情况下,可以在视觉模式下使用“+y”进行复制,在普通模式下使用“+y{motion}”进行复制,然后使用“+p”进行粘贴。

如果你的 Vim 安装没有使用剪贴板支持编译,你必须安装一个支持剪贴板的包,或者使用外部命令,例如 xclip 作为中介。有关详细信息,请参阅访问系统剪贴板。


推荐阅读