jump to navigation

Vim初心者的導入メモ 2/3 「vimrc設定」編

2007-07-23 23:08 Posted by
nase
in : プログラミング
keyboard2_2.jpg

Vimの使い方を覚えたら、次にやっておきたいのがオプションの設定です。

細かな動作を調整し、より自分にとって使いやすくなるようカスタマイズします。

ただし設定項目は、これまたかなりの数になっていてなかなかのくせ者。

私は、前回の記事でも紹介したspanish passion LinuxさんのVimのオプション解説をひたすら上から読みながらvimrcを書いていきました。

以下、まだまだ完全とは言い切れない状態ですが、現在の私の設定内容について紹介します。

vimrcの設定方法

と、具体的な設定内容の前に、Vimの設定方法について触れておきましょう。

Vimの設定は、全て「_vimrc」というテキストファイルに記述します。(gvimの場合正しくは「_gvimrc」ですが、便宜上本エントリではvimrcと書きます)

vimrcはVimのインストールフォルダに作成しても動作しますが、環境変数”HOME”に設定したディレクトリに置いておくのが分かりやすくてお勧めです。(詳しくはこのあたりを参考に)

vimrc内では「”(ダブルクォーテーション)」で始まる行はコメント扱いになります。

設定ファイルをテキストで記述することに最初はとまどうかも知れませんが、慣れてくると非常に合理的な仕組みであることに気づかされます。

カラースキーマ

まず最初はエディタの配色を変更してみましょう。

私は明るい白背景はどうも苦手です。(長時間ディスプレイとにらめっこしている方なら同意していただけるはず)

デフォルトでもいくつかのカラースキーマが用意されているほか、名無しのVIM使いさんのgvimカラースキーマのSS集ではウェブ上で配布されているカラースキーマの一覧が公開されています。

また、Vim Color Scheme Testではいつかのシンタックスを対象に、実際にソースコードを表示した際のスクリーンショットがまとめられています。(※2007/08/03追記)

これらを参考に、好みのものを選んでみてください。

ちなみに私は「zenburn」、「blackdust」、「desert」あたりが気に入りました。

カラースキーマをダウンロードしたら「$HOME/vimfiles/colors/」以下に配置してください。

vimrcに以下のように記述すれば、起動時に指定した配色が適用されるようになります。

"カラースキーマを設定
colorscheme zenburn

基本的な設定

Vimの基本的な設定はsetコマンドで行います。

詳しくはVimのオプション解説を読んでいただくとして、私の設定はこのようになりました。

"新しい行のインデントを現在行と同じにする
set autoindent
"バックアップファイルを作るディレクトリ
set backupdir=$HOME/vimbackup
"ファイル保存ダイアログの初期ディレクトリをバッファファイル位置に設定
set browsedir=buffer 
"クリップボードをWindowsと連携
set clipboard=unnamed
"Vi互換をオフ
set nocompatible
"スワップファイル用のディレクトリ
set directory=$HOME/vimbackup
"タブの代わりに空白文字を挿入する
set expandtab
"変更中のファイルでも、保存しないで他のファイルを表示
set hidden
"インクリメンタルサーチを行う
set incsearch
"タブ文字、行末など不可視文字を表示する
set list
"listで表示される文字のフォーマットを指定する
set listchars=eol:$,tab:>\ ,extends:<
"行番号を表示する
set number
"シフト移動幅
"set shiftwidth=4
"閉じ括弧が入力されたとき、対応する括弧を表示する
set showmatch
"検索時に大文字を含んでいたら大/小を区別
set smartcase
"新しい行を作ったときに高度な自動インデントを行う
set smartindent
"行頭の余白内で Tab を打ち込むと、'shiftwidth' の数だけインデントする。
set smarttab
"ファイル内の <Tab> が対応する空白の数
"set tabstop=4
"カーソルを行頭、行末で止まらないようにする
set whichwrap=b,s,h,l,<,>,[,]
"検索をファイルの先頭へループしない
set nowrapscan

なるべく自分の使い慣れたエディタに近づくよう設定しています。

cscopeやdiffなど、まだ使い方がよく分かっていない機能については設定していないので、今後調べて行きたいところです。

オートコマンド設定

基本的なsetコマンド設定の他、バッファ読み込みのタイミングなどで実行されるオートコマンド(略してau)を設定することが出来ます。

この機能によって、以下のようなことが可能になります。

"ウィンドウを最大化して起動
au GUIEnter * simalt ~x

"入力モード時、ステータスラインのカラーを変更
augroup InsertHook
autocmd!
autocmd InsertEnter * highlight StatusLine guifg=#ccdc90 guibg=#2E4340
autocmd InsertLeave * highlight StatusLine guifg=#2E4340 guibg=#ccdc90
augroup END

"日本語入力をリセット
au BufNewFile,BufRead * set iminsert=0
"タブ幅をリセット
au BufNewFile,BufRead * set tabstop=4 shiftwidth=4

".txtファイルで自動的に日本語入力ON
au BufNewFile,BufRead *.txt set iminsert=2
".rhtmlと.rbでタブ幅を変更
au BufNewFile,BufRead *.rhtml   set nowrap tabstop=2 shiftwidth=2
au BufNewFile,BufRead *.rb  set nowrap tabstop=2 shiftwidth=2

"全角スペースを視覚化
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=#666666
au BufNewFile,BufRead * match ZenkakuSpace / /

なかでもお勧めなのは「入力モード時、ステータスラインのカラーを変更」の設定。

入力モードの際にステータスラインの色を反転させることで、モードの変更が認識しやすくなります。(これでEscキーをピーピー鳴らすことも減るのでは)

ちなみに、全角スペースの視覚化を設定する場合、windowsであればShift_JISでvimrcを保存する必要があるようなのでご注意を。

おわりに

以上で「vimrc設定」編は終わりです。

はじめvimrcのset設定項目を全てチェックするのはかなりしんどいかも知れません。

しかしこれをすませれば、よりVimの世界が近づいたように感じられると思います。

vimrcは一度書いてしまえば別環境へコピーすることも簡単。

この他キーマッピングなどもマスターし、是非使いこなしてゆきたいところです。

参考ページ

ウノウラボ Unoh Labs: viを使おう
ウノウではemacsよりvi派が優勢とのこと。vimrc設定のとっかかりとして。
ファイル保存ダイアログの初期ディレクトリについての話 : サイト更新停滞ちうっ
browsedir設定について、分かりやすい説明。
faq/4 - VimWiki
全角スペースを視覚化する方法。私はauで利用。
moroの日記 - vim + rails で開発するときの文字コード設定CommentsAdd Star
ruby関連ファイルの場合に設定を切り替える方法。

追記(2007/07/28)

広告:高品質キーボード特集

PFU Happy Hacking Keyboard Professional JP
【PFU】Happy Hacking Keyboardの上位機種に日本語配列バージョンが追加。Win/Mac対応。

ダイヤテック Majestouch Mini
【FILCO】Majestouch Miniはテンキー付きなのに省スペース。他、バリエーション多数。

東プレ Realforce 91UDK-G
【東プレ】高品質キーボードの代表格Realforceのテンキーレスにダイヤテックオリジナルのダーク刻印モデルが登場。



Comments»

1. vimrcの設定メモ | Web&MUSICブログ QUALL - 2008-5-20

[…] 自分のvimrcの設定をメモ gvimのダウンロードはここ http://www.kaoriya.net/ creamの説明などはここ http://opentechpress.jp/developer/07/05/21/0118250.shtml ダウンロードはここ http://cream.sourceforge.net/ vimrcの設定で参照させてもらったページはこちら。 http://www15.ocn.ne.jp/~tusr/vim/options_help.html http://www15.ocn.ne.jp/~tusr/vim/options.html http://blog.blueblack.net/item_110 http://espion.just-size.jp/archives/06/034090759.html http://www15.ocn.ne.jp/~tusr/vim/vim_setting.html どうもありがとうございますー。 んで、vimrcの設定メモ set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin […]


*コメントおよびトラックバックは、管理者の承認後に表示されます。