" $DOTFILES/common/ideavimrc " Date: 2024-12-22 " Author: js0ny " Location: " $XDG_CONFIG_HOME/ideavim/ideavimrc " Linking: " ln -sf $DOTFILES/common/ideavimrc $XDG_CONFIG_HOME/ideavim/ideavimrc source ~/.local/share/intellimacs/spacemacs.vim source ~/.local/share/intellimacs/extra.vim source ~/.local/share/intellimacs/major.vim source ~/.local/share/intellimacs/hybrid.vim source ~/.local/share/intellimacs/which-key.vim " """ Basic Configs """ let mapleader = " " " set to """ Colemak """ noremap n j noremap e k noremap i l " Similar position to i noremap l i noremap L I " ne[k]st noremap k n noremap K N " [j]ump noremap j e noremap J E noremap H :bp noremap I :bn noremap N 5j noremap E 5k " Y to yank to end of line noremap Y y$ """ Options """ " search for actions: :actionlist "" Vim Compat "" set clipboard=unnamedplus,unnamed,ideaput " integrate with system clipboard set gdefault " substitute all occurrences in line per default set history=4096 " keep x lines of command line history set hlsearch set ignorecase set incsearch set keymodel=startsel,stopsel set matchpairs+=<:> set showcmd set smartcase " no ignore case when pattern is uppercase set wrapscan " searches wrap around the end of the file "" IDE Settings "" set scrolloff=5 set sidescrolloff=10 "" IDE Features "" set relativenumber " Hybrid Line Number shown "" IdeaVim Only "" set ideajoin set ideastatusicon=enabled """ Plugins """ Plug 'justinmk/vim-sneak' Plug 'preservim/nerdtree' Plug 'tpope/vim-surround' Plug 'tpope/vim-commentary' Plug 'terryma/vim-multiple-cursors' Plug 'machakann/vim-highlightedyank' Plug 'easymotion/vim-easymotion' """ Keybindings """ "" don't lose selection when indenting "" vnoremap < >gv vnoremap = =gv "" edit ideavim config v + "" nnoremap vv :e ~/.ideavimrc nnoremap vr :source ~/.ideavimrc "" NERDTree "" nnoremap e :NERDTreeToggle "" EasyMotion "" nmap s (easymotion-f) nmap S (easymotion-F) "" Sneak "" nmap f (sneak-s) nmap F (sneak-S) "" Language Server Protocol "" nnoremap gd :action GotoDeclaration nnoremap gtd :action GotoTypeDeclaration nnoremap gtD :action QuickTypeDefinition nnoremap gr :action ShowUsages nnoremap gi :action GotoImplementation nnoremap gpi :action QuickImplementations nnoremap gs :action GotoSuperMethod nnoremap ga :action ShowIntentionActions nnoremap gq :action ShowIntentionActions nnoremap ge :action GotoNextError "" Collapse and Expand z + "" nnoremap zi :action ExpandCollapseToggleAction nnoremap zc :action CollapseRegion nnoremap zC :action CollapseRegionRecursively nnoremap zM :action CollapseAll nnoremap zo :action ExpandRegion nnoremap zO :action ExpandRegionRecursively nnoremap zR :action ExpandAll "" Miscs "" nnoremap : :action GotoAction nnoremap :action GotoFile nnoremap h :action PrevSplitter nnoremap i :action NextSplitter "" AI Related a + "" nnoremap ac :action copilot.chat.show nnoremap ad :action copilot.disableCopilot nnoremap ae :action copilot.enableCopilot nnoremap aa :action copilot.openCopilot " b : +buffer nnoremap bb :action Switcher noremap bd :bdelete noremap bh :bprevious noremap bi :bnext noremap bp :bprevious noremap bn :bnext " c : +code/compile nnoremap cr :action Run nnoremap cf :action ReformatCode nnoremap cs :action GotoSymbol nnoremap cS :action GotoSymbol nnoremap cR :action RenameElement """ Works for Rider only nnoremap ce :action ReSharperGotoNextErrorInSolution nnoremap cE :action ReSharperGotoPrevErrorInSolution " d : +debug " f : +file nnoremap ff :action GotoFile nnoremap fF :action TextSearchAction nnoremap fc :action ShowSettings nnoremap fC :action ShowSettings nnoremap fe :NERDTreeToggle nnoremap fo :OpenInAssociatedApplication nnoremap ft :action ActivateTerminalToolWindow nnoremap fx :action WelcomeScreen.Plugins " g : +git nnoremap gp :action Git.Pull nnoremap gP :action Vcs.Push nnoremap gb :action Git.Branches nnoremap gR :action Git.Rebase nnoremap gM :action Git.Merge nnoremap gc :action CheckinProject nnoremap gC :action Git.Clone nnoremap gg :action ActivateVersionControlToolWindow nnoremap gS :action Git.Stash " h : +help " p : +project nnoremap pr :action Run nnoremap pd :action Debug nnoremap pb :action Build " q : +quit nnoremap qq :action Exit nnoremap Q :action Exit " r : +refactor nnoremap ri :action Inline nnoremap rr :action RenamElement nnoremap rev :action IntroduceVariable vnoremap rev :action IntroduceVariable nnoremap rem :action ExtractMethod vnoremap rem :action ExtractMethod nnoremap rm :action Move nnoremap ro :action OptimizeImports nnoremap rG :action Generate " t : +test nnoremap tt :action RiderUnitTestRunSolutionAction nnoremap tT :action Rider.UnitTesting.MainMenu " u : +ui nnoremap ui :action ChangeLaf nnoremap uw :action EditorToggleUseSoftWraps " w : +write/window nnoremap ww :write nnoremap wa :wall nnoremap wq :wq nnoremap W :write nnoremap wh :action PrevSplitter nnoremap wi :action NextSplitter nnoremap wH :action SplitHorizontally nnoremap wI :action SplitHorizontally nnoremap wN :action SplitVertically nnoremap wE :action SplitVertically nnoremap w- :action SplitHorizontally nnoremap w| :action SplitVertically nnoremap w\ :action SplitVertically nnoremap :action ParameterInfo inoremap :action ParameterInfo """ Handling Ctrls """ sethandler i:ide sethandler n-v:vim i:ide sethandler a:ide sethandler > a:ide