使用vim作rails开发,推荐这个 https://github.com/carlhuda/janusphp
1. vim下的Rails经常使用插件 java
首先列出我比较经常使用的vim插件,基本都是网上提到的哪些。必备的有:
NERDTree.vim:显示目录树和标签(特别有用)
Rails.vim:这个不说了,Rails开发必备
Snipmate.vim:代码片断自动完成,Rails开发神器之一
FuzzyFinder.vim:模糊查找,使用频率最高的插件之一
TabBar:BufferExpoloer的加强版,用来标识打开的文件的
Supertab.vim:文本自动完成
Rubytest.vim:vim下的集成测试工具
下面是完整的列表
git
paul@RoR
:~
$ ls
-
la
~/.
vim
/
plugin
/
total
320
drwxr
-
xr
-
x
2
paul paul
4096
2011
-
07
-
26
12
:
20
.
drwxr
-
xr
-
x
11
paul paul
4096
2011
-
07
-
25
12
:
04
..
-
rw
-
r
-----
1
paul paul
8767
2011
-
07
-
23
23
:
44
autoclose
.
vim
-
rw
-
r
--
r
--
1
paul paul
7920
2010
-
01
-
20
23
:
59
color_sample_pack
.
vim
-
rw
-
r
--
r
--
1
paul paul
8758
2010
-
09
-
28
23
:
55
fuf
.
vim
-
rw
-
r
--
r
--
1
paul paul
3139
2010
-
09
-
28
23
:
55
l9
.
vim
-
rw
-
r
--
r
--
1
paul paul
128014
2009
-
12
-
01
17
:
20
NERD_tree
.
vim
-
rw
-
r
--
r
--
1
paul paul
13606
2010
-
08
-
11
02
:
23
rails
.
vim
-
rw
-
r
--
r
--
1
paul paul
7984
2011
-
06
-
17
16
:
40
rubytest
.
vim
-
rw
-
r
-----
1
paul paul
13579
2011
-
07
-
24
01
:
30
ScrollColor
.
vim
-
rw
-
r
--
r
--
1
paul paul
7442
2009
-
07
-
13
23
:
22
snipMate
.
vim
-
rw
-
r
--
r
--
1
paul paul
23978
2011
-
07
-
25
12
:
04
supertab
.
vim
-
rw
-
rw
-
r
--
1
paul paul
16960
2010
-
03
-
06
08
:
57
surround
.
vim
-
rw
-
r
-----
1
paul paul
54261
2011
-
07
-
24
02
:
27
tabbar
.
vim
2. .vimrc配置文件
在home目录下创建一个.vimrc文件,用于配置vim各类插件 程序员
"
启动vim时窗口的大小
set lines=45 columns=200

"
不兼容VI键盘,使用vim键盘
set nocompatible

"
文件类型识别
filetype on
filetype plugin indent on

"
禁止生成临时文件
set nobackup
set noswapfile

"
历史记录数
set history=50

"
设置编码
set enc
=
utf
-
8

"
设置文件编码
set fenc=utf-8

"
设置文件编码检测类型及支持格式
set fencs
=
utf
-
8
,
ucs
-
bom
,
gb18030
,
gbk
,
gb2312
,
cp936

"
设置开启语法高亮
syntax on

"
显示行号
set
number

"
高亮显示匹配的括号
set showmatch

"
搜索忽略大小写
set ignorecase

"
查找结果高亮度显示
set hlsearch
set incsearch

"
tab宽度
set tabstop
=
4
set cindent shiftwidth
=
4
set autoindent shiftwidth
=
4
"
命令行下按tab键自动完成
set wildmode=list:full
set wildmenu

"
设置默认的颜色
colorscheme darkblue
"
带有以下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
"
经过使用
:
commands命令,告诉咱们文件的哪一行被改变过
set report
=
0
"
能够在buffer的任何地方使用鼠标(相似office中在工做区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key

"
设置自动保存
imap
<
F9
>
<
Esc
>:
up
<
cr
>

"
把 F8 映射到 启动NERDTree插件
let NERDTreeShowBookmarks = 1
let NERDChristmasTree = 1
let NERDTreeWinPos =
"
left
"
map <F8> :NERDTree<CR>

"
在不一样的窗口移动
map
<
C
-
j
>
<
C
-
W
>
j
map
<
C
-
k
>
<
C
-
W
>
k
map
<
C
-
h
>
<
C
-
W
>
h
map
<
C
-
l
>
<
C
-
W
>
l

"
设置FuzzyFinder
let mapleader =
"
\\
"
map <leader>F :FufFile<CR>
map <leader>f :FufTaggedFile<CR>
map <leader>g :FufTag<CR>
map <leader>b :FufBuffer<CR>

"
设置Color
-
Sample
map
<
silent
><
F3
>
:
NEXTCOLOR
<
cr
>
map
<
silent
><
F2
>
:
PREVCOLOR
<
cr
>

"
设置Rubytest
let g:rubytest_cmd_spec =
"
rspec
-
fd
%
p
"

"
设置SuperTab
let g
:
SuperTabRetainCompletionType
=
"
context
"
3. 使用NERDTree
vim 会把当前被打开的文件所在位置做为默认的目录,为了快速定位到咱们的project目录,咱们可使用NERDTree提供的Bookrmark功 能::Bookmark <name> 把一个目录做为一个标签保存起来。下次直接在NERDTree的目录树上双击或者按Enter键跳到project的目录位置,很是方便!
4. 使用Snipate和SuperTab
Snipate乃是Rails开发的一大神器,内置了对不少语言的代码片断的支持。能够本身配置。配置文件位于~/.vim/snippets目录下。SuperTab一样也能够用于自动完成,它主要用于文本方面的自动完成,SuperTab有几种自动完成模式,一般比较经常使用的是“context”模式 --- 即上下文联想方式(根据Buffer中已经存在的文本自动匹配联想)
github
"
设置SuperTab
let g:SuperTabRetainCompletionType=
"
context
"
注意SnipMate和SuperTab会有冲突:二者一样都使用Tab键做为补全。本人测试的结果是Ruby语法能够自动补齐,可是HTML文件不行。比较遗憾,尚未找到解决方案
5. 使用FuzzyFinder
FuzzyFinder的出现,基本知足了我在vim中像Eclipse同样使用Ctrl+Alt+O查找打开文件的愿望了。并且FuzzyFinder提供了不少种模糊查找的方式。比较经常使用的有按照已标签的文件,按照文件的名称,按照Buffer中打开的文件。具体的配置以下:
vim
"
设置FuzzyFinder
let mapleader =
"
\\
"
map <leader>F :FufFile<CR>
map <leader>f :FufTaggedFile<CR>
map <leader>g :FufTag<CR>
map <leader>b :FufBuffer<CR>
在Normal模式下,同时按下\和f键,能够查找标签文件中的内容(使用Ctag . -R生成的标签文件),按下\和F能够按照目录结构来查找文件。最有用的是\b,能够在已经打开的文件中来回切换,对于常常打开十几个文件同时编辑的程序员来讲,很是有用。
FuzzyFinder 有一个不爽的地方:就是当它和NERDTree配合时,若是当前光标的焦点是在NERDTree的窗口,那么Finder会在该窗口打开文件,而不是新开 一个tab,这个着实让人恼火~。个人习惯是在vim启动后,把使用Ctrl + W先把光标切换到右侧的编辑区,而后使用FuzzyFinder查找打开文件,就不会存在上述的问题了
6. 使用RubyTest
RubyTest能够自动运行Ruby的测试代码,一样的它也支持RSpec。在Normal模式下,默认按下\T能够运行测试代码。咱们能够打开一个console,运行guard start来启动Spork,预加载测试环境。而后按下\T来运行测试代码,这样就无需来回切换工做窗口了。为了让测试结果根据简洁明了,咱们可使用RSpec的-f参数来格式化输出
ruby
let g
:
rubytest_cmd_spec
=
"
rspec -fd %p
"
注意:运行RubyTest,必须确保vim当前的目录是一个Rails的Project,若是是经过Bookmark跳转到Project位置的,运行RubyTest会提示Require 'XXX'文件缺失
7. 相应的截图
Screenshot
8. vim插件下载地址
工具
http://www.vim.org/scripts/script.php?script_id=1338测试
http://www.vim.org/scripts/script.php?script_id=1488ui
http://www.vim.org/scripts/script.php?script_id=159
http://www.vim.org/scripts/script.php?script_id=1643
http://www.vim.org/scripts/script.php?script_id=1658
http://www.vim.org/scripts/script.php?script_id=1697
http://www.vim.org/scripts/script.php?script_id=1849
http://www.vim.org/scripts/script.php?script_id=1984
http://www.vim.org/scripts/script.php?script_id=2540
http://www.vim.org/scripts/script.php?script_id=2612
http://www.vim.org/scripts/script.php?script_id=273
http://www.vim.org/scripts/script.php?script_id=3252
http://www.vim.org/scripts/script.php?script_id=625
http://www.vim.org/scripts/script.php?script_id=90
http://www.vim.org/scripts/script.php?script_id=95