GithubHelp home page GithubHelp logo

qianchenglong / vim-ctrlp-tjump Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ivalkeen/vim-ctrlp-tjump

0.0 3.0 0.0 18 KB

CtrlP extension for fuzzy-search in tag matches (:tjump replacement).

Vim Script 100.00%

vim-ctrlp-tjump's Introduction

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.

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.

vim-ctrlp-tjump's People

Contributors

ivalkeen avatar konfekt avatar larrylv avatar noscript avatar tazimmerman avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.