Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

lightline.vimとvim-anzuで検索ヒット数を表示する

$
0
0

この内容は以下の記事を元にしたlightline.vim版になります。

先日、以下の投稿でlightline.vimを導入した後に、上の記事を知って同じ事をやりたくなったのでカスタマイズしてみました。

カスタマイズ後の見た目

画像は NeoBundle を検索して47件中、2件目に移動した結果をファイル名の右側に表示したものです。

MacVim_anzu.png

カスタマイズ内容

.vimrc
" lightline.vim関連 {{{letg: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の設定

  1. anzu#search_status()が検索ヒット数を出力するので、component_functionにキーanzuで登録します。
  2. 表示位置はキャプチャ画像の青い部分のファイル名の右側にしたいので、先程登録したanzuを`g:lightline.active.leftの2つ目のリストの最後に追加します。

また、anzuの位置を変えれば表示位置も変わります。
たとえば左端の白い場所に表示したいなら、1つ目のリストに追加します。

vim-anzuの設定

n, N, *, #のキーマップはvim-anzuのExampleと一緒ですが、消去は以下のタイミングで自動実行しています。

  • 一定時間キー入力がないとき (CursorHold,CursorHoldI)
  • ウインドウを移動したとき (WinLeave)
  • タブを移動したとき (TabLeave)

Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>