vim和系统剪贴板

我可以使用中间按钮或shift-insert捕捉文件,复制和粘贴文本。

如何在vim中复制文本并将其粘贴到系统剪贴板中?

你需要让Vim具有编译的clipboardxtermclipboardfunction。在Ubuntu中,这些仅适用于vim GUI包( vim-gnomevim-gtkvim-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进行复制和粘贴。