| *fuf.txt* buffer/file/command/tag/etc explorer with fuzzy matching. |
| |
| Copyright (c) 2007-2010 Takeshi NISHIDA |
| |
| FuzzyFinder *fuzzyfinder* *fuf* |
| |
| INTRODUCTION |fuf-introduction| |
| INSTALLATION |fuf-installation| |
| USAGE |fuf-usage| |
| MODES |fuf-modes| |
| DETAILED TOPICS |fuf-detailed-topics| |
| COMMANDS |fuf-commands| |
| OPTIONS |fuf-options| |
| VIMRC EXAMPLE |fuf-vimrc-example| |
| SPECIAL THANKS |fuf-thanks| |
| CHANGELOG |fuf-changelog| |
| ABOUT |fuf-about| |
| |
| ============================================================================== |
| INTRODUCTION *fuf-introduction* |
| |
| FuzzyFinder provides convenient ways to quickly reach the |
| buffer/file/command/bookmark/tag you want. FuzzyFinder searches with the |
| fuzzy/partial pattern to which it converted an entered pattern. |
| |
| Entered pattern Fuzzy pattern Partial pattern ~ |
| > |
| 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* |
| (** allows searching a directory tree.) |
| < |
| You will be happy when: |
| |
| "./AhLongLongLongLongLongFile.txt" |
| "./AhLongLongLongLongLongName.txt" |
| "./OhLongLongLongLongLongFile.txt" |
| "./OhLongLongLongLongLongName.txt" <- you want :O |
| |
| Type "ON" and "OhLongLongLongLongLongName.txt" will be selected. :D |
| |
| FuzzyFinder can search: |
| |
| - buffers |
| - files |
| - directories |
| - most recently used files |
| - files around most recently used files |
| - most recently used command-lines |
| - bookmarked files |
| - bookmarked directories |
| - tags |
| - files which are included in current tagfiles |
| - jump list |
| - change list |
| - buffer lines |
| - quickfix |
| - help |
| |
| FuzzyFinder also provides APIs to use its system of searching files or |
| selecting items. |
| |
| FuzzyFinder supports multibyte characters. |
| |
| |
| ============================================================================== |
| INSTALLATION *fuf-installation* |
| |
| Put all files into your runtime directory. If you have the zip file, extract |
| it to your runtime directory. |
| |
| You should place the files as follows: |
| > |
| <your runtime directory>/plugin/fuf.vim |
| <your runtime directory>/doc/fuf.txt |
| ... |
| < |
| If you are disgusted to make your runtime directory confused with a lot of |
| plugins, put each of the plugins into a directory individually and just add |
| the directory path to 'runtimepath'. It's easy to uninstall plugins. |
| |
| Then update your help tags files to enable help for this plugin. See |
| |add-local-help| for details. |
| |
| Requirements: ~ |
| |
| - L9 library (vimscript #3252) |
| |
| |
| ============================================================================== |
| USAGE *fuf-usage* |
| |
| You can launch FuzzyFinder by the following commands: |
| |
| Command Mode ~ |
| |:FufBuffer| - Buffer mode (|fuf-buffer-mode|) |
| |:FufFile| - File mode (|fuf-file-mode|) |
| |:FufCoverageFile| - Coverage-File mode (|fuf-coveragefile-mode|) |
| |:FufDir| - Directory mode (|fuf-dir-mode|) |
| |:FufMruFile| - MRU-File mode (|fuf-mrufile-mode|) |
| |:FufMruCmd| - MRU-Command mode (|fuf-mrucmd-mode|) |
| |:FufBookmarkFile| - Bookmark-File mode (|fuf-bookmarkfile-mode|) |
| |:FufBookmarkDir| - Bookmark-Dir mode (|fuf-bookmarkdir-mode|) |
| |:FufTag| - Tag mode (|fuf-tag-mode|) |
| |:FufBufferTag| - Buffer-Tag mode (|fuf-buffertag-mode|) |
| |:FufTaggedFile| - Tagged-File mode (|fuf-taggedfile-mode|) |
| |:FufJumpList| - Jump-List mode (|fuf-jumplist-mode|) |
| |:FufChangeList| - Change-List mode (|fuf-changelist-mode|) |
| |:FufQuickfix| - Quickfix mode (|fuf-quickfix-mode|) |
| |:FufLine| - Line mode (|fuf-line-mode|) |
| |:FufHelp| - Help mode (|fuf-help-mode|) |
| |
| It is recommended to map these commands. |
| |
| These commands open 1-line buffer to enter search pattern and start insert |
| mode. |
| |
| FuzzyFinder searchs for matching items with an entered pattern and shows them |
| in a completion menu. For more details on pattern matching, see |
| |fuf-search-patterns|. |
| |
| If there are a lot of matching items, FuzzyFinder limits the number of |
| enumerating items (|g:fuf_enumeratingLimit|) to speed up a response time, and |
| highlights the pattern with "Error" group. |
| |
| The first item in the completion menu will be selected automatically. |
| |
| Typing <C-w> deletes one block of an entered pattern before the cursor, like a |
| directory name. |
| |
| with <C-s> (|g:fuf_keyPrevPattern|) and <C-^> (|g:fuf_keyNextPattern|), You |
| can recall patterns which have been entered before from history. |
| |
| You can open a selected item in various ways: |
| |
| <CR> (|g:fuf_keyOpen|) - opens in a previous window. |
| <C-j> (|g:fuf_keyOpenSplit|) - opens in a split window. |
| <C-k> (|g:fuf_keyOpenVsplit|) - opens in a vertical-split window. |
| <C-l> (|g:fuf_keyOpenTabpage|) - opens in a new tab page. |
| |
| To cancel and return to previous window, just leave Insert mode. |
| |
| With <C-\><C-\> (|g:fuf_keySwitchMatching|), You can switch search method |
| between fuzzy matching and partial matching. |
| |
| With <C-t> (|g:fuf_keyNextMode|) and <C-y> (|g:fuf_keyPrevMode|), You can |
| switch current mode without leaving Insert mode . |
| |
| You can preview selected item with <C-@> (|g:fuf_keyPreview|) in some modes. |
| Repeating the key on the same item shows another information. The height |
| of command-line area is changed to |g:fuf_previewHeight| when you launch a |
| mode supporting preview. This feature is available when |g:fuf_previewHeight| |
| is not 0. |
| |
| |
| ============================================================================== |
| MODES *fuf-modes* |
| |
| *fuf-buffer-mode* |
| Buffer mode ~ |
| |
| This mode provides an interface to select a buffer from a list of existing |
| buffers and open it. |
| |
| Press <C-]> (|g:fuf_buffer_keyDelete|) in this mode and selected buffer will |
| be deleted. |
| |
| *fuf-file-mode* |
| File mode ~ |
| |
| This mode provides an interface to search a file tree for a file and open it. |
| |
| *fuf-coveragefile-mode* |
| Coverage-File mode ~ |
| |
| This mode provides an interface to select a file from all files of a preset |
| coverage and open it. |
| |
| By default, This mode lists all files under the current working directory |
| recursively. (|g:fuf_coveragefile_globPatterns|) |
| |
| If you want to search other coverage, execute |FufCoverageFileRegister| |
| command to register new search coverage and |FufCoverageFileChange| command to |
| choose a search coverage and launch Coverage-File mode. |
| |
| In addition, there is another way to change a search coverage with |
| |fuf#setOneTimeVariables()| function. |
| |
| Example: search only .h and .c files: |
| > |
| call fuf#setOneTimeVariables(['g:fuf_coveragefile_globPatterns', ['**/*.h', '**/*.c']]) |
| \ | FufCoverageFile |
| < |
| Example: search your home directory in addition to the default coverage: |
| > |
| call fuf#setOneTimeVariables(['g:fuf_coveragefile_globPatterns', g:fuf_coveragefile_globPatterns + ['~/**/.*', '~/**/*']]) |
| \ | FufCoverageFile |
| < |
| |
| *fuf-dir-mode* |
| Directory mode ~ |
| |
| This mode provides an interface to search a file tree for a directory and |
| change the current directory. |
| |
| *fuf-mrufile-mode* |
| MRU-File mode ~ |
| |
| This mode provides an interface to select a file from the most recently used |
| files and open it. |
| |
| Press <C-]> (|g:fuf_mrufile_keyExpand|) in this mode and files around the most |
| recently used files are listed. Each time the key is pressed, the search range |
| are expanded one level along the directory tree upwardly/downwardly. |
| |
| This mode is set to disable by default (|g:fuf_modesDisable|) because |
| processes for this mode in |BufEnter| and |BufWritePost| could cause |
| Performance issue. |
| |
| See also: |FufMruFileInCwd| |
| |
| *fuf-mrucmd-mode* |
| MRU-Command mode ~ |
| |
| This mode provides an interface to select a command from the most recently |
| used commands and execute it. |
| |
| This mode is set to disable by default (|g:fuf_modesDisable|) because mapping |
| <CR> of Command-line mode required by this mode has side effects. |
| |
| *fuf-bookmarkfile-mode* |
| Bookmark-File mode ~ |
| |
| This mode provides an interface to select one of the bookmarks you have added |
| beforehand and jump there. |
| |
| You can add a cursor line to bookmarks by |:FufBookmarkFileAdd| command. |
| Execute that command and you will be prompted to enter a bookmark name. |
| |
| FuzzyFinder adjusts a line number for jump. If a line of bookmarked position |
| does not match to a pattern when the bookmark was added, FuzzyFinder searches |
| a matching line around bookmarked position. So you can jump to a bookmarked |
| line even if the line is out of bookmarked position. If you want to jump to |
| bookmarked line number without the adjustment, set |
| |g:fuf_bookmarkfile_searchRange| option to 0. |
| |
| Press <C-]> (|g:fuf_bookmarkfile_keyDelete|) in this mode and selected |
| bookmark will be deleted. |
| |
| *fuf-bookmarkdir-mode* |
| Bookmark-Dir mode ~ |
| |
| This mode provides an interface to select one of the bookmarks you have added |
| beforehand and change the current directory. |
| |
| You can add a directory to bookmarks by |:FufBookmarkDirAdd| command. Execute |
| that command and you will be prompted to enter a directory path and a |
| bookmark name. |
| |
| Press <C-]> (|g:fuf_bookmarkdir_keyDelete|) in this mode and selected bookmark |
| will be deleted. |
| |
| *fuf-tag-mode* |
| Tag mode ~ |
| |
| This mode provides an interface to select a tag and jump to the definition of |
| it. |
| |
| Following mapping is a replacement for <C-]>: |
| > |
| noremap <silent> <C-]> :FufTagWithCursorWord!<CR> |
| < |
| |
| *fuf-buffertag-mode* |
| Buffer-Tag mode ~ |
| |
| This mode provides an interface to select a tag of current buffer or all |
| buffers and jump to the definition of it. |
| |
| Tag list is instantly created when FuzzyFinder is launched, so there is no |
| need to make tags file in advance. |
| |
| |FufBufferTag| covers current buffer and |FufBufferTagAll| covers all buffers. |
| |
| Following mapping is a replacement for <C-]>: |
| > |
| nnoremap <silent> <C-]> :FufBufferTagWithCursorWord!<CR> |
| vnoremap <silent> <C-]> :FufBufferTagAllWithSelectedText!<CR> |
| < |
| or |
| > |
| nnoremap <silent> <C-]> :FufBufferTagAllWithCursorWord!<CR> |
| vnoremap <silent> <C-]> :FufBufferTagAllWithSelectedText!<CR> |
| < |
| This mode is inspired by taglist.vim (vimscript #273) and refered its codes. |
| |
| *fuf-taggedfile-mode* |
| Tagged-File mode ~ |
| |
| This mode provides an interface to select one of the files which are included |
| in current tagfiles and open it. |
| |
| *fuf-jumplist-mode* |
| Jump-List mode ~ |
| |
| This mode provides an interface to select one from the |jumplist| of the |
| current window and jump there. |
| |
| *fuf-changelist-mode* |
| Change-List mode ~ |
| |
| This mode provides an interface to select one from the |changelist| of the |
| current buffer and jump there. |
| |
| *fuf-quickfix-mode* |
| Quickfix mode ~ |
| |
| This mode provides an interface to select one from the |quickfix| list and |
| jump there. |
| |
| *fuf-line-mode* |
| Line mode ~ |
| |
| This mode provides an interface to select a line from current buffer and jump |
| there. |
| |
| *fuf-help-mode* |
| Help mode ~ |
| |
| This mode provides an interface to select a help tag and jump to the help |
| page. |
| |
| *fuf-givenfile-mode* |
| Given-File mode ~ |
| |
| This mode provides an API to open a selected file from a given list. |
| |
| API function: |
| > |
| function fuf#givenfile#launch( |
| \ initialPattern, partialMatching, prompt, items) |
| < |
| initialPattern - String which is inserted after launching |
| FuzzyFinder. |
| partialMatching - If non-zero, enable partial matching instead of |
| fuzzy matching. |
| prompt - Prompt string |
| items - List of items. |
| |
| Example of use: |
| > |
| " Open one of your dotfiles. |
| call fuf#givenfile#launch('', 0, '>', split(glob('~/.*'), "\n")) |
| < |
| |
| *fuf-givendir-mode* |
| Given-Directory mode ~ |
| |
| This mode provides an API to change current working directory to a selected |
| one from a given list. |
| |
| API function: |
| > |
| function fuf#givendir#launch( |
| \ initialPattern, partialMatching, prompt, items) |
| < |
| initialPattern - String which is inserted after launching |
| FuzzyFinder. |
| partialMatching - If non-zero, enable partial matching instead of |
| fuzzy matching. |
| prompt - Prompt string |
| items - List of items. |
| |
| |
| Example of use: |
| > |
| " Change current working directory to one of your runtime directory. |
| call fuf#givendir#launch('', 0, '>', split(&runtimepath, ',')) |
| < |
| |
| *fuf-givencmd-mode* |
| Given-Command mode ~ |
| |
| This mode provides an API to execute a selected command from a given list. |
| |
| A selected command is executed by |feedkeys()|, so it is able to emulate a |
| series of key input in Normal mode. |
| |
| API function: |
| > |
| function fuf#givencmd#launch( |
| \ initialPattern, partialMatching, prompt, items) |
| < |
| initialPattern - String which is inserted after launching |
| FuzzyFinder. |
| partialMatching - If non-zero, enable partial matching instead of |
| fuzzy matching. |
| prompt - Prompt string |
| items - List of items. |
| |
| |
| Example of use: |
| > |
| function GetAllCommands() |
| redir => commands |
| silent command |
| redir END |
| return map((split(commands, "\n")[3:]), |
| \ '":" . matchstr(v:val, ''^....\zs\S*'')') |
| endfunction |
| |
| " execute one of the user-defined commands |
| call fuf#givencmd#launch('', 0, '>', GetAllCommands()) |
| |
| < |
| |
| *fuf-callbackfile-mode* |
| Callback-File mode ~ |
| |
| This mode provides an API to find and get a file path which is selected by an |
| user. |
| |
| API function: |
| > |
| function fuf#callbackfile#launch( |
| \ initialPattern, partialMatching, prompt, exclude, listener) |
| < |
| initialPattern - String which is inserted after launching |
| FuzzyFinder. |
| partialMatching - If non-zero, enable partial matching instead of |
| fuzzy matching. |
| prompt - Prompt string. |
| exclude - Regexp pattern for items which you want to exclude |
| from completion list. |
| listener - |Dictionary| which has 'onComplete' and 'onAbort'. |
| They are called at the end of FuzzyFinder. |
| listener.onComplete(item, method) is called with 2 |
| arguments which are a name of selected item and a |
| number of open method when completed. |
| listener.onAbort() is called when aborted. |
| |
| Example of use: |
| > |
| let listener = {} |
| |
| function listener.onComplete(item, method) |
| echo "Item: " . a:item . "\nMethod: " . a:method |
| endfunction |
| |
| function listener.onAbort() |
| echo "Abort" |
| endfunction |
| |
| " Find a file from current working directory. |
| call fuf#callbackfile#launch('', 0, '>', '', listener) |
| |
| " Find a file from home directory. |
| call fuf#callbackfile#launch('~/', 0, '>', '', listener) |
| < |
| |
| *fuf-callbackitem-mode* |
| Callback-Item mode ~ |
| |
| This mode provides an API to get an item which is selected from a given list |
| by an user. |
| |
| API function: |
| > |
| function fuf#callbackitem#launch( |
| \ initialPattern, partialMatching, prompt, listener, items, forPath) |
| < |
| initialPattern - String which is inserted after launching |
| FuzzyFinder. |
| partialMatching - If non-zero, enable partial matching instead of |
| fuzzy matching. |
| prompt - Prompt string |
| listener - |Dictionary| which has 'onComplete' and 'onAbort'. |
| They are called at the end of FuzzyFinder. |
| listener.onComplete(item, method) is called with 2 |
| arguments which are a name of selected item and a |
| number of open method when completed. |
| listener.onAbort() is called when aborted. |
| items - List of items. |
| forPath - If non-zero, use a matching method for files. |
| |
| Example of use: |
| > |
| let listener = {} |
| |
| function listener.onComplete(item, method) |
| echo "Item: " . a:item . "\nMethod: " . a:method |
| endfunction |
| |
| function listener.onAbort() |
| echo "Abort" |
| endfunction |
| |
| " Select an item from a given list. |
| call fuf#callbackitem#launch('', 0, '>', listener, ['ed', 'vi', 'vim'], 0) |
| |
| " Select a file from a given list. |
| call fuf#callbackitem#launch('', 0, '>', listener, ['../foo/bar', 'baz'], 1) |
| < |
| |
| ============================================================================== |
| DETAILED TOPICS *fuf-detailed-topics* |
| |
| *fuf-setting-one-time-option* *fuf#setOneTimeVariables()* |
| Setting One-Time Options ~ |
| |
| If you want to set one-time options only for the next FuzzyFinder, |
| |fuf#setOneTimeVariables()| function will be of help. This function is used as |
| follows: |
| > |
| call fuf#setOneTimeVariables(['g:fuf_ignoreCase', 0], ['&lines', 50]) |
| < |
| This function takes 0 or more arguments and each of them is a pair of a |
| variable name and its value. Specified options will be set practically next |
| time FuzzyFinder is launched, and restored when FuzzyFinder is closed. |
| |
| *fuf-search-patterns* |
| Search Patterns ~ |
| |
| You can enter one primary pattern and zero or more refining patterns as search |
| patterns. An entered pattern is separated by ";" (|g:fuf_patternSeparator|), |
| and the first pattern is a primary pattern and the rest of patterns is a |
| refining pattern. |
| > |
| primary refining refining |
| |----------| |-------| |----| |
| >MruFile>bookmark.vim;autoload/;/home/ |
| < |
| A refining pattern is used to narrow down the list of matching items by |
| another pattern. |
| |
| With a primary pattern, FuzzyFinder does fuzzy matching or partial matching, |
| which you specified. With a refining pattern, FuzzyFinder does partial |
| matching by default. (|g:fuf_fuzzyRefining|) |
| |
| When you enter a number as refining pattern, it also can match the index of |
| each item. |
| |
| In a mode which targets a static set of file paths (such as Buffer or MRU-File |
| mode, not File or Directory) and |g:fuf_splitPathMatching| is non-zero, |
| matching with a primary pattern is divided into head part and tail part and |
| done individually. |
| > |
| head tail |
| |------||-----| |
| foo/bar/baz.vim |
| |
| fuzzy matching example: |
| +----------------+---------+---------+---------+ |
| | 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 | |
| +----------------+---------+---------+---------+ |
| < |
| refining pattern can match anywhere on each path in the above case. |
| |
| *fuf-sorting-of-completion-items* |
| Sorting Of Completion Items ~ |
| |
| FuzzyFinder sorts completion items with some rules. |
| |
| An item, one part of which is matched with a whole pattern, is placed upper. |
| E.g., with the pattern "bc", the item "abc" is placed upper than "bac". |
| |
| In the above case, items, each having matching part at the head of itself, are |
| placed upper than others. E.g., with the pattern "foo", the item "foobar" is |
| placed upper than "foobarbaz". |
| |
| And the shorter the length of the item after matching position puts it higher. |
| E.g., with the pattern "bar", the item "foobar" is placed upper than |
| "foobarbaz". |
| |
| If a pattern matches an item at only word boundaries of it, the item is placed |
| upper. E.g., with a pattern "fb", items such as "fooBarBaz" and "foo_bar_baz" |
| is placed upper. |
| |
| Plus, FuzzyFinder has a learning system. An item which has been completed in |
| the past with current pattern is placed upper. |
| |
| *fuf-reusing-window* |
| Reusing Of A Window Containing Target Buffer/File ~ |
| |
| If a window containing target buffer is found in current tab page when |
| FuzzyFinder is going to open the buffer in a split new window, move to it. If |
| a window containing target buffer is found in other tab page when FuzzyFinder |
| is going to open the buffer in a new tab page, move to it. |
| |
| You can disable that feature via 'reuse_window' options if always want to open |
| a buffer in a new window. |
| |
| *fuf-hiding-menu* |
| To Hide The Completion Menu Temporarily In FuzzyFinder ~ |
| |
| You can close it by <C-e> and reopen it by <C-x><C-o>. |
| |
| *fuf-abbreviation* *fuf-multiple-search* |
| Abbreviations And Multiple Search ~ |
| |
| You can use abbreviations and multiple search in all modes by setting |
| |g:fuf_abbrevMap| option. |
| |
| For example, set as below: |
| > |
| let g:fuf_abbrevMap = { |
| \ "^doc:" : [ |
| \ "~/project/**/doc/", |
| \ ".vim/doc/", |
| \ ], |
| \ } |
| < |
| and enter "doc:txt" in File mode, then FuzzyFinder searches by the following |
| patterns: |
| |
| "~/project/**/doc/*t*x*t*" |
| ".vim/doc/*t*x*t*" |
| |
| and show concatenated search results. |
| |
| *fuf-data-file* |
| Data File ~ |
| |
| FuzzyFinder writes completion statistics, MRU data, bookmark, etc to files |
| under |g:fuf_dataDir|. |
| |
| |:FufEditDataFile| command is helpful in editing your data files. This command |
| reads the data file in new unnamed buffer. Write the buffer and the data file |
| will be updated. |
| |
| *fuf-cache* |
| Cache ~ |
| |
| Once a cache was created, It is not automatically updated to speed up the |
| response time by default. To update it, use |:FufRenewCache| command. |
| |
| *fuf-dot-sequence* |
| Going Up Parent Directories With Dot Sequence ~ |
| |
| You can go up parent directories with entering dot sequence. Dot sequence |
| after a path separator is expanded to "../" sequence. |
| |
| Dot sequence Expanded pattern ~ |
| /.. /../ |
| /... /../../ |
| /.... /../../../ |
| |
| *fuf-how-to-add-mode* |
| How To Add Mode ~ |
| |
| To add "mymode" mode, put the source file at autoload/fuf/mymode.vim and call |
| fuf#addMode("mymode") . |
| |
| *fuf-migemo* |
| What Is Migemo ~ |
| |
| Migemo is a search method for Japanese language. |
| |
| |
| ============================================================================== |
| COMMANDS *fuf-commands* |
| |
| See also: |fuf-vimrc-example| |
| |
| *:FufBuffer* |
| :FufBuffer[!] [{pattern}] |
| Launchs Buffer mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufFile* |
| :FufFile[!] [{pattern}] |
| Launchs File mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufFileWithFullCwd* |
| :FufFileWithFullCwd[!] [{pattern}] |
| Is mostly the same as |:FufFile|, except that initial pattern is a |
| full path of current working directory. |
| |
| *:FufFileWithCurrentBufferDir* |
| :FufFileWithCurrentBufferDir[!] [{pattern}] |
| Is mostly the same as |:FufFile|, except that initial pattern is a |
| path of directory current buffer is in. |
| |
| *:FufCoverageFile* |
| :FufCoverageFile[!] [{pattern}] |
| Launchs Coverage-File mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufDir* |
| :FufDir[!] [{pattern}] |
| Launchs Directory mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufDirWithFullCwd* |
| :FufDirWithFullCwd[!] [{pattern}] |
| Is mostly the same as |:FufDir|, except that initial pattern is a full |
| path of current working directory. |
| |
| *:FufDirWithCurrentBufferDir* |
| :FufDirWithCurrentBufferDir[!] [{pattern}] |
| Is mostly the same as |:FufDir|, except that initial pattern is a path |
| of directory current buffer is in. |
| |
| *:FufMruFile* |
| :FufMruFile[!] [{pattern}] |
| Launchs MRU-File mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufMruFileInCwd* |
| :FufMruFileInCwd[!] [{pattern}] |
| Is mostly the same as |:FufMruFile|, except that files |
| only in current working directory are listed. |
| |
| *:FufMruCmd* |
| :FufMruCmd[!] [{pattern}] |
| Launchs MRU-Command mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufBookmarkFile* |
| :FufBookmarkFile[!] [{pattern}] |
| Launchs Bookmark-File mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufBookmarkDir* |
| :FufBookmarkDir[!] [{pattern}] |
| Launchs Bookmark-Dir mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufTag* |
| :FufTag[!] [{pattern}] |
| Launchs Tag mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufTagWithCursorWord* |
| :FufTagWithCursorWord[!] [{pattern}] |
| Is mostly the same as |:FufTag|, except that initial pattern is the |
| word under the cursor. |
| |
| *:FufBufferTag* |
| :FufBufferTag[!] [{pattern}] |
| Launchs Buffer-Tag mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufBufferTagAll* |
| :FufBufferTagAll[!] [{pattern}] |
| Is mostly the same as |:FufBufferTag|, except that tags are gathered |
| from all other buffers in addition to the current one. |
| |
| *:FufBufferTagWithCursorWord* |
| :FufBufferTagWithCursorWord[!] [{pattern}] |
| Is mostly the same as |:FufBufferTag|, except that initial pattern is |
| the word under the cursor. |
| |
| *:FufBufferTagAllWithCursorWord* |
| :FufBufferTagAllWithCursorWord[!] [{pattern}] |
| Is mostly the same as |:FufBufferTagAll|, except that initial pattern |
| is the word under the cursor. |
| |
| *:FufBufferTagWithSelectedText* |
| :FufBufferTagWithSelectedText[!] [{pattern}] |
| Is mostly the same as |:FufBufferTag|, except that initial pattern is |
| the last selected text. |
| |
| *:FufBufferTagAllWithSelectedText* |
| :FufBufferTagAllWithSelectedText[!] [{pattern}] |
| Is mostly the same as |:FufBufferTagAll|, except that initial pattern |
| is the last selected text. |
| |
| *:FufTaggedFile* |
| :FufTaggedFile[!] [{pattern}] |
| Launchs Tagged-File mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufJumpList* |
| :FufJumpList[!] [{pattern}] |
| Launchs Jump-List mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufChangeList* |
| :FufChangeList[!] [{pattern}] |
| Launchs Change-List mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufQuickfix* |
| :FufQuickfix[!] [{pattern}] |
| Launchs Quickfix mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufLine* |
| :FufLine[!] [{pattern}] |
| Launchs Line mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufHelp* |
| :FufHelp[!] [{pattern}] |
| Launchs Help mode. |
| |
| If a command was executed with a ! modifier, it does partial matching |
| instead of fuzzy matching. |
| |
| {pattern} will be inserted after launching FuzzyFinder. |
| |
| *:FufEditDataFile* |
| :FufEditDataFile |
| Opens a buffer for editing your data files. See |fuf-data-file| for |
| details. |
| |
| *:FufCoverageFileRegister* |
| :FufCoverageFileRegister |
| Registers new search coverage to be searched in Coverage-File mode. |
| First, input glob patterns, like ~/* . You can add patterns unless |
| typing <Esc>. Next, input coverage name. |
| |
| See also: |glob()|, |fuf-coveragefile-mode| |
| |
| *:FufCoverageFileChange* |
| :FufCoverageFileChange [{name}] |
| Launchs Coverage-File mode with a chosen coverage, registered with |
| |FufCoverageFileRegister| command. |
| |
| If location name is given, the choise process will be skipped. |
| |
| See also: |fuf-coveragefile-mode| |
| |
| *:FufBookmarkFileAdd* |
| :FufBookmarkFileAdd [{name}] |
| Adds a cursor line to bookmarks. |
| |
| See also: |fuf-bookmarkfile-mode| |
| |
| *:FufBookmarkFileAddAsSelectedText* |
| :FufBookmarkFileAddAsSelectedText |
| Is mostly the same as |:FufBookmarkFileAdd|, except that initial |
| pattern is the last selected one. |
| |
| *:FufBookmarkDirAdd* |
| :FufBookmarkDirAdd [{name}] |
| Adds a directory to bookmarks. |
| |
| See also: |fuf-bookmarkdir-mode| |
| |
| *:FufRenewCache* |
| :FufRenewCache |
| Removes caches to renew completion items. See |fuf-cache| for details. |
| |
| |
| ============================================================================== |
| OPTIONS *fuf-options* |
| |
| *fuf-options-for-all-modes* |
| For All Modes ~ |
| |
| *g:fuf_modesDisable* > |
| let g:fuf_modesDisable = [ 'mrufile', 'mrucmd', ] |
| < |
| List of mode names to disable. |
| |
| Modes which are listed will never be initialized and never handle any |
| event. |
| |
| *g:fuf_keyOpen* > |
| let g:fuf_keyOpen = '<CR>' |
| < |
| Key mapped to select completion item or finish input and open a |
| buffer/file in previous window. |
| |
| *g:fuf_keyOpenSplit* > |
| let g:fuf_keyOpenSplit = '<C-j>' |
| < |
| Key mapped to select completion item or finish input and open a |
| buffer/file in split new window |
| |
| *g:fuf_keyOpenVsplit* > |
| let g:fuf_keyOpenVsplit = '<C-k>' |
| < |
| Key mapped to select completion item or finish input and open a |
| buffer/file in vertical-split new window. |
| |
| *g:fuf_keyOpenTabpage* > |
| let g:fuf_keyOpenTabpage = '<C-l>' |
| < |
| |
| Key mapped to select completion item or finish input and open a |
| buffer/file in a new tab page. |
| |
| *g:fuf_keyPreview* > |
| let g:fuf_keyPreview = '<C-@>' |
| < |
| |
| Key mapped to show information of selected completion item on |
| command-line area. This key makes sense only in modes supporting |
| preview. |
| |
| *g:fuf_keyNextMode* > |
| let g:fuf_keyNextMode = '<C-t>' |
| < |
| Key mapped to switch to next mode. |
| |
| *g:fuf_keyPrevMode* > |
| let g:fuf_keyPrevMode = '<C-y>' |
| < |
| Key mapped to switch to previous mode. |
| |
| *g:fuf_keyPrevPattern* > |
| let g:fuf_keyPrevPattern = '<C-s>' |
| < |
| Key mapped to recall previous entered patten from history. |
| |
| *g:fuf_keyNextPattern* > |
| let g:fuf_keyNextPattern = '<C-_>' |
| < |
| Key mapped to recall next entered patten from history. |
| |
| *g:fuf_keySwitchMatching* > |
| let g:fuf_keySwitchMatching = '<C-\><C-\>' |
| < |
| Key mapped to switch between fuzzy matching and partial matching. |
| |
| *g:fuf_dataDir* > |
| let g:fuf_dataDir = '~/.vim-fuf-data' |
| < |
| Directory path to which data files is put. If empty string, |
| FuzzyFinder does not write data files. |
| |
| *g:fuf_abbrevMap* > |
| let g:fuf_abbrevMap = {} |
| < |
| |Dictionary|. Each value must be a |List|. All matchs of a |
| key in entered text is expanded with the value. |
| |
| *g:fuf_patternSeparator* > |
| let g:fuf_patternSeparator = ';' |
| < |
| String which sparates a input pattern into a primary pattern and |
| refining patterns. |
| |
| *g:fuf_promptHighlight* > |
| let g:fuf_promptHighlight = 'Question' |
| < |
| a highlight group name for a prompt string. |
| |
| *g:fuf_ignoreCase* > |
| let g:fuf_ignoreCase = 1 |
| < |
| If non-zero, FuzzyFinder ignores case in search patterns. |
| |
| *g:fuf_splitPathMatching* > |
| let g:fuf_splitPathMatching = 1 |
| < |
| If non-zero, matching with a primary pattern is divided into head part |
| and tail part and done individually. |
| |
| See also: |fuf-search-patterns| |
| |
| *g:fuf_fuzzyRefining* > |
| let g:fuf_fuzzyRefining = 0 |
| < |
| If non-zero, fuzzy matching is done with refining pattern instead of |
| partial matching. |
| |
| See also: |fuf-search-patterns| |
| |
| *g:fuf_reuseWindow* > |
| let g:fuf_reuseWindow = 1 |
| < |
| If non-zero and when FuzzyFinder opens a buffer which has already been |
| opened, it reuses a window containing the target buffer. |
| |
| *g:fuf_timeFormat* > |
| let g:fuf_timeFormat = '(%Y-%m-%d %H:%M:%S)' |
| < |
| String to format time string. See |strftime()| for details. |
| |
| *g:fuf_learningLimit* > |
| let g:fuf_learningLimit = 100 |
| < |
| Ceiling for the number of completion statistics to be stored. |
| |
| *g:fuf_enumeratingLimit* > |
| let g:fuf_enumeratingLimit = 50 |
| < |
| To speed up the response time, FuzzyFinder ends enumerating completion |
| items when found over this. |
| |
| *g:fuf_maxMenuWidth* > |
| let g:fuf_maxMenuWidth = 78 |
| < |
| If a length of a completion item is more than this, it is snipped in |
| completion menu. |
| |
| *g:fuf_previewHeight* > |
| let g:fuf_previewHeight = 0 |
| < |
| 'cmdheight' is set to this when a mode supporting preview is launched. |
| Information of selected completion item will be shown on command-line |
| area. If zero, preview feature is disabled. |
| |
| *g:fuf_autoPreview* > |
| let g:fuf_autoPreview = 0 |
| < |
| If non-zero, previews will be shown automatically. |
| |
| *g:fuf_useMigemo* > |
| let g:fuf_useMigemo = 0 |
| < |
| If non-zero, FuzzyFinder uses Migemo. |
| |
| *fuf-options-for-buffer-mode* |
| For Buffer Mode ~ |
| |
| *g:fuf_buffer_prompt* > |
| let g:fuf_buffer_prompt = '>Buffer[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_buffer_switchOrder* > |
| let g:fuf_buffer_switchOrder = 10 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_buffer_mruOrder* > |
| let g:fuf_buffer_mruOrder = 1 |
| < |
| If non-zero, completion items is sorted in order of recently used. |
| |
| *g:fuf_buffer_keyDelete* > |
| let g:fuf_buffer_keyDelete = '<C-]>' |
| < |
| Key mapped to delete selected buffer. |
| |
| *fuf-options-for-file-mode* |
| For File Mode ~ |
| |
| *g:fuf_file_prompt* > |
| let g:fuf_file_prompt = '>File[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_file_switchOrder* > |
| let g:fuf_file_switchOrder = 20 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_file_exclude* > |
| let g:fuf_file_exclude = '\v\~$|\.(o|exe|dll|bak|orig|swp)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])' |
| < |
| Regexp pattern for items which you want to exclude from completion |
| list. |
| |
| *fuf-options-for-coveragefile-mode* |
| For Coverage-File Mode ~ |
| |
| *g:fuf_coveragefile_prompt* > |
| let g:fuf_coveragefile_prompt = '>CoverageFile[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_coveragefile_switchOrder* > |
| let g:fuf_coveragefile_switchOrder = 30 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_coveragefile_exclude* > |
| let g:fuf_coveragefile_exclude = '\v\~$|\.(o|exe|dll|bak|orig|swp)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])' |
| < |
| Regexp pattern for items which you want to exclude from completion |
| list. |
| |
| *g:fuf_coveragefile_globPatterns* > |
| let g:fuf_coveragefile_globPatterns = ['**/.*', '**/*'] |
| < |
| List of glob patterns to get file paths to be searched. |
| |
| See also: |glob()| |
| |
| *fuf-options-for-dir-mode* |
| For Directory Mode ~ |
| |
| *g:fuf_dir_prompt* > |
| let g:fuf_dir_prompt = '>Dir[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_dir_switchOrder* > |
| let g:fuf_dir_switchOrder = 40 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_dir_exclude* > |
| let g:fuf_dir_exclude = '\v(^|[/\\])\.(hg|git|bzr)($|[/\\])' |
| < |
| Regexp pattern for items which you want to exclude from completion |
| list. |
| |
| *fuf-options-for-mrufile-mode* |
| For MRU-File Mode ~ |
| |
| *g:fuf_mrufile_prompt* > |
| let g:fuf_mrufile_prompt = '>MRU-File[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_mrufile_switchOrder* > |
| let g:fuf_mrufile_switchOrder = 50 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_mrufile_exclude* > |
| let g:fuf_mrufile_exclude = '\v\~$|\.(o|exe|dll|bak|orig|sw[po])$|^(\/\/|\\\\|\/mnt\/|\/media\/)' |
| < |
| Regexp pattern for items which you want to exclude from completion |
| list. |
| |
| *g:fuf_mrufile_maxItem* > |
| let g:fuf_mrufile_maxItem = 200 |
| < |
| Ceiling for the number of MRU items to be stored. |
| |
| *g:fuf_mrufile_maxItemDir* > |
| let g:fuf_mrufile_maxItemDir = 50 |
| < |
| Ceiling for the number of parent directories of MRU items to be |
| stored, which are used for around search. |
| |
| *g:fuf_mrufile_keyExpand* > |
| let g:fuf_mrufile_keyExpand = '<C-]>' |
| < |
| Key mapped to expand search range. |
| |
| *fuf-options-for-mrucmd-mode* |
| For MRU-Cmd Mode ~ |
| |
| *g:fuf_mrucmd_prompt* > |
| let g:fuf_mrucmd_prompt = '>MRU-Cmd[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_mrucmd_switchOrder* > |
| let g:fuf_mrucmd_switchOrder = 60 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_mrucmd_exclude* > |
| let g:fuf_mrucmd_exclude = '^$' |
| < |
| Regexp pattern for items which you want to exclude from completion |
| list. |
| |
| *g:fuf_mrucmd_maxItem* > |
| let g:fuf_mrucmd_maxItem = 200 |
| < |
| This is the ceiling for the number of MRU items to be stored. |
| |
| *fuf-options-for-bookmarkfile-mode* |
| For Bookmark-File Mode ~ |
| |
| *g:fuf_bookmarkfile_prompt* > |
| let g:fuf_bookmarkfile_prompt = '>BookmarkFile[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_bookmarkfile_switchOrder* > |
| let g:fuf_bookmarkfile_switchOrder = 70 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_bookmarkfile_searchRange* > |
| let g:fuf_bookmarkfile_searchRange = 400 |
| < |
| Number of lines which FuzzyFinder searches a matching line from |
| bookmarked position within. |
| |
| *g:fuf_bookmarkfile_keyDelete* > |
| let g:fuf_bookmarkfile_keyDelete = '<C-]>' |
| < |
| Key mapped to delete selected bookmark. |
| |
| *fuf-options-for-bookmarkdir-mode* |
| For Bookmark-Dir Mode ~ |
| |
| *g:fuf_bookmarkdir_prompt* > |
| let g:fuf_bookmarkdir_prompt = '>BookmarkDir[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_bookmarkdir_switchOrder* > |
| let g:fuf_bookmarkdir_switchOrder = 80 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_bookmarkdir_keyDelete* > |
| let g:fuf_bookmarkdir_keyDelete = '<C-]>' |
| < |
| Key mapped to delete selected bookmark. |
| |
| *fuf-options-for-tag-mode* |
| For Tag Mode ~ |
| |
| *g:fuf_tag_prompt* > |
| let g:fuf_tag_prompt = '>Tag[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_tag_switchOrder* > |
| let g:fuf_tag_switchOrder = 90 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *fuf-options-for-buffertag-mode* |
| For Buffer-Tag Mode ~ |
| |
| *g:fuf_buffertag_prompt* > |
| let g:fuf_buffertag_prompt = '>Buffer-Tag[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_buffertag_switchOrder* > |
| let g:fuf_buffertag_switchOrder = 100 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *g:fuf_buffertag_ctagsPath* > |
| let g:fuf_buffertag_ctagsPath = 'ctags' |
| < |
| Executable file path of Ctags. |
| |
| *fuf-options-for-taggedfile-mode* |
| For Tagged-File Mode ~ |
| |
| *g:fuf_taggedfile_prompt* > |
| let g:fuf_taggedfile_prompt = '>Tagged-File[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_taggedfile_switchOrder* > |
| let g:fuf_taggedfile_switchOrder = 110 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *fuf-options-for-jumplist-mode* |
| For Jump-List Mode ~ |
| |
| *g:fuf_jumplist_prompt* > |
| let g:fuf_jumplist_prompt = '>Jump-List[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_jumplist_switchOrder* > |
| let g:fuf_jumplist_switchOrder = 120 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *fuf-options-for-changelist-mode* |
| For Change-List Mode ~ |
| |
| *g:fuf_changelist_prompt* > |
| let g:fuf_changelist_prompt = '>Change-List[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_changelist_switchOrder* > |
| let g:fuf_changelist_switchOrder = 130 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *fuf-options-for-quickfix-mode* |
| For Quickfix Mode ~ |
| |
| *g:fuf_quickfix_prompt* > |
| let g:fuf_quickfix_prompt = '>Quickfix[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_quickfix_switchOrder* > |
| let g:fuf_quickfix_switchOrder = 140 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *fuf-options-for-line-mode* |
| For Line Mode ~ |
| |
| *g:fuf_line_prompt* > |
| let g:fuf_line_prompt = '>Line[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_line_switchOrder* > |
| let g:fuf_line_switchOrder = 150 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| *fuf-options-for-help-mode* |
| For Help Mode ~ |
| |
| *g:fuf_help_prompt* > |
| let g:fuf_help_prompt = '>Help[]>' |
| < |
| Prompt string. "[]" will be substituted with indicators. |
| |
| *g:fuf_help_switchOrder* > |
| let g:fuf_help_switchOrder = 160 |
| < |
| Number of order for switching to the next/previous mode. If negative |
| number, Fuzzyfinder never switches to this mode. |
| |
| |
| ============================================================================== |
| VIMRC EXAMPLE *fuf-vimrc-example* |
| |
| > |
| let g:fuf_modesDisable = [] |
| let g:fuf_mrufile_maxItem = 400 |
| let g:fuf_mrucmd_maxItem = 400 |
| nnoremap <silent> sj :FufBuffer<CR> |
| nnoremap <silent> sk :FufFileWithCurrentBufferDir<CR> |
| nnoremap <silent> sK :FufFileWithFullCwd<CR> |
| nnoremap <silent> s<C-k> :FufFile<CR> |
| nnoremap <silent> sl :FufCoverageFileChange<CR> |
| nnoremap <silent> sL :FufCoverageFileChange<CR> |
| nnoremap <silent> s<C-l> :FufCoverageFileRegister<CR> |
| nnoremap <silent> sd :FufDirWithCurrentBufferDir<CR> |
| nnoremap <silent> sD :FufDirWithFullCwd<CR> |
| nnoremap <silent> s<C-d> :FufDir<CR> |
| nnoremap <silent> sn :FufMruFile<CR> |
| nnoremap <silent> sN :FufMruFileInCwd<CR> |
| nnoremap <silent> sm :FufMruCmd<CR> |
| nnoremap <silent> su :FufBookmarkFile<CR> |
| nnoremap <silent> s<C-u> :FufBookmarkFileAdd<CR> |
| vnoremap <silent> s<C-u> :FufBookmarkFileAddAsSelectedText<CR> |
| nnoremap <silent> si :FufBookmarkDir<CR> |
| nnoremap <silent> s<C-i> :FufBookmarkDirAdd<CR> |
| nnoremap <silent> st :FufTag<CR> |
| nnoremap <silent> sT :FufTag!<CR> |
| nnoremap <silent> s<C-]> :FufTagWithCursorWord!<CR> |
| nnoremap <silent> s, :FufBufferTag<CR> |
| nnoremap <silent> s< :FufBufferTag!<CR> |
| vnoremap <silent> s, :FufBufferTagWithSelectedText!<CR> |
| vnoremap <silent> s< :FufBufferTagWithSelectedText<CR> |
| nnoremap <silent> s} :FufBufferTagWithCursorWord!<CR> |
| nnoremap <silent> s. :FufBufferTagAll<CR> |
| nnoremap <silent> s> :FufBufferTagAll!<CR> |
| vnoremap <silent> s. :FufBufferTagAllWithSelectedText!<CR> |
| vnoremap <silent> s> :FufBufferTagAllWithSelectedText<CR> |
| nnoremap <silent> s] :FufBufferTagAllWithCursorWord!<CR> |
| nnoremap <silent> sg :FufTaggedFile<CR> |
| nnoremap <silent> sG :FufTaggedFile!<CR> |
| nnoremap <silent> so :FufJumpList<CR> |
| nnoremap <silent> sp :FufChangeList<CR> |
| nnoremap <silent> sq :FufQuickfix<CR> |
| nnoremap <silent> sy :FufLine<CR> |
| nnoremap <silent> sh :FufHelp<CR> |
| nnoremap <silent> se :FufEditDataFile<CR> |
| nnoremap <silent> sr :FufRenewCache<CR> |
| < |
| |
| ============================================================================== |
| SPECIAL THANKS *fuf-thanks* |
| |
| - Vincent Wang |
| - Ingo Karkat |
| - Nikolay Golubev |
| - Brian Doyle |
| - id:secondlife |
| - Nathan Neff |
| |
| |
| ============================================================================== |
| CHANGELOG *fuf-changelog* |
| |
| 4.2.2: |
| - Fixed a bug that unloaded buffers weren't covered by FufBufferTagAll. |
| |
| 4.2.1: |
| - Improved response of Buffer-Tag mode. |
| - Fixed a bug that buffers which had been opened weren't listed in |
| Coverage-File mode |
| - Fixed a bug that tag entries including tab characters weren't parsed |
| correctly in Coverage-File mode |
| |
| 4.2: |
| - L9 library (vimscript #3252) version 1.1 is required. |
| - Added Buffer-Tag mode, inspired by taglist.vim (vimscript #273). |
| - Added :FufMruFileInCwd command. |
| |
| 4.1.1: |
| - Fixed a bug causing a error in MRU-File mode. |
| |
| 4.1: |
| - Added Bookmark-Dir mode. |
| - Added Bookmark-File mode and removed Bookmark mode. |
| - Changed the filename to store data of Coverage-File mode, from |
| '~/.vim-fuf-data/coveragefile/items' to |
| '~/.vim-fuf-data/coveragefile/coverages' . |
| - Fixed a bug that floating point numbers weren't evaluated correctly and |
| caused errors on some non-English locales. |
| - Removed Around-MRU-File mode and integrated its feature to MRU-File mode. |
| |
| 4.0: |
| - From this version, L9 library (vimscript #3252) is required. |
| - Added Coverage-File mode for users wanting something like TextMate's |
| command-t. (But I've never used it.) |
| - Added Around-MRU-File mode. (Too slow. There is room for improvement.) |
| - Added new feature which deletes selected buffer with FuzzyFinder and |
| g:fuf_buffer_keyDelete option. |
| - Added new feature which allows to set one-time options/variables with |
| fuf#setOneTimeVariables() function. |
| - Added g:fuf_dataDir option and removed g:fuf_infoFile, |
| g:g:fuf_tag_cache_dir, g:fuf_taggedfile_cache_dir, and |
| g:fuf_help_cache_dir options. |
| - Added :FufEditDataFile command and removed :FufEditInfo command. |
| - Added g:fuf_fuzzyRefining option. |
| - Added new feature which is auto-preview and g:fuf_autoPreview option. |
| - Changed the default value of g:fuf_previewHeight to 0 in order to disable |
| preview feature. There is an unfixable problem which is caused by a Vim's |
| bug. |
| - Changed the default value of g:fuf_modesDisable option. |
| - Changed the default value of g:fuf_*_switchOrder options. |
| - Improved speed of changing buffers. |
| - Improved the way to add user-defined mode. |
| - Fixed a bug that FuzzyFinder caused reseting window layout. |
| - Removed g:fuf_smartBs option. Use <C-w> instead. |
| |
| 3.5: |
| - Added Line mode. |
| - Added Help mode. |
| - Added key mapping to switch between fuzzy matching and partial matching. |
| - Changed the default values of g:fuf_file_exclude for ignoring "*.dll". |
| - Changed Tag mode and Tagged-File mode to cache parsed data to files in |
| "~/.vim-fuf-cache/". |
| - Fixed a bug that repeating preview key produced no effect. |
| - Fixed a bug that File mode and Directory mode didn't list items in a |
| directory whose name includes uppercase characters. (Thanks, ryo7000) |
| |
| 3.4: |
| - Added new feature which makes it possible to preview selected completion |
| item. |
| - Changed matching rules and added g:fuf_splitPathMatching. |
| - Changed sorting rules. |
| - Changed the default values of g:fuf_file_exclude and g:fuf_dir_exclude in |
| order to ignore ".hg", ".git", and ".bzr" directories. |
| - Changed the default value of g:fuf_mrufile_exclude in order to ignore |
| network files (\\*) on Windows and ignore /mnt/* and /media/* on Unix like |
| systems. |
| - Fixed a bug that an exclude pattern of File, Dir, and Callback-File mode |
| can't be changed. |
| |
| 3.3: |
| - Added Jump-List mode, Change-List mode, and Quickfix mode which enable |
| jumps with jump list, change list, and quickfix list. |
| - Added new feature which deletes selected bookmark with FuzzyFinder and |
| g:fuf_bookmark_keyDelete option. |
| - Changed default values of g:fuf_keyPrevPattern. |
| - Changed to show error message when incompatible with a installed vim. |
| |
| 3.2: |
| - Added g:fuf_promptHighlight option to integrate such options for each |
| mode. |
| - Changed APIs of Given-File, Given-Directory, Given-Command, Callback-File, |
| and Callback-Item modes to be able to set a prompt string. |
| - Changed default values of g:fuf_keyPrevPattern and g:fuf_keyNextPattern. |
| - Fixed a bug that MRU-File data was not updated When a file was opened with |
| FuzzyFinder. |
| - Fixed a bug with scoring matchings for sorting. Thanks to Vincent. |
| - Brought back the removed feature which is switching to an other mode in |
| FuzzyFinder. |
| |
| 3.1: |
| - Added new feature to recall patterns which have been entered before from |
| history. |
| |
| 3.0: |
| - Redesigned the whole plugin for improvements of maintainability and |
| performance. "fuzzyfinder" is abbreviated to "fuf" in the sorce code and |
| filenames. All commands and options are renamed. |
| - Added new feature which is refining pattern. |
| - Improved the rules for sorting completion items. Thanks to the suggestion |
| by Nathan, the rule for boundary matching was implemented. |
| - Changed to open one line buffer of FuzzyFinder with :topleft command |
| instead of :leftabove. The window will alway appear at the top and occupy |
| the full with of the vim window. Thanks to Jan Christoph. |
| - Changed default filename of information file. |
| - Changed MRU-File mode and MRU-Command mode to be disabled by default |
| due to performance and side effect issues. |
| - Removed the feature which is switching to an other mode in FuzzyFinder. |
| - Removed the feature which is temporarily switching 'ignorecase' in |
| FuzzyFinder. |
| |
| 2.22.3: |
| - Fixed a bug that Fuzzyfinder could not open files with '$' in the name on |
| Windows. |
| |
| 2.22.2: |
| - Changed to consider a length of a date/time string when abbreviates long |
| completion items. |
| - Fixed a bug that '**/' pattern did not search for files directly under the |
| current working directory in File mode. Thanks to Martin for reporting. |
| |
| 2.22.1: |
| - Fixed a bug that Fuzzyfinder could not expand abbreviations to patterns |
| including '\' correctly. |
| - Fixed to show item number in Given-File, Given-Directory, and |
| Given-Command mode. |
| |
| 2.22.0: |
| - More improved the abbreviation method for long completion items. |
| - Added Given-File mode for third-party script to select a file from a given |
| list and open. |
| - Added Given-Directory mode for third-party script to select a directory |
| from a given list and change current working directory to it. |
| - Added Given-Command mode for third-party script to select a command from a |
| given list and execute. |
| - Changed ways to launch Callback-File mode and Callback-item mode. |
| |
| 2.21.0: |
| - Improved a method of trimming long completion items. Thanks to Andy, |
| pyrhockz, and Nathan. |
| - Changed not to map command-line <CR> for MRU-Command mode if |
| g:FuzzyFinderOptions.MruCmd.mode_available is set 0 before loading |
| fuzzyfinder.vim. |
| - Added Callback-File mode and Callback-Item mode for third-party script to |
| find a file/directory or an item from a given list using Fuzzyfinder. |
| - Changed not to append ".." to a completion menu in File/Directory mode. |
| Use dot sequence feature. |
| - Changed default value of g:FuzzyFinderOptions.File.excluded_path option. |
| - Changed default value of g:FuzzyFinderOptions.Dir.excluded_path option. |
| - Fixed a bug that couldn't jump to a tag. Thanks to Thinca. |
| |
| 2.20: |
| - Added help files which are doc/fuzzyfinder.txt and doc/fuzzyfinder.jax. |
| - Fixed a bug that an error occurs if current directory included spaces. |
| Thanks id:cho45 and id:secondlife. |
| - Implemented a feature to reuse a window containing target buffer. |
| - Added g:FuzzyFinderOptions.Buffer.reuse_window option. |
| - Added g:FuzzyFinderOptions.File.reuse_window option. |
| - Added g:FuzzyFinderOptions.MruFile.reuse_window option. |
| - Added g:FuzzyFinderOptions.Bookmark.reuse_window option. |
| - Added g:FuzzyFinderOptions.TaggedFile.reuse_window option. |
| - Changed to use 'omnifunc' instead of 'completefunc'. Now you can use <C-u> |
| to delete all entered characters. |
| - Changed default value of g:FuzzyFinderOptions.Base.key_open_tab option. |
| - Changed default value of g:FuzzyFinderOptions.Base.key_next_mode option. |
| - Changed default value of g:FuzzyFinderOptions.Base.key_prev_mode option. |
| - Changed default value of g:FuzzyFinderOptions.Base.key_ignore_case option. |
| - Changed to truncate long completion items from the head instead of tail. |
| - Added g:FuzzyFinderOptions.Base.max_menu_width option instead of |
| g:FuzzyFinderOptions.Base.trim_length option. |
| - Added :FuzzyFinderFileWithFullCwd command. |
| - Added :FuzzyFinderFileWithCurrentBufferDir command. |
| - Added :FuzzyFinderDirWithFullCwd command. |
| - Added :FuzzyFinderDirWithCurrentBufferDir command. |
| - Added :FuzzyFinderTagWithCursorWord command. |
| - Renamed :FuzzyFinderRemoveCache command to :FuzzyFinderRenewCache. |
| |
| 2.19: |
| - Changed MRU-File mode that always formats completion items to be relative |
| to the home directory. |
| - Fixed a bug that a file was opened in an unintended window with Tag List |
| plugin. Thanks Alexey. |
| - Fixed a bug that garbage characters were entered when switched current |
| mode. Thanks id:lugecy. |
| |
| 2.18: |
| - Improved rules for the sorting of completion items. |
| - Changed not to learn a completion if an entered pattern is empty. |
| - Fixed a bug that Buffer mode did not work. Thanks ryo7000. |
| |
| 2.17: |
| - Introduced a learning system for the sorting of completion items. |
| - Added g:FuzzyFinderOptions.Base.learning_limit option. |
| - Changed the specification of the information file. Please remove your |
| information file for Fuzzyfinder. |
| |
| 2.16: |
| - Improved response time by caching in MRU-File mode. |
| - Fixed a bug in Bookmark mode that Fuzzyfinder did not jump to the |
| Bookmarked line number when Bookmarked pattern was not found. |
| |
| 2.15: |
| - Added Bookmark mode. |
| - Removed Favorite-file mode. Use Bookmark mode instead. |
| - Fixed not to record a entry of input() in MRU-Command mode. |
| |
| 2.14: |
| - Changed to show buffer status in Buffer mode. |
| - Fixed a bug that an error occurs when nonexistent buffer-name was entered |
| in Buffer mode. Thanks Maxim Kim. |
| - Added 'enumerating_limit' option. Thanks id:secondlife. |
| - Removed 'matching_limit' option. Use 'enumerating_limit' instead. |
| |
| 2.13: |
| - Fixed a bug that a directory disappeared when a file in that directory was |
| being opened in File/Mru-File mode. |
| |
| 2.12: |
| - Changed to be able to show completion items in the order of recently used |
| in Buffer mode. |
| - Added g:FuzzyFinderOptions.Buffer.mru_order option. |
| |
| 2.11: |
| - Changed that a dot sequence of entered pattern is expanded to parent |
| directories in File/Dir mode. |
| E.g.: "foo/...bar" -> "foo/../../bar" |
| - Fixed a bug that a prompt string was excessively inserted. |
| |
| 2.10: |
| - Changed not to show a current buffer in a completion menu. |
| - Fixed a bug that a filename to open was not been escaped. |
| - Added 'prompt' option. |
| - Added 'prompt_highlight' option. |
| - Removed g:FuzzyFinderOptions.MruFile.no_special_buffer option. |
| |
| 2.9: |
| - Enhanced <BS> behavior in Fuzzyfinder and added 'smart_bs' option. |
| - Fixed a bug that entered pattern was not been escaped. |
| - Fixed not to insert "zv" with "c/pattern<CR>" command in Normal mode. |
| - Avoid the slow down problem caused by filereadable() check for the MRU |
| information in BufEnter/BufWritePost. |
| |
| 2.8.1: |
| - Fixed a bug caused by the non-escaped buffer name "[Fuzzyfinder]". |
| - Fixed a command to open in a new tab page in Buffer mode. |
| 2.8: |
| - Added 'trim_length' option. |
| - Added 'switch_order' option. |
| - Fixed a bug that entered command did not become the newest in the history. |
| - Fixed a bug that folds could not open with <CR> in a command-line when |
| searching. |
| - Removed 'excluded_indicator' option. Now a completion list in Buffer mode |
| is the same as a result of :buffers. |
| |
| 2.7: |
| - Changed to find an item whose index is matched with the number suffixed |
| with entered pattern. |
| - Fixed the cache bug after changing current directory in File mode. |
| |
| 2.6.2: |
| - Fixed not to miss changes in options when updates the MRU information. |
| |
| 2.6.1: |
| - Fixed a bug related to floating-point support. |
| - Added support for GetLatestVimScripts. |
| |
| 2.6: |
| - Revived MRU-command mode. The problem with a command-line abbreviation was |
| solved. |
| - Changed the specification of the information file. |
| - Added :FuzzyFinderEditInfo command. |
| |
| 2.5.1: |
| - Fixed to be able to match "foo/./bar" by "foo/**/bar" in File mode. |
| - Fixed to be able to open a space-containing file in File mode. |
| - Fixed to honor the current working directory properly in File mode. |
| |
| 2.5: |
| - Fixed the bug that a wrong initial text is entered after switching to a |
| next mode. |
| - Fixed the bug that it does not return to previous window after leaving |
| Fuzzyfinder one. |
| |
| 2.4: |
| - Fixed the bug that Fuzzyfinder fails to open a file caused by auto-cd |
| plugin/script. |
| |
| 2.3: |
| - Added a key mapping to open items in a new tab page and |
| g:FuzzyFinderOptions.Base.key_open_tab option. |
| - Changed to show Fuzzyfinder window above last window even if 'splitbelow' |
| was set. |
| - Changed to set nocursorline and nocursorcolumn in Fuzzyfinder. |
| - Fixed not to push up a buffer number unlimitedly. |
| |
| 2.2: |
| - Added new feature, which is the partial matching. |
| - Fixed the bug that an error occurs when "'" was entered. |
| |
| 2.1: |
| - Restructured the option system AGAIN. Sorry :p |
| - Changed to inherit a typed text when switching a mode without leaving |
| Insert mode. |
| - Changed commands which launch explorers to be able to take a argument for |
| initial text. |
| - Changed to complete file names by relative path and not full path in the |
| buffer/mru-file/tagged-file mode. |
| - Changed to highlight a typed text when the completion item was not found |
| or the completion process was aborted. |
| - Changed to create caches for each tag file and not working directory in |
| the tag/tagged-file mode. |
| - Fixed the bug that the buffer mode couldn't open a unnamed buffer. |
| - Added 'matching_limit' option. |
| - Removed 'max_match' option. Use 'matching_limit' option instead. |
| - Removed 'initial_text' option. Use command argument instead. |
| - Removed the MRU-command mode. |
| |
| 2.0: |
| - Added the tag mode. |
| - Added the tagged-file mode. |
| - Added :FuzzyFinderRemoveCache command. |
| - Restructured the option system. many options are changed names or default |
| values of some options. |
| - Changed to hold and reuse caches of completion lists by default. |
| - Changed to set filetype 'fuzzyfinder'. |
| - Disabled the MRU-command mode by default because there are problems. |
| - Removed FuzzyFinderAddMode command. |
| |
| 1.5: |
| - Added the directory mode. |
| - Fixed the bug that it caused an error when switch a mode in Insert mode. |
| - Changed g:FuzzyFinder_KeySwitchMode type to a list. |
| |
| 1.4: |
| - Changed the specification of the information file. |
| - Added the MRU-commands mode. |
| - Renamed :FuzzyFinderAddFavorite command to :FuzzyFinderAddFavFile. |
| - Renamed g:FuzzyFinder_MruModeVars option to g:FuzzyFinder_MruFileModeVars. |
| - Renamed g:FuzzyFinder_FavoriteModeVars option to |
| g:FuzzyFinder_FavFileModeVars. |
| - Changed to show registered time of each item in MRU/favorite mode. |
| - Added 'timeFormat' option for MRU/favorite modes. |
| |
| 1.3: |
| - Fixed a handling of multi-byte characters. |
| |
| 1.2: |
| - Added support for Migemo. (Migemo is Japanese search method.) |
| |
| 1.1: |
| - Added the favorite mode. |
| - Added new features, which are abbreviations and multiple search. |
| - Added 'abbrevMap' option for each mode. |
| - Added g:FuzzyFinder_MruModeVars['ignoreSpecialBuffers'] option. |
| - Fixed the bug that it did not work correctly when a user have mapped <C-p> |
| or <Down>. |
| |
| 1.0: |
| - Added the MRU mode. |
| - Added commands to add and use original mode. |
| - Improved the sorting algorithm for completion items. |
| - Added 'initialInput' option to automatically insert a text at the |
| beginning of a mode. |
| - Changed that 'excludedPath' option works for the entire path. |
| - Renamed some options. |
| - Changed default values of some options. |
| - Packed the mode-specific options to dictionaries. |
| - Removed some options. |
| |
| 0.6: |
| - Fixed some bugs. |
| |
| 0.5: |
| - Improved response by aborting processing too many items. |
| - Changed to be able to open a buffer/file not only in previous window but |
| also in new window. |
| - Fixed a bug that recursive searching with '**' does not work. |
| - Added g:FuzzyFinder_CompletionItemLimit option. |
| - Added g:FuzzyFinder_KeyOpen option. |
| |
| 0.4: |
| - Improved response of the input. |
| - Improved the sorting algorithm for completion items. It is based on the |
| matching level. 1st is perfect matching, 2nd is prefix matching, and 3rd |
| is fuzzy matching. |
| - Added g:FuzzyFinder_ExcludePattern option. |
| - Removed g:FuzzyFinder_WildIgnore option. |
| - Removed g:FuzzyFinder_EchoPattern option. |
| - Removed g:FuzzyFinder_PathSeparator option. |
| - Changed the default value of g:FuzzyFinder_MinLengthFile from 1 to 0. |
| |
| 0.3: |
| - Added g:FuzzyFinder_IgnoreCase option. |
| - Added g:FuzzyFinder_KeyToggleIgnoreCase option. |
| - Added g:FuzzyFinder_EchoPattern option. |
| - Changed the open command in a buffer mode from ":edit" to ":buffer" to |
| avoid being reset cursor position. |
| - Changed the default value of g:FuzzyFinder_KeyToggleMode from <C-Space> to |
| <F12> because <C-Space> does not work on some CUI environments. |
| - Changed to avoid being loaded by Vim before 7.0. |
| - Fixed a bug with making a fuzzy pattern which has '\'. |
| |
| 0.2: |
| - A bug it does not work on Linux is fixed. |
| |
| 0.1: |
| - First release. |
| |
| |
| ============================================================================== |
| ABOUT *fuf-about* *fuf-contact* *fuf-author* |
| |
| Author: Takeshi NISHIDA <ns9tks@DELETE-ME.gmail.com> |
| Licence: MIT Licence |
| URL: http://www.vim.org/scripts/script.php?script_id=1984 |
| http://bitbucket.org/ns9tks/vim-fuzzyfinder/ |
| |
| Bugs/Issues/Suggestions/Improvements ~ |
| |
| Please submit to http://bitbucket.org/ns9tks/vim-fuzzyfinder/issues/ . |
| |
| ============================================================================== |
| vim:tw=78:ts=8:ft=help:norl: |