vim-users.jp

Hack #149: コーディングスタイルを切り替える

Posted at 2010/05/24
このエントリーをはてなブックマークに追加

プログラミングでは様々なコーディングスタイルがあり、Vimにはそれに沿った編集をするための様々なオプションがあります。
他人のソースコードを編集する時はそれらのオプションを切り替えられると便利です。

解決

このようなコマンド:CodingStyleを定義します。

let s:coding_styles = {}
let s:coding_styles['My style']      = 'set expandtab   tabstop=4 shiftwidth=4 softtabstop&'
let s:coding_styles['Short indent']  = 'set expandtab   tabstop=2 shiftwidth=2 softtabstop&'
let s:coding_styles['GNU']           = 'set expandtab   tabstop=8 shiftwidth=2 softtabstop=2'
let s:coding_styles['BSD']           = 'set noexpandtab tabstop=8 shiftwidth=4 softtabstop&'    " XXX
let s:coding_styles['Linux']         = 'set noexpandtab tabstop=8 shiftwidth=8 softtabstop&'

command!
\   -bar -nargs=1 -complete=customlist,s:coding_style_complete
\   CodingStyle
\   execute get(s:coding_styles, <f-args>, '')

function! s:coding_style_complete(...) "{{{
    return keys(s:coding_styles)
endfunction "}}}

するとこのようにコーディングスタイルを切り替えられます。(もちろん引数は補完が効きます)

CodingStyle Short indent
# または
CodingStyle My style

宣言的に記述できるので.vimrcが見やすくなります。
Hack #112: 場所ごとに設定を用意すると組み合わせて場所ごとのファイルに書くといいでしょう。

関連リンク

coding_style.vim yaifa.vim

tyru

もどる
blog comments powered by Disqus