" You can find a list of commands here: https://jb.gg/h38q75 " Find more examples here: https://jb.gg/share-ideavimrc " Examples to map IDE actions to IdeaVim -- https://jb.gg/abva4t " Enable IdeaVim plugins https://jb.gg/ideavim-plugins "source ~/.vimrc " FIX: "u" appears randomly when deleting words and other times " TODO: Keep the mappings same across Neovim & Idea " Keymap structure: " b+: [B]buffer Operations " c+: [C]oding Stuff " d+: [D]iagnostics " f+: [F]ile Operations " g+: [G]it Operations " l+: [L]ist Things " n+: [N]eoVim Stuff " s+: Grep/[S]earch Things " t+: [T]est runner stuff " x+: close/dismiss something " e: explorer " j: EasyMotion jump " p: Paste from system clipboard " y: Copy selected stuff to system clipboard " u: Open undo-tree side-panel " v: Open document symbol explorer """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" source ~/.vim/configs.vim source ~/.vim/key_maps.vim " Because :noh does not work in Jetbrains nnoremap inoremap " Set Tabs to 4 characters set expandtab set tabstop=4 set shiftwidth=4 " Searches set hlsearch ignorecase smartcase incsearch wrapscan " Common settings set gdefault " substitute all occurrences in line set clipboard^=unnamed,unnamedplus,ideaput " Copy to and from system clipboard """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Enabled plugins set ideajoin Plug 'easymotion/vim-easymotion' " j or J [2 characters] Plug 'preservim/nerdtree' " e Plug 'tpope/vim-surround' " ys or cs or ds [motion] Plug 'tpope/vim-commentary' " gc [motion] Plug 'machakann/vim-highlightedyank' Plug 'dbakker/vim-paragraph-motion' Plug 'chrisbra/matchit' Plug 'tpope/vim-repeat' " Repeat for Surround " Plug 'terryma/vim-multiple-cursors' " mc (selects), mx (skips), mp (previous) """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Map d to start debug "map d (Debug) " Map \b to toggle breakpoint "map \b (ToggleLineBreakpoint) " Multiple Cursors map mc map mx map mp " Find/Open file nmap of :action GotoFile nmap or :action RecentFiles " Find/Navigate to different parts of code nmap gf :action FindInPath nmap gr :action ShowUsages nmap gi :action GotoImplementation nmap gs :action GotoSuperMethod " Tabs nmap tn :action NextTab nmap tp :action PreviousTab " NerdTree nmap e :NERDTreeToggle " When in the tree use the below default keybindings " j, k - To go down and up " p - Go to the parent directory " P - Go the root directory " s - open file in vertical split " i - open in horizontal split " t - open in a new tab " o - Open the selected file or Expand the selected directory. " - Also collapse the same directory. " - Moves the cursor to the file. " go - Opens the file but keeps the cursor on the file tree " A - expand the file tree " x - close the file tree nmap :action ParameterInfo imap :action ParameterInfo nmap n :action GotoNextError map gh (ShowErrorDescription) " Code refactoring nmap ri :action Inline nmap rr :action RenameElement nmap rev :action IntroduceVariable vmap rev :action IntroduceVariable nmap rem :action ExtractMethod vmap rem :action ExtractMethod nmap rm :action Move nmap ro :action OptimizeImports nmap rG :action Generate nmap rf :action ReformatCode " Easy motion map j (easymotion-s) nmap gr :action Vcs.RollbackChangedLines