2011-04-25 44 views
6

我只是想知道it's可以自動縮進Rails代碼Vim中,而不是這樣的:如何在Vim中縮進Ruby和Rails代碼?

validates :email, :presence => true, 
    :format => { :with => email_regex }, 
    :uniqueness => { :case_sensitive => false } 

這樣:

validates :email, :presence => true, 
        :format  => { :with => email_regex }, 
        :uniqueness => { :case_sensitive => false } 

回答

8

做到這一點,最好的辦法是不實際對使用內置在Vim中對齊,而是Dr. Chip的Align Plugin,用於在垂直列中水平對齊任意符號。例如,

1,3Align =>將在=>上對齊。您可以通過使用AlignCtrl函數獲得非常詳細的訂購等信息,但其功能的範圍可能留在其文檔中。 :)

+1

Thank's @sleepynate我想出它適用於下列命令:':AlignCtrl Wlp0P1: :校準: :AlignCtrl Wlp1P1: :ALIGN =>' – 2011-04-26 05:58:13

0

我同時使用AlignTabular插件。

Align有一些很好的預建對齊方式,而Tabular允許你設計一個用來匹配字段的正則表達式。最近我發現自己在使用Tabular,但是你的里程可能會有所不同。

1

感謝您的回答。

如果有人需要這個也一樣,Tabular這個作品有:

:Tabularize /^[^:]*\zs:/r1c0l0 
:Tabularize /^[^=>]*\zs=>/l1 

如果你想在你的vimrc一個函數來使用:

function IndentV() 
    Tabularize /^[^:]*\zs:/r1c0l0 
    Tabularize /^[^=>]*\zs=>/l1 
endfunction 
map <Leader>iv :call IndentV()<cr> 

所以,你只需選擇在視覺文本模式下按\iv來實現此目的。