Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/DavidLGoldberg/jumpy

The fastest way to jump around files and across visible panes in Atom
https://github.com/DavidLGoldberg/jumpy

atom cursor hotkeys jump

Last synced: about 1 month ago
JSON representation

The fastest way to jump around files and across visible panes in Atom

Awesome Lists containing this project

README

        

# Jumpy

[![Join the chat at https://gitter.im/jumpy-atom/Lobby](https://badges.gitter.im/jumpy-atom/Lobby.svg)](https://gitter.im/jumpy-atom/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
![](https://img.shields.io/apm/dm/jumpy.svg)
![](https://img.shields.io/apm/v/jumpy.svg)
[![Build Status](https://travis-ci.org/DavidLGoldberg/jumpy.svg?branch=master)](https://travis-ci.org/DavidLGoldberg/jumpy)

An Atom package that creates dynamic hotkeys to jump around files and across visible panes.

## How to jump

1. Hit shift + enter
2. Choose from your presented labels:
3. Enter two characters.
4. Keep coding!

[ ![Jumpy in Action! - (gif made with recordit.co)][1]](https://raw.githubusercontent.com/DavidLGoldberg/jumpy/master/_images/jumpy.gif)

[1]: https://raw.githubusercontent.com/DavidLGoldberg/jumpy/master/_images/jumpy.gif

## Install
On command line:
```
apm install jumpy
```
or the for the whole jumpy suite:
```
apm install jumpy jumpy-beacon
```

## Notes

* Works great with or without [vim-mode](https://github.com/atom/vim-mode "vim-mode's Homepage") or [vim-mode-plus](https://atom.io/packages/vim-mode-plus "vim-mode-plus's Homepage")!
* Vim modes supported:
* command mode
* insert mode
* visual mode (expands selections with v or V)
* Recommended key mappings to replace 'f' in vim-mode see 'Settings' below.

## Key Bindings

### Defaults

* Enter jump mode
* shift + enter
_**NOTE:** This particular hotkey conflicts with the very awesome [Hydrogen package](https://nteract.io/atom).
Please rebind jump mode to something else or override it for Jumpy (see below)_
* Reset first character entered
* backspace
* Cancel/exit jump mode (any)
* shift + enter
* enter
* esc
* space

## Settings

### Jumpy preferences

( Preferences cmd+, ) -> search for 'jumpy'

* **Font Size**:
If set, must be a decimal value less than 1.
* **High Contrast**:
If checked, uses a more colorful and fun (usually green) label.
* **Match Pattern**:
Provide a custom regex to match labels with.
* **Use Homing Beacon Effect On Jumps**:
If left on, will display a homing beacon (usually red) after all jumps.

![Jumpy settings](https://raw.githubusercontent.com/DavidLGoldberg/jumpy/master/_images/jumpy-settings.png)

*Example*:

![Jumpy example](https://raw.githubusercontent.com/DavidLGoldberg/jumpy/master/_images/jumpy-high-contrast-font-camel.png)

(image after settings set to .85 font size, high contrast, and default camel case matching pattern)

### 'vim-mode/vim-mode-plus' Users (Strongly Recommended Override)

Put this override in your **'Atom'** -> **'Keymap...'** settings:

'atom-text-editor:not(.mini).vim-mode:not(.insert-mode):not(.jumpy-jump-mode), .tree-view':
'f': 'jumpy:toggle'

or if `vim-mode-plus`:

'atom-text-editor:not(.mini).vim-mode-plus:not(.insert-mode):not(.jumpy-jump-mode), .tree-view':
'f': 'jumpy:toggle'

This will **bind 'f' to toggle Jumpy**.

This is not the default because it **changes vim's native behavior**.
Instead, with Jumpy, after jumping to the nearest word, you can easily word or character jump over to your target.
The [Vimium chrome extension](https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=en) chose this binding.
Please let me know what you think about this binding for Jumpy [here](https://discuss.atom.io/t/introducing-jumpy-new-package/10980/28)!

### 'hydrogen' Users
If you want to use the original keybinding for Jumpy it's shift+enter. Hydrogen overrides this to simulate the Jupyter notebook behavior.
Put this override in your **'Atom'** -> **'Keymap...'** settings:

'atom-workspace atom-text-editor:not(.mini)':
'shift-enter': 'jumpy:toggle'

_This is less necessary for vim-mode users because of above binding, although setting up a binding like this will allow jumps from insert mode as well!_

### Jumpy Styles

Note: Styles can be overridden in **'Atom' -> 'Open Your Stylesheet'**
(see examples below)

```less
atom-text-editor {
.jumpy-label {
// Regular labels
background-color: black;
color: white;
&.high-contrast {
// High Contrast labels (activated in settings)
background-color: green;
}
}
}
```

## My other Atom packages :)

* [Jumpy-beacon](https://atom.io/packages/jumpy-beacon)
* [Back-jumpy](https://atom.io/packages/back-jumpy) (WIP)
* [Qolor](https://atom.io/packages/qolor)

## My VS Code version of Jumpy :))

* [Jumpy2](https://marketplace.visualstudio.com/items?itemName=DavidLGoldberg.jumpy2) (Jumpy for VS Code from it's original author!)

## Keywords

(A little SEO juice)

* Shortcuts
* Navigation
* Productivity
* Mouseless
* Plugin
* Extension