unite.vim とは
vim 用の統合ユーザインターフェース。
様々なデータを共通のインタフェースを用いて操作できる。
unite.vim のインターフェースを学習するだけで色々なデータを簡単に操作できるようになり、また異なる種類のデータを同時に操作できる。
例えば、ノーマルモードで以下のコマンドを実行すると、カレントディレクトリとバッファの一覧を同時に表示できる。
:Unite file buffer
導入方法
unite.vim は GitHub で公開されている。
Shougo/unite.vim
NeoBundle を導入済みの場合は、まずは以下を .vimrc に記述する。
NeoBundle 'Shougo/unite.vim'
そして、ノーマルモードで以下のコマンドを実行すると、 unite.vim をインストールできる。
:NeoBundleInstall
使い方
操作の流れ
- データの種類(Source)を選択
- データを選択
- Action を選択
操作方法
:Unite {source}
を実行し、 unite を起動する- データの一覧からデータを選択する(カーソルをデータに合わせる)
- Action を選択する
<Tab>
を押すと、 Action の一覧が出力される。その一覧から実行したい Action を選択する。<Tab>
の代わりに<Enter>
を押すと、 default のアクションをすぐに実行できるので便利。
実行例
例えば、 source として fileを指定する場合は、以下のコマンドを実行する。
:Unite file
上記コマンドを実行すると、カレントディレクトリのディレクトリとファイルが一覧表示される。
この時に insert モードに入ることで、データの絞り込みを行えるので便利。
Source が file の場合は、 default のアクションは file の openなので、ファイル選択中に Enter キーを押すと選択中のファイルを開くことができる。
Source
よく利用する source の一覧。
source | 内容 |
---|---|
file | カレントディレクトリのファイルとディレクトリ一覧 |
file/new | ファイルの新規作成 |
file_mru | 最近開いたファイル(Most Recently Used)の一覧 |
buffer | buffer の一覧 |
register | register の一覧 |
source | unite の source の一覧 |
insert モードでの操作
unite 起動時の insert モードでよく利用する操作の一覧。
キー | 動作 |
---|---|
Ctrl + p | 上の候補に移動 |
Ctrl + n | 下の候補に移動 |
Enter | default の Action を実行 |
Tab | Action 選択画面に移行 |
Tips
- Unite の停止
- q で unite が停止する。
.vimrc
以下は私の unite.vim の設定。
" Unite
NeoBundle 'Shougo/unite.vim'letg:unite_enable_start_insert=1letg:unite_source_history_yank_enable =1letg:unite_source_file_mru_limit =200nnoremap<silent>,uy :<C-u>Unite history/yank<CR>nnoremap<silent>,ub :<C-u>Unite buffer<CR>nnoremap<silent>,uf :<C-u>UniteWithBufferDir -buffer-name=filesfile<CR>nnoremap<silent>,ur :<C-u>Unite -buffer-name=registerregister<CR>nnoremap<silent>,uu :<C-u>Unite file_mru buffer<CR>
上記設定をすると、 insert モードで unite が起動する。
また、ノーマルモードで ,uu
と入力するだけで source に file_mru と buffer が指定された状態で unite が起動するのでとても便利。
ノーマルモードで ,uy
と入力すると、 yank の履歴が表示される。
参考
unite.vim について語る - C++でゲームプログラミング
- unite.vim の概要、導入方法、操作方法、 tips について分かりやすく記述されている
- おすすめのページ
Vimでファイラー兼ランチャーなunite.vimプラグインを使う
- このページに書かれている .vimrc はとても参考になりました