*fuf.jax* バッファ/ファイル/その他を、あいまい検索 Copyright (c) 2007-2009 Takeshi NISHIDA FuzzyFinder *fuzzyfinder* *fuf* 概要 |fuf-introduction| インストール |fuf-installation| 使い方 |fuf-usage| モード |fuf-modes| 詳細なトピック |fuf-detailed-topics| コマンド |fuf-commands| オプション |fuf-options| VIMRC の例 |fuf-vimrc-example| SPECIAL THANKS |fuf-thanks| CHANGELOG |fuf-changelog| あばうと |fuf-about| ============================================================================== 概要 *fuf-introduction* FuzzyFinder はバッファ/ファイル/コマンド/ブックマーク/タグに素早くアクセスする ための手段を提供します。入力されたパターンから変換されたあいまいパターンまたは 部分一致パターンで検索を行います。 入力パターン あいまいパターン 部分一致パターン ~ > abc *a*b*c* *abc* dir/file dir/*f*i*l*e* dir/*file* d*r/file d*r/*f*i*l*e* d*r/*file* ../**/s ../**/*s* ../**/*s* (** : 再帰検索) < 次のような場面で有用です: "./AhLongLongLongLongLongFile.txt" "./AhLongLongLongLongLongName.txt" "./OhLongLongLongLongLongFile.txt" "./OhLongLongLongLongLongName.txt" <- 欲しいファイル :-O "ON" と入力すれば "OhLongLongLongLongLongName.txt" が選択できます. :-D FuzzyFinder が検索できる対象は次の通りです: - バッファ - ファイル - ディレクトリ - 最近使ったファイル - 最近使ったコマンドライン - ブックマーク - タグ - タグファイルに含まれるファイル - ジャンプリスト - チェンジリスト - バッファの行 - quickfix - ヘルプ FuzzyFinder は ファイルを検索したりアイテムを選択するシステムを利用するための API も提供します。 FuzzyFinder はマルチバイト文字をサポートしています。 ============================================================================== インストール *fuf-installation* ZIPファイルをランタイムディレクトリに展開します。 以下のようにファイルが配置されるはずです。 > <ランタイムディレクトリ>/plugin/fuf.vim <ランタイムディレクトリ>/autoload/fuf.vim <ランタイムディレクトリ>/autoload/fuf/buffer.vim ... < もしランタイムディレクトリが他のプラグインとごた混ぜになるのが嫌なら、ファイル を新規ディレクトリに配置し、そのディレクトリのパスを 'runtimepath' に追加して ください。アンインストールも楽になります。 その後 FuzzyFinder のヘルプを有効にするためにタグファイルを更新してください。 詳しくは|add-local-help|を参照してください。 ============================================================================== 使い方 *fuf-usage* 次のコマンドで FuzzyFinder を起動します: コマンド モード ~ |:FufBuffer| - Buffer モード (|fuf-buffer-mode|) |:FufFile| - File モード (|fuf-file-mode|) |:FufDir| - Directory モード (|fuf-dir-mode|) |:FufMruFile| - MRU-File モード (|fuf-mrufile-mode|) |:FufMruCmd| - MRU-Command モード (|fuf-mrucmd-mode|) |:FufBookmark| - Bookmark モード (|fuf-bookmark-mode|) |:FufTag| - Tag モード (|fuf-tag-mode|) |:FufTaggedFile| - Tagged-File モード (|fuf-taggedfile-mode|) |:FufJumpList| - Jump-List モード (|fuf-jumplist-mode|) |:FufChangeList| - Change-List モード (|fuf-changelist-mode|) |:FufQuickfix| - Quickfix モード (|fuf-quickfix-mode|) |:FufLine| - Line モード (|fuf-line-mode|) |:FufHelp| - Help モード (|fuf-help-mode|) これらのコマンドを押しやすいキーにマッピングすることを推奨します。 これらのコマンドを実行するとパターンを入力するための1行のバッファを開き、イン サートモードを開始します。 FuzzyFinder は入力されたパターンにマッチするアイテムを検索し、それを補完メニュ ーに表示します。パターンマッチングの詳細は|fuf-search-patterns|を参照してくだ さい。 多くのアイテムがマッチングする場合、FuzzyFinder はレスポンスを向上させるために 列挙するアイテムの数(|g:fuf_enumeratingLimit|)を制限し、その際、入力されたパタ ーンを"Error" グループでハイライトします。 補完メニューの最初のアイテムは自動的に選択状態になります。 (|g:fuf_keyPrevPattern|) と (|g:fuf_keyNextPattern|) で、履歴から 過去に入力したパターンを呼び出すことができます。 いろいろな方法で、選択されたアイテムを開くことができます: (|g:fuf_keyOpen|) - 直前のウィンドウで開きます。 (|g:fuf_keyOpenSplit|) - ウィンドウを分割して開きます。 (|g:fuf_keyOpenVsplit|) - ウィンドウを垂直分割して開きます。 (|g:fuf_keyOpenTabpage|) - 別のタブページで開きます。 キャンセルして直前のウィンドウに戻るには、インサートモードを抜けてください。 (|g:fuf_keySwitchMatching|) で、検索方法をあいまいマッチングまたは 部分一致マッチングに交互に切り替えることができます。 (|g:fuf_keyNextMode|) と (|g:fuf_keyPrevMode|) で、インサートモー ドを抜けることなくカレントモードを切り替えることが出来ます。 いくつかのモードでは、選択されたアイテムを (|g:fuf_keyPreview|) でプレビ ューすることができます。同じアイテムでキーを繰り返すことで別の情報を表示させる ことができます。プレビューをサポートするモードを起動すると、コマンドラインの高 さが|g:fuf_previewHeight|になります。 ============================================================================== モード *fuf-modes* *fuf-buffer-mode* Buffer モード ~ このモードはバッファを選択して開くインターフェースを提供します。 *fuf-file-mode* File モード ~ このモードはファイルを検索して開くインターフェースを提供します。 *fuf-dir-mode* Directory モード ~ このモードはディレクトリを検索してカレントディレクトリを変更するインターフェー スを提供します。 *fuf-mrufile-mode* MRU-File モード ~ このモードは最近使ったファイルを選択して開くインターフェースを提供します。 |BufEnter| と |BufWritePost| で行う処理がパフォーマンス上の問題を起こしうるの で、デフォルトでは|g:fuf_modesDisable|で無効化するモードに指定されています。 *fuf-mrucmd-mode* MRU-Command モード ~ このモードは最近使ったコマンドラインを選択して開くインターフェースを提供します 。 このモードに必要な、コマンドラインモードの のマッピングに副作用があるので、 、デフォルトでは|g:fuf_modesDisable|で無効化するモードに指定されています。 *fuf-bookmark-mode* Bookmark モード ~ このモードは事前に追加したブックマークを選択してその行へジャンプするインターフ ェースを提供します。 |:FufAddBookmark|コマンドでカーソルのある行をブックマークに追加できます。この コマンドを実行すると、ブックマーク名の入力を求められます。 FuzzyFinder はジャンプする行番号を調整します。ブックマークされた行がブックマー クされたときのパターンとマッチしない場合、FuzzyFinder はブックマークされた位置 の周辺でマッチする行を探します。なのでブックマークした行が多少移動していたとし ても、そこでジャンプすることができます。ブックマークした行番号へ調整せずにジャ ンプしたい場合、|g:fuf_bookmark_searchRange|を 0 に設定してください。 Bookmark モード中に (|g:fuf_bookmark_keyDelete|) を押すと選択したブックマ ークを削除することができます。 *fuf-tag-mode* Tag モード ~ このモードはタグを選択してその定義へジャンプするインターフェースを提供します。 以下は を置き換えるマッピングです。 > noremap :FufTagWithCursorWord! < *fuf-taggedfile-mode* Tagged-File モード ~ このモードはタグファイルに含まれるファイルを選択して開くインターフェースを提供 します。 *fuf-jumplist-mode* Jump-List モード ~ このモードはカレントウィンドウの|jumplist|から選択した位置へジャンプするインタ ーフェースを提供します。 *fuf-changelist-mode* Change-List モード ~ このモードはカレントバッファの|changelist|から選択した位置へジャンプするインタ ーフェースを提供します。 *fuf-quickfix-mode* Quickfix モード ~ このモードは|quickfix|リストから選択した位置へジャンプするインターフェースを提 供します。 *fuf-line-mode* Line モード ~ このモードはカレントバッファの行を選択してジャンプするインターフェースを提供し ます。 *fuf-help-mode* Help モード ~ このモードはヘルプタグを選択してそのヘルプページへジャンプするインターフェース を提供します。 *fuf-givenfile-mode* Given-File モード ~ このモードは与えられたリストから選択されたファイルを開く API を提供します。 API 関数: > function fuf#givenfile#launch( \ initialPattern, partialMatching, prompt, items) < initialPattern - FuzzyFinder 起動直後に挿入される文字列 partialMatching - あいまい検索ではなく部分一致検索を行うか prompt - プロンプト文字列 items - アイテムのリスト 利用例: > " ドットファイルを開く call fuf#givenfile#launch('', 0, '>', split(glob('~/.*'), "\n")) < *fuf-givendir-mode* Given-Directory モード ~ このモードは与えられたリストから選択されたディレクトリにカレントディレクトリを 変更する API を提供します。 API 関数: > function fuf#givendir#launch( \ initialPattern, partialMatching, prompt, items) < initialPattern - FuzzyFinder 起動直後に挿入される文字列 partialMatching - あいまい検索ではなく部分一致検索を行うか prompt - プロンプト文字列 items - アイテムのリスト 利用例: > " ランタイムディレクトリのどれかをカレントディレクトリにする call fuf#givendir#launch('', 0, '>', split(&runtimepath, ',')) < *fuf-givencmd-mode* Given-Command モード ~ このモードは与えられたリストから選択されたコマンドを実行する API を提供します。 選択されたコマンドは feedkeys() によって実行されるので、ノーマルモードでの一連 のキー入力をエミュレートさせることも可能です。 API 関数: > function fuf#givencmd#launch( \ initialPattern, partialMatching, prompt, items) < initialPattern - FuzzyFinder 起動直後に挿入される文字列 partialMatching - あいまい検索ではなく部分一致検索を行うか prompt - プロンプト文字列 items - アイテムのリスト 利用例: > function GetAllCommands() redir => commands silent command redir END return map((split(commands, "\n")[3:]), \ '":" . matchstr(v:val, ''^....\zs\S*'')') endfunction " ユーザー定義コマンドを選択して実行 call fuf#givencmd#launch('', 0, '>', GetAllCommands()) < *fuf-callbackfile-mode* Callback-File モード ~ このモードはファイルを検索して選択されたファイルパスを得る API を提供します。 API 関数: > function fuf#callbackfile#launch( \ initialPattern, partialMatching, prompt, exclude, listener) < initialPattern - FuzzyFinder 起動直後に挿入される文字列 partialMatching - あいまい検索ではなく部分一致検索を行うか prompt - プロンプト文字列 exclude - 補完リストから除外したいアイテムの正規表現パターン listener - 'onComplete' と 'onAbort' を持つ|Dictionary|。これ らは FuzzyFinder 終了時に呼ばれます。 listener.onComplete(item, method) は選択が完了したと き、選択されたアイテム名とオープン方式番号の2引数と 共に呼ばれます。listener.onAbort() は選択を中止した ときに呼ばれます。 利用例: > let listener = {} function listener.onComplete(item, method) echo "Item: " . a:item . "\nMethod: " . a:method endfunction function listener.onAbort() echo "Abort" endfunction " カレントディレクトリからファイルを選択 call fuf#callbackfile#launch('', 0, '>', '', listener) " ホームディレクトリからファイルを選択 call fuf#callbackfile#launch('~/', 0, '>', '', listener) < *fuf-callbackitem-mode* Callback-Item モード ~ このモードは与えられたリストから選択されたアイテムを得るための API を提供しま す。 API 関数: > function fuf#callbackitem#launch( \ initialPattern, partialMatching, prompt, listener, items, forPath) < initialPattern - FuzzyFinder 起動直後に挿入される文字列 partialMatching - あいまい検索ではなく部分一致検索を行うか prompt - プロンプト文字列 listener - 'onComplete' と 'onAbort' を持つ|Dictionary|。これ らは FuzzyFinder 終了時に呼ばれます。 listener.onComplete(item, method) は選択が完了したと き、選択されたアイテム名とオープン方式番号の2引数と 共に呼ばれます。listener.onAbort() は選択を中止した ときに呼ばれます。 items - アイテムのリスト forPath - ファイル選択に特化したマッチングを利用するか 利用例: > let listener = {} function listener.onComplete(item, method) echo "Item: " . a:item . "\nMethod: " . a:method endfunction function listener.onAbort() echo "Abort" endfunction " 与えられたリストからアイテムを選択 call fuf#callbackitem#launch('', 0, '>', listener, ['ed', 'vi', 'vim'], 0) " 与えられたリストからファイルを選択 call fuf#callbackitem#launch('', 0, '>', listener, ['../foo/bar', 'baz'], 1) < ============================================================================== 詳細なトピック *fuf-detailed-topics* *fuf-search-patterns* 検索パターン ~ 検索パターンとして、一つのプライマリパターンと0個以上の絞り込みパターンを入力 することができます。入力パターンは ";" (|g:fuf_patternSeparator|) で区切られ、 最初のパターンがプライマリパターンになり、残りのパターンが絞り込みパターンにな ります。 > プライマリ 絞り込み 絞り込み |----------| |-------| |----| >MruFile>bookmark.vim;autoload/;/home/ < プライマリパターンにマッチしたアイテムのリストを別のパターンで絞り込むために、 絞り込みパターンを利用します。 プライマリパターンでは、あいまいマッチングと部分一致マッチングのうち、選択され た方を行います。絞り込みパターンでは、常に部分一致マッチングを行います。 絞り込みパターンとして数値を入力した場合、アイテムのインデックスに対しても マッチングします。 ファイルパスの静的な集合を対象とするモード (Buffer, MRU-File モードなど。File, Directory モードなどではない) で|g:fuf_splitPathMatching|が真の場合、プライマ リパターンのマッチングは head 部とtail 部に分けて行われます。 > head tail |------||-----| foo/bar/baz.vim あいまいマッチング例: +----------------+---------+---------+---------+ | item \ pattern | foo/bar | foo/ | bar | +----------------+---------+---------+---------+ | foo/bar | match | match | match | | foo/abc | unmatch | match | unmatch | | abc/bar | unmatch | unmatch | match | | foobar | unmatch | unmatch | match | | foooo/barrrr | match | match | match | | foooo/fooooo | unmatch | match | unmatch | +----------------+---------+---------+---------+ < 上記のケースで、絞り込みパターンはパス全体に対してマッチングできます。 *fuf-sorting-of-completion-items* 補完アイテムのソート ~ FuzzyFinder は幾つかのルールに従って補完アイテムをソートします。 パターン全体が一部分にぴったりマッチするアイテムは優先されます。例えば、パター ン "bc" ではアイテム "abc" は "bac" より優先されます。 このケースで、マッチする部分が先頭であるアイテムはそうでないアイテムより優先さ れます。例えばパターン "foo" ではアイテム "foobar" は"barfoo" より優先されます 。 マッチング位置より後の文字数が少ないほど優先されます。例えばパターン "bar" で はアイテム"foobar" は"foobarbaz"より優先されます。 単語の境界文字にだけマッチングするアイテムは優先されます。 例えば、パターン "fb" ではアイテム"fooBarBaz" や "foo_bar_baz" などが優先されます。 加えて、FuzzyFinder には学習システムがあります。現在のパターンで、過去に補完さ れたことのあるアイテムを優先します。 *fuf-reusing-window* 目的のバッファ/ファイルが開かれているウィンドウの再利用 ~ ウィンドウを分割してバッファ/ファイルを開くときに、現在のタブページでそれが開 かれているウィンドウが見つかった場合、そこへ移動します。別のタブページでバッフ ァ/ファイルを開くときに、他のタブページでそれが開かれているウィンドウが見つか った場合、そこへ移動します。 常にバッファ/ファイルを新ウィンドウで開きたい場合、'reuse_window'オプションで この機能を無効にすることができます。 *fuf-hiding-menu* 補完メニューの一時非表示 ~ で補完メニューを閉じることができます。また、で再度開くことがで きます。 *fuf-abbreviation* *fuf-multiple-search* 短縮入力及び複合検索 ~ |g:fuf_abbrevMap|を設定することで、全モードで短縮入力と複合検索が利用できます。 例えば次のように設定したとします: > let g:fuf_abbrevMap = { \ "^doc:" : [ \ "~/project/**/doc/", \ ".vim/doc/", \ ], \ } < そして File モードで "doc:txt" と入力すると、次の2つのパターンの検索結果を複合 します: "~/project/**/doc/*t*x*t*" ".vim/doc/*t*x*t*" *fuf-information-file* 情報ファイル ~ FuzzyFinder は補完統計、MRUデータ、ブックマークなどを |g:fuf_infoFile|に書き込みます。 :FufEditInfo コマンドは情報ファイルの編集を補助します。このコマンドを 実行すると、情報ファイルを無名バッファに読み込みます。:write などで書き込みを 行うと、情報ファイルを更新します。 *fuf-cache* キャッシュ ~ 一旦キャッシュが生成されると、レスポンスを向上させるため自動的には更新されませ ん。これを更新するには|:FufRenewCache|コマンドを実行してください。 *fuf-dot-sequence* ドット列で親ディレクトリへ移動 ~ ドット列を入力することで親ディレクトリを上がっていくことができます。パス区切り 文字直後のドット列は "../" の列に展開されます。 ドット列 展開パターン ~ /.. /../ /... /../../ /.... /../../../ *fuf-migemo* Migemo とは ~ 以下のページを参照してください。 - http://0xcc.net/migemo/ - http://www.kaoriya.net/#CMIGEMO ============================================================================== コマンド *fuf-commands* See also: |fuf-vimrc-example| *:FufBuffer* :FufBuffer [{pattern}] Buffer モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufFile* :FufFile [{pattern}] File モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufFileWithFullCwd* :FufFileWithFullCwd [{pattern}] カレントディレクトリのフルパスを初期パターンとする以外は|:FufFile|と同 じです。 *:FufFileWithCurrentBufferDir* :FufFileWithCurrentBufferDir [{pattern}] カレントバッファのディレクトリを初期パターンとする以外は|:FufFile|と同 じです。 *:FufDir* :FufDir [{pattern}] Directory モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufDirWithFullCwd* :FufDirWithFullCwd [{pattern}] カレントディレクトリのフルパスを初期パターンとする以外は|:FufDir|と同 じです。 *:FufDirWithCurrentBufferDir* :FufDirWithCurrentBufferDir [{pattern}] カレントバッファのディレクトリを初期パターンとする以外は|:FufDir|と同 じです。 *:FufMruFile* :FufMruFile [{pattern}] MRU-File モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufMruCmd* :FufMruCmd [{pattern}] MRU-Command モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufBookmark* :FufBookmark [{pattern}] Bookmark モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufTag* :FufTag [{pattern}] Tag モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufTagWithCursorWord* :FufTagWithCursorWord [{pattern}] カーソル下の単語を初期パターンとする以外は|:FufTag|と同じです。 *:FufTaggedFile* :FufTaggedFile [{pattern}] Tagged-File モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufJumpList* :FufJumpList [{pattern}] Jump-List モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufChangeList* :FufChangeList [{pattern}] Change-List モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufQuickfix* :FufQuickfix [{pattern}] Quickfix モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufLine* :FufLine [{pattern}] Line モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufHelp* :FufHelp[!] [{pattern}] Help モードを起動します。 ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ うになります。 FuzzyFinder 起動後に {pattern} が挿入されます。 *:FufEditInfo* :FufEditInfo 情報ファイルを編集するためのバッファを開きます。詳しくは |fuf-information-file|を参照してください。 *:FufAddBookmark* :FufAddBookmark [{name}] カーソル行をブックマークに追加します。詳しくは|fuf-adding-bookmark|を 参照してください。 *:FufAddBookmarkAsSelectedText* :FufAddBookmarkAsSelectedText 最後に選択されたテキストをブックマーク名とする以外は|:FufAddBookmark| と同じです。 *:FufRenewCache* :FufRenewCache 補完アイテムを作り直すためにキャッシュを削除します。詳しくは |fuf-cache|を参照してください。 ============================================================================== オプション *fuf-options* *fuf-options-for-all-modes* 全モード用 ~ *g:fuf_modesDisable* > let g:fuf_modesDisable = [ 'mrufile', 'mrucmd', ] < 無効にするモード名のリスト。これに含まれるモードは初期化されず、イベン トの処理も行われません。 *g:fuf_keyOpen* > let g:fuf_keyOpen = '' < 補完を確定し、バッファ/ファイルを直前のウィンドウで開くキー。 *g:fuf_keyOpenSplit* > let g:fuf_keyOpenSplit = '' < 補完を確定し、バッファ/ファイルを直前のウィンドウを分割して開くキー。 *g:fuf_keyOpenVsplit* > let g:fuf_keyOpenVsplit = '' < 補完を確定し、バッファ/ファイルを直前のウィンドウを垂直分割して開くキ ー。 *g:fuf_keyOpenTabpage* > let g:fuf_keyOpenTabpage = '' < 補完を確定し、バッファ/ファイルを別タブページ開くキー。 *g:fuf_keyPreview* > let g:fuf_keyPreview = '' < 選択されている補完アイテムの情報をコマンドライン領域に表示するキー。プ レビューをサポートするモードでのみ作用します。 *g:fuf_keyNextMode* > let g:fuf_keyNextMode = '' < 次のモードに切り替えるキー。 *g:fuf_keyPrevMode* > let g:fuf_keyPrevMode = '' < 前のモードに切り替えるキー。 *g:fuf_keyPrevPattern* > let g:fuf_keyPrevPattern = '' < 履歴から前の入力パターンを呼び出すキー。 *g:fuf_keyNextPattern* > let g:fuf_keyNextPattern = '' < 履歴から次の入力パターンを呼び出すキー。 *g:fuf_keySwitchMatching* > let g:fuf_keySwitchMatching = '' < あいまいマッチングと部分一致マッチングを切り替えるキー。 *g:fuf_infoFile* > let g:fuf_infoFile = '~/.vim-fuf' < 補完統計、MRUデータ、ブックマークなどを書き込むファイル。空文字列を設 定するとファイルへの書き込みは行われなくなります。 *g:fuf_abbrevMap* > let g:fuf_abbrevMap = {} < |Dictionary|型でそれぞれの値は|List|型です。入力されたテキストの、キー にマッチする部分が対応する値に展開されます。 *g:fuf_patternSeparator* > let g:fuf_patternSeparator = ';' < 入力パターンをプライマリパターンと絞り込みパターン列に区切る文字列。 *g:fuf_promptHighlight* > let g:fuf_promptHighlight = 'Question' < プロンプトをハイライトするグループ名。 *g:fuf_ignoreCase* > let g:fuf_ignoreCase = 1 < 真なら、大文字小文字を無視します。 *g:fuf_splitPathMatching* > let g:fuf_splitPathMatching = 1 < 真なら、プライマリパターンのマッチングは head 部とtail 部に分けて行わ れます。 See also: |fuf-search-patterns| *g:fuf_smartBs* > let g:fuf_smartBs = 1 < 真なら、パス区切り文字の直後で を入力するとディレクトリ名1つ分を 削除し、|g:fuf_patternSeparator|の直後で を入力するとパターン1つ分 を削除します。 *g:fuf_reuseWindow* > let g:fuf_reuseWindow = 1 < 真なら、すでに開かれているバッファを開くとき、目的のバッファを含むウィ ンドウを再利用します。 *g:fuf_timeFormat* > let g:fuf_timeFormat = '(%Y-%m-%d %H:%M:%S)' < アイテムが登録された日時の書式を設定します。書式の詳細は|strftime()|を 参照してください。 *g:fuf_learningLimit* > let g:fuf_learningLimit = 100 < 保持する補完統計データのモード毎の上限値です。 *g:fuf_enumeratingLimit* > let g:fuf_enumeratingLimit = 50 < レスポンスを向上させるため、補完アイテムの列挙をこの数に達した時点で打 ち切ります。 *g:fuf_maxMenuWidth* > let g:fuf_maxMenuWidth = 78 < 長い補完アイテムは、この長さに収まるよう省略して表示します。 *g:fuf_previewHeight* > let g:fuf_previewHeight = 5 < プレビューをサポートするモードを起動したとき、'cmdheight'がこの値に設 定されます。選択されている補完アイテムの情報がコマンドライン領域に表示 されます。0 ならプレビュー機能は無効になります。 *g:fuf_useMigemo* > let g:fuf_useMigemo = 0 < 真なら migemo を利用します。 *fuf-options-for-buffer-mode* Buffer モード用 ~ *g:fuf_buffer_prompt* > let g:fuf_buffer_prompt = '>Buffer[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_buffer_switchOrder* > let g:fuf_buffer_switchOrder = 10 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_buffer_mruOrder* > let g:fuf_buffer_mruOrder = 1 < 真なら、最後に使った時間順に補完アイテムをソートします。 *fuf-options-for-file-mode* File モード用 ~ *g:fuf_file_prompt* > let g:fuf_file_prompt = '>File[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_file_switchOrder* > let g:fuf_file_switchOrder = 20 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_file_exclude* > let g:fuf_file_exclude = '\v\~$|\.(o|exe|bak|swp)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])' < 補完リストから除外したいアイテムの正規表現パターン。 *fuf-options-for-dir-mode* Directory モード用 ~ *g:fuf_dir_prompt* > let g:fuf_dir_prompt = '>Dir[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_dir_switchOrder* > let g:fuf_dir_switchOrder = 30 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_dir_exclude* > let g:fuf_dir_exclude = '\v(^|[/\\])\.(hg|git|bzr)($|[/\\])' < 補完リストから除外したいアイテムの正規表現パターン。 *fuf-options-for-mrufile-mode* Mru-File モード用 ~ *g:fuf_mrufile_prompt* > let g:fuf_mrufile_prompt = '>Mru-File[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_mrufile_switchOrder* > let g:fuf_mrufile_switchOrder = 40 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_mrufile_exclude* > let g:fuf_mrufile_exclude = '\v\~$|\.(bak|sw[po])$|^(\/\/|\\\\|\/mnt\/|\/media\/)' < 補完リストから除外したいアイテムの正規表現パターン。 *g:fuf_mrufile_maxItem* > let g:fuf_mrufile_maxItem = 200 < 保持するMRUアイテムの上限値。 *fuf-options-for-mrucmd-mode* Mru-Cmd モード用 ~ *g:fuf_mrucmd_prompt* > let g:fuf_mrucmd_prompt = '>Mru-Cmd[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_mrucmd_switchOrder* > let g:fuf_mrucmd_switchOrder = 50 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_mrucmd_exclude* > let g:fuf_mrucmd_exclude = '^$' < 補完リストから除外したいアイテムの正規表現パターン。 *g:fuf_mrucmd_maxItem* > let g:fuf_mrucmd_maxItem = 200 < 保持するMRUアイテムの上限値。 *fuf-options-for-Bookmark-mode* Bookmark モード用 ~ *g:fuf_bookmark_prompt* > let g:fuf_bookmark_prompt = '>Bookmark[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_bookmark_switchOrder* > let g:fuf_bookmark_switchOrder = 60 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_bookmark_searchRange* > let g:fuf_bookmark_searchRange = 400 < ジャンプするとき、ブックマークした位置からこの行数の範囲内でブックマー クしたときのパターンとマッチする行を探します。 *g:fuf_bookmark_keyDelete* > let g:fuf_bookmark_keyDelete = '' < 選択したブックマークを削除するキー。 *fuf-options-for-tag-mode* Tag モード用 ~ *g:fuf_tag_prompt* > let g:fuf_tag_prompt = '>Tag[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_tag_switchOrder* > let g:fuf_tag_switchOrder = 70 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_tag_cache_dir* > let g:fuf_tag_cache_dir = '~/.vim-fuf-cache/tag' < このディレクトリ内にキャッシュファイルが作成されます。空文字列なら作成 されません。 *fuf-options-for-taggedfile-mode* Tagged-File モード用 ~ *g:fuf_taggedfile_prompt* > let g:fuf_taggedfile_prompt = '>Tagged-File[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_taggedfile_switchOrder* > let g:fuf_taggedfile_switchOrder = 80 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_taggedfile_cache_dir* > let g:fuf_taggedfile_cache_dir = '~/.vim-fuf-cache/taggedfile' < このディレクトリ内にキャッシュファイルが作成されます。空文字列なら作成 されません。 *fuf-options-for-jumplist-mode* Jump-List モード用 ~ *g:fuf_jumplist_prompt* > let g:fuf_jumplist_prompt = '>Jump-List[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_jumplist_switchOrder* > let g:fuf_jumplist_switchOrder = 90 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *fuf-options-for-changelist-mode* Change-List モード用 ~ *g:fuf_changelist_prompt* > let g:fuf_changelist_prompt = '>Change-List[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_changelist_switchOrder* > let g:fuf_changelist_switchOrder = 100 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *fuf-options-for-quickfix-mode* Quickfix モード用 ~ *g:fuf_quickfix_prompt* > let g:fuf_quickfix_prompt = '>Quickfix[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_quickfix_switchOrder* > let g:fuf_quickfix_switchOrder = 110 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *fuf-options-for-line-mode* Line モード用 ~ *g:fuf_line_prompt* > let g:fuf_line_prompt = '>Line[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_line_switchOrder* > let g:fuf_line_switchOrder = 120 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *fuf-options-for-help-mode* Help モード用 ~ *g:fuf_help_prompt* > let g:fuf_help_prompt = '>Help[]>' < プロンプト文字列。"[]" はインジケータに置換されます。 *g:fuf_help_switchOrder* > let g:fuf_help_switchOrder = 130 < 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード には切り替えません。 *g:fuf_help_cache_dir* > let g:fuf_help_cache_dir = '~/.vim-fuf-cache/help' < このディレクトリ内にキャッシュファイルが作成されます。空文字列なら作成 されません。 ============================================================================== vimrc の例 *fuf-vimrc-example* > let g:fuf_modesDisable = [] let g:fuf_abbrevMap = { \ '^vr:' : map(filter(split(&runtimepath, ','), 'v:val !~ "after$"'), 'v:val . ''/**/'''), \ '^m0:' : [ '/mnt/d/0/', '/mnt/j/0/' ], \ } let g:fuf_mrufile_maxItem = 300 let g:fuf_mrucmd_maxItem = 400 nnoremap :FufBuffer nnoremap :FufFileWithCurrentBufferDir nnoremap :FufFileWithFullCwd nnoremap p :FufFile nnoremap :FufDirWithCurrentBufferDir nnoremap d :FufDirWithFullCwd nnoremap D :FufDir nnoremap :FufMruFile nnoremap :FufMruCmd nnoremap :FufBookmark nnoremap :FufTag nnoremap t :FufTag! noremap g] :FufTagWithCursorWord! nnoremap :FufTaggedFile nnoremap :FufJumpList nnoremap :FufChangeList nnoremap :FufQuickfix nnoremap :FufLine nnoremap :FufHelp nnoremap :FufAddBookmark vnoremap :FufAddBookmarkAsSelectedText nnoremap :FufEditInfo nnoremap :FufRenewCache < ============================================================================== あばうと *fuf-about* *fuf-contact* *fuf-author* 作者: Takeshi NISHIDA ライセンス: MIT Licence URL: http://www.vim.org/scripts/script.php?script_id=1984 http://bitbucket.org/ns9tks/vim-fuzzyfinder/ バグや要望など ~ こちらへどうぞ: http://bitbucket.org/ns9tks/vim-fuzzyfinder/issues/ ============================================================================== vim:tw=78:ts=8:ft=help:norl: