.idea/runConfigurations | ||
gradle/wrapper | ||
src | ||
.editorconfig | ||
.gitignore | ||
acejump.iml | ||
build.gradle.kts | ||
CHANGES.md | ||
gradlew | ||
gradlew.bat | ||
README.md | ||
settings.gradle.kts |
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 AceAction
(Ctrl+; by default) to activate AceJump. Type any 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. Target Mode can also be activated directly by pressing the shortcut for AceTargetAction
(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 line in the editor). Then jump to one by completing the tag.
Press the AceJump shortcut, followed by → to target the last, ← to target the first, or ↑, to target the first non-whitespace characters of every line in the editor.
AceJump tags are not case sensitive. Holding down Shift when typing the last tag character will select all text from the current cursor position to that destination.
Tips
-
Press Tab when searching to jump to the next group of matches in the editor.
-
If you make a mistake searching, just press Backspace to restart from scratch.
-
If no matches can be found on screen, AceJump will scroll to the next match it can find.
-
If there is only one tagged result, pressing Enter will jump to that result.
-
Keep typing! AceJump will accept multiple sequential characters before tag selection.
Installing
Install directly from the IDE, via File | Settings | Plugins | Browse Repositories... | 🔍 "AceJump".
Configuring
IdeaVim users can choose to activate AceJump with a single keystroke (f, F and g are arbitrary) by running:
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
To change the default keyboard shortcuts, open File | Settings | Keymap | 🔍 "AceJump" | AceJump | Enter⏎.
Building
To build AceJump, clone then run the Gradle task buildPlugin
:
git clone https://github.com/johnlindquist/AceJump && cd AceJump
./gradlew buildPlugin
The build artifact will be located in build/distributions/
.
Contributing
AceJump is supported by community members like you. Contributions are highly welcome!
If you would like to contribute, here are a few of the ways you can help improve AceJump:
To start IntelliJ IDEA CE with AceJump installed, run ./gradlew runIde -Project=$(pwd)
.
For documentation on plugin development, see the IntelliJ Platform SDK.
If you enjoy using AceJump, you might also enjoy reading the code.
Release notes
Please see here for a detailed list of changes.
Comparison
AceJump is inspired by prior work, but adds several improvements, including:
- Target mode: Jump and select an full word in one rapid motion.
- Real-time search: Type any string in the editor, and AceJump will highlight and tag matches as you type.
- Full text search: If a string is not visible on the screen, AceJump will scroll to the next occurrence.
- Smart tag rendering: Tags will occupy nearby whitespace if available, rather than block text.
- Keyboard-friendly tags: AceJump tries to minimize finger travel distance on QWERTY keyboards.
The following plugins have a similar UI for navigating text and web browsing:
Plugin | Application | Actively Maintained | Language |
---|---|---|---|
AceJump | IntelliJ Platform | ✅ | Kotlin |
ace-jump-mode | emacs | ❌ | Emacs Lisp |
EasyMotion | Vim | ❌ | Vimscript |
Sublime EasyMotion | Sublime | ✅ | Python |
AceJump | Sublime | ✅ | Python |
Jumpy | Atom | ✅ | CoffeeScript |
VSCodeVim | Visual Studio Code | ✅ | TypeScript |
AceJump | Visual Studio | ✅ | C# |
cVim | Chrome | ✅ | JavaScript |
SurfingKeys | Chrome | ✅ | JavaScript |
Vimium | Chrome | ✅ | CoffeeScript |
Vrome | Chrome | ❌ | CoffeeScript |
ViChrome | Chrome | ❌ | CoffeeScript |
VimFx | Firefox | ✅ | CoffeeScript |
Vimperator | Firefox | ✅ | JavaScript |
Pentadactyl | Firefox | ✅ | JavaScript |