読者です 読者をやめる 読者になる 読者になる

unite の で最初の項目を飛ばす

vim unite

unite で絞り込み文字列を入力しているとき、常に先頭の候補が選択されていてその部分の色が変わる。
で、選ぶときすぐ近くにある場合は Vim の補完の癖もあってノーマルモードを使わないで で選ぶのだけど、1 回押しただけでは最初の項目が選択されるだけで選択されている項目は変わらない。
すでに最初の項目は選択されているわけだし Vim の補完的にもここで を押したら 2 番目の項目が選ばれて欲しいよね? 少なくとも私はそうなって欲しい。
なので、FileType unite で以下のように設定。

" after/ftplugin/unite.vim
imap <buffer> <expr> <C-n> unite#mappings#smart_map(repeat("\<Plug>(unite_select_next_line)", 2), "\<Plug>(unite_select_next_line)")

単に 2 回押すようにしただけだけ。これだけでだいぶいい感じ。ちなみに戻る方の操作は、がんばればできないことはないけど面倒だしまあ基本的に戻らないだろうということで設定してない。

追記: 本体にもっといい形で実装されたのでこの設定は必要ありません。
http://github.com/Shougo/unite.vim/commit/6b88df039693d9c19333fc7aa9ec1db7863653ed