Any Jump.vim

Jump to any definition and references 👁 IDE madness without overhead 🚀
Alternatives To Any Jump.vim
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Any Jump.vim986
3 months ago25Vim Script
Jump to any definition and references 👁 IDE madness without overhead 🚀
Live Plugin646
3 months ago27apache-2.0Kotlin
IntelliJ plugin for writing IntelliJ plugins at runtime ⚡️
4 months ago87June 05, 202236mitJavaScript
Plain text file based note taking and knowledge base building tool, markdown editor, simple browser IDE.
3 months agolgpl-3.0C++
A Krunner Plugin which allows you to open your recent projects
Searchoverflow Intellij21
3 years agomitJava
IDE plugin to search code snippets, keywords or errors on StackOverflow, for all Jetbrains platforms
Docker Dotfiles18
2 years agoPython
A I3 desktop with Vim IDE editor and some terminal tools in docker container
5 years ago2mitJavaScript
MongoDB Web Search IDE
Mad Jenv13
6 months agomitJava
jEnv Plugin for Intellij IDE
5 years agoapache-2.0Shell
A fast and versatile code searching tool.
8 years agoC#
IDE and Debugger for Angelscript with Urho3D
Alternatives To Any Jump.vim
Select To Compare

Alternative Project Comparisons


— IDE madness without overhead for 40+ languages

Vim code inspection plugin for finding definitions⚒ and references/usages🔬.

Any-jump can be used with any language, but definitions search only available for supported languages. This is not a problem in general, so use any-jump freely on any code project.

Based on syntax rules for 40 languages and fast regexp engines like ripgrep and ag.

On screen: jumping through source code of Discourse project


  • nvim 0.4+ or vim 8.2
  • ripgrep 11.0.0+ or ag
  • some languages requires rg with PCRE2 support


via vim-plug:

Plug 'pechorin/any-jump.vim'


In normal or visual mode.

Just place you cursor on any variable/class/constant/name/symbol and press <leader>j or execute :AnyJump in normal mode. You can also use visual mode to select proper keyword (j also works in visual mode)

With :AnyJumpArg myKeyword command you can manually write what you want to be searched for.


  • keyword definitions: find files where keyword defined

  • keyword references/usages: find files where keyword used and referenced


Default global mappings for normal and visual modes:

" Normal mode: Jump to definition under cursor
nnoremap <leader>j :AnyJump<CR>

" Visual mode: jump to selected text in visual mode
xnoremap <leader>j :AnyJumpVisual<CR>

" Normal mode: open previous opened file (after jump)
nnoremap <leader>ab :AnyJumpBack<CR>

" Normal mode: open last closed search window again
nnoremap <leader>al :AnyJumpLastResults<CR>

Disabling default any-jump keybindings:

let g:any_jump_disable_default_keybindings = 1

Mappings for popup search window

o/<CR>     open
s          open in split
v          open in vsplit
t          open in new tab
p/<tab>    preview
q/x        exit
r          references
b          back to first result
T          group by file
a          load next N results
A          load all results
L          toggle results lists ui style


" Show line numbers in search rusults
let g:any_jump_list_numbers = 0

" Auto search references
let g:any_jump_references_enabled = 1

" Auto group results by filename
let g:any_jump_grouping_enabled = 0

" Amount of preview lines for each search result
let g:any_jump_preview_lines_count = 5

" Max search results, other results can be opened via [a]
let g:any_jump_max_search_results = 10

" Prefered search engine: rg or ag
let g:any_jump_search_prefered_engine = 'rg'

" Search results list styles:
" - 'filename_first'
" - 'filename_last'
let g:any_jump_results_ui_style = 'filename_first'

" Any-jump window size & position options
let g:any_jump_window_width_ratio  = 0.6
let g:any_jump_window_height_ratio = 0.6
let g:any_jump_window_top_offset   = 4

" Customize any-jump colors with extending default color scheme:
" let g:any_jump_colors = { "help": "Comment" }

" Or override all default colors
let g:any_jump_colors = {
      \"plain_text":         "Comment",
      \"preview":            "Comment",
      \"preview_keyword":    "Operator",
      \"heading_text":       "Function",
      \"heading_keyword":    "Identifier",
      \"group_text":         "Comment",
      \"group_name":         "Function",
      \"more_button":        "Operator",
      \"more_explain":       "Comment",
      \"result_line_number": "Comment",
      \"result_text":        "Statement",
      \"result_path":        "String",
      \"help":               "Comment"

" Disable default any-jump keybindings (default: 0)
let g:any_jump_disable_default_keybindings = 1

" Remove comments line from search results (default: 1)
let g:any_jump_remove_comments_from_results = 1

" Custom ignore files
" default is: ['*.tmp', '*.temp']
let g:any_jump_ignored_files = ['*.tmp', '*.temp']

" Search references only for current file type
" (default: false, so will find keyword in all filetypes)
let g:any_jump_references_only_for_current_filetype = 0

" Disable search engine ignore vcs untracked files
" (default: false, search engine will ignore vcs untracked files)
let g:any_jump_disable_vcs_ignore = 0

Theme configuration

There are default theme configuration based on standard Vim highlight groups, you can override any setting:

let g:any_jump_colors = {
      \"plain_text":         "Comment",
      \"preview":            "Comment",
      \"preview_keyword":    "Operator",
      \"heading_text":       "Function",
      \"heading_keyword":    "Identifier",
      \"group_text":         "Comment",
      \"group_name":         "Function",
      \"more_button":        "Operator",
      \"more_explain":       "Comment",
      \"result_line_number": "Comment",
      \"result_text":        "Statement",
      \"result_path":        "String",
      \"help":               "Comment"

Background settings

You can set non-theme background by set Pmenu hl group like this:

hi Pmenu guibg=#1b1b1b ctermbg=Black

Where are also PmenuSel, PmenuSbar, PmenuThumb groups for configuring.


open definitions and references/usages list


preview definition with p or tab


group results by file


search results with line numbers


vim 8.2 inside terminal


Supported languages

  • apex
  • c++
  • clojure
  • coffeescript
  • commonlisp
  • coq
  • crystal
  • csharp
  • dart
  • elisp
  • elixir
  • erlang
  • faust
  • fennel
  • fortran
  • fsharp
  • go
  • groovy
  • haskell
  • hcl
  • java
  • javascript
  • julia
  • kotlin
  • lua
  • matlab
  • nim
  • nix
  • objc
  • ocaml
  • pascal
  • perl
  • php
  • protobuf
  • python
  • r
  • racket
  • ruby
  • rust
  • scad
  • scala
  • scheme
  • scss
  • shell
  • sml
  • solidity
  • sql
  • swift
  • systemverilog
  • tcl
  • tex
  • typescript
  • vala
  • vhdl
  • zig

Original idea

Comes from dumb-jump.el emacs package


Lang generator

You need ruby to run generator script which actually download language map, parse, extract data and then generate vim representation:

cd generator
bundle exec rake update

Issues and contributions

Please open issue on any question / problem / feedback / idea.

Guaranteed contribution feedback: 3-5 days, but it's stable.

 /~~||/~\\  /---   ||   ||/~\ /~\ |~~\
 \__||   |\/       | \_/||   |   ||__/
         _/     \__|              |
Popular Ide Projects
Popular Search Projects
Popular Integrated Development Environments Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.