VIM 系统粘贴
我们可以通过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