Humanity

Edit the world by your favorite way

直前の検索パターンと'hlsearch'をバッファローカルにする

この記事はVim Advent Calendar 2013の61日目の記事です。
そういえば2013年は初参加でした。


VAC本来の趣旨に沿って*1小ネタです。
やってみたら案外便利だったパターン。
ウインドウ移動する度に以前の検索パターンやハイライトが復元されます。
検索パターンや検索のハイライトは現在のバッファの内容に強く依存するので、
思いの外思い通り(?)になって便利でした。

" Localize search options.
autocmd WinLeave *
\     let b:vimrc_pattern = @/
\   | let b:vimrc_hlsearch = &hlsearch
autocmd WinEnter *
\     let @/ = get(b:, 'vimrc_pattern', @/)
\   | let &l:hlsearch = get(b:, 'vimrc_hlsearch', &l:hlsearch)

*1:小ネタしかなかった