vim和系统剪贴板
我可以使用中间按钮或shift-insert捕捉文件,复制和粘贴文本。
如何在vim中复制文本并将其粘贴到系统剪贴板中?
你需要让Vim具有编译的clipboard
和xtermclipboard
function。在Ubuntu中,这些仅适用于vim GUI包( vim-gnome
, vim-gtk
, vim-athena
等)。
安装其中一个后,您可以复制到(并粘贴)剪贴板寄存器( *
和+
)。 从这篇关于Vi和Vim的内容丰富的文章中:
对于基于X11的系统(即Linux和大多数其他类UNIX系统),有2个剪贴板,它们彼此独立:
- PRIMARY – 这是复制选择,可以用鼠标中键粘贴。
- CLIPBOARD – 用(通常)
^C
复制,并粘贴^V
(就像MS Windows一样)。
Vim有2个与这些剪贴板对应的特殊寄存器:
*
使用PRIMARY; 助记符:选择焦油(用于复制选举)+
使用CLIPBOARD; 助记符:CTRL + C(对于常见的键绑定)
要复制到寄存器,请在复制命令( y
)之前加上"
和寄存器的名称(例如"*y
)。 "*y
,然后单击鼠标中键以粘贴,或者"+y
并移动 插入以粘贴。
一个非常有趣的解决方案来自这个问题。 安装xclip,然后将命令管道输出到xclip(例如cat file | xclip -selection clipboard
),然后将其粘贴到任何位置(如果它在终端中 – 使用Ctrl Shift V )。 现在,事实certificate你实际上可以将该命令缩短为xclip -sel clip
,这在阅读手册页或示例中并不明显。
我有问题,因为我的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进行复制和粘贴。