A single char search, select, and jump
Kotlin

README.md

AceJump

AceJump is a plugin for the IntelliJ Platform that lets you jump to any symbol in the editor with just a few keystrokes. Press the keyboard shortcut for AceJump (Ctrl+; by default) to activate a tooltip overlay. Type any visible string in the editor, followed by one of illustrated tags, to jump its position:

Press the AceJump shortcut a second time before completing a tag to activate Target Mode. Once Target Mode is activated, jumping to a tag will select an entire word. You can also enter Target Mode directly by pressing the shortcut assigned to AceTargetMode (Ctrl+Alt+; by default).

Press the AceJump shortcut for line mode (Ctrl+Shift+; by default), to target the beginning, first non-whitespace characters, and end of every visible line in the editor). Then jump to one by completing the tag.

Press the AceJump shortcut, followed by , , , or , to target the last, first, or first non-whitespace characters of every visible line in the editor.

Press Shift when completing the jump to select all text from the current cursor position to the destination.

If you mistype a character while searching, just press Backspace to restart from scratch.

Installing

AceJump can be installed by the unzipping the contents of AceJump.zip into:

  • $HOME/.IdeaIC<Major Version>/config/plugins/ if you are using IntelliJ IDEA Community, or
  • $HOME/.IntellijIdea<Major Version>/config/plugins/ if you are using IntelliJ IDEA Ultimate

You can also install AceJump directly from the IDE, via File | Settings | Plugins | Browse Repositories... | 🔍 "AceJump".

Install

Configuring

If you are using IdeaVim, copy and paste the following command into your terminal to activate AceJump with a single keystroke (the keys f, F and g are user-configurable):

echo -e '

" Press `f` to activate AceJump
map f :action AceAction<CR>
" Press `F` to activate Target Mode
map F :action AceTargetAction<CR>
" Press `g` to activate Line Mode
map g :action AceLineAction<CR>

' >> ~/.ideavimrc

You can change the default keyboard shortcut via File | Settings | Keymap | 🔍 "AceJump" | AceJump | Enter⏎.

Keymap

Building

To build AceJump from the source, clone this repository and run ./gradlew buildPlugin.

Contributing

To start an instance of IntelliJ IDEA with AceJump installed, run ./gradlew runIdea.

History

  • 3.2.1 AceJump now synchronizes font style changes in real-time.
  • 3.2.0 Support Back/Forward navigation in the IntelliJ Platform.
  • 3.1.8 Fixes some errors that occur when the user closes an editor prematurely.
  • 3.1.6 Fixes a rare tag collision scenario and UninitializedPropertyAccess exception
  • 3.1.5 Allow users to enter target mode directly by pressing Ctrl+Alt+;
  • 3.1.4 Fixes the "Assertion Failed" exception popup
  • 3.1.3 Fixes an error affecting some users during startup.
  • 3.1.2 Fixes an Android Studio regression.
  • 3.1.1 Hotfix for broken target mode.
  • 3.1.0 Removes the search box, lots of small usability improvements.
  • 3.0.7 No longer tags "folded" regions and minor alignment adjustments.
  • 3.0.6 Fixes alignment issues, removes top and bottom alignments until there is a better way to visually differentiate adjacent tags.
  • 3.0.5 Hotfix for target mode.
  • 3.0.4 Adds "line mode" - press [Ctrl+Shift+;] to activate.
  • 3.0.3 Updates to tag placement and performance improvements.
  • 3.0.2 Fixes target mode and default shortcut activation for Mac users.
  • 3.0.1 Fixes target-mode issues affecting users with non-default shortcuts and adds support for Home/End.

3.0.0 Major rewrite of AceJump. Introducing:

  • Realtime search: Just type the word where you want to jump and AceJump will do the rest.
  • Smart tag placement: Tags now occupy nearby whitespace if available, rather than block text.
  • Keyboard-aware tagging: Tries to minimize finger travel distance on QWERTY keyboards.
  • Colorful highlighting: AceJump will now highlight the editor text, as you type.

Acknowledgements

  • Vimium - A Chrome plugin with a similar UI.
  • Vimperator - A Firefox plugin with a similar UI.
  • ace-jump-mode - An emacs plugin with a similar UI.