[vim]インデント幅をキーで変更できるようにした

2020年02月05日

種類の違うファイルを開く度に :set sw=2 ts=2とか打ちたくなかったので、書いた。

Ctrl + i でインデント幅が切り替わる。

.vimrc

"自動インデント
set smartindent
" Tab文字を半角スペースにする
set expandtab

set sw=4 "shiftwidth
set ts=4 "tabstop
noremap <C-i> :call SwitchIndent()<CR>

function! SwitchIndent()
    if (&sw == 2)
        set sw=4
        set ts=4
    else
        set sw=2
        set ts=2
    endif
    :IndentGuidesEnable
endfunction

:IndentGuidesEnableは見やすくするため、インデント幅に色をつけるプラグイン(vim-indent-guides )を再描画するために書いた。

vimscript書いたのは初めてだったので勉強になった。