call plug#begin() Plug 'tpope/vim-surround' Plug 'tpope/vim-commentary' call plug#end() let mapleader = ' ' " how do you even vim without this set number set relativenumber " tbh i don't know what this does but it's some tab stuff set tabstop = 4 set softtabstop = 4 set shiftwidth = 4 set expandtab " this i kinda get i think set smartindent set wrap=false " highlight all search results while searching (i think) set incsearch set hlsearch " this is cool, J actually works set ideajoin nnoremap xif\ nmap w :w " Focus sth (e.g. Focus Search) nmap f; (ActivateTerminalToolWindow) nmap f: (Terminal.OpenInTerminal) nmap ff (ActivateProjectToolWindow) nmap fs (FindInPath) nmap fc (ActivateCommitToolWindow) nmap fp (ActivateProblemsViewToolWindow) nmap ft (ActivateUnitTestsToolWindow) nmap fx (HideAllWindows) " lsp ig? nmap lr (RenameElement) nmap lf (ReformatCode) nmap ]d (GotoNextError) nmap [d (GotoPreviousError) nmap gh (ShowErrorDescription) " system clipboard nnoremap p "+p nnoremap y "+y nnoremap d "+d nnoremap P "+P vnoremap p "+p vnoremap y "+y vnoremap d "+d vnoremap P "+P " center stuff when navigating nnoremap zz nnoremap zz nnoremap n nzz nnoremap N Nzz " move selected lines up one line xnoremap K :m-2gv=gv " move selected lines down one line xnoremap J :m'>+gv=gv " indentation fun vnoremap < >gv " running and stuff nmap ,r (Run) nmap ,d (Debug) nmap ,cr (ContextRun) nmap ,cd (ContextDebug) nmap ,s (Stop) nmap ,t (RiderUnitTestRunSolutionAction) nmap ,f (RiderUnitTestRerunBrokenSplitAction) " ide stuff nmap (ShowIntentionActions) nmap (GotoFile) nmap a (GotoAction) " goto is a bad language feature nmap gd m'(GotoDeclaration) nmap gi m'(GotoImplementation) nmap gr m'(FindUsages) " debugging nmap \b (ToggleLineBreakpoint) nmap \r (Resume) nmap \j (StepInto) nmap \k (StepOut) nmap (StepOver) " harpoon nmap 1 :action GotoHarpoon1 nmap 2 :action GotoHarpoon2 nmap 3 :action GotoHarpoon3 nmap 4 :action GotoHarpoon4 nmap 5 :action GotoHarpoon5 nmap a :action AddToHarpoon nmap s :action ShowHarpoon