feat(SublimeText2.EditorPackages): cache packages
This commit is contained in:
@@ -0,0 +1,134 @@
|
||||
# Sublime EasyMotion
|
||||
|
||||
EasyMotion is a [Sublime Text 2](http://www.sublimetext.com/2) plugin that allows you to move the cursor to any character in your current view.
|
||||
|
||||
It's heavily inspired by [Vim's EasyMotion](http://www.vim.org/scripts/script.php?script_id=3526), and [Emacs' AceJump](http://www.emacswiki.org/emacs/AceJump) plugins.
|
||||
|
||||
After pressing the EasyMotion shortcut (default `cmd-;`/`ctrl-;`), you then press the character that you'd like to jump to. EasyMotion will then replace all currently visible instances of that character with one of `a-zA-Z0-9`. Press the key for the one you want and your cursor will be moved right to it.
|
||||
|
||||

|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
### Install via PackageControl
|
||||
If you have the [PackageControl](http://wbond.net/sublime_packages/package_control) plugin installed, you can use that to install `EasyMotion`.
|
||||
|
||||
Just type `cmd-shift-p` (`ctrl-shift-p` on win/linux) to bring up the command pallate then type `install` and pick `Package Control: Install Package` from the dropdown.
|
||||
|
||||
Then type `EasyMotion` and choose the EasyMotion plugin from the dropdown. Hit `enter` and it will install.
|
||||
|
||||
### Manual Installation
|
||||
|
||||
Manual installation should be as easy as cloning this git repository into your Sublime `Packages` directory. On OSX:
|
||||
|
||||
cd ~/Application\ Support/Sublime\ Text\ 2/Packages
|
||||
git clone git://github.com/tednaleid/sublime-EasyMotion.git EasyMotion
|
||||
|
||||
(The directory name underneath packages __must__ be `EasyMotion` and not `sublime-EasyMotion` for some preferences to get picked up)
|
||||
|
||||
If you're interested in trying the next release of the plugin, you can switch your branch to the development branch:
|
||||
|
||||
cd EasyMotion
|
||||
git checkout development
|
||||
|
||||
This branch will have features that are marked as fixed in the issue, but haven't yet been merged to `master`.
|
||||
|
||||
## Usage
|
||||
|
||||
### Jump to any visible character
|
||||
|
||||
cmd-; <character> // OSX
|
||||
ctrl-; <character> // Linux/Windows
|
||||
|
||||
it will label all instances of that character with a unique value in `a-zA-Z0-9`, type the label you want and it will jump you to it.
|
||||
|
||||
#### Example
|
||||
|
||||
The cursor is at the end of the file and we want to jump to the beginning of the `realpart` variable on line 3
|
||||
|
||||

|
||||
|
||||
Instead of hitting the up arrow twice and scrolling over to the r (or grabbing your mouse), you could press `cmd-;` followed by `r`. That will transform your file into this (notice that each instance of `r` has been turned into one of `a-zA-Z0-9`):
|
||||
|
||||

|
||||
|
||||
Press `e` and your cursor will jump right there:
|
||||
|
||||

|
||||
|
||||
If your target character occurs more than 62 times in the visible area, it will decorate them in batches.
|
||||
|
||||
So if we search this for the letter `l` using `cmd-;`+`l`
|
||||
|
||||

|
||||
|
||||
The first batch of 62 targets will look like this:
|
||||
|
||||

|
||||
|
||||
**Just hit `enter` and it will highlight the next group of matches.**
|
||||
|
||||

|
||||
|
||||
Keep hitting `enter` and it will continue to cycle through them in groups of 62. You can also hit `shift-enter` to cycle backwards through the target groups. Hitting the `spacebar` will exit, and so will `ctrl-c` and `escape` (but for some reason there's currently a bug that makes you hit those twice to exit).
|
||||
|
||||
### Select all text between cursor and any visible character
|
||||
|
||||
cmd-shift-; <character> // OSX
|
||||
ctrl-shift-; <character> // Linux/Windows
|
||||
|
||||
it will label all instances of that character with a unique value in `a-zA-Z0-9`, type it and it will select all text between your current cursor position and the chosen jump target.
|
||||
|
||||
#### Example
|
||||
|
||||
So in the same situation as above, if we had hit `cmd-shift-;` followed by `r` and picked the `e` target that occurs at the start of the `imagpart` variable on line 3, we would end up with this:
|
||||
|
||||

|
||||
|
||||
|
||||
## User Modifiable Preferences
|
||||
|
||||
### Remapping the Sublime EasyMotion keyboard shortcut
|
||||
|
||||
You can remap your keys to be something other than the defaults by entering an override value into your "User - KeyBindings" (under Sublime Text 2 -> Preferences -> Package Settings -> Easy Motion on OSX), just make sure to copy the existing key bindings exactly and change only the first item in the `keys` stanza, otherwise it won't work. So if you wanted the jump command to be `ctrl-,`, you'd use:
|
||||
|
||||
|
||||
[
|
||||
{
|
||||
"keys": ["ctrl+,", "<character>"],
|
||||
"command": "easy_motion",
|
||||
"args": {"select_text": false}
|
||||
},
|
||||
{
|
||||
"keys": ["ctrl+shift+,", "<character>"],
|
||||
"command": "easy_motion",
|
||||
"args": {"select_text": true}
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
### Overriding the placeholder characters used for jumping
|
||||
|
||||
Add this to your "User Settings" file (found at "Sublime Text 2 -> Preferences -> Package Settings -> Easy Motion -> Settings - User" on OSX) and change the string to contain whatever characters you'd like to use:
|
||||
|
||||
// define the characters that we can jump to, in the order that they'll appear, they should be unique
|
||||
"placeholder_chars" : "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
|
||||
example using only QWERTY home-row replacements:
|
||||
|
||||
"placeholder_chars" : "jkl;asdfHGJKL:ASDFHG"
|
||||
|
||||
### Override the highlight color for jump targets
|
||||
|
||||
If the highlight color used for jump targets isn't bold enough if your color scheme, you can override it by changing this "User Setting":
|
||||
|
||||
// defines syntax highlighting scope that will be used to highlight matched jump targets
|
||||
// other examples include: keyword, string, number
|
||||
"jump_target_scope" : "entity.name.class"
|
||||
|
||||
|
||||
# Versions
|
||||
|
||||
- 0.8 - released 2/3/13 - updates location of preferences to EasyMotion specific file and includes plugin specific preferences file. You'll need to migrate preferences over into this file for them to stick.
|
||||
- 0.9 - released 2/14/13 - removes need for input panel and implements an easy_motion_mode to accept keystrokes, also lets `shift-enter` cycle backwards
|
Reference in New Issue
Block a user