Vim でログファイルを開くときのための設定

ログファイルが特にそうなのですが、同じような行が続くファイルを目視確認するとき、どの行に着目していたのか見失う場合があると思います。

Vim の場合ですと、:set cursorline を実行し、現在いる行にカーソルラインを表示し、わかりやすくすることが可能ですが、このカーソルライン、Ruby などアンダースコアが多いプログラミング言語を書いていると、カーソルラインの線なのか、メソッドなどのアンダースコアなのかわかりにくくなってしまいなかなかの困りものです。

そこで、*.log もしくは logrotate で圧縮された *.log*.gz のファイルだけに set cursorline を設定するように、

augroup Log
  autocmd!
  autocmd BufNewFile,BufRead *.log setlocal cursorline
  autocmd BufNewFile,BufRead *.log*.gz setlocal cursorline
augroup END 

と .vimrc に追加したところ、大変心地よくログファイルを閲覧できるようになりました。

Vim のタブ移動を矢印キーに割り当て直感的かつタイプ数を節約する

通常の割り当て

Vim のタブ機能は大変便利です。 個人的には kana/vim-tabpagecd を利用して、別のディレクトリと行き来するときなどに感謝の気持ちでいっぱいになります。 ただ、デフォルトの設定ですと、次のタブに移動するときはgt、前のタブに戻る場合はgTというキーバインドであるなど、直感的でなく、また、タイプ数が多くて連続では打ちにくくもあるかなと思います。

矢印キーに割り当て

なんとか直感的かつタイプ数を少なくする方法はないかと考えていたところ、普段全く触っていない矢印キーを活用してみてはどうだろうと思い至りました。 そこで、 .vimrc

nnoremap <Up>    :tabclose<CR>
nnoremap <Down>  :tabnew<CR>
nnoremap <Left>  :tabprevious<CR>
nnoremap <Right> :tabnext<CR>

と設定し、 Shougo/unite.vim のためのキーバインドとして

nnoremap <LEADER>t :Unite tab<CR>

を加えたところ、大変満足なタブの移動具合となりました。

追記

という記事を書いてから2、3日使ってみましたが、 矢印キーまで指の位置を動かすのが億劫で、 結局現在は以下のようになりました。

nnoremap <C-c> :tabclose<CR>
nnoremap <C-n> :tabnew<CR>
nnoremap <C-h> :tabprevious<CR>
nnoremap <C-l> :tabnext<CR>

またいつか変わる日が来るかもしれません。