最近在使用vim插件CommandT时出现问题其实就是vim没有支持ruby,不过google之后找到了解决方法,老外的态度还是很让人敬佩的,度娘搜索的结果太让人呕心了。。

贴下,以后再次遇到解决。

One of the first things I do after installing a fresh copy of Ubuntu is grab an updated Vim with RubySupport and proceed to install the amazing Command-t plugin. However, this isn't exactly the most straightforward process. So I thought it would be a good idea to document the process and share it with you all. So without further ado, let's get started!

Install Vim with Ruby Support

The first thing you want to do is open your terminal and install vim-nox. Vim-nox is a minimal version of Vim that allows you to run Vim in your terminal, and comes compiled with Ruby support. Here is a link that will explain all the Vim versions in detail.

sudo apt-get install vim-nox

Your vi and vim commands should now call vim-nox instead of your system's default Vim. Let's restart our terminal after you have installed this just to make sure.

Install Pathogen - Vim Plugin Manager

highly recommend installing Pathogen for managing your Vim plugins. Pathogen just makes installing plugins simpler and keeps them organized better. Run the following install Pathogen.

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

Now at the top of your ~/.vimrc file, add this line:

execute pathogen#infect()

Alternatively, if you don't already have a ~/.vimrc, you can create this minimal version of a .vimrc:

execute pathogen#infect()
syntax on
filetype plugin indent on

This is the Github page for Pathogen, I recommend skimming over it if you have time.

Install Command-t

To install the Command-t plugin, you can either use git, or manually download and install it to your~/.vim/bundle directory.

Using git

cd ~/.vim/bundle
git clone https://github.com/wincent/Command-T.git

Manually installing

Go to the Command-t Github page and click the Download Zip button. Extract the contents of zip file to the~/.vim/bundle directory.

Pathogen will automatically run plugins in ~/.vim/bundle when you start Vim

Install RVM and Ruby

Skip this next part if you already have Ruby and RVM installed already

You can check if you have Ruby installed by doing ruby -v and rvm -v

If you get a message saying The program 'ruby' can be found in the following packages, you need to install Ruby and rvm.

1. Install rvm dependencies

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev \
curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev \
sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake \
libtool bison subversion nodejs

2. Install rvm

curl -L https://get.rvm.io | bash -s stable --ruby

3. Set .bashrc for rvm scripting

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc

Now you can restart your terminal, and ruby -v should work.

Compile Command-t using the Ruby version that your Vim is installed with

If you see the error: command-t.vim could not load the C extension when you try to runCommand-t in your Vim, this section will help solve that problem.

This is the part that trips most people up. You must compile Command-t using the same version of Ruby that your Vim is linked against. This basically means that if your Command-t's Ruby version doesn't match your Vim's Ruby version, Command-t will not work. First let's find your system's version of Ruby.

Compare the versions of Ruby from the following two commands:

ruby -v
vim --version | grep ruby

You should see something similar to the following screenshot:

Here are the following steps to now compile Command-t with the correct Ruby version:

1. Install and use the version of Ruby that matches your Vim's

Find the version of Vim from the command we ran earlier vim --version | grep ruby (in my case, it's1.8). Just look through the output and it should be a number like 1.8 or 1.9.1 or 2.0.0, something similar to that. Next do:

rvm use #YOUR_VIM's_VERSION_OF_RUBY

For example, in my case, my Vim was compiled with Ruby version 1.8, so my command would bervm use 1.8. If you get a message saying like ruby-1.8.7-p374 is not installed., follow theTo install do: 'rvm install ruby-1.8.7-p374' warning in your console. Again please use the version of Ruby that your Vim is installed with.

After you have installed the proper version of Ruby, make sure that your system is actually using it.

rvm use #YOUR_VIM's_VERSION_OF_RUBY

2. Navigate to your Command-t bundle directory

cd ~/.vim/bundle/Command-T

3. Compile Command-t using your Vim's Ruby Version

Now that you are in your Command-t bundle directory. Do the following:

rake make

That should recompile Command-t with the proper version of Ruby, and your Command-t's and Vim's Ruby versions should now match.

Run Command-t

Now for all of your hard work, reward yourself by opening Vim and running Command-t to see its awesomeness.

vim
:CommandT

If you have any problems, comment below and I will try to answer ASAP. Well, hope this helps someone out, thanks for reading!

不过其中有些注意点需要知道的就是vim的版本和ruby版本一定要对应关联起来,这是个大坑。。。

Vim插件之Command-T使用问题的更多相关文章

  1. vim 插件管理

    1 进入自己的vim mkdir ./bundle/vundle 2 在vimrc同级中执行 git clone https://github.com/gmarik/vundle.git ./bund ...

  2. 使用pathogen管理Vim插件并托管到Github

    参照文章[1][2]的办法,将vim打造成一个Python开发环境.文章中使用的是 pathogen + git 来管理 Vim 插件的.对这种方式还不太明白的同学可以参考[3]中的介绍.pathog ...

  3. 每日vim插件--vim中的文本对象及相关插件

    最近在个人博客上 http://foocoder.com  每天都会介绍一个vim插件,想起来园子也好久没更新了,也来更新一篇. 今天按读者留言的要求,介绍下文本对象.同时还会介绍我在用的几个文本相关 ...

  4. Vim插件之插件管理器Vundle

    Vim插件之插件管理器Vundle 1.介绍下载 相比Sublime.Text2等现代编辑器,Vim缺乏默认的插件管理器,所有插件的文件都散布在~/.vim下的几个文件夹中,配置Vim的过程, 就是在 ...

  5. vim插件安装总结

    vim插件安装总结 vim 插件 vundle 插件对于vim来说是一个杀手级别的神器助手,能自动补全,语法高亮,文件搜索等等,有效地提升了编程效率.下面就个人的一些安装和使用进行一个总结. 自动管理 ...

  6. 【linux】vim常用操作及vim插件的安装使用

    vim是linux下一个非常好用的文本编辑器,在linux下开发的人员要熟练掌握vim常用命令. 1.  打开在第n行 vim +143 filename.txt 2. 只读模式打开 vim -R / ...

  7. linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: ag), 且有vim插件的

    发现一个比ack更快更好用的:  https://github.com/ggreer/the_silver_searcher   , 使用时命令为ag,它是基于ack的代码二次开发的,所有使用方法基本 ...

  8. vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件

    使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...

  9. 使用 Python 编写 vim 插件

    使用 Python 编写 vim 插件 - 技术翻译 - 开源中国社区 code {margin: 0;padding: 0;white-space: pre;border: none;backgro ...

随机推荐

  1. Jenkins中关于一些插件的使用方法

    最近在为公司搭建CI平台过程中,以及在具体项目实施过程中使用过的一些插件的具体用法: 1. ant插件 这个插件可能是我们最为经常使用的,若构建脚本是使用build.xml的,那构建引擎肯定会选择an ...

  2. 用MVC+EF快速弄出一个CRUD

    瞧一瞧,看一看呐,用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!! 现在要写的呢就是,用MVC和EF弄出一个CRUD四个页面和一个列表页面的一个快速DEMO,当然是在 ...

  3. 使用MVC4,Ninject,EF,Moq,构建一个真实的应用电子商务SportsStore

    05 2013 档案 使用MVC4,Ninject,EF,Moq,构建一个真实的应用电子商务SportsStore(一) 摘要: 完成SportsStore电子商务平台,你将学会: 1.使用MVC4开 ...

  4. JavaScript插件——标签页

    JavaScript插件——标签页 前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/aehyok/p/3404867.html ...

  5. 一种最坏情况线性运行时间的选择算法 - The missing worst-case linear-time Select algorithm in CLRS.

    一种最坏情况线性运行时间的选择算法 - The missing worst-case linear-time Select algorithm in CLRS. 选择算法也就是求一个无序数组中第K大( ...

  6. 使用NeatUpload控件实现ASP.NET大文件上传

    使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...

  7. IOS使用不同父类的 view 进行约束

    最终效果图如下: 很多限制条件都已经应用到了视图中,我们在解释一下: ·在我们的视图控制器的主视图中有两个灰色的视图.两个视图距视图控制器的视图左 边和右边都有一个标准的空白距离.视图的顶部距顶部的视 ...

  8. springMVC3学习(十一)--文件上传CommonsMultipartFile

    使用springMVC提供的CommonsMultipartFile类进行读取文件 需要用到上传文件的两个jar包 commons-logging.jar.commons-io-xxx.jar 1.在 ...

  9. ${pageContext.request.contextPath}的作用

    刚开始不知道是怎么回事,在网上也查找了一些资料,看了还是晕. 看了另一个大侠的,终于有了点眉目. 那位大侠在博客中这样写道“然后在网上找,更让我郁闷的事,TMD!网上“抄袭”的真多啊!而且扯了一大堆! ...

  10. EasyNet.Solr 4.4.0发布及例子

    EasyNet.Solr 4.4.0发布及例子 EasyNet.Solr 4.4.0已经发布,可以直接从http://easynet.codeplex.com/ 下载试用并反馈.最新版本进行了以下改动 ...