gVim 7.3 使用ruby on rails自动补全,已停止工作(crash)的解决

Jul 22, 2012

Windows 7  (x64) 安装 gvim73_46 版本,使用railsInstaller 1.9.3 ,用全能补全时,gvim crash了:

“gvim 已停止工作”截图

首先想到的办法是重载,看看是不是插件装错了。卸载>>重装,果然好了,开始排错工作,就是顺序测试vimrc文件,找到错误原因是如下两行:

syntax enable " 打开语法高亮 syntax on " 开启文件类型侦测

注释掉就可以用了:

注释掉代码的相关截图

如此的话,没有代码高亮实在太难看了,无奈到StackOverFlow上去提问,看到有这个问题刚好可以解决我的问题:

gVim crash when running autocomplete in ruby file on win7

我把答案摘录在这里:

The problem is because there's bug for ruby plugin in Vim version 7.3.46, http://www.mail-archive.com/vim_dev@googlegroups.com/msg12221.html

I download the latest build(7.3.107) from Wu Yon's website (http://wyw.dcweb.cn/) overwrite the executable file in %VIM%/vim73, and the autocomplete works without crash.

照着他的做法,下载,覆盖Vim.exe文件,果然不crash,但出现了新问题:

处理 function rubycomplete#Complete 时发生错误:

TypeError: no implicit conversion from nil to integer

处理 function rubycomplete#Complete 时发生错误

再次试试,看是不是插件的问题,果然这次是配置问题了,注释掉如下语句:

" autocmd FileType ruby,eruby let g:rubycomplete_rails = 1

问题解决。

配置好后的截图


补充:

snippet的class自动补全报错:

Error detected while processing function TriggerSnippet..snipMate#expandSnip..67ProcessSnippet: line 6: E117: Unknown function: SnippetRubyClassNameFromFilename Press ENTER or type command to continue

参考这篇文章,把support_functions.vim放到plugin文件夹下,一切正常了。