Skip to content

Instantly share code, notes, and snippets.

@frnkst
Created October 29, 2024 15:52
Show Gist options
  • Save frnkst/887cf8de3126330efc5d1eb51e47156e to your computer and use it in GitHub Desktop.
Save frnkst/887cf8de3126330efc5d1eb51e47156e to your computer and use it in GitHub Desktop.
"" .ideavimrc - Matt Chapman
"" Base Settings
"" ========================================================
set scrolloff=10
set linenumber
set showmode
set showcmd
set smartcase
set incsearch
set hlsearch
set visualbell
" Use system clipboard
set clipboard+=unnamed
let mapleader = " "
"" Plugin Settings
"" ========================================================
set surround
set highlightedyank
set sneak
set nerdtree
" Easymotion settings
set easymotion
set notimeout
"" Key mappings
"" ========================================================
inoremap jk <Esc>
" Tab navigation
nnoremap <A-n> :tabnext<CR>
nnoremap <A-p> :tabprev<CR>
" Pane navigation
nnoremap <A-h> <C-w>h
nnoremap <A-l> <C-w>l
nnoremap <A-k> <C-w>k
nnoremap <A-j> <C-w>j
" Jump between methods
nnoremap [[ <action>(MethodUp)
nnoremap ]] <action>(MethodDown)
" Easy visual indentation
vnoremap < <gv
vnoremap > >gv
" Execute macro saved in 'q' register
nnoremap qj @q
" Popup navigation
inoremap <C-j> <action>(PopupMenu-selectNext)
inoremap <C-k> <action>(PopupMenu-selectPrev)
"" Leader commands
"" ========================================================
" Comment lines
map <leader>c <action>(CommentByLineComment)
" Jump around with easymotion
map <leader>j <Plug>(easymotion-s)
" Open NERDTree (use q to exit)
map <leader>x :NERDTreeToggle<CR>
" Folding
map <leader>zc <action> CollapseAllRegions<CR>
map <leader>zo <action> ExpandAllRegions<CR>
" Window splits
map <leader>wv <action>(SplitVertically)
map <leader>ws <action>(SplitHorizontally)
map <leader>wu <action>(Unsplit)
map <leader>wm <action>(MoveEditorToOppositeTabGroup)
" Display options
map <leader>dd <action>(ToggleDistractionFreeMode)
map <leader>dz <action>(ToggleZenMode)
map <leader>df <action>(ToggleFullScreen)
" Actions
map <leader>am <action>(ShowIntentionActions)
map <leader>as <action>(SearchEverywhere)
" File navigation
map <leader>ff <action>(GotoFile)
map <leader>fr <action>(RecentFiles)
map <leader>fc <action>(FindInPath)
map <leader><leader> <action>(RecentChangedFiles)
map <leader>fl <action>(RecentLocations)
map <leader>fs <action>(NewScratchFile)
" Close active tab
map <leader>q <action>(CloseContent)
" Refactoring
map <leader>rn <action>(RenameElement)
map <leader>rm <action>(ExtractMethod)
map <leader>rv <action>(IntroduceVariable)
map <leader>rf <action>(IntroduceField)
map <leader>rs <action>(ChangeSignature)
map <leader>rr <action>(Refactorings.QuickListPopupAction)
" Go to code
nmap <leader>gd <action>(GotoDeclaration)
nmap <leader>gy <action>(GotoTypeDeclaration)
nmap <leader>gi <action>(GotoImplementation)
nmap <leader>gu <action>(ShowUsages)
nmap <leader>gt <action>(GotoTest)
nmap <leader>gf <action>(Back)
nmap <leader>gb <action>(Forward)
" Git
nmap <leader>gc <action>(Vcs.Show.Local.Changes)
nmap <leader>gp <action>(Vcs.Push)
nmap <leader>gb <action>(Git.Branches)
nmap <leader>gf <action>(Git.Fetch)
nmap <leader>ga <action>(Annotate)
nmap <leader>gl <action>(Vcs.Show.Log)
nmap <leader>gr <action>(Git.ResolveConflicts)
" Errors
map <leader>en <action>(ReSharperGotoNextErrorInSolution)
map <leader>ep <action>(ReSharperGotoPrevErrorInSolution)
" Github
nmap <leader>h <action>(Github.View.Pull.Request)
" Terminal
nmap <leader>t <action>(ActivateTerminalToolWindow)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment