mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Vim - インデントを把握しやすくするプラグイン!

[ pc_tips ] [ Vim ]

こんばんは。

高機能テキストエディタ Vim でインデントを把握しやすくするためのプラグインが存在するようです。

今までそれほど「インデントがもっと把握しやすかったらよかったら」と気にしたことはありませんでしたが、あればそれなりに便利ではないかと思い、導入してみました。

導入したのは、 vim-indent-guides というプラグインです。

0. 前提条件

1. Vim 設定ファイル編集

今回は NeoBundle でプラグインをインストールするので、設定ファイル “.vimrc” に以下の記述を追加する。

~/.vimrc
1
NeoBundle 'nathanaelkane/vim-indent-guides'

2. プラグインのインストール

Vim エディタのコマンドモードで以下のように実行する。

1
2
:NeoBundleInstall
[neobundle/install] (1/1): |vim-indent-guides| git clone --recursive https://github.com/nathanaelkane/vim-indent-guides.git "/home/masaru/.vim/bundle/vim-indent-guides"

もしも以下のように出力されてインストールできなかった場合は、Vim を再起動しメッセージが促されるので、そのとおりに従ってみるよい。

1
2
[neobundle/install] Target bundles not found.
[neobundle/install] You may have used the wrong bundle name, or all of the bundles are already installed.

3. インストール確認

インストールされたかプラグインの一覧を表示してみる。

1
2
3
4
5
6
7
:NeoBundleList
neocomplcache
gitv
neobundle.vim
vim-indent-guides
vim-fugitive
sudo.vim

4. vim-indent-guides の設定

インストールしただけでは、"vim-indent-guides" は起動しないので、自動起動するよう “~/.vimrc” で設定する。また好み合わせてカラー設定等も行う。
以下は当方の例で、目障りにならないような色合いにしている。

~/.vimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
" vim-indent-guides
" Vim 起動時 vim-indent-guides を自動起動
let g:indent_guides_enable_on_vim_startup=1
" ガイドをスタートするインデントの量
let g:indent_guides_start_level=2
" 自動カラー無効
let g:indent_guides_auto_colors=0
" 奇数番目のインデントの色
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=#444433 ctermbg=black
" 偶数番目のインデントの色
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=#333344 ctermbg=darkgray
" ガイドの幅
let g:indent_guides_guide_size = 1

ちなみに、Vim の設定で、tabstopshiftwidth は同じ値に、 expandtab は有効にする必要がある。

5. 動作確認

Vim を再起動して、既存のソースコードを表示してみるなどする。
以下は当方の例で、1つ目が GVim で2つ目が Vim である。

VIM_INDENT_GUIDES_1 VIM_INDENT_GUIDES_2

6. 参考サイト


ソースコードが縦に長くなった際にインテントを把握しやすくなるでしょう。
(インデントにスペースではなく可視化したタブ文字を使用している場合は、あまり必要性は感じないかも知れませんね)

以上。

Comments