Aligntaでvimで行末のコメントを揃える
vimで行末のコメントを揃えるときの話。 矩型選択などを利用して揃えるものはあるが、プラグインを使った解説をしているものがなかったのでメモ。
準備
Alignta
を入れる。
Alingta
は、文章整形用のvim plugin。
同様のツールにAlign
があるが、Alignta
の方が高機能?
markdownのテーブルの整形などにも使えるので、入れておいて損はない。
インストール
NeoBundleの場合は下記でOK。
NeoBundle 'h1mesuke/vim-alignta'
やり方
下記のコードを例にする。
int a; // hoge const int b = 1; // fuga const double c = 2.0; // hage
揃えたい行を全て選択する。
:
を押して、下記コマンドを入力する。
:'<,'>Alignta <- //
下記のように揃う。
int a; // hoge const int b = 1; // fuga const double c = 2.0; // hage
コマンドの意味
:'<,'>Alignta <- //
'<,'>
は選択範囲を表すvimのコマンド。Alignta
はAligntaのコマンド。<-
はAligntaの整形用のオプションで、揃える文字(この場合//
)の左側(ソースコード部分)は変更しないということ。//
は揃える文字の先頭。
補足
行末コメントを揃えるのはメンテナンス性が悪いので、googleのcoding guidelineなどでは使用しないように記載されている場合もあるが、Cの場合はマクロを見やすくするために¥
を行末にいれることがしばしばある。