Git Product home page Git Product logo

intellij-idea-keymap's Introduction

intellij-idea-keymap

Jetbrains IntelliJ IDEA based key bindings for the Atom editor.

Table of contents

Introduction

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.

Features

The intellij-idea-keymap package has the following features:

  • Basic key bindings of IntelliJ IDEA are mapped to core commands in Atom for Mac OSX, Windows and Linux
  • If you want to format the code automatically you can install the atom-beautify package and then use the cmd-alt-l shortcut to format code in the active editor.

Installation

To install the package please execute the following command in a terminal:

apm install intellij-idea-keymap

If the apm command is not recognized then please open Atom, open the Atom menu, and select Install Shell Commands. Then try it again.

Changelog

Please have a look at the changelog here.

Contribution

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.

Contributions

License

This intellij-idea-keymap package is available under the MIT license.

(c) Guy Brand

intellij-idea-keymap's People

Contributors

christophehurpeau avatar gquintana avatar guylabs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

intellij-idea-keymap's Issues

alt-shift-up alt-shift-down multi caret / cursor not working

alt-shift-up alt-shift-down multi cursor has worked in the past but doesn't atm.
I don't know what could have caused it.

In keymappings I see these keybindings are bound to 'native!'.
I don't know how to override 'native!' with this plugin.
Also, I think overriding shouldn't be necessary in normal scenarios as it has worked in the past.

I tried this keymaps.cson but it didn't change the behaviour.

'atom-text-editor':
'alt-shift-down': 'Intellij Idea Keymap'
'alt-shift-up': 'Intellij Idea Keymap'

Notepad++ Version?

I'm just curious if you ever attempted or you know of a similar mapping or plugin for "Notepad++"?

Improvement: Add some shortcuts

Mac Windows/Linux Atom command
Close active tab cmd-w ctrl-f4 core:close
Open Settings cmd-, ctrl-alt-s settings-view:open

These shortcuts may already be the default ones on Mac (cmd-w, cmd-,), but definitely not on Windows/Linux

Selecting successively increasing code blocks not working as in IntelliJ - Ctrl+W

There are differences in how the Ctrl+w command works in IntelliJ and how it works with the intellij-idea-keymap.

  1. Command Ctrl+w in intelliJ selects the word/code or a block of words or code at caret. The selection happens in both directions, right and left. But when using the Ctrl+w keybinding with the intellij-idea-keymap, the selection happens only in right direction. It's almost the same as Shift+Right Arrow Key, just that it will select one letter with every press, instead of one word.

  2. Although the command selects one whole word with every click but in IntelliJ this command could select whole blocks of text and code in few presses, not just one word at a time.

Example:
When the command is used three times at one place (just before "Ut enim"), by holding ctrl and pressing w for three times, following were the selections:

Atom:
atom-1

IntelliJ:
intelli-1

Alt-up on Mac is bugged

'Alt-up' is right now similar to 'cmd-shift-up' and 'alt-shift-up' the same goes for 'Alt-down'

How to use it?

I followed the installation instructions:

apm install intellij-idea-keymap
Installing intellij-idea-keymap to /Users/oskar/.atom/packages ✓

Now what? Shortcuts seems to be the same as before..

can't install successfully,atom version is 1.8.0

➜ ~ nvm install v0.12.7

################################################################## 100.0%

Now using node v0.12.7 (npm v2.11.3)
➜ ~ sudo apm install intellij-idea-keymap
Password:
Installing intellij-idea-keymap to /Users/qk/.atom/packages
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp http GET https://atom.io/download/atom-shell/v0.36.8/node-v0.36.8.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! install error
gyp ERR! stack Error: socket hang up
gyp ERR! stack at createHangUpError (http.js:1473:15)
gyp ERR! stack at Socket.socketOnEnd (http.js:1569:23)
gyp ERR! stack at Socket.g (events.js:180:16)
gyp ERR! stack at Socket.emit (events.js:117:20)
gyp ERR! stack at _stream_readable.js:944:16
gyp ERR! stack at process._tickCallback (node.js:448:13)
gyp ERR! System Darwin 15.3.0
gyp ERR! command "/Users/qk/Applications/Atom.app/Contents/Resources/app/apm/bin/node" "/Users/qk/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "install" "--target=0.36.8" "--dist-url=https://atom.io/download/atom-shell" "--arch=x64" "--ensure"
gyp ERR! cwd /Users/qk/.atom
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok

➜ ~ nvm use v0.10.40
Now using node v0.10.40 (npm v1.4.28)
➜ ~ sudo apm install intellij-idea-keymap
Installing intellij-idea-keymap to /Users/qk/.atom/packages
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp http GET https://atom.io/download/atom-shell/v0.36.8/node-v0.36.8.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! install error
gyp ERR! stack Error: socket hang up
gyp ERR! stack at createHangUpError (http.js:1473:15)
gyp ERR! stack at Socket.socketOnEnd (http.js:1569:23)
gyp ERR! stack at Socket.g (events.js:180:16)
gyp ERR! stack at Socket.emit (events.js:117:20)
gyp ERR! stack at _stream_readable.js:944:16
gyp ERR! stack at process._tickCallback (node.js:448:13)
gyp ERR! System Darwin 15.3.0
gyp ERR! command "/Users/qk/Applications/Atom.app/Contents/Resources/app/apm/bin/node" "/Users/qk/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "install" "--target=0.36.8" "--dist-url=https://atom.io/download/atom-shell" "--arch=x64" "--ensure"
gyp ERR! cwd /Users/qk/.atom
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok

Reformat code

I personally added the shortcut to reformat code such as JSON.

  ###########
  # Editing #
  ###########

  # ...

+
+  # Reformat Code using the beautify plugin
+  'alt-cmd-l': 'atom-beautify:beautify-editor'

  # ...

Since atom doesn't support reformatting out of the box a dependency to atom-beautify is required. I'm not sure if this is the scope of this project

No way to create new file

Since ctrl+n is taken I suggest to use ctrl+m to create new file, something like this:

'atom-workspace, atom-text-editor':
'ctrl-m': 'application:new-file'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.