Home > Vim > せっかくだから、俺はこの Unite + vim-ref を選ぶぜ!

せっかくだから、俺はこの Unite + vim-ref を選ぶぜ!

101226-0001.png

FuzzyFinder がなんだか調子が悪い *1 。原因を探るのもめんどくさいので、この際 Unite に乗り換えてみた。

まずは何はなくとも設定から

手始めに以下のような設定にしてみた。

Shougo/unite.vim - Git Hub
https://github.com/Shougo/unite.vim

fuf → unite に乗り換えて1日目 - basyura’s blog
http://d.hatena.ne.jp/basyura/20100908/p1

unite の action にショートカットを設定する - 永遠に未完成
http://d.hatena.ne.jp/thinca/20101103/1288718347

unite.vim の設定を一部晒してみる
http://d.hatena.ne.jp/thinca/20101027/1288190498

" 入力モードで開始する
let g:unite_enable_start_insert=1
" バッファ一覧
noremap <C-P> :Unite buffer<CR>
" ファイル一覧
noremap <C-N> :Unite -buffer-name=file file<CR>
" 最近使ったファイルの一覧
noremap <C-Z> :Unite file_mru<CR>
" ウィンドウを分割して開く
au FileType unite nnoremap <silent> <buffer> <expr> <C-J> unite#do_action('split')
au FileType unite inoremap <silent> <buffer> <expr> <C-J> unite#do_action('split')
" ウィンドウを縦に分割して開く
au FileType unite nnoremap <silent> <buffer> <expr> <C-K> unite#do_action('vsplit')
au FileType unite inoremap <silent> <buffer> <expr> <C-K> unite#do_action('vsplit')
" ESCキーを2回押すと終了する
au FileType unite nnoremap <silent> <buffer> <ESC><ESC> :q<CR>
au FileType unite inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR>
" 初期設定関数を起動する
au FileType unite call s:unite_my_settings()
function! s:unite_my_settings()
  " Overwrite settings.
endfunction
" 様々なショートカット
call unite#set_substitute_pattern('file', '\$\w\+', '\=eval(submatch(0))', 200)
call unite#set_substitute_pattern('file', '^@@', '\=fnamemodify(expand("#"), ":p:h")."/"', 2)
call unite#set_substitute_pattern('file', '^@', '\=getcwd()."/*"', 1)
call unite#set_substitute_pattern('file', '^;r', '\=$VIMRUNTIME."/"')
call unite#set_substitute_pattern('file', '^\~', escape($HOME, '\'), -2)
call unite#set_substitute_pattern('file', '\\\@<! ', '\\ ', -20)
call unite#set_substitute_pattern('file', '\\ \@!', '/', -30)
if has('win32') || has('win64')
  call unite#set_substitute_pattern('file', '^;p', 'C:/Program Files/')
  call unite#set_substitute_pattern('file', '^;v', '~/vimfiles/')
else
  call unite#set_substitute_pattern('file', '^;v', '~/.vim/')
endif

使い方

Ctrl + PCtrl + NCtrl + Z のどれかを押して起動 *2

101223-0001.png

文字を打って候補を絞り込み、Ctrl + PCtrl + N、または、KJ で上下に移動する。

101223-0002.png

ファイル名の上で、Enter を押すと開く。代わりに、Ctrl + JCtrl + K を押すとウィンドウを分割して開いてくれる。

101223-0003.png

vim-ref と組み合わせてみる

基本的な使い方はこれくらいだが、プラグインを使うことで機能を様々に拡張できるのが Unite の特長だ。まだ自分でプラグインを開発できるところまでは行っていないので、以前紹介した vim-ref と連携させてみよう。

vim-ref で perldoc その他を読む
http://blog.remora.cx/2010/11/read-perldoc-with-vim-ref.html

thinca/vim-ref - GitHub
https://github.com/thinca/vim-ref

unite で ref.vim の検索をする - 永遠に未完成
http://d.hatena.ne.jp/thinca/20101104/1288881308

vim-ref の最新バージョンは Unite と連携できるようになっている。次のコマンドで Unite 版 vim-ref が起動する。

:Unite ref/{source-name}

{source-name}perldoc を指定したところが下の図だ。う〜ん、これはスゴい。ますます便利になりました。

101223-0004.png

*1 : Windows で、しかもネットワークドライブにおいていたのが原因?
*2 : キーマッピングは色々変えてね。

Comments:0

Comment Form

Trackbacks:1

TrackBack URL for this entry
http://blog.remora.cx/mt/mt-tb.fcgi/709
Listed below are links to weblogs that reference
せっかくだから、俺はこの Unite + vim-ref を選ぶぜ! from blog.remora.cx
[vim]Vimでファイラー兼ランチャーなunite.vimプラグインを使う from アインシュタインの電話番号☎ 2011-01-10 (月) 01:15
ちょっと前から名前は見かけていたんだけど、何をするプラグインなのかよく分からなくて見送っていた。Twitterでもつぶやいたけど、もっと早く導入しておけ...

Home > Vim > せっかくだから、俺はこの Unite + vim-ref を選ぶぜ!

Feeds
CC Licence

Creative Commons License

このブログはクリエイティブ・コモンズでライセンスされています。

W3C Validation

I ♥ validator

Return to page top