An equivalent of Atom's Jumpy package that creates dynamic hotkeys to jump around files and across visible panes, for Sublime Text.
Open the Command Palette:
- on PC:
shift+control+P
- on Mac:
shift+command+P
Select Package Control: Install Package
.
Select Jumpy
.
git clone "https://github.com/jgburet/jumpy-sublime.git" \
"~/Library/Application Support/Sublime Text 3/Packages/Jumpy" # <-- MacOS destination
Jumpy does not come with predefined bindings so you'll need to define yours.
Go to Preferences > Key Bindings
. Complete the file with this line:
[
{ "keys": ["shift+enter"], "command": "jumpy", "context": [{ "key": "panel_has_focus", "operand": false }] }
]
Jumpy lets you customize the Regex used to identify where to put labels, as well as their CSS, so you can choose how they look like. Two entries are available for change: jumpy.label_css
and jumpy.regex
.
Go to Preferences > Settings
and set them to your preference.
Jumpy also handles syntax specific configurations (Preferences > Settings - Syntax Specific
). This means that it can behave differently between two files, even if they are opened & visible in the same window.
This comes handy where the Regex used does not suits perfectly your syntax. For example, you might enhance it so kebab-cased
CSS properties are not identified as several words.
Example:
"jumpy.label_css": "background-color: color(var(--redish) min-contrast(var(--background) 2.5)); font-size: 0.7rem;",
"jumpy.regex": "\\w+",
Notes:
- the regex is escaped.
- the whole CSS is overwritten, not just what collides.
- it is prefered to use variables so colors can match your color scheme.
A link that might help you:
Right now, labels are displayed using phantoms
. When displayed, they shift your text. It's annoying.
I'd prefer to edit the buffer
but this complexifies A LOT how the package works, having to orchestrate more commands.
Also, there's that to deal with sublimehq/sublime_text#817 (comment).
Keep current cursors and add new one on selected label.