vim: rhysd/vim-clang-format

vimからclang-formatを使うプラグイン

github.com

vim-plugで入れる場合
Plug 'rhysd/vim-clang-format'
Plug 'kana/vim-operator-user'

$MYVIMRCに追加、再読込み後、インストール

:source $MYVIMRC | PlugInstall

ファイルを整形するには:ClangFormat

範囲適用するショートカットを登録する

<Leader>1 + fで、特定ファイルの時、ビジュアルモードで選択した範囲(に含まれるブロック)を整形させる。

autocmd FileType c,cpp,objc map <buffer><Leader>f <Plug>(operator-clang-format)

<Plug>(operator-clang-format)vim-operator-userの機能

スタイルを適用する

各種オプションは$MYVIMRCに記述する。

let g:clang_format#style_options = {
    \ "BasedOnStyle" : "Google",
    \ "AccessModifierOffset" : -4,
    \ "AllowShortIfStatementsOnASingleLine" : "true",
    \ }

.clang-formatファイルを適用させるには

let g:clang_format#detect_style_file=1

rhysd.hatenablog.com

engineerspirit.com


  1. <Leader>は、ユーザー定義のショートカットのための特殊キー。キーを押してから1秒以内に他のキーを押すことで実行される。
    デフォルトは\で、,に置き換えるのが人気らしい(がデフォルトの機能を上書きしてしまう)