unite では選んだ対象に対して様々な action を実行できる。たくさんあるので、デフォルト以外の action を実行する場合は選択する必要がある。
選択したい場合は対象を選んでから
こういう風になって action を選べるわけだが…ちょっと待った。これ unite だよね? 何このUI。こんなの unite じゃない!unite なら action も unite で選びたいでしょ!
と、言うわけでやってみた。
長い!と言うのも、これは unite の内部に閉じ込められてる処理を無理矢理実行するため unite 内のコードをコピペしている。細かく API が提供されていれば必要はなかったんだけど、そんな都合のいいものはないので力技。とは言え、本体はいじってない。
これで choose_action と言う action が定義されるので、今度はこれを今まで通り
" after/ftplugin/unite.vim nnoremap <buffer> <Tab> :<C-u>call unite#mappings#do_action('choose_action')<CR> inoremap <buffer> <Tab> <ESC>:call unite#mappings#do_action('choose_action')<CR>
これで候補を選んで
こうなる。選んで
問題点
- 選択した候補が表示されない。
- 右側空いてるし action の説明文表示できるといいなぁ。
これらは本体いじらないと無理。仮にやるとしても、後者はともかく、前者のは UI 的にもどこに表示するのがいいのかよくわからんね。1 行目と 2 行目の間に付加情報を表示する領域を追加とか? うーん…。