28 plugins in category «Navigation»


AceJump allows you to quickly navigate the cursor to any position visible in the editor. See a demo of AceJump in action! Simply hit "ctrl+;", type a character, then type the matching character to Ace Jump.


Open Alternate File: i.e. jump from source to test file, maven resource, html file, properties file, etc... configured using regular expressions.

Usage: Just use [ALT][8] to popup all matching files (Mac OS: [CMD][ALT][8]).

Thanks to LeapingFrogs.com for the original plugin.


Allows to easily browse next/previous word at caret and highlight other appearances of selected word.

Usage: Browse with CTRL-ALT-UP, CTRL-ALT-DOWN (note: on default-keymap this shortcut is also for next/previous occurrence).


Quickly jump to any single character in the active document.


Porting some great extensions of emacs to Intellij IDEA. such as AceJump, CopyWithoutSelectAction. And new created EditWithoutSelection (Cut/Move/Replace without selection).


  • C-L 't' 'm' : Basic Word Jump | Type C-L, then type target char (eg. 't') to jump to, then type marker char (eg. 'm') to move caret.
  • C-J 't' 'm' : Basic Char Jump

AceJump, jump to special place

  • C-L ' ' 'm' : Jump to line end or start. | To show marker on line end and line start, type space ' ' as target char
  • C-L ',' 'm' : Jump to symbol key | Show markers on .{}(|`/\;.{}()[]?_=-+'"!@#$%^&*)_=

Copy without selection:

  • C-c w : Copy word
  • C-c s : Copy string
  • C-c l : Copy line
  • C-c b : Copy block between balanced { and }
  • C-c q : Copy quoted, such as abcd in "abcd"
  • C-c a : Copy to line beginning
  • C-c A : Copy to file beginning
  • C-c e : Copy to line end
  • C-c E : Copy to file end
  • C-c p : Copy paragraph
  • C-c g : Copy paragraph group (e.g.: entire function including white lines)
  • C-c u : Copy to paragraph begining
  • C-c d : Copy to paragraph end
  • C-c ' ' (w | s | l | q | a | A | e | E | p | g | u | d | b) : Type one space to cut related area
  • C-c ' ' ' ' (w | s | l | q | a | A | e | E | p | g | u | d | b) : Type two space to select related area

Replace target (word | line | paragraph) with text at current caret:

  • C-i C-w 't' 'm' : replace target word
  • C-i C-s 't' 'm' : replace target string
  • C-i C-l 't' 'm' : replace target line
  • C-i C-b 't' 'm' : replace target block
  • C-i C-q 't' 'm' : replace target quote
  • C-i C-a 't' 'm' : replace target to line begining
  • C-i C-e 't' 'm' : replace target char to line end
  • C-i C-p 't' 'm' : replace target paragraph
  • C-i C-g 't' 'm' : replace target paragraph group
  • C-i C-u 't' 'm' : replace target to paragraph beginning
  • C-i C-d 't' 'm' : replace target to paragraph end

Obtain target (word | line | paragraph), then replace text at current caret:

  • C-o C-w 't' 'm' : obtain target word, then replace current word
  • C-o C-s 't' 'm' : obtain target string, then replace current string
  • C-o C-l 't' 'm' : obtain target line, then replace current line
  • C-o C-b 't' 'm' : obtain target block
  • C-o C-q 't' 'm' : obtain target quote
  • C-o C-a 't' 'm' : obtain target to line beginning
  • C-o C-e 't' 'm' : obtain target char to line end
  • C-o C-p 't' 'm' : obtain target paragraph
  • C-o C-g 't' 'm' : obtain target paragraph group
  • C-o C-u 't' 'm' : obtain target to paragraph beginning
  • C-o C-d 't' 'm' : obtain target to paragraph end

Copy target (word | line | paragraph), then insert text at current caret:

  • C-w C-w 't' 'm' : Copy target word, then insert at current caret
  • C-w C-s 't' 'm' : Copy target string, then insert at current caret
  • C-w C-l 't' 'm' : Copy target line, then insert at current caret
  • C-w C-b 't' 'm' : Copy target block
  • C-w C-q 't' 'm' : Copy target quote
  • C-w C-a 't' 'm' : Copy target to line beginning
  • C-w C-e 't' 'm' : Copy target char to line end
  • C-w C-p 't' 'm' : Copy target paragraph
  • C-w C-g 't' 'm' : Copy target paragraph group
  • C-w C-u 't' 'm' : Copy target to paragraph beginning
  • C-w C-d 't' 'm' : Copy target to paragraph end

Cut target (word | line | paragraph), then insert text at current caret:

  • C-x C-w 't' 'm' : Cut target word, then insert at current caret
  • C-x C-s 't' 'm' : Cut target string, then insert at current caret
  • C-x C-l 't' 'm' : Cut target line, then insert at current caret
  • C-x C-b 't' 'm' : Cut target block
  • C-x C-q 't' 'm' : Cut target quote
  • C-x C-a 't' 'm' : Cut target to line beginning
  • C-x C-e 't' 'm' : Cut target char to line end
  • C-x C-p 't' 'm' : Cut target paragraph
  • C-x C-g 't' 'm' : Cut target paragraph group
  • C-x C-u 't' 'm' : Cut target to paragraph beginning
  • C-x C-d 't' 'm' : Cut target to paragraph end

Delete target (word | line | paragraph...)

  • C-d C-w 't' 'm' : delete target word
  • C-d C-s 't' 'm' : delete target string
  • C-d C-l 't' 'm' : delete target line
  • C-d C-b 't' 'm' : delete target block
  • C-d C-q 't' 'm' : delete target quote
  • C-d C-a 't' 'm' : delete target to line beginning
  • C-d C-e 't' 'm' : delete target char to line end
  • C-d C-p 't' 'm' : delete target paragraph
  • C-d C-g 't' 'm' : delete target paragraph group
  • C-d C-u 't' 'm' : delete target to paragraph beginning
  • C-d C-d 't' 'm' : delete target to paragraph end

Highlight symbol:

  • C-, : hightlight-symbol-prev | Jump to prev occurrence of symbol that around caret
  • C-. : hightlight-symbol-next | Jump to next occurrence of symbol that around caret

Just one space:

  • C-M-Space : Make just one space around caret by Ctrl-Cmd-Space.

Separate AceJump copy,cut,select command:

  • C-i C-c 't' 'm' : Copy jump area
  • | C-i C-c means type C-i then continue type C-c
  • C-i C-x 't' 'm' : Cut jump area
  • C-i C-i 't' 'm' : Select jump area
  • C-i C-f 't' 'm' : Basic Jump alias

Copy and Replace:

  • C-I C-R (w | s | l | q | a | A | e | E | p | g | u | d) 't' 'm' : copy current word/line/paragraph, jump, then replace target word/line/paragraph

File Search

Search for files by name anywhere on your computer.

Find Pull Request

This plugin find the pull request of the selected line. If there is no pull request for the line, then open Github commit page which the line is added.

GitHub | Issues

Frame Switcher

By meo
Plugin for more convenient switching between projects/frames/windows than is alt-tab or Window menu.
  • Switch or reopen a project - ALT + F2 (repeat for selecting a next item)
    • - Shift+Enter - reopen a project in the current window
    • - Ctrl+Enter - reopen a project in a new window
    • - Delete - removes a recent project from the history
  • Close projects - CTRL + ALT + F2

Or set your own shortcut in Settings | Keymap.

See File | Settings | Other Settings | FrameSwitcher for options like using mnemonics instead of speed search, max recent projects size and other...

(Big thanks to Eugene Mustaphin for contributions.)

Go To Project

Enables opening project windows with speed search


The plugin adds menu actions allowing you to go to a specific tab. You can of course assign keyboard shortcuts the individual actions and for example achieve the behavior known from other editors/IDEs where you can switch between tabs with alt+<num>.

To prevent any conflicts, the plugin doesn't assign any shortcuts by itself, you need to do it manually in the Keymap (section Main menu -> Window -> Editor Tabs -> Go To Tabs).


Preview project images as an icon in your project explorer. Helpful if you have a lot of icons in your project, IconViewer gives you a nice preview icon.
Bigger images are scaled to 16x16, supported are:
  • *.gif
  • *.png
  • *.bmp
  • *.jpg
  • *.jpeg
  • *.wbmp

Identifier Highlighter Reloaded

Gives you one-stroke way to navigate to next/previous identifier occurrence.
Use Shift+Alt+Up and Shift+Alt+Down (or assign your own shortcuts in Keymap) to navigate up and down to each identifier occurrence.
Make sure that these shortcuts are not mapped to e.g. "Move Line Up" and "Move Line Down" in Keymap.
Can be used with or without "Highlight usages of element at caret" enabled.
Source available at http://github.com/olegych/ih-reloaded.


Marks your files with counts from TODOs and DOITs. Makes your regions and GHERKIN pretty.


Enhances the project view with module libraries. Each module node in the tree now has a separate listing of its modules. The node "External libraries" is enhanced with the individual modules and their nodes. Please keep in mind that this is a bad hack to get back the old behaviour of IDEA 8.x. It might not work at all in your installation of IntelliJ.


Highlight identifiers with custom colors (like "Highlight Usages in File").

You can customize your highlight text style, it's helpful when reading source code.

Shortcut: ctrl+' or ⌘+' learn more

nice screenshot

nice screenshot

Navigate From Literal

Enables navigation from any string literal or xml attribute value or xml text to a file by name. I.e. Ctrl+B/Ctrl+Click at literal "myFile.txt" will try to navigate to a file named "myFile.txt", that is located in any project directory. For a literal like "some/path/to/file.txt" it will omit directories and try to resolve "file.txt" in all project directories. Back references (i.e. from files to literals) are ignored, this is by design.

Navigate to URL

Enables navigation from any matching string literal or xml attribute value or xml element text to a url defined by url rules.
This, for instance, makes a string anywhere in the code like "GD-123", when clicked, navigate to https://mysite.atlassian.net/browse/GD-123

To create url rules, create a file called navigate-url-plugin.properties at the root of any module.

Example "navigate-url-plugin.properties" file contents :

The source code uses code from the existing plugin: ishchenko/idea-navigate-from-literal.

TODO: Support the traditional configuration UI, if requested by plugin users. The author's use case is for a team where using the normal shared intellij plugin configuration isn't an option. Using a project config file instead provides the shared config automatically for all team members.

Open Commit On GitHub

This plugin add an editor popup menu. The menu opens GitHub page that the selected line is added.

Open in splitted tab

Inspired by the assistant-view in Xcode. Opens the declaration / implementation of the current selected symbol within a vertically splitted tab.

If there already is an splitted tab, it will use this. If not, it will open a new one. There are two actions available:

  • "Open in splitted tab": Mimics the behaviour of Xcode and opens the file always in the same tab.
  • "Open in splitted (new) tab": Always opens the file in a new tab.
The actions have no shortcuts assigned by default and only accessible by the "GoTo"-menu.


QuickJump allows you to quickly navigate the cursor to any position visible in the editor. Simply hit "ctrl+;" then start typing. Once options appear, hit Enter or the number key corresponding to the position where you want the cursor to move.
ctrl+; Jump Only
ctrl+shift+; Jump and Select
ctrl+alt+; Jump and Autocomplete

When Selecting Enter or #
ctrl+# New line after
ctrl+shift+# New line before
alt+# Space after
ctrl+alt+# Space Before


Railways is a plugin for RubyMine that makes navigation between route actions much quicker.
  • Displays routes of Ruby On Rails application/engine in a separate "Routes" panel
  • Adds quick navigation to action implementation from "Routes" panel or "Go to route action" popup available in code editor (invoked by **Ctrl + Shift + G**)
  • Provides quick routes filtering by route path, controller/action or route name
If you want to use Railways in IntelliJ IDEA, please use 'Railways for IDEA' plugin version.
Please feel free to report a bug or a suggestion on GitHub plugin page or via e-mail provided on the plugin page.

Remote call

IntelliJ IDEA plugin for remote call some procedures. At the moment it can open the files on http GET-request to localhost:8091 with "message" parameter looking like "FileName.java:89" or "any/path/FileName.java:89". In this case plugin will try to find the most appropriate file basing on the specified path in opened projects and navigate to it. By default sending requests is permitted from localhost only. You can change it in Settings | Remote Call. Listening port also can be configured in Settings.


By jesi

Awesome replacement for IDEA's 'Show directory in editor tabs for non-unique filenames'. If you have same named files in different directories this plugin will allow you to have directory names added to tab labels. It only shows path differences so if you have "blog/controllers/index" and "news/controllers/index" it will add either [blog] or [news]. In setting tab 'Tabdir' you can control how prefixes will be formatted.

Per-project configuration allow specify different formatting rules for each directory in project. To enable per-project configuration enable "Use per project configuration" checkbox(see screenshot №3) and reopen settings window(need close with Ok or Apply buttons). After this you will find 'Tabdir' configuration in project section(screenshot №4) in which different configurations can be specified.

Note: that you should turn off IDE Settings → Editor tabs → Show directory in editor tabs for non-unique filenames.


Shows file folder name in the tab if there are several files in the project with this name. It's useful for Django projects to distinguish files from different applications.


Open files/tabs switcher to quickly switch between tabs with less keystrokes than Recent Files. Open files are selected from a list in most recently used order, similarly to Alt+Tab in Windows or Ctrl-Tab in Opera. By default the action is mapped to Alt+A, but another popular assignment is CMD+E.

Thanks to Timur Zambalayev for the original plugin, Martin Fuhrer for a major contribution in the form of a rewrite and Mark Scott for patching a bug. Follow further development of this plugin on GitHub or follow me on twitter for announcements and other things.


Open files quickly by organizing them in seperate lists. The lists are defined by going to [Settings|TabSwitcher Extreme] and specifying regex patters for their (full) filenames, e.g.

.*xml for files ending with .xml
.*Activity_.* for files with "Activity_" in their name

(One list per line)

If any file is not matched by any of the regex patterns, a new list named "Other" is created, where it is then placed.

Initially the plugin binds under alt-A, but one might bind it under ctrl-tab as this is where the standard switcher is.
Usage: Hold alt, press A to activate the plugin. Keep holding alt while moving the selection around using arrow keys and pageup and pagedown.

Obviously, the plugin needs work, but it's functional. Plugin on github

Thanks to Bas Leijdekkers for the original plugin (github) this one is based off of.

Tasks Navigation

Provides navigation to tasks from comments. Quite simple feature, just searches for issue IDs.

Provides support for task id injection (using IntelliLang plugin) into any string, etc.
Injection allows to navigate to web (open task/issue in browser)
Also code completion for such injection elements provided. For more information about injections, see related documentation

Dependency on IntelliLang is optional, but highly recommended to install, since it provides nice features.

Transliterate Umlauts

This plugin is for projects which use German for naming their classes, symbols, and files but restrict the character set used for naming to ASCII. E.g. they would have classes like "Aenderungsauftrag" instead of "Änderungsauftrag". Finding something in such an environment becomes a hassle once the use of native characters is allowed, because now you may encounter both spellings and never know, if you just missed a class when searching by one spelling or the other.

This is where this plugin steps in. It will produce hits for both spellings, i.e. if the users entered "Änd" in the "navigate to class" field (CTRL+N), IDEA will produce both "Aenderungsauftrag" and "Änderungsauftrag". It also works vice versa with the restriction that this way around the translation is not unique, e.g. searching for "Kaesefondue" would not see the actual class "Käsefondue" because the plugin overdid its job.