ソースコードフォーマッターUncrustifyをVimと統合したいと思います。以下の2つのオプションのいずれかで十分です。
- 現在編集しているコードをフォーマットします(つまり、
gq
が押されたとき)。 - ファイルを保存するときにコードをフォーマットしてから、フォーマットしたファイルを現在のVimウィンドウにリロードします。
オプション1が推奨されます。私は試した
set formatprg=uncrustify\ -c ~/misc/uncrustify.cfg --no-backup
つまり、コマンドラインオプションを使用してUncrustifyを呼び出します。これは動作しません。ViはE518: Unknown option: ~/misc/uncrustify.cfg
エラーを出します。
オプション2については、vimrcファイルで次のことを試しました
autocmd bufwritepost *.cpp ! ~/bin/uncrustify -c ~/misc/uncrustify.cfg --no-backup <afile>
ファイルは保存後にフォーマットされますが、手動でファイルをVimにリロードする必要があります。