我在 ubuntu 11.10 上安装了 vim-gnome 并且可以正常工作。使用 vundle 并安装了 seeral 软件包,一切正常。
我已经安装了 command-t,但在编译 C 扩展之前它无法运行。阅读手册,这就是解决方案。
rake make
对我来说,位置实际上是:
~/.vim/bundle/command-t
无论如何,我关闭了 rvm 并按照 command-t 帮助指南中的建议安装了系统 1.8。 我检查了文档,command-t 错误的最常见原因是针对错误的 ruby 进行编译。
所以我找到了这个命令来检查编译版本。
renshaw@renshaw-TravelMate-5740G:~/.vim/bundle/command-t$ ldd `which vim` | grep ruby
libruby1.8.so.1.8 => /usr/lib/libruby1.8.so.1.8 (0x00007f913932c000)
所以我为 ruby 1.8 安装了 rake 并用 rake make 编译
renshaw@renshaw-TravelMate-5740G:~/.vim/bundle/command-t$ sudo rake make
/usr/bin/ruby1.8 extconf.rb
checking for ruby.h... yes
然后开始编译。
但是启动 gvim 并为 command-t 和运行\t
Vim: Caught deadly signal SEGV
Vim: Finished.
Segmentation fault
如何让 command-t 在 ubuntu 11.10 上运行?
更新。
使用源代码构建 Gvim
hg clone https://vim.googlecode.com/hg/ vim
cd vim
sudo ./configure --enable-rubyinterp=yes --enable-pythoninterp=yes --enable-gui=gtk2
make
make install
vim --version | grep ruby
vim 版本命令返回正确的 ruby 支持是针对我安装的系统 1.8 构建的,但在使用命令 T 时它仍然是 SEGV。
所以发现并尝试了这个
cd ~/.vim/ruby/command-t
/usr/bin/ruby extconf.rb
make
这也失败了。 然后,我将其从之前的支持票添加到 bashrc。
vim() {
(unset GEM_PATH GEM_HOME; command vim "$@")
}
最佳答案
我在使用 rake 任务时遇到了类似的问题。我通过自己编译扩展解决了这个问题。
从command-t插件目录:
rvm use system
cd ruby/command-t
ruby extconf.rb
make
sudo make install
关于Ruby 命令-t SEGV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9052646/