vim-easy-align は、Junegunn Choi氏によって開発された、高速で柔軟かつ直感的なVim向けテキスト整列プラグインです。
コマンドモード (Command Mode)
区切り文字による整列
:EasyAlign : " 標準の定義済み区切り文字 (\=:.,&#|)
:EasyAlign |
:EasyAlign \ " バックスラッシュは半角スペースを表す
正規表現パターンによる整列
:EasyAlign /[:;]+/
対象とする出現位置の指定
:EasyAlign | " 最初に出現する区切り文字で揃える
:EasyAlign 3 | " 3番目に出現する区切り文字で揃える
:EasyAlign * | " 行内のすべての区切り文字で揃える
フォーマット整形オプション
:EasyAlign * | l4r1
" Option breakdown:
" l4 - lN: left_margin (4 spaces to left of delimiter)
" r1 - rN: right_margin (1 space to right of delimiter)
" ar - a[lrc]: text alignment (left, right, center)
" dr - d[lrc]: delimiter alignment (left, right, center)
実用例
:EasyAlign = dr (区切り文字を右揃えに指定)
apple = 1
banana += apple
cake ||= banana
:EasyAlign : (辞書オブジェクトおよび YAML 設定)
url: jdbc:mysql://localhost/test
database: test
:EasyAlign *| (Markdown テーブルの整列)
| Option | Description |
| 1 | On 1st occurrence |
| 2 | On 2nd occurrence |
インタラクティブ対話モード
| キー入力 | 説明 |
|---|---|
{Visual} Enter |
ビジュアル選択範囲に対してインタラクティブ整列を開始 |
ga {motion} |
テキストオブジェクトに対して整列を開始 (例: gaip で段落全体) |
インタラクティブモードの操作キー
| キー入力 | 説明 |
|---|---|
Enter |
テキストの揃え位置を切り替え (左 -> 右 -> 中央) |
Ctrl-L 4 Enter |
左側の余白マージン幅を設定 |
Ctrl-R 4 Enter |
右側の余白マージン幅を設定 |
Down |
余白マージンを 0 にリセット |
インタラクティブ実行例
- gaip Ctrl-L 4 Enter = : 段落全体の = 記号の前に4文字の余白を設けて綺麗に整列します。