首先,介绍这两个插件 rails.vim 和 nerdtree.vim。
rails.vim提供了常用的一些命令,可以帮助开发,例如:Rgenerate, Rake, Rfind,RTview等,很方便,也很实用。
nerdtree则能提供树形菜单,方便导航,也可以做bookmark。
fuzzyfinder_textmate:提供类似testmate的模糊查找文件功能,像下面的图片中显示的,我想查找user_controoler.rb文件,那么我开启fuzzyfinder_textmate功能,输入userc那么相关的文件就显示了出来,
但是我用这个这个插件发现一个问题,似乎不能在新的buffer中打开文件或者是提供vsplit之类的功能,那么我找到了下面的这个插件
command-t,这个插件也提供模糊查找的功能,界面看上去没有fuzzyfinder_textmate酷,但是提供在新的的buffer中显示文件的功能,也可以用ctr+s,ctr+v在split和vsplit中显示文件的功能。
ack.vim,这个插件提供在多个文件中查找words的功能,但是我下载到的这个插件有些问题,里面有些命令没有提供实现,所以最好自己hack一下这些命令,比如我用go可以在新的buffer中打开所选文件。在这里,我想查找哪个文件中使用了
sign_in方法:
bufexplorer,选择打开过的buffer。相当使用,免去了选择不同tab的时候不停的按gt命令
mru 列出最近访问过的文件
还用很多插件很有用,这里列出一些
autoclose
fugitive(这个插件好像和rails.vim是同一个作者,可以在vim中提供git功能)
matchit
yankring(复制历史)
snipmate(类似textmate的snippet的功能)
surround
tabular(格式化,美化功能)
taglist
zendcoding(快速开发html)
command-t插件需要ruby来编译,而且要和vim中的ruby的版本要一致(我第一次安装的时候,我系统默认的是1.92,但是我的vim中的ruby版本是1.86,所以第一次没有成功,但是后来我用1.87来编译就成功了,不知道是怎么回事,呵呵)
下面提供一些在网上找到的vimr中的配置,希望对大家有用:
把leaderkey改为,按起来更方便
let mapleader=","
在不同窗口移动
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
把esc映射为jj
inoremap jj <ESC>
let NERDTreeShowBookmarks = 1
let NERDChristmasTree = 1
let NERDTreeWinPos = "left"
map <leader>n :NERDTreeToggle <cr>
" FuzzyFinderTextMate
let g:fuzzy_ignore = "*.log"
let g:fuzzy_matching_limit = 70
map <leader>f :FuzzyFinderTextMate <cr>
"Search in Opened Buffers
map <leader>b :FuzzyFinderBuffer<CR>
ctr+c
vnoremap <C-C> "+y
ctr+v
inoremap <C-V> <ESC>"+gPi
记录上一次离开文件时cursor的位置
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
这里我使用的颜色配置是fu。
希望这些能给大家提供帮助