cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

lastmess.vimで表示されるメッセージのハイライトをいろいろ定義できるようにした。

メッセージの開始と、メッセージの中身の色を定義できるようにした

g:lastmess_highlight_errstartg:lastmess_highlight_errcontentsを指定することで、
エラーの開始点と内容が色分けされてこのようにエラーメッセージが見やすくなります。
(デフォルトでエラーの中身は"PreProc"のハイライトを使うように変更されました。)

f:id:leafcage:20131205005439p:plain

(あっ比較のために更新前の画像もキャプっとけばよかった。このE716:とかE15:という行は今までならエラー開始点と同じく、"ErrorMsg"でハイライトされていたのですよ。それを"PreProc"にしたことで1つのエラーのメッセージがどこまで続いているのかが視覚的に判別しやすくなったわけです。)

ユーザが指定したパターンにマッチしたメッセージの色に指定したハイライトを使うようにした

g:lastmess_special_highlightを使います。
これは[{hilight-group-name}, {pattern}]というリストを収めたリスト(つまりリストが入れ子になったリスト)です。
次のように使います。

let g:lastmess_special_highlight = [['MoreMsg', '^sourced:']]

これで'^sourced:'にマッチするメッセージにMoreMsgのハイライトが利用されます。

蛇足、便利な設定

あと、次のように無視したいメッセージパターンを登録しておくと、ノイズがなくなって便利です。

let g:lastmess_ignore_pattern = 'スキャン中\|検索したので\|箇所変更しました;\|行 削除しました;\|行 追加しました\|\d\+L, \d\+C$\|行 --\d\+%--$\|--バッファに行がありません--$\|既に一番新しい変更です\|^\s*\d\+:\s\%(\~\|\u:\)/'

また、次のように、メッセージクリアコマンドを使えるようにしておくと捗ります。

command! MessageClear for n in range(200) | echom "" | endfor| ec 'Cleared Message'
nnoremap mc :<C-u>MessageClear<CR>