133 lines
2.7 KiB
Plaintext
133 lines
2.7 KiB
Plaintext
"" .ideavimrc - Matt Chapman
|
|
|
|
|
|
"" Base Settings
|
|
"" ========================================================
|
|
|
|
set scrolloff=10
|
|
set linenumber
|
|
set nu
|
|
set showmode
|
|
set showcmd
|
|
|
|
set smartcase
|
|
set incsearch
|
|
set hlsearch
|
|
set so=5
|
|
|
|
set visualbell
|
|
|
|
"" Idea specific settings
|
|
"" ========================================================
|
|
set ideajoin
|
|
set ideastatusicon=gray
|
|
|
|
" 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 gcc <action>(CommentByLineComment)
|
|
|
|
" Jump around with easymotion
|
|
map f <Plug>(easymotion-s)
|
|
map e <Plug>(easymotion-f)
|
|
|
|
|
|
" Open NERDTree (use q to exit)
|
|
map <leader>e :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)
|
|
map <leader>ha <action>(HideAllWindows)
|
|
|
|
" 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>fg <action>(FindInPath)
|
|
|
|
" 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)
|
|
|
|
" Git windows
|
|
map <leader>gc <Action>(CheckinProject)
|
|
map <leader>gs <Action>(ActivateVersionControlToolWindow)
|
|
map <leader>gb <Action>(Git.Branches)
|
|
|
|
"Run
|
|
map <leader>r <Action>(Run)
|
|
map <leader>rc <Action>(RunConfiguration)
|
|
|