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

vimに欠かせない3つのプラグイン

Ark Advent Calendar で、今回こそPerlデビューをもくろんでいるアルバイトの北原です。

僕は普段エディタにvimを利用しています。巷では高まるvim熱のはずなのですが、社内ではEmacs派の方々が大半で、さらにvimを使っているともてないという話まで出てきています。この悲しい現実を打破すべく普段vimを使っている方にも、使ってない方にも、これから使おうと思っている方にもオススメできる3つのプラグインを紹介したいと思います。

1. quickrun.vim

quickrun は編集中のファイルの全体もしくは一部を実行する Vim プラグインです。 実行するためのコマンド |:QuickRun| が提供されます。

quickrun.vim help 概要より引用

quickrun.vimはthinca氏によるプラグインです。同名のプラグインをujihisa氏が以前から公開されていたのですが、thinca氏のプラグインに機能はマージされているようなので特に支障がなければthinca氏のquickrun.vimを利用すれば良いようです。

quickrun.vimを利用する事でプログラムを書いたファイルを開いたままプログラムの実行結果をvim上に表示する事が可能です。これによりプログラムを書く。エディタを終了する。実行する。もう一度エディタを起動するという煩雑な手順を踏むことなくプログラムを実行する事が可能です。

quickrun

quickrun.vimではデフォルトの設定として <Leader>r にQuickRunコマンド起動のマッピングがされています。

http://github.com/thinca/vim-quickrunにて公開されています。

2. FuzzyFinder

FuzzyFinder はバッファ/ファイル/コマンド/ブックマーク/タグに素早くアクセスする ための手段を提供します。入力されたパターンから変換されたあいまいパターンまたは 部分一致パターンで検索を行います。

FuzzyFinder.vim help 概要より引用

FuzzyFinderはns9tks氏によるプラグインです。上のhelpの概要で述べられているような対象に素早くアクセスする事が出来ます。例えば、あるディレクトリでvimを起動したとします。この際新しくファイルを開こうとした場合、コマンドラインモードで :e .... のように開いたり一度vimを終了し目的のファイルを開き直すという事が考えられます。しかしFuzzyFinderを利用する事で

fuf_fuf

の様なインターフェースを利用しインクリメンタルに絞り込みながら開く事が出来ます。また大量のバッファを開いている場合もファイル名やパスで絞り込みながら探す事が可能です。

fuf_buffer

僕はsecondlife氏の設定を参考にしつつこのような感じで設定しています。FuzzyFinderはマッピングをする事でより便利に使う事が出来ます。またデフォルトでは最近開いたファイルを扱う事が出来ないので let g:fuf_modesDisable = ['mrucmd'] としています。

nnoremap <unique> <silent> <space>fb :FufBuffer!<CR>
nnoremap <unique> <silent> <space>ff :FufFile!<CR>
nnoremap <unique> <silent> <space>fm :FufMruFile!<CR>
nnoremap <unique> <silent> <Space>fc :FufRenewCache<CR>
autocmd FileType fuf nmap <C-c> <ESC>
let g:fuf_patternSeparator = ' '
let g:fuf_modesDisable = ['mrucmd']
let g:fuf_mrufile_exclude = '\v\.DS_Store|\.git|\.swp|\.svn'
let g:fuf_mrufile_maxItem = 100
let g:fuf_enumeratingLimit = 20
let g:fuf_file_exclude = '\v\.DS_Store|\.git|\.swp|\.svn'

http://www.vim.org/scripts/script.php?script_id=1984にて公開されています。

3. AutoComplPop

このプラグインは、インサートモードで文字を入力したりカーソルを動かしたときに補 完メニューを自動的に開くようにします。しかし、続けて文字を入力するのを妨げたり はしません。

AutoComplPop.vim help 概要より引用

このプラグインもns9tks氏によるものです。AutoComplPopは所謂Eclipse等で便利な自動補完をvim上で可能にします。(補完機能自体はvimにもあります。)vimで自動補完をわざわざ行う必要があるか、重いと考える方もいると思いますが、やはり便利で手放せないプラグインの一つです。また個人的にはファイル名の補完もこのプラグインから連続的に呼べる事も便利だと考えています。

acp

acp_file

設定の一部は以下の用にしています。g:acp_completeOptionを設定する事で自動補完の対象を決める事が出来ます。

autocmd FileType php let g:acp_completeOption = '.,w,b,u,i,k~/.vim/dict/php.dict,t'

http://www.vim.org/scripts/script.php?script_id=1879にて公開されています。

まとめ

早足にプラグインを3つ紹介しました。欠かせないプラグインをあげたらきりがないので、あえて3つ、導入してすぐ使えそうな物を選びました。今回の紹介したプラグインはどれもhelpが充実しています。より詳しい事が知りたい場合は是非ヘルプを引いてみて下さい。


2009/12/03 追記 QuickRun.vimがquickrun.vimに変更されていましたので反映しました。