MarcoIeni / intellimacs

Spacemacs' like key bindings for IntelliJ platform.
MIT License
536 stars 94 forks source link
ideavim intellij spacemacs vim

+TITLE: Intellimacs

[[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]]

[[file:docs/preview.gif]]

For instance, ~SPC f f~ in Spacemacs opens a file, so it makes sense to map it to the "GotoFile" IntelliJ action.

IdeaVim parses the [[https://github.com/JetBrains/ideavim/blob/master/src/com/maddyhome/idea/vim/package-info.java][most common]] vim commands, together with the custom =:action {name}= command, used to execute arbitrary IDE actions. To list all IDE actions use the command =:actionlist [pattern]=.

Intellimacs provides different files, which can be included individually in your own =.ideavimrc=, in order to get only the functionalities you want.

Furthermore, Intellimacs provides some of the features of Spacemacs hybrid mode, which may be enabled by sourcing the file =~/.intellimacs/hybrid.vim=.

Read [[file:docs/KEYBINDINGS.org][KEYBINDINGS.org]] to see all 200+ available key bindings.

Read [[file:docs/CHANGELOG.org][CHANGELOG.org]] to see what changed.

** Go back to code The key bindings work only when you are inside the code. For example, if you are inside the project window they don't work. Press ~~ to focus the last visited code window and you will be able to use spacemacs key bindings again.

** Scroll menus without arrow keys In order to scroll menus without using arrow keys, press ~SPC f e d~ to go to IDE's settings and set a custom shortcut for the actions =Down= and =Up= in the menu =Keymap -> Editor Actions=. For example, you can bind them respectively to =Ctrl + j= and =Ctrl + k=. If you have some conflicts, search the editor action the key is assigned to, right click and remove the binding.

** Open a file in Emacs with keyboard shortcut In order to open a file in Emacs with a keyboard shortcut follow [[https://www.jetbrains.com/help/idea/using-emacs-as-an-external-editor.html][this]] guide.

Before contributing, be sure to read [[file:docs/CONTRIBUTING.org][CONTRIBUTING.org]] first!