basyura's blog

あしたになったらほんきだす。

fuf → unite に乗り換えて一ヶ月

fuf → unite に乗り換えて1日目の続き。

7.3 にした方が断然快適。kaoriya へのこだわりが特に無ければ「vim UTF-8日本語版(http://sites.google.com/site/fudist/)」というのもある。
以前(fuf)はブックマークを多用してたけど、vimshell でディレクトリ移動(*)が基本になったので helpファイルなどを登録しておく程度になった。だいたい file_mru で開くけど。(*) alias 便利、/ 補完超便利。cd 打たなくてもディレクトリ名で移動できるのも超便利。
Unite はもっぱら file_mru と buffer を使いまくり。これがないと仕事にならない。do_action の使いどころがいまいちなく above をマッピングしてたまに使う程度。Unite buffer file_mru bookmark file もキーマッピングしてるけど使いどころが分からない。
まとめると、機能豊富だけど使いこなせる使い方がよく分からない状態。mru と buffer 超便利。
とまぁ全然使えていないんだけど、Unite の良いところは @ShougoMatsu がアグレッシブに更新しているところの方かなぁと。日々どころか数時間単位での機能追加、改善、バグ修正が行われているので バグ報告したら 30 分後には直ってるなんてことはよくある。
加えて、欲しい機能が有る場合に @ShougoMatsu を "説得" すれば取り込んでくれる点が大きい。僕なんかは vim 戦闘力低いし説得力も低いので orz になる事はよくあるけど、それでもいくつか取り込んでもらえて快適に。これはでかい。でかすぎる。みんな提案したらいいと思うよ!機能的に整合性がとれてないとか局所的過ぎるようなものは直ぐ却下されるけど・・・ひとまず相談だよ!
さらに言うと、lingr には vim 戦闘力の強い人たちが常駐しているので、彼らに質問しない手はない。しょぼい質問かな?と思いつつしてみると、かなり反応してくれる。加熱しすぎて ( ゚Д゚)ポカーン な事もあるけど。http://lingr.com/room/vim
lingr.vim が便利なのであわせて使用するといい感じ。過去ログを読むのも発現するのも便利。環境によっては不安定らしいんだけど、今のところそういうのに遭遇してない。オススメ。
http://github.com/tsukkee/lingr-vim

最後に、vimrc の設定

let g:unite_source_file_mru_time_format = ''
let g:unite_enable_start_insert = 1
let g:unite_source_file_mru_ignore_pattern='.*\/$\|.*Application\ Data.*'
nnoremap <silent> <C-r>  :<C-u>Unite file_mru<CR>
nnoremap <silent> <C-n>  :<C-u>Unite buffer <CR>
nnoremap <silent> <Leader>. :<C-u>Unite buffer <CR>
nnoremap <silent> <Leader>d :<C-u>Unite file<CR>
nnoremap <silent> <Leader>b :<C-u>Unite bookmark<CR>
nnoremap <silent> <Leader>u  :<C-u>Unite buffer file_mru bookmark file<CR>
nnoremap <Leader>f  :<C-u>Unite file_rec -input=
autocmd FileType unite call s:unite_my_settings()
function! s:unite_my_settings()
  imap <buffer> jj <Plug>(unite_insert_leave)
  imap <buffer> <C-j> <Plug>(unite_exit)
  imap <buffer> <ESC> <Plug>(unite_exit)
  imap <buffer> <C-o> <Plug>(unite_insert_leave):<C-u>call unite#mappings#do_action('above')<CR>
endfunction

autocmd FileType vimshell call s:vimshell_my_settings()
function! s:vimshell_my_settings()
  inoremap <buffer> <C-x> <ESC><C-w>h:on<CR>
  inoremap <buffer> <silent> <C-n>  <ESC>:<C-u>Unite buffer <CR>
  inoremap <buffer> <silent> <C-r>  <ESC>:<C-u>Unite file_mru <CR>
  nnoremap <buffer> <CR> Go$ 
  imap <buffer> <C-x>     <ESC><C-w>h:on<CR>
  nnoremap <buffer><silent> <C-n>  :<C-u>Unite buffer <CR>
  inoremap <C-v> <C-R>+
  inoremap <buffer><expr><C-h> pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
  imap <buffer> <C-o> <Plug>(vimshell_enter)
  inoremap <buffer> <C-l> <C-y>
  imap <buffer> <C-s> <Plug>(vimshell_history_complete_whole)
  NeoComplCacheAutoCompletionLength 3
endfunction