137 lines
No EOL
3.2 KiB
Text
137 lines
No EOL
3.2 KiB
Text
" .ideavimrc is a configuration file for IdeaVim plugin. It uses
|
|
" the same commands as the original .vimrc configuration.
|
|
" You can find a list of commands here: https://jb.gg/h38q75
|
|
" Find more examples here: https://jb.gg/share-ideavimrc
|
|
|
|
" UI/UX
|
|
set scrolloff=15
|
|
set autoindent
|
|
set relativenumber
|
|
set showcmd
|
|
set showmode
|
|
set ideajoin
|
|
set startofline
|
|
|
|
" search
|
|
set hlsearch
|
|
set incsearch
|
|
set smartcase
|
|
|
|
let mapleader=" "
|
|
let g:mapleader=" "
|
|
|
|
" system clipboard
|
|
set clipboard+=unnamedplus
|
|
set ideaput
|
|
|
|
"" Plugins
|
|
" --- Enable IdeaVim plugins https://jb.gg/ideavim-plugins
|
|
|
|
" set sneak
|
|
set highlightedyank
|
|
" set exchange
|
|
set commentary
|
|
set matchit
|
|
set mini-ai
|
|
set vim-paragraph-motion
|
|
set peekaboo
|
|
set surround
|
|
|
|
" More text objects
|
|
set argtextobj
|
|
set functiontextobj
|
|
set textobj-indent
|
|
|
|
set which-key
|
|
set notimeout
|
|
let g:WhichKey_ShowVimActions = "true"
|
|
let g:WhichKey_SortOrder = "by_key_prefix_first"
|
|
|
|
set NERDTree
|
|
let g:NERDTreeMapActivateNode = "l"
|
|
let g:NERDTreeMapPreview = "<Tab>"
|
|
let g:NERDTreeMapJumpParent = "h"
|
|
nmap <leader>e :NERDTree<CR>
|
|
|
|
" surround
|
|
Plug "tpope/vim-surround"
|
|
|
|
" Mappings
|
|
|
|
" Choose if vim or ide will handle the mapping
|
|
|
|
" Allows to set text formatting in markdown
|
|
sethandler <C-b> n:vim i-v:ide
|
|
sethandler <C-i> n:vim i-v:ide
|
|
sethandler <C-v> a:vim i:ide
|
|
|
|
" Don't use Ex mode, use Q for formatting.
|
|
map Q gq
|
|
" Prevent movement
|
|
nmap <Space> <nop>
|
|
vmap <Space> <nop>
|
|
vmap p "_dP
|
|
let g:WhichKeyDesc_Nop = "<Space>"
|
|
|
|
"" find
|
|
let g:WhichKeyDesc_Find = "<leader>f Find"
|
|
nmap <leader>fF <Action>(SearchEverywhere)
|
|
let g:WhichKeyDesc_Find_Everywhere = "<leader>fF Everywhere"
|
|
|
|
nmap <leader>ff <Action>(GotoFile)
|
|
let g:WhichKeyDesc_Find_Files = "<leader>ff Files"
|
|
|
|
nmap <leader>fr <Action>(RecentFiles)
|
|
let g:WhichKeyDesc_Find_Recents = "<leader>fr Recent"
|
|
|
|
"" code jump
|
|
" nmap gd <Action>(GotoSuperMethod)
|
|
" nmap gD <Action>(GotoDeclaration)
|
|
" nmap gy <Action>(GotoTypeDeclaration)
|
|
" nmap gri <Action>(GotoImplementation)
|
|
" nmap grr <Action>(FindUsages)
|
|
" nmap <leader>lR <Action>(FindUsages)
|
|
|
|
"" editing
|
|
let g:WhichKeyDesc_Commentary = "<leader>gc Comment"
|
|
" nmap gco o<Action>(CommentByLineComment)<ESC>
|
|
" nmap gcO O<Action>(CommentByLineComment)<ESC>
|
|
|
|
" nmap <leader>lf <Action>(ReformatCode)
|
|
" vmap <leader>lf <Action>(ReformatCode)<ESC>
|
|
" nmap <leader>lr <Action>(RenameElement)
|
|
|
|
"" git operation
|
|
nmap <leader>gt <Action>(ActivateCommitToolWindow)
|
|
" nmap <leader>gC <Action>(Vcs.ShowTabbedFileHistory)
|
|
nmap <leader>gr <Action>(Vcs.RollbackChangedLines)
|
|
nmap <leader>gR <Action>(ChangesView.Revert)
|
|
" nmap <leader>gl <Action>(Annotate)
|
|
|
|
"" tabs
|
|
nmap H <Action>(PreviousTab)
|
|
nmap L <Action>(NextTab)
|
|
" nmap <leader>bc <Action>(CloseAllEditorsButActive)
|
|
" nmap <leader>bC <Action>(CloseAllEditors)
|
|
" nmap <leader>c <Action>(CloseContent)
|
|
|
|
"" panels
|
|
nmap <C-h> <C-w>h
|
|
nmap <C-l> <C-w>l
|
|
nmap <C-k> <C-w>k
|
|
nmap <C-j> <C-w>j
|
|
|
|
nmap <Bar> <Action>(SplitVertically)
|
|
nmap ° <Action>(SplitHorizontally)
|
|
|
|
"" debug
|
|
" nmap <leader>dc <Action>(Debug)
|
|
" nmap <leader>dq <Action>(Stop)
|
|
" nmap <leader>db <Action>(ToggleLineBreakpoint)
|
|
" nmap <leader>do <Action>(StepOver)
|
|
" nmap <leader>di <Action>(StepInto)
|
|
" nmap <leader>dO <Action>(StepOut)
|
|
" nmap <leader>dE <Action>(EvaluateExpression)
|
|
|
|
"" 快速关闭上次搜索结果高亮
|
|
nmap <ESC> :nohlsearch<CR> |