CtrlP extension for fuzzy-search in tag matches.
May be used instead of :tjump
or :tselect
for IDE-like Goto declaration
functionality,
which jumps to the declaration in case of one match, and shows quick-search window in case of multiple matches.
Two vim commands are created by this plugin:
CtrlPtjump
- go to declaration of the identifier supplied as an argument, if not use the word under cursorCtrlPtjumpVisual
- go to declaration of the visual selected text
- CtrlP should be installed
- Tags should already work with
:tag
,:tselect
and:tjump
commands. More information on that here.
-
Use your favorite method (I prefer Vundle)
-
(Optional) Create mapping
nnoremap <c-]> :CtrlPtjump<cr> vnoremap <c-]> :CtrlPtjumpVisual<cr>
- Move cursor to the Class/Method usage in your code
- Press
c-]
(if you have created mapping) or just execute:CtrlPtjump
(or:CtrlPtjumpVisual
in visual mode) in the command line.
Or provide the symbol as an argument:
:CtrlPtjump MyFavoriteClass
It is possible to configure shortener for filenames, that will be displayed in
CtrlP window. In the example below, RegExp '/home/.*/gems/'
will be
substituted by string '.../'
. This may be useful if filename (with path) of
generated tag is long and you want to make it shorter.
let g:ctrlp_tjump_shortener = ['/home/.*/gems/', '.../']
If there is only one tag found, it is possible to open it without opening CtrlP window:
let g:ctrlp_tjump_only_silent = 1
The tag name itself takes valuable screen estate and can be disabled by:
let g:ctrlp_tjump_skip_tag_name = 1
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
If you like this project, please follow the repository on GitHub and vote for it on vim.org. Also, you might consider visiting my blog and following me on Twitter and Github.