Vim Rails

首先可以先抓這個vim懶人包,裡面包含了NerdTree等等的東西
http://c9s.blogspot.com/2007/09/enhanced-gvim-package-for-win32.html

接下來,絕對需要的幾個外掛:

1. rails.vim

2. ruby-macros.vim

安裝方法都一樣,將壓縮檔裡面的.vim檔,放到到vim安裝目錄底下的vim70\plugin資料夾。

rails.vim的常用指令:

:Rails {目錄}
在指定的目錄建立一個新的Rails應用程式。如 :Rails d:\depot

:Rake {指令}
直接呼叫Rake進行指定的動作。如 :Rake db:migrate

:Rgen {指令}
呼叫script/generate。如 :Rgen controller admin

:Rserver
呼叫script/server。

:Rproject
在畫面的左端以樹狀結構顯示Rails程式目錄

:Rpreview {名稱}
打開瀏覽器檢視指定的位址。例如輸入 :Rpreview store 就會打開http://127.0.0.0:3000/store/

:Redit {名稱}
直接打開指定的檔名。(註:有些檔案不能用這種方式開啟。)

:Rcontroller {名稱}
:Rmodel {名稱}
:Rview {名稱}
:Rlayout {名稱}
打開指定的controller / model / view / layout

接下來有幾個指令一定要特別提出來講。這是rails.vim最強大的部份:

1. gf

gf這個指令根據游標所在的位置不同會有不同的效果,直接看例子(*代表游標的位置)

游標的位置 打開的檔案
Pos*t.find(:first) app/models/post.rb
has_many :c*omments app/models/comment.rb
link_to “Home", :controller => :bl*og app/controllers/blog_controller.rb
= render :partial => ‘sh*ared/sidebar’ app/views/shared/_sidebar.rhtml
%= stylesheet_link_tag :scaf*fold public/stylesheets/scaffold.css

甚至,假設我們有個admin_controller 中有一段程式碼:

def s*ay

end

輸入gf就會馬上切換到say對應的view (app/views/admin/say.rhtml)

2. :R跟:A

這兩個指令也是在不同的檔案間切換用的,運作方式如下:

目前的檔案 輸入:A會切換到 輸入:R會切換到
model 對應的unit test 對應的migration
controller (in method) 對應的functional test 對應的template (view)
template (view) 對應的helper 對應的controller中method的位置
migration 前一版的migration 下一版的next migration

順便附上被我小改過的$VIMRC…

" Author:	Cornelius
" WebSite:	http://c9s.blogspot.com
" Date:   	Wed 28 Mar 2007 04:37:26 AM CST

"============================" Colorscheme
"---------------------------------------------------
colors torte

"set guifont=Monaco:h10
set guifont=Consolas:h10
language mes en
lang en
set langmenu=en_US.UTF-8
winsize 120 35
winpos 10 20
syntax on
set nocp		"no compatible
set number
set ai
set si
set sm
set incsearch
set	showcmd
set	shiftwidth=4
set	tabstop=4
set	noeb novb ruler
set	ignorecase
set	backspace=indent,eol,start
set	history=60
set wildmenuautocmd Filetype ruby source C:/VimE/vimfiles/plugin/ruby-macros.vim  "Using ruby-macros.vim
"
 Adjust indentation by tab
nmap  V>
nmap <s> V<
xmap  >gv
xmap <s> </s></s>

" encoding
set		fileencodings=utf-8,big5,euc-jp,utf-bom,iso8859-1
set		encoding=utf-8
set		termencoding=utf-8
set		fileencoding=utf-8
filetype on
filetype plugin on
imap		=strftime("%c")
nmap	,te :tabedit
nmap	,tx	:tabedit .
nmap	,th	:tab help
nmap	,tn	:tabnew

" ctags
let Tlist_Ctags_Cmd = $VIM . '/ctags/ctags.exe'
nmap	t	:TlistToggle

" snippet
set runtimepath+=$VIM\snippets\after
set runtimepath+=$VIM\snippets
let g:snip_start_tag = "«"
let g:snip_end_tag = "»"

" vcscommand
set runtimepath+=$VIM\vcscommand

" nerd tree
nmap	e	:NERDTreeToggle

" paste
set pastetoggle=p

" 顯示TAB與行尾空白
set list
set listchars=tab:>·,trail:·
highlight SpecialKey guifg=DarkGray " 修改 TAB 與行尾空白字元的顏色

" tab navigation like firefox
nmap  :tabprevious
nmap  :tabnext
map  :tabprevious
map  :tabnext
imap  :tabprevious
imap  :tabnext
nmap  :tabnew
nmap  :tabclose
imap  :tabnew

裝了很多東西在裡面 哪個是哪個我也忘了…

Advertisements

Vim Rails” 有 4 則迴響

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s