この内容は以下の記事を元にしたlightline.vim版になります。
先日、以下の投稿でlightline.vimを導入した後に、上の記事を知って同じ事をやりたくなったのでカスタマイズしてみました。
カスタマイズ後の見た目
画像は NeoBundle を検索して47件中、2件目に移動した結果をファイル名の右側に表示したものです。
カスタマイズ内容
.vimrc
" lightline.vim関連 {{{
let g:lightline = {
\ 'colorscheme': 'landscape',
\ 'active': {
\ 'left': [
\ ['mode', 'paste'],
\ ['readonly', 'filename', 'modified', 'anzu']
\ ]
\ },
\ 'component_function': {
\ 'anzu': 'anzu#search_status'
\ }
\ }
"}}}
" vim-anzu関連 {{{
nmap n <Plug>(anzu-n)
nmap N <Plug>(anzu-N)
nmap * <Plug>(anzu-star)
nmap # <Plug>(anzu-sharp)
augroup vim-anzu
" 一定時間キー入力がないとき、ウインドウを移動したとき、タブを移動したときに
" 検索ヒット数の表示を消去する
autocmd!
autocmd CursorHold,CursorHoldI,WinLeave,TabLeave * call anzu#clear_search_status()
augroup END
"}}}
lightline.vimの設定
-
anzu#search_status()
が検索ヒット数を出力するので、component_function
にキーanzu
で登録します。 - 表示位置はキャプチャ画像の青い部分のファイル名の右側にしたいので、先程登録した
anzu
を`g:lightline.active.leftの2つ目のリストの最後に追加します。
また、anzu
の位置を変えれば表示位置も変わります。
たとえば左端の白い場所に表示したいなら、1つ目のリストに追加します。
vim-anzuの設定
n
, N
, *
, #
のキーマップはvim-anzuのExampleと一緒ですが、消去は以下のタイミングで自動実行しています。
- 一定時間キー入力がないとき (CursorHold,CursorHoldI)
- ウインドウを移動したとき (WinLeave)
- タブを移動したとき (TabLeave)