gvim:轻松复制到系统剪贴板
我在Ubuntu 10.10上使用gVim。我想将(yank)文本复制到系统剪贴板,以便复制的文本在其他应用程序中可用 这适用于gvim:轻松复制到系统剪贴板,vim,clipboard,ubuntu-10.10,Vim,Clipboard,Ubuntu 10.10,我在Ubuntu 10.10上使用gVim。我想将(yank)文本复制到系统剪贴板,以便复制的文本在其他应用程序中可用 这适用于“+y。但我希望它适用于y 我尝试将y映射到“+y,但是yy不再起作用(因为它产生“+y”+y) 我也试过了 :设置剪贴板=未命名 但这只适用于另一个方向:系统剪贴板中的文本我可以用p粘贴选择一些文本,它将插入到系统剪贴板中(在其中单击鼠标中键进行粘贴,我记不起确切的名称) 如果您设置mouse=a,您可以像在许多其他应用程序中一样使用鼠标进行视觉选择。您是否尝试使用此
“+y
。但我希望它适用于y
我尝试将y
映射到“+y
,但是yy
不再起作用(因为它产生“+y”+y
)
我也试过了
:设置剪贴板=未命名
但这只适用于另一个方向:系统剪贴板中的文本我可以用p
粘贴选择一些文本,它将插入到系统剪贴板中(在其中单击鼠标中键进行粘贴,我记不起确切的名称)
如果您设置mouse=a
,您可以像在许多其他应用程序中一样使用鼠标进行视觉选择。您是否尝试使用此命令进行映射:
noremap y "+y
??此映射包含一个严重错误:它以正常、可视和操作员挂起模式映射y
,而您只需要正常和可视模式。使用以下命令:
nnoremap y "+y
vnoremap y "+y
还可以尝试设置剪贴板=unnameplus(至少需要vim-7.3.74)set clipboard=unnamed
可以在两个方向上工作,但是它设置了«mouse»(*
)寄存器,这与剪贴板寄存器(+
)不同。我和你的想法非常相同,但我做了很多年
nnoremap yy yy"+yy
vnoremap y ygv"+y
请注意,现在yy
命令做两件事:首先它像正常一样拖动注册,然后拖动到“
注册(系统剪贴板)。y
命令做同样的事情。这是因为我想保留Vim的多剪贴板功能
对于从系统剪贴板粘贴,我以前有noremap gp“+p
(全局粘贴),但现在我使用优秀的插件Yankring。大多数在线解决方案只是告诉您将y
映射到”+y
。但有时问题是“+y
甚至不起作用。您确实需要检查编译vim时使用了哪些功能
请尝试以下步骤:
打开终端,运行vim–-version | grep xterm_剪贴板
xterm_剪贴板
前的符号,如果它是+
(加号),请转至步骤4李>
sudo apt get install vim gnome
,然后sudo update alternatives–config vim
,在列表中选择vim.gnome
(您应该使用与您的系统对应的正确命令)。再次运行命令vim–-version | grep xterm_剪贴板
,现在您应该能够获得+
(加号)李>
+
(加号)或*
(星号)寄存器,这取决于您使用的操作系统,有时它们是等效的。如何检查?只需复制一些随机文本,然后打开vim
并键入:reg
,检查哪个寄存器显示您刚才复制的字符串。如果是+
(加号),将set clipboard=unnamedplus
添加到.vimrc
中。如果是*
(星号),请添加设置剪贴板=未命名
:reg
,检查系统剪贴板是否已更改。如果是这样,当您粘贴到vim
之外时,您将获得该寄存器中的任何内容在我的情况下,我有时可以从gvim复制到系统剪贴板,有时则不能。我找到了一个解决办法,尽管我不理解潜在的问题。如果我在另一个应用程序中复制文本(例如,记事本,因为我在Windows 7上),那么我可以从gvim复制文本并将其粘贴到其他地方。看起来我需要为gvim的每个副本执行此操作。我只是使用不同的映射来处理剪贴板,并保持
y
command@CHID很高兴能为我效劳,谢谢。但是步骤3中的命令做什么呢?(为什么有效?)由于某种原因,在Firefox的jupyter笔记本的单元格中,点击鼠标中键复制的“可视选择”文本对我来说不起作用。“+y
后粘贴有效。