VIM 系统粘贴

来源:岁月联盟 编辑:exp 时间:2011-11-10

 

我们可以通过X11的剪贴板来实现VIM 与其他图形界面的文字分享。PS:X11是大多数的桌面环境如Gnome 和KDE运行的图形环境

      X11有2个全局缓存区来实现多个应用程序间的内容缓存,一个叫作“cut-buffer”,它存储我们拷贝和粘贴的内容,这是我们说到系统剪贴板(system clipbord)最先想到的。另一个叫作“selection”,在X11中,当我们用鼠标选中一段内容,我们可以通过点击鼠标中键将该内容粘贴到光标处。

      让人振奋的是,VIM可以访问这两个缓存区,得到这两个缓存区的内容,和将内容放到这两个缓存区。

      在VIM中,我们可以用命令  “+  访问“cut-buffer” ,例如:

 

 "+y 可以抽出(yank)选中的区域并存储(store)到“cut—buffer”。

 "+p 将“cut-buffer”的内容粘贴(paste)到光标处。

 "+dd 可以剪切(cut)当前行然后存储到"cut-buffer"。

 "+yy 可以抽出当前行然后存储到“cut-buffer”。

 

 

    在VIM中,我们可以用命令 “× 来访问”selecttion“,例如:

 "*y 可以抽出(yank)选中的区域并存储(store)到“selecttion”。

 "*p 将“selecttion”的内容粘贴(paste)到光标处。

 "*dd 可以剪切(cut)当前行然后存储到"selecttion"。

 "*yy 可以抽出当前行然后存储到“selecttion”。

  

 

注意:

    如果我们通过xterm来登录Vim,VIm必须在编译时支持xterm clipboard。怎样确定Vim支持不支持呢?

 

vim --version | grep "xterm_clipboard"

 

   我的显示:

 

 

  +X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save

 

      +xterm_clipboard前面的”+“表示支持, ”-“表示不支持。(如果没有显示也是不支持)

 

      或是通过运用以上命令,然后在vim 中键入:reg来看寄存器中的内容来判断支持不支持。

      通过sudo apt-get install vim 安装的VIm默认是不支持的,即-xterm_clipboard,所以不支持系统剪贴板的保存,将vim内容粘贴到其他应用中比较蛋疼。我没有重新编译,而是安装sudo apt-get install vim-gnome 即安装了gvim,然后就支持了!

翻译改编:http://www.jveweb.net/en/archives/2011/02/vim-and-the-x11-clipboard.html