Doom Emacs key bindings in IdeaVim.
- Renamed
ideavimrc->init.vim, so you need to importinit.viminto your.ideavimrc. expand-region.vimwas removed. To configure expand/shrink region key bindings, seeTips > Expand/Shrink Regionsection below.
source /path/to/idea-doom-emacs/init.vim
" If you want camel case movement and editing
source /path/to/idea-doom-emacs/subword-mode.vim| Key binding | Description |
|---|---|
SPC b d, SPC b k |
Kill buffer |
SPC b s |
Save buffer |
SPC b K |
Kill all buffers |
SPC b N |
New empty buffer |
SPC b O |
Kill other buffers |
SPC b S |
Save all buffers |
| Key binding | Description |
|---|---|
SPC c D |
Jump to references |
SPC c a |
Execute Intention Action |
SPC c c |
Compile |
SPC c d |
Jump to definition |
SPC c f |
Format buffer/region |
SPC c i |
Find implementations |
SPC c j |
Jump to symbol in current workspace |
SPC c k |
Show documentation |
SPC c o |
Organize imports |
SPC c r |
Rename |
SPC c t |
Find type definition |
SPC c C |
Recompile |
| Key binding | Description |
|---|---|
SPC f c |
Open project editorconfig |
SPC f r |
Recent files |
SPC f s |
Save file |
SPC f R |
Rename/move file |
SPC f y |
Copy filename |
| Key binding | Description |
|---|---|
SPC g ' |
GitHub menu |
SPC g . |
Git file actions |
SPC g / |
Git menu |
SPC g [, [ c |
Jump to previous hunk |
SPC g ], ] c |
Jump to next hunk |
SPC g b |
Switch branch |
SPC g r |
Revert hunk |
SPC g s |
Status |
SPC g t |
Time machine |
SPC g B |
Blame |
SPC g C |
Clone |
SPC g F |
Fetch |
SPC g S |
Git stage file |
| Key binding | Description |
|---|---|
SPC g c b |
Branch |
SPC g c p |
Pull request |
SPC g c r |
Initialize repo |
SPC g c R |
Clone repo |
| Key binding | Description |
|---|---|
SPC g l p |
List pull requests |
| Key binding | Description |
|---|---|
SPC g o o |
Browse file or region |
SPC g o p |
Browse a pull request |
| Key binding | Description |
|---|---|
SPC h e |
Show Event Log |
SPC h r |
Reload IdeaVim config |
SPC h t |
Change theme |
| Key binding | Description |
|---|---|
SPC i e (M-SPC i e in insert mode) |
Insert emoji/unicode |
SPC i s (M-SPC i s in insert mode) |
Insert Live Template |
SPC i u (M-SPC i u in insert mode) |
Insert emoji/unicode |
SPC i y (M-SPC i y in insert mode) |
Insert from clipboard |
| Key binding | Description |
|---|---|
SPC o f |
New window |
SPC o F |
Select window |
SPC o o |
Reveal in filer |
SPC o p |
Toggle Project View |
SPC o P |
Find file in Project View |
SPC o t |
Open terminal |
SPC o T |
Open terminal here |
| Key binding | Description |
|---|---|
SPC p ! |
Run cmd in project root |
SPC p i |
Invalidate project cache |
SPC p p |
Switch projects |
SPC p R |
Run project |
SPC p t |
Show TODO |
SPC p z |
List project tasks |
| Key binding | Description |
|---|---|
SPC t b |
Presentation Mode |
SPC t F |
Fullscreen |
SPC t l |
Line numbers |
SPC t r |
Read-only mode |
SPC t w |
Soft line wrapping |
SPC t z |
Distraction Free Mode |
SPC t Z |
Zen Mode |
| Key binding | Description |
|---|---|
SPC /, SPC s p |
Search project |
SPC s k |
Look up in Dash docsets |
| Key binding | Equivalent to |
|---|---|
SPC w c, SPC w d |
C-w c |
SPC w h |
C-w h |
SPC w j |
C-w j |
SPC w k |
C-w k |
SPC w l |
C-w l |
SPC w s |
C-w s |
SPC w v |
C-w v |
SPC w w |
C-w w |
SPC w W |
C-w W |
| Key binding | Description |
|---|---|
<C-w> d, <C-w> <C-d> |
Show error description |
SPC w m |
Maximize window (unsplit) |
| Key binding | Description |
|---|---|
g s b |
<Plug>(easymotion-bl) |
g s e |
<Plug>(easymotion-el) |
g s f |
<Plug>(easymotion-f) |
g s F |
<Plug>(easymotion-F) |
g s j |
<Plug>(easymotion-j) |
g s k |
<Plug>(easymotion-k) |
g s n |
<Plug>(easymotion-n) |
g s N |
<Plug>(easymotion-N) |
g s s |
<Plug>(easymotion-s2) |
g s t |
<Plug>(easymotion-t) |
g s T |
<Plug>(easymotion-T) |
g s w |
<Plug>(easymotion-wl) |
g s g e |
<Plug>(easymotion-gel) |
| Key binding | Description |
|---|---|
g r |
Refresh |
j |
Next line |
k |
Previous line |
l |
DWIM |
K |
Go to parent |
L |
Next neighbour |
H |
Previous neighbour |
o o |
Open no split |
o s |
Open vertical |
o v |
Open horizontal |
q |
Quit |
| Key binding | Description |
|---|---|
SPC RET |
Jump to bookmark |
SPC < |
Switch buffer (Switcher) |
[ SPC |
Insert blank line above current line |
] SPC |
Insert blank line below current line |
Actions on Save feature is available since IntelliJ IDEA 2021.2.
Go Settings > Tools > Actions on Save and check Reformat code
(also check Optimize imports, Rearrange code if you want).
If it doesn't work, make sure you don't set ideawrite option to file.
It should be all.
Add the following into your init.vim:
vnoremap < <gv
vnoremap > >gvAdd the following into your init.vim:
map <Leader>v <Action>(EditorSelectWord)
let g:WhichKeyDesc_expand_region = '<Leader>v Expand region'
vmap v <Action>(EditorSelectWord)
vmap V <Action>(EditorUnSelectWord)Add the following into your init.vim:
map <C-S-=> <Action>(EditorSelectWord)
vmap <C-S-=> <Action>(EditorSelectWord)
vmap <C-=> <Action>(EditorUnSelectWord)- intellimacs - Spacemacs' like key bindings for IntelliJ platform
