Skip to content

Instantly share code, notes, and snippets.

@soomtong
Last active April 20, 2023 06:57
Show Gist options
  • Save soomtong/9168011df7fd31a128ceda13937c9841 to your computer and use it in GitHub Desktop.
Save soomtong/9168011df7fd31a128ceda13937c9841 to your computer and use it in GitHub Desktop.
Jetbrains ideavim plugin vimrc
"noremap j gj
"noremap k gk
" inoremap jk <ESC>
" map space as leader key
let mapleader=" "
nnoremap <SPACE> <Nop>
" find in path
nnoremap gj viw:action FindInPath<CR>
nnoremap gk :action FindUsages<CR>
" easy motion
nnoremap s :action AceAction<CR>
nnoremap gh :action EditorLineStart<CR>
nnoremap gl :action EditorLineEnd<CR>
nnoremap gH :action EditorLineStartWithSelection<CR>
nnoremap gL :action EditorLineEndWithSelection<CR>
" goto
nnoremap gI :action GotoImplementation<CR>
" bookmark
nmap M :action ToggleBookmark<CR>
nmap L :action GotoNextBookmark<CR>
nmap H :action GotoPreviousBookmark<CR>
nmap <C-S-M> :action ShowBookmarks<CR>
nmap <leader>ms :action ShowBookmarks<CR>
nmap <leader>mm :action ToggleBookmark<CR>
nmap <leader>mn :action GotoNextBookmark<CR>
nmap <leader>mp :action GotoPreviousBookmark<CR>
nmap <leader>m1 :action ToggleBookmark1<CR>
nmap <leader>m2 :action ToggleBookmark2<CR>
nmap <leader>m3 :action ToggleBookmark3<CR>
nmap <leader>m4 :action ToggleBookmark4<CR>
nmap <leader>m5 :action ToggleBookmark5<CR>
nmap <leader>m6 :action ToggleBookmark6<CR>
nmap <leader>m7 :action ToggleBookmark7<CR>
nmap <leader>m8 :action ToggleBookmark8<CR>
nmap <leader>m9 :action ToggleBookmark9<CR>
nmap <leader>m0 :action ToggleBookmark0<CR>
" highlight
nnoremap <ESC> :nohls<CR><ESC>
" tab open action
nmap <Tab> :action NextTab<CR>
nmap <S-Tab> :action PreviousTab<CR>
nmap <leader><Tab> :action PrevSplitter<CR>
nmap <C-.> :action NextTab<CR>
nmap <C-,> :action PreviousTab<CR>
nmap <leader>w :action NextSplitter<CR>
nmap <leader>fe :action RecentLocations<CR>
nmap <leader>fr :action RecentFiles<CR>
nmap <leader>fx :action CloseEditor<CR>
nmap <leader>fw :action Switcher<CR>
nmap <leader>fd :action NewScratchBuffer<CR>
nmap <leader>fs :action SaveDocument<CR>
nmap <leader>fa :action SelectInProjectView<CR>
nmap <leader>gx :action CloseAllEditorsButActive<CR>
nmap <leader>gh :action PrevSplitter<CR>
nmap <leader>gl :action NextSplitter<CR>
nmap <leader>1 :action GoToTab1<CR>
nmap <leader>2 :action GoToTab2<CR>
nmap <leader>3 :action GoToTab3<CR>
nmap <leader>4 :action GoToTab4<CR>
nmap <leader>5 :action GoToTab5<CR>
nmap <leader>6 :action GoToTab6<CR>
nmap <leader>7 :action GoToTab7<CR>
nmap <leader>8 :action GoToTab8<CR>
nmap <leader>9 :action GoToTab9<CR>
" vcs
nmap <leader>gb :action Annotate<CR>
" built in search looks better
" nnoremap / :action Find<cr>
" but preserve ideavim search
" nnoremap g/ /
" enter newlines
"nnoremap <CR> I<CR>
"inoremap <CR> <C-o>:action EditorEnter<CR>
" move with control arrow key
nnoremap <C-Up> :action MethodUp<CR>
nnoremap <C-Down> :action MethodDown<CR>
inoremap <C-Up> <C-O>:action MethodUp<CR>
inoremap <C-Down> <C-O>:action MethodDown<CR>
" open declaration in new split tab
"nnoremap <C-]> :action GotoDeclarationOnly<CR><BAR>:action VimWindowSplitVertical<CR><BAR>:action VimWindowPrev<CR>
"nnoremap <C-]> :action GotoDeclarationOnly<CR><BAR>:action VimWindowSplitVertical<CR>
nnoremap <C-]> :action GotoDeclaration<CR>
" select with arrow key
" deprecated by 0.52 selectmode
"nnoremap <S-Left> :action EditorLeftWithSelection<CR>
"nnoremap <S-Right> :action EditorRightWithSelection<CR>
"nnoremap <S-Up> :action EditorUpWithSelection<CR>
"nnoremap <S-Down> :action EditorDownWithSelection<CR>
" select with arrow key for insert mode
inoremap <S-Left> <C-O>:action EditorLeftWithSelection<CR>
inoremap <S-Right> <C-O>:action EditorRightWithSelection<CR>
inoremap <S-Up> <C-O>:action EditorUpWithSelection<CR>
inoremap <S-Down> <C-O>:action EditorDownWithSelection<CR>
" home/end fallback
inoremap <C-F> <Right>
inoremap <C-B> <Left>
inoremap <C-E> <End>
inoremap <C-A> <C-O>:action EditorLineStart<CR>
" enable options
set NERDTree
set surround
set hlsearch
set incsearch
set ignorecase smartcase
set visualbell
set keymodel=startsel
set selectmode=key,ideaselection
set idearefactormode=keep
" set ideajoin
@soomtong
Copy link
Author

0.52 버전에 도입된 selectmode 와 keymodel 이 반영되었습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment