ハブにUnite拡張機能の説明がないことに驚きました。これにより、Vimの膨大な数のプラグインを置き換えることができます。 Uniteは、CtrlP、FuzzyFinder、ack、yankring、LustyJuggler、バッファーエクスプローラーなどの拡張機能を組み合わせています。

Unite Installation
拡張機能の構成を開始する前に、依存関係をインストールする必要があります。 私はVundleを使用しているので、それを通してインストールします。 一部のUnite機能にアクセスするには、vimprocプラグインが必要です。 これを行うには、次の行を.vimrcファイルに追加します。
Bundle 'Shougo/vimproc.vim' Bundle 'Shougo/unite.vim'
エディターを再起動し、コマンド「BundleInstall」を入力します。 vimprocをコンパイルします。
cd ~ cd .vim/bundle/vimproc.vim make -f make_mac.mak
すべての依存関係のインストールが完了しました。Uniteの構成に進みます。 次の行をvimrcに追加しましょう。
" insert mode let g:unite_enable_start_insert = 1 " Unite let g:unite_split_rule = "botright" " let g:unite_force_overwrite_statusline = 0 " Unite let g:unite_winheight = 10 " let g:unite_candidate_icon="▷"
いくつかのUniteコマンドに慣れてみましょう:
チーム | 説明 |
---|
結合ファイル | 現在のプロジェクトのファイルとディレクトリのリストを開きます |
結合バッファ | オープンバッファを表示 |
ファイルバッファを結合する | ファイルとオープンバッファを表示する |
Uniteチームは、たとえば、-auto-previewオプションを使用してUniteを起動するオプションをサポートしています。Uniteをファイルプレビュー機能(Sublimeのように)で起動します。
ファイルを再帰的に処理する必要がある場合、つまり、CtrlPおよびCommand-Tのようにファイルの最初の文字を入力するだけで現在のプロジェクトを検索する必要がある場合、これはfile_rec / asyncフラグを使用してUniteを実行するだけで十分なので、このオプションはvimprocアセンブリなしでは機能しないことを警告します:
Unite file_rec/async
入力された最初の文字に従って検索が行われるようにするには、-start-insertオプションを追加する必要があります。
Unite file_rec/async -start-insert
そして最後に、リーダー+ fの組み合わせにアタッチしたコマンドの最終結果
nnoremap <leader>f :<Cu>Unite -buffer-name=files -start-insert buffer file_rec/async:!<cr>
Uniteを実行しているエディターのスクリーンショット

Uniteには、開いているUniteバッファーでCtrl + iを押すことで起動するコマンドモードもあります。 コマンドモードでは、ファイル、ディレクトリの作成と比較、ブックマークの作成、grepの実行などを行うことができます。ちなみに、コマンドを使用してブックマークのリストを表示できます。
Uniteで独自のメニューを作成する
Uniteには独自のメニューを作成する機能があります(gab
ユーザー gmistの
ヘルプに感謝し
ます )。 使用例:
let g:unite_source_menu_menus = {} let g:unite_source_menu_menus.mymenu = { \ 'description' : 'My Unite menu', \ } let g:unite_source_menu_menus.mymenu.candidates = { \ 'mru&buffer' : 'Unite buffer file_mru', \ 'tag' : 'Unite tag', \ 'file' : 'Unite file', \ 'file_rec' : 'Unite file_rec', \ 'file_rec/async' : 'Unite file_rec/async', \ 'find' : 'Unite find', \ 'grep' : 'Unite grep', \ 'register' : 'Unite register', \ 'bookmark' : 'Unite bookmark', \ 'output' : 'Unite output', \ } function g:unite_source_menu_menus.mymenu.map(key, value) return { \ 'word' : a:key, 'kind' : 'command', \ 'action__command' : a:value, \ } endfunction
次のコマンドでメニューを実行できます
:Unite menu:mymenu
Uniteのさらにいくつかの例
CtrlPのようにファイルを検索する
:Unite file_rec/async
ack.vimのように検索
:Unite grep:.
yankring / yankstackのような検索履歴
let g:unite_source_history_yank_enable = 1 :Unite history/yank
LustyJugglerのようにバッファを切り替える
:Unite -quick-match buffer
プロジェクトページ