Vim 与 系统剪贴板clipboard

在fedora 17下,刚开始不太习惯vim的时候,也没发现默认装的vim不能使用系统剪贴板这个问题,后来用多了,发现居然不能从vim复制到系统剪贴板,刚开始我还以为我快捷键使用的不对,但试过多次,均不成功。于是乎,在vim中想复制就必须用gedit打开,然后用鼠标类似windows的操作来完成复制操作,对于常用文件夹可能还不觉得有多么烦,但有些路径深的,那就实在是非常不爽!!

命令那么简单,怎么会搞错呢?后来我才发现,原来系统自带的(我的要么是一安装就有,要么就是我用yum安装的)是不具备这个功能的,即"+y不适应。怎样查看自己的vim版本是否支持系统剪贴板呢?通过以下命令,如果clipboard前面是个减号,则说明系统编译时候未加入clipboard这个选项

1
2
3
[moondark@Moondark ~]$ vim --version|grep clipboard
-clipboard +iconv +path_extra -toolbar
+eval +mouse_dec +startuptime -xterm_clipboard

很显然解决这个问题有个很直接的方法:重编译支持系统剪贴板的Vim

然而我就觉得很不爽,想找个不重新编译就能解决的方法,这个时候我想到了我之前试过的一个命令行复制工具xclip,用它配合vim就能够实现使用系统剪贴板了。在网上看到有人说xclip会因为detach在关闭vim后失效,用xsel会更好,我目前还没接触到,所以就先使用这个先吧,具体命令

1
2
" \c 复制至公共剪贴板
vmap <leader>c :!xclip -selection clipboard<CR>u

我是将复制命令映射到\c上了,这个可以自定义,目前用着还觉得挺方便的。

更多关于我的vim配置,可见我的dotfiles