[轉]vim ruby等的ide設置

使用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 - 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

相關文章
相關標籤/搜索