All Projects → MarcoIeni → Intellimacs

MarcoIeni / Intellimacs

Licence: mit
Spacemacs' like key bindings for IntelliJ platform.

Projects that are alternatives of or similar to Intellimacs

slides-presenter
Plugin to show slides and code examples directly from IntelliJ IDEs
Stars: ✭ 19 (-93.09%)
Mutual labels:  intellij
spacemacs-prettier
Adds prettier-js formatter to spacemacs locally. Temporary solution until prettier-js is launched on MELPA
Stars: ✭ 16 (-94.18%)
Mutual labels:  spacemacs
intellij-zeppelin
Edit code in IntelliJ, eval/run in Zeppelin notebook
Stars: ✭ 19 (-93.09%)
Mutual labels:  intellij
mapstruct-idea
An IntelliJ IDEA plugin for working with MapStruct
Stars: ✭ 80 (-70.91%)
Mutual labels:  intellij
xmake-idea
🍨 A XMake integration in IntelliJ IDEA
Stars: ✭ 44 (-84%)
Mutual labels:  intellij
idea-php-shopware-plugin
Shopware Plugin for PhpStorm which extends Symfony Plugin
Stars: ✭ 50 (-81.82%)
Mutual labels:  intellij
intellij-mob
IntelliJ plugin for swift git handover and timer
Stars: ✭ 26 (-90.55%)
Mutual labels:  intellij
Reasonml Idea Plugin
ReasonML Language Plugin for IDEA
Stars: ✭ 273 (-0.73%)
Mutual labels:  intellij
cosmos-nvim
A must-have configuration for Spacemacs users after defecting to Vim
Stars: ✭ 62 (-77.45%)
Mutual labels:  spacemacs
intellij-awk
The missing IntelliJ IDEA language support plugin for AWK
Stars: ✭ 18 (-93.45%)
Mutual labels:  intellij
MarioProgressBar
The Mario progress bar for IntelliJ IDEA and other JetBrains IDEs.
Stars: ✭ 29 (-89.45%)
Mutual labels:  intellij
GapStyle
The world-first* productivity-oriented color scheme for intelliJ and VSCode to fill the gap between programming languages and human.
Stars: ✭ 111 (-59.64%)
Mutual labels:  intellij
plantuml2ddl
Intellij IDEA plugin- MySQL DDL and PlantUML convert to each other.
Stars: ✭ 23 (-91.64%)
Mutual labels:  intellij
openjfx-docs
Getting started guide for JavaFX 11
Stars: ✭ 70 (-74.55%)
Mutual labels:  intellij
Cloud Code Intellij
Plugin to support the Google Cloud Platform in IntelliJ IDEA - Docs and Issues Repository
Stars: ✭ 256 (-6.91%)
Mutual labels:  intellij
eventbus-plugin
IntelliJ iDEA plugin to work with projects using greenrobot's EventBus library
Stars: ✭ 25 (-90.91%)
Mutual labels:  intellij
idea-php-advanced-autocomplete
Plugin for PhpStorm IDE. Adds auto-completion support for various built-in PHP functions, where parameter is a string literal.
Stars: ✭ 57 (-79.27%)
Mutual labels:  intellij
Cloudmacs
Selfhost your Emacs and access it in browser
Stars: ✭ 277 (+0.73%)
Mutual labels:  spacemacs
Julia Intellij
💻 Julia Plugin for IntelliJ IDEA ┗😃┛ ┏😃┓ ┗😃┛
Stars: ✭ 258 (-6.18%)
Mutual labels:  intellij
intellij-javacc
JavaCC and JJTree grammar support for the IntelliJ Platform
Stars: ✭ 31 (-88.73%)
Mutual labels:  intellij

#+TITLE: Intellimacs

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

  • Presentation This project tries to mimic [[http://spacemacs.org][Spacemacs]] key bindings in IDEs based on the [[https://www.jetbrains.com][IntelliJ]] platform, i.e. IntelliJ IDEA, PyCharm, CLion, PhpStorm, WebStorm, RubyMine, AppCode, DataGrip, GoLand, Rider, Cursive, and Android Studio.

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

  • How it works This project can be seen as a set of configuration files for the [[https://plugins.jetbrains.com/plugin/164-ideavim][IdeaVim]] plugin, which enables vim emulation inside IntelliJ platform. =/.ideavimrc= is the file where IdeaVim lets you add Vim initialization commands, i.e. this file is like =/.vimrc= for vim.

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.

  • Key bindings Intellimacs is composed of three modules:
  • spacemacs :: Contains Spacemacs settings and key bindings that can be replicated with a similar behaviour in the IntelliJ platform.
  • extra :: Contains settings and key bindings not present in Spacemacs, but that may be useful in the IntelliJ platform.
  • major :: Contains key bindings that start with SPC m, that may or may not be present in some Spacemacs major mode.

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.

  • Installation
  1. Install IdeaVim by using the IDE's plugin manager (File -> Settings -> Plugins -> Search for IdeaVim -> Install IdeaVim).
  2. Clone this repository in your home directory: #+begin_src sh git clone https://github.com/MarcoIeni/intellimacs ~/.intellimacs #+end_src
  3. In your home directory, create the file =.ideavimrc= and edit it in order to include the modules you want by sourcing the relative source files. In the following there is an example of =.ideavimrc= file that includes all the functionalities offered by Intellimacs. In this file you can also include your own vim commands. #+begin_src vimrc " Selected Intellimacs modules source ~/.intellimacs/spacemacs.vim source ~/.intellimacs/extra.vim source ~/.intellimacs/major.vim source ~/.intellimacs/hybrid.vim

" My own vim commands nnoremap Y y$

" Comma for major mode nmap , m vmap , m

" 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).

  • Update In order to update run =git pull= inside the intellimacs directory.

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.

  • Resources
  • [[https://github.com/JetBrains/ideavim][IdeaVim]]
  • [[https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf][Intellij default keymap]]
  • [[https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html#settings-repository][Share IDE settings]]
  • Contributions Intellimacs needs you to keep it up to date and propose great and useful key bindings.

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

  • Related projects
  • [[https://github.com/MarcoIeni/spaceclipse][Spaceclipse]] - Spacemacs' like key bindings for Eclipse
  • [[https://github.com/VSpaceCode/VSpaceCode][VSpaceCode]] - Spacemacs' like key bindings for Visual Studio Code (thanks for the inspiration)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].