├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── keymaps └── intellij-idea-keymap.cson └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.2.3 - Add shortcut for `shift-enter` 2 | * This release adds the `shift-enter` shortcut to have the same functionality as in IDEA when creating new lines. Thanks to @jcoulter for the pull request [#11](https://github.com/guylabs/intellij-idea-keymap/pull/11). 3 | 4 | ## 0.2.2 - Enhance Mac shortcuts and add support for atom-beautify 5 | * This release adds alternate shortcuts for existing ones, enhances the tree view shortcuts and introduces support for the atom-beautify package. Thanks to @5pid for the pull request [#7](https://github.com/guylabs/intellij-idea-keymap/pull/7). 6 | 7 | ## 0.2.1 - Add "Select/unselect for next occurence" shortcuts 8 | * This release adds support for the "Select/unselect for next occurence" shortcuts [#4](https://github.com/guylabs/intellij-idea-keymap/pull/4) pull request from @christophehurpeau. 9 | 10 | ## 0.2.0 - Add Windows/Linux keymap and refine some shortcuts 11 | * This release adds support for Windows and Linux thanks to the [#1](https://github.com/guylabs/intellij-idea-keymap/pull/1) pull request from @gquintana. 12 | * It adds two new shortcuts for closing the active tab and open the settings. See [#2](https://github.com/guylabs/intellij-idea-keymap/issues/2). 13 | * Some shortcuts now have less restrictive classes such that they are accessible in more places. See [#3](https://github.com/guylabs/intellij-idea-keymap/issues/3). 14 | 15 | ## 0.1.0 - Initial release 16 | * Initial release with basic key bindings for the [Mac OSX IntelliJ keymap](https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard_Mac.pdf) 17 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Guy Brand 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # intellij-idea-keymap 2 | 3 | > [Jetbrains IntelliJ IDEA](https://www.jetbrains.com/idea/) based key bindings for the [Atom](https://atom.io) editor. 4 | 5 | # Table of contents 6 | 7 | - [Introduction](#introduction) 8 | - [Features](#features) 9 | - [Installation](#installation) 10 | - [Changelog](#changelog) 11 | - [Known issues](#known-issues) 12 | - [Contribution](#contribution) 13 | - [License](#license) 14 | 15 | # Introduction 16 | 17 | As a power IntelliJ IDEA user I am used to the key bindings for years and therefore I created this package to be able to use the same bindings in the Atom editor too. I hope you can also make use of it and contributions/feedbacks are welcome. 18 | 19 | # Features 20 | 21 | The `intellij-idea-keymap` package has the following features: 22 | 23 | * Basic key bindings of IntelliJ IDEA are mapped to core commands in Atom for Mac OSX, Windows and Linux 24 | * If you want to format the code automatically you can install the [atom-beautify](https://atom.io/packages/atom-beautify) package and then use the `cmd-alt-l` shortcut to format code in the active editor. 25 | 26 | # Installation 27 | 28 | To install the package please execute the following command in a terminal: 29 | 30 | ```shell 31 | apm install intellij-idea-keymap 32 | ``` 33 | 34 | If the `apm` command is not recognized then please open Atom, open the `Atom` menu, and select `Install Shell Commands`. Then try it again. 35 | 36 | # Changelog 37 | 38 | Please have a look at the changelog [here](https://github.com/guylabs/intellij-idea-keymap/blob/master/CHANGELOG.md). 39 | 40 | # Contribution 41 | 42 | If you want to add more shortcuts or any other feature please create a pull request and I will try my best to review and merge it. Contributing is highly appreciated! Thanks in advance. 43 | 44 | ## Contributions 45 | 46 | * [#1](https://github.com/guylabs/intellij-idea-keymap/pull/1) Windows and Linux keymap. Thanks to [@gquintana](https://github.com/gquintana). 47 | * [#4](https://github.com/guylabs/intellij-idea-keymap/pull/4) New shortcuts. Thanks to [@christophehurpeau](https://github.com/christophehurpeau). 48 | * [#7](https://github.com/guylabs/intellij-idea-keymap/pull/7) New shortcuts, tree view enhancements and support for [atom-beautify](https://atom.io/packages/atom-beautify) package. Thanks to [@5pid](https://github.com/5pid). 49 | * [#11](https://github.com/guylabs/intellij-idea-keymap/pull/11) `shift-enter` shortcut. Thanks to [@jcoulter](https://github.com/jcoulter). 50 | 51 | # License 52 | 53 | This `intellij-idea-keymap` package is available under the MIT license. 54 | 55 | (c) Guy Brand 56 | -------------------------------------------------------------------------------- /keymaps/intellij-idea-keymap.cson: -------------------------------------------------------------------------------- 1 | # The descriptions above the key bindings are the ones from the IntelliJ IDEA Keymap 2 | 3 | #################################################################################################### 4 | # Multi-platform # 5 | #################################################################################################### 6 | 7 | 'atom-workspace': 8 | 9 | ############## 10 | # Navigation # 11 | ############## 12 | 13 | # Select current file or symbol in any view 14 | 'alt-f1': 'tree-view:reveal-active-file' 15 | 16 | 'atom-workspace atom-text-editor:not([mini])': 17 | 18 | ########### 19 | # Editing # 20 | ########### 21 | 22 | # Smart line join 23 | 'ctrl-shift-j': 'editor:join-lines' 24 | 25 | # Start new line below 26 | 'shift-enter': 'editor:newline-below' 27 | 28 | #################################################################################################### 29 | # Mac # 30 | # --------------- # 31 | # https://resources.jetbrains.com/assets/products/intellij-idea/IntelliJIDEA_ReferenceCard_mac.pdf # 32 | #################################################################################################### 33 | 34 | 'body': 35 | 36 | ########## 37 | # window # 38 | ########## 39 | 40 | # Goto Next Splitter 41 | 'alt-tab': 'window:focus-next-pane' 42 | 43 | # Goto Splitter Splitter 44 | 'alt-shift-tab': 'window:focus-previous-pane' 45 | 46 | '.platform-darwin atom-workspace': 47 | 48 | ################## 49 | # Search/Replace # 50 | ################## 51 | 52 | # Find in path 53 | 'cmd-shift-f': 'project-find:show' 54 | 55 | # Replace in path 56 | 'cmd-shift-r': 'project-find:show' 57 | 58 | ############## 59 | # Navigation # 60 | ############## 61 | 62 | # Go to class 63 | 'cmd-o': 'fuzzy-finder:toggle-file-finder' 64 | 65 | # Go to file 66 | 'cmd-shift-o': 'fuzzy-finder:toggle-file-finder' 67 | 68 | ########### 69 | # General # 70 | ########### 71 | 72 | # Find action 73 | 'cmd-shift-a': 'command-palette:toggle' 74 | 75 | # Open corresponding tool window 76 | 'cmd-1': 'tree-view:toggle' 77 | 78 | '.platform-darwin atom-workspace atom-text-editor:not([mini])': 79 | 80 | ########### 81 | # Editing # 82 | ########### 83 | 84 | # Duplicate current line or selected block 85 | 'cmd-d': 'editor:duplicate-lines' 86 | 87 | # Select successively increasing code blocks 88 | 'alt-up': 'editor:select-to-next-subword-boundary' 89 | 90 | # Decrease current selection to previous state 91 | 'alt-down': 'editor:select-to-previous-subword-boundary' 92 | 93 | # Delete line at caret 94 | 'cmd-backspace': 'editor:delete-line' 95 | 96 | # Move line up 97 | 'cmd-shift-up': 'editor:move-line-up' 98 | 99 | # Move line down 100 | 'cmd-shift-down': 'editor:move-line-down' 101 | 102 | # Move line up 103 | 'alt-shift-up': 'editor:move-line-up' 104 | 105 | # Move line down 106 | 'alt-shift-down': 'editor:move-line-down' 107 | 108 | # Reformat code 109 | 'cmd-alt-l': 'atom-beautify:beautify-editor' 110 | 111 | ################## 112 | # Search/Replace # 113 | ################## 114 | 115 | # Replace 116 | 'cmd-r': 'find-and-replace:show' 117 | 118 | # Add Selection for Next Occurence 119 | 'ctrl-g': 'find-and-replace:select-next' 120 | 121 | # Unselect Occurence 122 | 'ctrl-shift-g': 'find-and-replace:select-undo' 123 | 124 | ############## 125 | # Navigation # 126 | ############## 127 | 128 | # Go to next editor tab 129 | 'ctrl-right': 'pane:show-next-item' 130 | 131 | # Go to previous editor tab 132 | 'ctrl-left': 'pane:show-previous-item' 133 | 134 | # Go to line 135 | 'cmd-l': 'go-to-line:toggle' 136 | 137 | # Recent files popup 138 | 'cmd-e': 'fuzzy-finder:toggle-buffer-finder' 139 | 140 | # Reveal active file 141 | 'cmd-ctrl-s': 'tree-view:reveal-active-file' 142 | 143 | # Show bookmarks 144 | 'cmd-f3': 'bookmarks:view-all' 145 | 146 | # Toggle bookmark 147 | 'f3': 'bookmarks:toggle-bookmark' 148 | 149 | ################## 150 | # Live Templates # 151 | ################## 152 | 153 | # Insert live templates 154 | 'cmd-j': 'snippets:available' 155 | 156 | '.platform-darwin .tree-view': 157 | 158 | ########### 159 | # General # 160 | ########### 161 | 162 | 'cmd-n': 'tree-view:add-file' 163 | 164 | ############## 165 | # Navigation # 166 | ############## 167 | 168 | # Open corresponding tool window 169 | 'cmd-1': 'tree-view:toggle' 170 | 171 | ########### 172 | # Editing # 173 | ########### 174 | 175 | 'cmd-shift-c': 'tree-view:copy-full-path' 176 | 'cmd-r': 'tree-view:move' 177 | 'f6': 'tree-view:move' 178 | 'shift-f6': 'tree-view:move' 179 | 180 | #################################################################################################### 181 | # Windows & Linux # 182 | # --------------- # 183 | # https://resources.jetbrains.com/assets/products/intellij-idea/IntelliJIDEA_ReferenceCard.pdf # 184 | #################################################################################################### 185 | 186 | '.platform-win32 atom-workspace, .platform-linux atom-workspace': 187 | 188 | ################## 189 | # Search/Replace # 190 | ################## 191 | 192 | # Find in path 193 | 'ctrl-shift-f': 'project-find:show' 194 | 195 | # Replace in path 196 | 'ctrl-shift-r': 'project-find:show' 197 | 198 | ############## 199 | # Navigation # 200 | ############## 201 | 202 | # Go to class 203 | 'ctrl-n': 'fuzzy-finder:toggle-file-finder' 204 | 205 | # Go to file 206 | 'ctrl-shift-n': 'fuzzy-finder:toggle-file-finder' 207 | 208 | # Add Selection for Next Occurence 209 | 'alt-j': 'find-and-replace:select-next' 210 | 211 | # Unselect Occurence 212 | 'alt-shift-j': 'find-and-replace:select-undo' 213 | 214 | ########### 215 | # General # 216 | ########### 217 | 218 | # Find action 219 | 'ctrl-shift-a': 'command-palette:toggle' 220 | 221 | # Open corresponding tool window 222 | 'ctrl-1': 'tree-view:toggle' 223 | 224 | # Open settings 225 | 'ctrl-alt-s': 'settings-view:open' 226 | 227 | '.platform-win32 atom-workspace atom-text-editor:not([mini]), .platform-linux atom-workspace atom-text-editor:not([mini])': 228 | 229 | ########### 230 | # Editing # 231 | ########### 232 | 233 | # Duplicate current line or selected block 234 | 'ctrl-d': 'editor:duplicate-lines' 235 | 236 | # Select successively increasing code blocks 237 | 'ctrl-w': 'editor:select-to-next-subword-boundary' 238 | 239 | # Decrease current selection to previous state 240 | 'ctrl-shift-w': 'editor:select-to-previous-subword-boundary' 241 | 242 | # Delete line at caret 243 | 'shift-delete': 'editor:delete-line' 244 | 'ctrl-y': 'editor:delete-line' 245 | 246 | # Move line up 247 | 'ctrl-shift-up': 'editor:move-line-up' 248 | 249 | # Move line down 250 | 'ctrl-shift-down': 'editor:move-line-down' 251 | 252 | ################## 253 | # Search/Replace # 254 | ################## 255 | 256 | # Replace 257 | 'ctrl-r': 'find-and-replace:show' 258 | 259 | ############## 260 | # Navigation # 261 | ############## 262 | 263 | # Go to next editor tab 264 | 'alt-right': 'pane:show-next-item' 265 | 266 | # Go to previous editor tab 267 | 'alt-left': 'pane:show-previous-item' 268 | 269 | # Close active tab 270 | 'ctrl-f4': 'core:close' 271 | 272 | # Go to line 273 | 'ctrl-l': 'go-to-line:toggle' 274 | 275 | # Recent files popup 276 | 'ctrl-e': 'fuzzy-finder:toggle-buffer-finder' 277 | 278 | ################## 279 | # Live Templates # 280 | ################## 281 | 282 | # Insert live templates 283 | 'ctrl-j': 'snippets:available' 284 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "intellij-idea-keymap", 3 | "version": "0.2.3", 4 | "description": "Jetbrains IntelliJ IDEA based key bindings", 5 | "keywords": [ 6 | "Jetbrains", 7 | "IntelliJ", 8 | "IDEA", 9 | "keymap" 10 | ], 11 | "repository": "https:/github.com/guylabs/intellij-idea-keymap", 12 | "license": "MIT", 13 | "engines": { 14 | "atom": ">=1.0.0 <2.0.0" 15 | } 16 | } 17 | --------------------------------------------------------------------------------