我的gvim用上了vimacs插件,但是C-y却只能粘贴在gvim里复制的东西,没有办法粘贴gvim以外的程序拷贝到Windows剪贴板的内容。
我仔细地看了一下vimacs-0.95.vim里的代码,要粘贴其它程序复制到Windows剪切板的内容,需要用键Shift + Insert来实现;而粘贴gvim里复制到剪切板的内容,则需要用C-y键。
同样,在gvim里,M-w只能拷贝选中的内容到gvim的剪切板;要在gvim里把选中的内容复制到Windows的剪切板,则需要用键Control + Insert来实现。
这样的设置多少有些烦人!大部分情况下,我都是拷贝好内容后,就去粘贴,这个粘贴的地方并一定就是gvim里的某个文档,我需要一复制,即可以到处使用。像vimacs这样过细的键功能划分,实在是有点让我手足无措。
为了让M-w能把内容同时拷贝到gvim和windows的剪切板,把
vnoremap <C-Ins> “*y
改为
vnoremap <M-w> “*y
即可。
为了让C-y能粘贴gvim或Windows剪切板中最新拷进来的内容,把
inoremap <S-Ins> <C-r><C-o>*
改为
inoremap <C-y> <C-r><C-o>*
即可。
现在这样的设置就和我Emacs里的设置一模一样了,用起来舒服多了。这个方法只在Windows下测试过了,其它平台有机会再测试一下。
公司默认的文档插件是基于Vim的,天天要用gvim来写文档,如果不对gvim进行一些设定,实在是很不舒服。
1) 配色方案和字体设定
首先,gvim无法自动保存当前的设置,比如字体、配色方案等等。所以我们要修改一下gVim的配置文件,使得每次都可以载入我们所希望的设置。
修改vim安装目录下的_vimrc文件,把配色方案设置成我喜欢的koehler,设置字体大小为14,这样看得不会太辛苦:
colo koehler
set guifont=Courier_New:h14:cANSI
设置图形界面下的字体,你可以采用下面的方法来获得你喜欢的字体的名称与大小。你可以点“编辑”–>“选择字体”,然后在对话框中选出你喜欢的字体与字号,选择完毕后,先按几下ESC确认处在Normal模式下,然后输入这条命令:“:set guifont?”。回车后gvim屏幕最下方会显示出你当前所用的字体的名称与大小。将获得的结果根据上面的语句写到配置文件里面就可以了。需要注意一点,如果字体名称里面含有空格的话,在抄的时候需要在所有空格前面加一个反斜杠“\”进行转义。
如果你用了自己的插件,比如我这里用了我们公司的插件,里面就有设置了字体的种类与大小,你则需要先在自己的插件里把这行给注释掉。
2) 文档的一行最好不要超过80个字符,这样方便在所有的阅读器里阅读。但是对于一些邮件或是引用的东西,这个规则就不用严格要求。于是我用下面这行把80个字符后的字都高亮显示出来:
:match DiffAdd ‘\%>80v.*’
这样,哪些行超过了80个字,一目了然。
3) 设置并开启拼写检查,设置语言为en。
setlocal spell spelllang=en
4) 多tab应用
vim自从7.0开始,就支持tab应用了,有了tab之后,就可以省下开很多编辑视窗的烦恼。但是默认的gvim并不使用tab来打开文件。当然,你可以用:tabnew filename命令来打开,但是相信大家更喜欢用双击来打开。这个时候,可以用如下方法设置(摘自水木社区vim版):
在linux下可以这样打开
$gvim –remote-tab-silent filename而在windows下,DOS下也可以象上面那样打开;而若是“双击”打开方式,则可以修改注册表
HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command将其键值修改为:“C:\Program Files\Vim\vim70\gvim.exe” -p –remote-tab-silent “%1″
而若是用鼠标右键中的“用vim编辑”,先删掉注册表中的
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\gvim,然后手工添加鼠标右键菜单,两种方式:
a. 直接进入注册表,在HKEY_CLASSES_ROOT\*\shell下添加项“用 vim 编辑”,
再在项“用vim编辑”下添加子项“command”,在其右边窗口把其键值设定为
“c:\Program Files\Vim\vim70\gvim.exe” -p –remote-tab-silent “%1″b. 把下面的内容保存为文件gvim.reg,并将之导入注册表
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Edit with &Vim]
[HKEY_CLASSES_ROOT\*\shell\Edit with &Vim\command]
@=”\”c:\\Program Files\\Vim\\vim70\\gvim.exe\” -p –remote-tab-silent \”%1\”"另外,也可以添加到鼠标右键中的“发送到”,方法:
进入到目录c:\Documents and Settings\用户名\SendTo下,“鼠标右键”-“新建”-“快捷方式”,然后通过对话框的“浏览”找到gvim安转位置,这样就建立gvim的一个快捷方式,右键单击这个快捷文件-属性-快捷方式,在“目标(T)”的地址栏写入:
“C:\Program Files\Vim\vim70\gvim.exe” -p –remote-tab-silent “%*”注意:上面都是默认安装gvim的地址,若不是默认地址,请自行修改。
5) Emacs模式
本人比较喜欢用Emacs来写东西,但是没有时间把公司的Vim插件移植到Emacs里来,只好用Vimacs插件在Vim里模拟一个Emacs用着先了。
Vimacs插件,只在vim的插入状态下有用。模拟的是基本的Emacs键绑定,例如C-f,C-e等。安装非常的简单,把Vimacs的包下下来,然后拷贝.txt到你的Vim文档目录,一般来讲是”C:\Program Files\vim\vimfiles\doc”,再把后缀为.vim的文件拷贝到Vim的插件目录(默认为”C:\Program Files\vim\vimfiles\plugin”)。
如果你在使用的时候,碰到有一些按键有错误提示,则需要检查一下你已有的plugin在keymapping上是否和这个vimacs有冲突。