├── .gitignore ├── AceJump.sublime-settings ├── AceJump.tmLanguage ├── Default (Linux).sublime-keymap ├── Default (OSX).sublime-keymap ├── Default (Windows).sublime-keymap ├── LICENSE ├── Main.sublime-menu ├── README.md └── ace_jump.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Sublime Text files 2 | ace-jump.sublime-project 3 | ace-jump.sublime-workspace 4 | 5 | # To do 6 | *.TODO 7 | -------------------------------------------------------------------------------- /AceJump.sublime-settings: -------------------------------------------------------------------------------- 1 | { 2 | // Characters to be used as labels in order they'll appear 3 | "labels": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 | 5 | // Syntax highlighting scope for the labels 6 | "labels_scope": "invalid", 7 | 8 | // Toggles case sensitive search in word and character modes. 9 | "search_case_sensitivity": true, 10 | 11 | // Saves all the files aceJump tried to parse. 12 | // This setting will reset any linter warnings you might see during jump 13 | // By saving all effected files 14 | "save_files_after_jump": false, 15 | 16 | // If turned on, character mode will jump after a character 17 | // it it's the last character on a line. 18 | "jump_behind_last_characters": false, 19 | 20 | // View settings that should be respected when switching the syntax 21 | // highlighting mode. In case a plugin you use adds a new 22 | // setting to a view, you probably want to add it to this list. 23 | "view_settings": [ 24 | "auto_indent", 25 | "tab_size", 26 | "translate_tabs_to_spaces", 27 | "use_tab_stops", 28 | "trim_automatic_white_space", 29 | "detect_indentation", 30 | "draw_white_space", 31 | "trim_trailing_white_space_on_save", 32 | "always_show_minimap_viewport", 33 | "color_scheme", 34 | "font_face", 35 | "font_options", 36 | "gutter", 37 | "rulers", 38 | "draw_minimap_border", 39 | "highlight_line", 40 | "line_padding_top", 41 | "line_padding_bottom", 42 | "scroll_past_end", 43 | "line_numbers", 44 | "word_wrap", 45 | "wrap_width", 46 | "indent_subsequent_lines", 47 | "draw_centered", 48 | "match_brackets", 49 | "match_brackets_content", 50 | "match_brackets_square", 51 | "match_brackets_braces", 52 | "match_brackets_angle", 53 | ] 54 | } 55 | -------------------------------------------------------------------------------- /AceJump.tmLanguage: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | name 5 | AceJump 6 | hidden 7 | 8 | patterns 9 | 10 | 11 | match 12 | (.*) 13 | name 14 | text.ace_jump 15 | 16 | 17 | scopeName 18 | comment 19 | 20 | 21 | -------------------------------------------------------------------------------- /Default (Linux).sublime-keymap: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "keys": ["ctrl+shift+;"], 4 | "command": "ace_jump_word" 5 | }, 6 | { 7 | "keys": ["ctrl+shift+'"], 8 | "command": "ace_jump_char" 9 | }, 10 | { 11 | "keys": ["ctrl+shift+."], 12 | "command": "ace_jump_line" 13 | }, 14 | { 15 | "keys": ["ctrl+shift+,"], 16 | "command": "ace_jump_within_line" 17 | }, 18 | { 19 | "keys": ["alt+;"], 20 | "command": "ace_jump_select" 21 | }, 22 | { 23 | "keys": ["alt+'"], 24 | "command": "ace_jump_add_cursor" 25 | }, 26 | { 27 | "keys": ["alt+."], 28 | "command": "ace_jump_after" 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /Default (OSX).sublime-keymap: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "keys": ["super+shift+;"], 4 | "command": "ace_jump_word" 5 | }, 6 | { 7 | "keys": ["super+shift+'"], 8 | "command": "ace_jump_char" 9 | }, 10 | { 11 | "keys": ["super+shift+."], 12 | "command": "ace_jump_line" 13 | }, 14 | { 15 | "keys": ["super+shift+,"], 16 | "command": "ace_jump_within_line" 17 | }, 18 | { 19 | "keys": ["ctrl+;"], 20 | "command": "ace_jump_select" 21 | }, 22 | { 23 | "keys": ["ctrl+'"], 24 | "command": "ace_jump_add_cursor" 25 | }, 26 | { 27 | "keys": ["ctrl+."], 28 | "command": "ace_jump_after" 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /Default (Windows).sublime-keymap: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "keys": ["ctrl+shift+;"], 4 | "command": "ace_jump_word" 5 | }, 6 | { 7 | "keys": ["ctrl+shift+'"], 8 | "command": "ace_jump_char" 9 | }, 10 | { 11 | "keys": ["ctrl+shift+."], 12 | "command": "ace_jump_line" 13 | }, 14 | { 15 | "keys": ["ctrl+shift+,"], 16 | "command": "ace_jump_within_line" 17 | }, 18 | { 19 | "keys": ["alt+;"], 20 | "command": "ace_jump_select" 21 | }, 22 | { 23 | "keys": ["alt+'"], 24 | "command": "ace_jump_add_cursor" 25 | }, 26 | { 27 | "keys": ["alt+."], 28 | "command": "ace_jump_after" 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Kuba Birecki 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Main.sublime-menu: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "preferences", 4 | "children": [ 5 | { 6 | "id": "package-settings", 7 | "children": [ 8 | { 9 | "caption": "AceJump", 10 | "children": [ 11 | { 12 | "caption": "README", 13 | "command": "open_file", 14 | "args": { 15 | "file": "${packages}/AceJump/README.md" 16 | } 17 | }, 18 | { 19 | "caption": "-" 20 | }, 21 | { 22 | "caption": "Settings - Default", 23 | "command": "open_file", 24 | "args": { 25 | "file": "${packages}/AceJump/AceJump.sublime-settings" 26 | } 27 | }, 28 | { 29 | "caption": "Settings - User", 30 | "command": "open_file", 31 | "args": { 32 | "file": "${packages}/User/AceJump.sublime-settings" 33 | } 34 | }, 35 | { 36 | "caption": "-" 37 | }, 38 | { 39 | "caption": "Key Bindings - Default", 40 | "command": "open_file", 41 | "args": { 42 | "file": "${packages}/AceJump/Default (OSX).sublime-keymap", 43 | "platform": "OSX" 44 | } 45 | }, 46 | { 47 | "caption": "Key Bindings - Default", 48 | "command": "open_file", 49 | "args": { 50 | "file": "${packages}/AceJump/Default (Linux).sublime-keymap", 51 | "platform": "Linux" 52 | } 53 | }, 54 | { 55 | "caption": "Key Bindings - Default", 56 | "command": "open_file", 57 | "args": { 58 | "file": "${packages}/AceJump/Default (Windows).sublime-keymap", 59 | "platform": "Windows" 60 | } 61 | }, 62 | { 63 | "caption": "Key Bindings - User", 64 | "command": "open_file", 65 | "args": { 66 | "file": "${packages}/User/Default (OSX).sublime-keymap", 67 | "platform": "OSX" 68 | } 69 | }, 70 | { 71 | "caption": "Key Bindings - User", 72 | "command": "open_file", 73 | "args": { 74 | "file": "${packages}/User/Default (Linux).sublime-keymap", 75 | "platform": "Linux" 76 | } 77 | }, 78 | { 79 | "caption": "Key Bindings - User", 80 | "command": "open_file", 81 | "args": { 82 | "file": "${packages}/User/Default (Windows).sublime-keymap", 83 | "platform": "Windows" 84 | } 85 | }, 86 | { 87 | "caption": "-" 88 | } 89 | ] 90 | } 91 | ] 92 | } 93 | ] 94 | } 95 | ] 96 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AceJump 2 | 3 | A plugin for Sublime Text 3 heavily inspired by AceJump for emacs. 4 | 5 | AceJump allows you to move the cursor to any character to any place currently on screen. 6 | To clarify, you can jump between characters in all visible portions of currently open documents in any panes. 7 | Like it's emacs counterpart, AceJump for sublime features word (on the image below), character and line modes which make jumping even easier. 8 | 9 | ![AceJump](https://cloud.githubusercontent.com/assets/8056203/10858871/92069504-7f58-11e5-8593-e373121fd917.gif) 10 | 11 | After selecting a mode, you type in a character (except in line mode, where you don't have to type in anything) and appropriate labels are displayed. Then all you need to do is press the key from the label and voila! 12 | 13 | ## Installation 14 | 15 | ### PackageControl 16 | 17 | You can install AceJump from [PackageControl](http://wbond.net/sublime_packages/package_control) by following the steps below: 18 | 19 | - Open up the command palette and select ```Package Control: Install Package``` 20 | - Wait for the packages index to load and select ```AceJump``` 21 | 22 | ### Manual installation 23 | 24 | You can install AceJump manually using git by running the following command within sublime packages directory (Preferences > Browse Packages): 25 | 26 | ``` 27 | $ git clone git@github.com:ice9js/ace-jump-sublime.git AceJump/ 28 | ``` 29 | 30 | Or you can just copy the contents of this repository into ```Packages/AceJump```. 31 | 32 | ## Usage 33 | 34 | ### Word mode 35 | 36 | Goes to a word starting with the given character. This mode works only with alphanumeric characters. If you're interested in jumping to a special character, use character mode instead. 37 | 38 | - ```Ctrl/Super + Shift + ;``` 39 | - `````` 40 | - ```