" 顯示當前模式
set showmode
" 打開行號
set number
" 設置命令歷史記錄條數(shù)
set history=2000
" 關(guān)閉兼容vi
set nocompatible
" 開啟語法高亮功能
syntax enable
" 允許用指定語法高亮配色方案替換默認方案
syntax on
" 模式搜索實時預覽,增量搜索
set incsearch
" 設置搜索高亮
set hlsearch
" 忽略大小寫 (該命令配合smartcase使用較好丧荐,否則不要開啟)
set ignorecase
" 模式查找時智能忽略大小寫
set smartcase
" vim自身命令行模式智能補全
set wildmenu
" 總是顯示狀態(tài)欄
set laststatus=2
" 顯示光標當前位置
set ruler
" 高亮顯示當前行/列
set cursorline
"set cursorcolumn
" 禁止折行
set nowrap
" 將制表符擴展為空格
set expandtab
" 設置編輯時制表符占用空格數(shù)
set tabstop=8
" 設置格式化時制表符占用空格數(shù)
set shiftwidth=4
" 讓 vim 把連續(xù)數(shù)量的空格視為一個制表符
set softtabstop=4
" 基于縮進或語法進行代碼折疊
set foldmethod=syntax
" 啟動 vim 時關(guān)閉折疊代碼
set nofoldenable
" 開啟surround
set surround
" 留五行空白
set so 20
" 中文輸入法問題
set keep-english-in-normal-and-restore-in-insert
inoremap jk <esc>
" 設置leader鍵
let mapleader=","
" show in project view
map ;s <Action>(SelectInProjectView)
" run current test
map ;t <Action>(ContextRun)
close test result
map ;c <Action>(DSM.Close)
map <enter> <Action>(SelectFirstItem)
" 打開最近的項目
nnoremap <Leader>o :<C-u>action RecentProjectListGroup<CR>
" esc
map <leader>q <esc>
map <leader>v <Action>(IntroduceVariable)
" open terminal
map <leader>t <Action>(ActivateTerminalToolWindow)
" show full screen
map <leader>z <Action>(ToggleDistractionFreeMode)
" rename element
map <leader>r <Action>(RenameElement)
" reformat code
map <leader>c <Action>(ReformatCode)
" show structure
map <leader>ss <Action>(FileStructurePopup)
" close editors but active
map <leader>ea <Action>(CloseAllEditorsButActive)
map <leader>f <Action>(AceDeclarationAction)
" 跳轉(zhuǎn)
map ga <Action>(GotoAction)
map gb <Action>(JumpToLastChange)
map gc <Action>(GotoClass)
map gd <Action>(GotoDeclaration)
map gs <Action>(GotoSuperMethod)
map gi <Action>(GotoImplementation)
map gf <Action>(GotoFile)
map gm <Action>(GotoSymbol)
map gu <Action>(ShowUsages)
map gt <Action>(GotoTest)
map gp <Action>(FindInPath)
map gr <Action>(RecentFiles)
map gh <Action>(Back)
map gl <Action>(Forward)
" 觸發(fā)
nnoremap ta :action Annotate<cr>
nnoremap tb :action ToggleLineBreakpoint<cr>
nnoremap tm :action ToggleBookmarkWithMnemonic<cr>
nnoremap tp :action SelectInProjectView<CR>
" 標簽頁切換
nnoremap <space>h gT
nnoremap <space>l gt
" 內(nèi)容搜索
map f <Action>(AceAction)
" go to declaration
map F <Action>(AceDeclarationAction)
" 代碼編輯
nnoremap cc :<C-u>action CommentByLineComment<CR>
vnoremap cc :<C-u>action CommentByLineComment<CR>