對齊文字用的 plugin,以前我是用 Dr. Chip 的 Align.vim,現在換成 Alignta 了;雖然預設功能比較不豐富,但實在好懂多了。
目前 ver. 0.2.1 只有日本語的 doc,如果 help 打不開(E426),可能要先 :set notagbsearch
。
SYNOPSIS of Alignta command (for v. 0.2.1, UNOFFICIAL)
(Shifting Alignment) <- -> <-- --> :[range]Alignta[!] [filter] [align method][margin] [-p] pattern[{count}] [pattern2 ...] g/pattern (Padding number v/pattern Alignment) '+' < n:n | [0-9][0-9] > [0-9] = (repeat as @margin LM[R]...)
-
!
有 ! 的話,pattern 會被解釋為 regexp。
-
filter
指定忽略哪些特殊的行(通常是註解)不進行對齊。
g/pattern
只處理符合的行;v/pattern
不處理符合的行。 -
align method
Alignta 的對齊分為 Shifting Alignment 和 Padding Alignment 兩種。
align method 參數也分為兩套,區別是哪一套的同時,也用來指定對齊細節。Shifting Alignment 比較簡單,只是將 pattern 的開頭垂直排在一起。
<-
是將每一行符合的部分,對齊到其中最靠左的 column;->
則是對齊到最靠右的 column。
兩個 dash 的版本(例如-->
)表示使用 tab 字元排版。另一種 Padding Alignment 是依 patten 將文字拆成多個欄位。
以 {L}{M}{R} 為一個單位,{M} 就是 pattern 符合的欄,{L}{R} 是它的左右側。 可以用<
、|
、>
、=
指定各欄位靠左、靠中、靠右或保持原本方式對齊。
註:{R} 可省略,表示跟 {L} 相同,例如:Alignta <|> =
讓等號兩邊靠外對齊。
註:若後面有指定多個 pattern,這裡可以重覆 {L}{M}{R} 來指定多個對齊方式。 -
margin
指定各欄位的間隔。
一般是配合 align metohd,有幾個欄位就寫幾個 margin,各個 margin 以冒號分開,例如:Alignta <<3:1 =
。
也可簡寫為 {L-margin}{R-margin} 或 {LR-margin},但 margin 必須是個位數( 0-9,10 就不行了), 例如46
即 4:6,4
即 4:4。
若沒有 align method,只想設 margin 時,在前面加@
即可,例如:Alignta @00 =
。 -
-p
如果後面的 pattern 是特殊字,加上
-p
可確保它被視為 pattern。 例如:Alignta -p <<
是以 << 作為 pattern。 -
pattern[{count}]
pattern 指定要用什麼來對齊。
如果有設定 alignta_default_arguments 變數,那這個也能省略。pattern 後面可以加 {count},指定要符合幾次,超過 count 就不會再對齊了。
例如 :Alignta ={2} 只會處理前兩個等號,之後的就保持原狀。
另{+}
表示有 pattern 符合時才對齊,否則不理它。
count 的預設值在 Shifting Alignment 是 {1},Padding Alignment 是 {+}。 -
pattern2 ...
支援複數的 pattern,直接寫在後面。例如
:Alignta = /* */
。 -
:Align
如果沒裝 Align.vim,那
:Align
就是:Alignta
的別名,直接用:Align
也 OK。