I'm used to both vim and IntelliJ default hotkeys. I'd like to not to have to change any of them - I'd rather like to be able to use conflicting IntelliJ bindings, like CTRL-P for example, after some kind of escape key.
Conflict balloon and my research wasn't too helpful. Only thing that I've found is that I can turn vim plugin off with a hotkey, and then back on after I'm done, but I have to remember to turn it one every time.
Is there any solution for my problem?
The problem is that after IDEA-116221 Escape always switches from the Terminal tool window to the editor. Thus, pressing Escape, then pressing w results in typing w in the editor. Update: the result solution: Go to "Settings | Tools | Terminal" and click "Configure terminal keybindings".
If you choose Code | Reformat Code from the main menu or press Ctrl+Alt+L , IntelliJ IDEA tries to reformat the source code of the specified scope automatically. For more details on how to reformat, or exclude files from formatting, refer toReformat code.
After you restart the IntelliJ IDEA, Vim is enabled and the editor starts operating in the Vim mode. To disable it, deselect Tools | Vim in the main menu.
IntelliJ IDEA includes several predefined keymaps and lets you customize frequently used shortcuts. To view the keymap configuration, open the Settings/Preferences dialog Ctrl+Alt+S and select Keymap. IntelliJ IDEA automatically suggests a predefined keymap based on your environment.
I made .ideavimrc that contains bindings for all conflicted mappings. Maybe it'll be usefull to someone.
imap jj <Esc> let mapleader = " " map <leader>a :action $SelectAll<CR> map <leader>b :action GotoDeclaration<CR> map <leader>c :action $Copy<CR> map <leader>d :action EditorDuplicate<CR> map <leader>e :action RecentFiles<CR> map <leader>f :action Find<CR> map <leader>g :action GotoLine<CR> map <leader>h :action TypeHierarchy<CR> map <leader>i :action ImplementMethods<CR> map <leader>m :action EditorScrollToCenter<CR> map <leader>n :action FileChooser.NewFolder<CR> map <leader>o :action OverrideMethods<CR> map <leader>p :action ParameterInfo<CR> map <leader>q :action QuickJavaDoc<CR> map <leader>r :action Replace<CR> map <leader>s :action SaveAll<CR> map <leader>t :action Vcs.UpdateProject<CR> map <leader>u :action GotoSuperMethod<CR> map <leader>v :action $Paste<CR> map <leader>w :action EditorSelectWord<CR> map <leader>x :action $Cut<CR> map <leader>y :action EditorDeleteLine<CR> map <leader>[ :action EditorCodeBlockStart<CR> map <leader>] :action EditorCodeBlockEnd<CR>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With