johnlindquist/AceJump: A single char search, select, and jump

951 阅读2分钟
原文链接: github.com

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

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

Keymap

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

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.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.
  • 2.0.13 Fix a regression affecting Target Mode and line-based navigation: github.com/johnlindqui…
  • 2.0.12 Fix ClassCastException when input letter not present: github.com/johnlindqui…
  • 2.0.11 One hundred percent all natural Kotlin.
  • 2.0.10 Support 2016.2, remove upper version limit, update internal Kotlin version
  • 2.0.9 Compile on Java 7 to address: github.com/johnlindqui…
  • 2.0.8 Compile on Java 6 to address: github.com/johnlindqui…
  • 2.0.7 Language update for Kotlin 1.0 release.
  • 2.0.6 Fixing "lost focus" bugs mentioned here: github.com/johnlindqui…
  • 2.0.5 Fixing "backspace" bugs mentioned here: github.com/johnlindqui…
  • 2.0.4 Fixing "code folding" bugs mentioned here: github.com/johnlindqui…
  • 2.0.3 More work on Ubuntu focus bug
  • 2.0.2 Fixed bug when there's only 1 search result
  • 2.0.1 Fixing Ubuntu focus bug
  • 2.0.0 Major release: Added "target mode", many speed increases, multi-char search implemented
  • 1.1.0 Switching to Kotlin for the code base
  • 1.0.4 Fixing github.com/johnlindqui… and github.com/johnlindqui…
  • 1.0.3 Fixed minor visual lag when removing the "jumpers" from the editor
  • 1.0.2 Cleaning up minor bugs (npe when editor not in focus, not removing layers)
  • 1.0.1 Adding a new jump: "Enter" will take you to the first non-whitespace char in a new line (compare to "Home" which takes you to a new line)
  • 1.0.0 Cleaned up code base for release