以前在 vim 下工作需要在 vim 和其它的编辑器之间复制东西,使用 Shift + Ctrl + v/c.感觉这样很不方便,今天在网上搜索了以下可以用 “+y/p,但是自己实验怎么也不行,在命令模式下输入reg之后看不到 "+. 原来用 apt-get install安装的vim不能使用系统剪贴板,即复制:"+y,和粘贴"+p不能用;
软件环境:
我使用的是ubuntu 12.04
解决办法
首先安装相关软件包,然后再安装 vim.
在这之前先把以前安装的相关软件包用 apt-get remove. apt-get purge 卸载干净。
安装相关软件包:
- $ sudo apt-get install build-essential
- $ sudo apt-get install ncurses-dev
- $ sudo apt-get install xorg-dev
- $ sudo apt-get install libgtk2.0-dev
安装vim
- $ sudo apt-get install vim vim-scripts vim-gtk vim-gnome
- $ sudo apt-get install exuberant-ctags cscope
设置映射:
- let mapleader = ","
- let g:mapleader = ","
- map Y "+y
- map P "+p
请现在使用一下“:reg”命令,看到了?屏幕上的输出结果!是不是特别眼熟,对了!就是您之前复制过的所有内容!也许这 时候您还发现,VIM的剪切板原来有这么多个,按照数字还有符号一个一个的区分开的,这里举一个编号的例子——"5,看到了吗?是以"开头的。还有!有没 有看到编号为"+的剪切板?里面的内容是不是刚才你在浏览器里复制的那段文字啊?呵呵……没错了!系统剪切板的编号就是"+。
好了, 这时候您已经知道了如何查看之前的所有剪贴板内容,我们现在就试着把某一个特定剪切板的内容复制进我们正在编辑的文件中。我们知道,vim的粘贴指令是 "p",但是如果要粘贴一个特定的剪贴板,只是用p就不行了,那怎么办?简单!把剪贴板的编号带上不就可以了?现在先按ESC,退出编辑模式,然后一词 按"+p这三个字符(怎么按?不会吧!"和+怎么按?用Shift啊!),好了!你看看,之前在浏览器中复制的这段文本,是不是被粘贴进文档中了?
如何将系统剪切板里的内容复制进VIM当中,您已经清楚了。那如何将ViM中复制的字符粘贴到其他地方呢?很简单,我们只需要把要复制的文字,复制 进"+剪切板不就可以了?在VIM中,复制的指令是y(在非编辑模式下按y就可以了),那要将文本复制进指定的剪切 板,和粘贴指定剪切板内容的方法一样,只需要加上剪切板的编号就可以了。举个例子,我们希望把VIM中的一段文本复制下来,然后粘贴到浏览器的地址栏中: 第一步,现把需要复制的文字选中(非编辑模式下),然后在键盘上依次按"+y这三个字符,OK!已经复制下来了,现在用:reg命令看看,是不是在"+剪 切板中了?