footmark

ひよっこエンジニアの足跡

ミニマムな.vimrc

前回の ミニマムな.zshrc - footmark に続き、.vimrc について考えた備忘録。
会社の研修で、

  • これからVimを使い始める人
  • サーバにSSHログインして、Apacheの設定ファイルを弄るくらいでしかVimを使わない人

にとりあえずこれだけ書いておけばいいよ!っていう設定があればいいなあと思い、(既出記事も多いと思いますが)書いてみました。
以下の点を意識しています。

  • 覚えるコマンドを増やさない(キーマッピングプラグインを増やさない)
  • 愛着が持てる
    • これから使い始める人は末永く使えるように
    • メインのエディタが他にある人はVimに浮気するように

とりあえず晒す

filetype off
filetype plugin indent off

syntax on

set number
set list
set listchars=tab:>-,trail:-,nbsp:%,extends:>,precedes:<,eol:<
set autoindent
set expandtab
set tabstop=4
set shiftwidth=4
set mouse=a

inoremap jk  <Esc>

" =====
" NeoBundle
" =====
if has('vim_starting')
    set runtimepath+=~/.vim/bundle/neobundle.vim
    call neobundle#rc(expand('~/.vim/bundle'))
endif

NeoBundleFetch 'Shougo/neobundle.vim'

" =====
" NeoBundle User Settings
" =====
NeoBundle 'Shougo/unite.vim'
NeoBundle 'w0ng/vim-hybrid'

" =====
" colorscheme
" =====
let g:htbrid_use_iTerm_colors = 1
colorscheme hybrid

filetype plugin indent on

ぼくのかんがえたさいしょうのvimrc - derisの日記 を参考させていただきました。
ありがとうございます!

解説

おまじない

最初の

filetype off
filetype plugin indent off

と最後の

filetype plugin indent on

は設定がファイル中で干渉しないためのおまじないです。

構文に沿って色を付ける

syntax on

不可視文字の表示と変更

不可視文字を表示し、また代わりに表示する文字をデフォルトから変更しています。

set list
set listchars=tab:>-,trail:-,nbsp:%,extends:>,precedes:<,eol:<

自動インデント

set autoindent

タブ周り

タブを空白4つに変更しています。
それぞれの記述に関しては Peace Pipe: はてな技術勉強会 .vimrc 説明補足 [vim] が分かりやすかったです。

set expandtab
set tabstop=4
set shiftwidth=4

マウスを有効に

これを書いたらVimmerの人に怒られるかなあと思いましたが、便利なので書きます。
マウスでカーソル移動やスクロールができるようになります。
あ、範囲選択も。

set mouse=a

いちいちEscを押すのが面倒な人へ

このようにキーマッピングしておくと便利です。
ホームポジションの周辺が良いと思います。

inoremap jk  <Esc>

NeoBundleとカラースキーマ

上記の設定でも十分だと思うのですが、今後の拡張性も意識してNeoBundleの設定も書いてみました。
試しにカラースキーマを1つインストールしてちょっとカスタマイズした感も。
NeoBundleのインストールに関しては NeoBundleを用いたVimプラグイン管理と色設定メモ - Qiita が分かりやすいです。


NeoBundleの初期設定です。
これは最小限の記述ですが、Vim起動時に未インストールのプラグインをチェックする等の拡張もできます。

" =====
" NeoBundle
" =====
if has('vim_starting')
    set runtimepath+=~/.vim/bundle/neobundle.vim
    call neobundle#rc(expand('~/.vim/bundle'))
endif

NeoBundleFetch 'Shougo/neobundle.vim'

この部分にインストールするプラグインを記述します。

" =====
" NeoBundle User Settings
" =====
NeoBundle 'w0ng/vim-hybrid'

インストールしたカラースキーマを記述しています。

" =====
" colorscheme
" =====
let g:htbrid_use_iTerm_colors = 1
colorscheme hybrid

まとめ

上記の設定をするとこんな感じになります。

f:id:yuk4420:20140916022654p:plain

もちろん、まだまだいろんな設定がありますが、一度にたくさん設定して、Vimって難しいなあと感じてしまったことがあるので、このくらいから始めて、たまに人の .vimrc を見てみたり、必要だと思った設定をググったりするのが良いと思います。

ミニマムな.vimrc を通して、Vimってなんか良いなあ、Vimも悪くないなあと思っていただければ幸いです。