#+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.
" (Optional) Enable other Intellimacs modules source ~/.intellimacs/extra.vim source ~/.intellimacs/major.vim source ~/.intellimacs/hybrid.vim
" (Optional) Enable which-key plugin source ~/.intellimacs/which-key.vim
" (Optional) My own vim commands nnoremap Y y$
" (Optional) Comma for major mode nmap , m vmap , m
" (Optional) Add/edit actions nnoremap gl :action Vcs.Show.Log vnoremap gl :action Vcs.Show.Log #+end_src 4. (optional) source your vimrc file by adding the line =source ~/.vimrc= in =.ideavimrc= (you may break something).
Read [[file:docs/CHANGELOG.org][CHANGELOG.org]] to see what changed.
Suggested plugins [[file:docs/PLUGINS.org][PLUGINS.org]] contains a list of useful plugins that help to replicate the Spacemacs experience.
Tips
** 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!