Home

Awesome

Quicksilver

Quicksilver is a VIM plugin whose purpose is to quicken the process of opening files from inside VIM.

Preview

Video

Screenshot

Installation

Use pathogen and clone this repo into your ~/.vim/bundle directory.

Mappings

By default, <leader>q will activate the Quicksilver buffer and switch to insert mode. Typing any key will update the list of suggestions and pressing CR will open the first item in the suggestion list. Use C-c to quickly close the buffer.

To remap quicksilver to <leader>r you can add to following to your .vimrc file:

nmap <leader>r <Plug>ActivateQS

You may cycle through the suggestion list using Tab and S-Tab. CR will open the current suggestion (that's the first item in the list of matches).

If there is only one item in the suggestion list, pressing Tab will open that item.

Pressing CR when there is no pattern will go up a directory.

C-w clears the entire pattern. If there is no pattern, it will go up a directory.

C-t toggles whether or not to ignore filename character case. Case is ignored by default.

If a file with the given pattern does not exist then a new file will be opened for editing with the given pattern as its filename. If a pattern ends in /, quicksilver will create a new folder, change its CWD to that folder and remain in insert mode expecting a file name.

Matching

C-f turns on fuzzy matching. Fuzzy matching will match any filename that contains every character in the pattern in order. For example, the pattern rdm will match README but not REMADE.

C-n turns on normal matching. Normal matching will match any filename that contains the exact pattern within it. For example, the pattern foo will match foo and foob but not ofo or oof.

If you prefer fuzzy matching and would like Quicksilver to default to using it instead of normal matching then you can add let g:QSMatchFn = "fuzzy" to your .vimrc.

Patterns that start or end in a wildcard (*) are treated as glob patterns. For example, the pattern *.md will open all the files that have the extension .md in the CWD.

Other

It is possible to ignore certain items by setting a global variable g:QSIgnore that contains one or more regular expressions separated by a semicolon. For example, to ignore files with the .pyc extension and files with the .swp extension, one could add the following line to their .vimrc file:

let g:QSIgnore = ".*\.pyc$;.*\.swp$"

This feature was inspired by ombarg's fork.

Windows-specific

On Windows it is possible to switch partitions by using the QSChangeDrive command. Simply execute it (:QSChangeDrive<CR>) and you will be asked for a drive to change to.

Requirements