CtrlP extension for fuzzy-search in tag matches (:tjump replacement).
Switch branches/tags
Nothing to show
Clone or download
Latest commit 154b5dc Mar 15, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
autoload/ctrlp Fix tag priority Nov 7, 2016
plugin Argument support for :CtrlPtjump Mar 7, 2016
CHANGELOG.md (fix) Syntax highlight when tag name is skipped Oct 27, 2015
README.md Update README.md Mar 14, 2018

README.md

CtrlP tjump

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 cursor
  • CtrlPtjumpVisual - go to declaration of the visual selected text

CtrlP tjump

Prerequisites

  1. CtrlP should be installed
  2. Tags should already work with :tag, :tselect and :tjump commands. More information on that here.

Installation

  1. Use your favorite method (I prefer Vundle)

  2. (Optional) Create mapping

    nnoremap <c-]> :CtrlPtjump<cr>
    vnoremap <c-]> :CtrlPtjumpVisual<cr>
    

Basic Usage

  1. Move cursor to the Class/Method usage in your code
  2. 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

Configuration

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

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Self-Promotion

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.