Answers:
仅当vim --version
表明您具有+xterm_clipboard
功能时,以下内容才有效。如果没有,您将必须安装额外的软件包或使用添加的功能重新编译vim。
实际上,有两种选择:
"+y
复制到“常规”剪贴板缓冲区(以便您可以使用Ctrl + V粘贴,右键单击并选择“粘贴”等),同时
"*y
复制到X11选择-您可以使用中键从此缓冲区粘贴。
需要注意的是"*
与"+
工作两者兼得。因此,如果您在另一个应用程序中选择了一些文本,则可以使用将该文本粘贴到vim中"*p
,如果您已经复制了一些文本(使用Ctrl-C),则可以使用粘贴到vim中"+p
。
shift'
然后shift=
接着y
(而不是一次,一前一后,当然,除了移位)。
如果您使用的是vim> = 7.3.74,那么您实际上可以将其放在vimrc中:
set clipboard=unnamedplus
+
默认情况下,它将自动使用缓冲区(系统剪贴板)。然后要拉动(复制),只需使用常规y
命令,等等。
但是,我发现这种行为非常令人讨厌,因为诸如命令之类d
的命令会将其操作的文本放入默认缓冲区中,这意味着我无法快速执行操作dd
并从互联网上粘贴一行。
dd
意思是“剪一条线”,所以这将是预期的行为。在极少数情况下,当您想删除一条线而被遗忘时,"_dd
就可以解决问题。
vim --version
表明您具有+xterm_clipboard
功能时,以下内容才有效。如果没有,您将必须安装额外的软件包或使用添加的功能重新编译vim。
按住Shift键并使用鼠标光标选择文本。
文本将被复制到剪贴板。
这也适用于从剪贴板粘贴到vim中。
明确地说,这适用于vim
在终端中运行xterm
。
xterm
。
set nu
启用后也会复制行号。因此,您可能希望使用某些快捷方式切换行号或:set nonu
在每次选择之前运行命令
没关系,我找到了答案-它写在vim的菜单上。
"+y
非常直观。
gvim
吗?
+xterm_clipboard
功能(如果vim是使用该功能编译的)。
只是添加一个非特定于Vim的答案:您可以Ctrl+Shift+C
用来复制到Ubuntu中的系统剪贴板(如果该功能是由终端仿真器提供的,则gnome-terminal提供该功能)。Ctrl+Shift+V
粘贴到另一个终端窗口,常规Ctrl+V
粘贴到GUI应用程序。
另外,如果您在终端中选择文本,然后单击鼠标中键,将从X11剪贴板粘贴该文本。
当我检查我的vim不支持剪贴板时:
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
我安装了vim-gnome,然后再次检查
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
现在,我可以分别使用“ + y”和“ + p”进行复制和粘贴了。