vsvim config 2023-10-10 23:30:10

发布时间 2023-10-10 23:39:45作者: 虎虎生威啊
" = Extensions =====================================
Plug 'tpope/vim-surround'
Plug 'preservim/nerdtree'

" = Basic settings =====================================
set clipboard+=unnamed
set ignorecase
set scrolloff=30
set history=200

set number
" set relativenumber

set incsearch
set hlsearch
" set keep-english-in-normal

set sneak

" = No Leader Keymaps =====================================
" 设置 jk 映射为 esc键
inoremap jk <ESC>

nmap gb <action>(Back)

nmap ge <action>(GotoNextError)
nmap gE <action>(GotoPreviousError)

nmap gm <action>(MethodUp)
nmap gM <action>(MethodDown)

nmap gi <action>(GotoImplementation)

" last changed in current buffer(file)
nmap ga '.


"快速切换tab页,这个我是模仿vimchrome的快捷键"
nmap J <action>(NextTab)
nmap K <action>(PreviousTab)
vmap J <action>(NextTab)
vmap K <action>(PreviousTab)

"快速切换到又字符位置的行首和行尾巴"
nmap L g_
nmap H ^
vmap L g_
vmap H ^




" = Leader Keymaps =====================================
let mapleader=" "

" ??? Which-Key ???
set which-key
set notimeout


" f: Find/Format--------------------
let g:WhichKeyDesc_FindOrFormat = "<leader>f FindOrFormat"
let g:WhichKeyDesc_FindOrFormat_FindFile = "<leader>ff FindFile"
nmap <leader>ff <action>(GotoFile)

let g:WhichKeyDesc_FindOrFormat_FindFileLocation = "<leader>fl FindFileLocation"
nmap <leader>fl <action>(SelectInProjectView)

let g:WhichKeyDesc_FindOrFormat_FindText = "<leader>ft FindText"
nmap <leader>ft <action>(FindInPath)

let g:WhichKeyDesc_FindOrFormat_Commands = "<leader>fc Commands"
nmap <leader>fc <action>(GotoAction)

let g:WhichKeyDesc_FindOrFormat_OpenedProject = "<leader>fp OpenedProject"
nmap <leader>fp <action>(OpenProjectWindows)

let g:WhichKeyDesc_FindOrFormat_Format = "<leader>fm Format"
nmap <leader>fm <action>(ReformatCode)


let g:WhichKeyDesc_FindOrFormat_FindUsages = "<leader>fu FindUsages"
nmap <leader>fu <action>(FindUsages)


" g: GotoDeclation"--------------------
let g:WhichKeyDesc_Goto = "<leader>g Goto"
let g:WhichKeyDesc_Goto_GotoDeclation = "<leader>gd GotoDeclation"
nmap <leader>gd <action>(GotoDeclaration)
let g:WhichKeyDesc_Goto_GotoBack = "<leader>gb GotoBack"
nmap <leader>gb <action>(Back)


" h: HideActiveWindow----------------------
let g:WhichKeyDesc_Hide= "<leader>h Hide"
let g:WhichKeyDesc_Hide_ActiveWindow= "<leader>hw HideActiveWindow"
nmap <leader>hw <action>(HideActiveWindow)
let g:WhichKeyDesc_Hide_Explorer= "<leader>he HideExplorer"
nmap <leader>he <action>(HideSideWindows)


" i: Insert -----------------------
let g:WhichKeyDesc_InsertAfterBrackets = "<leader>i InsertAfterBrackets"
nmap <leader>i f(a



" n: NewFile,NewFile ----------------
let g:WhichKeyDesc_New = "<leader>n New"
let g:WhichKeyDesc_New_NewFile = "<leader>nf NewFile"
nmap <leader>nf <action>(NewFile)
let g:WhichKeyDesc_New_NewDir = "<leader>nd NewDir"
nmap <leader>nd <action>(NewDir)


" s: Show-----------------
let g:WhichKeyDesc_Show = "<leader>s Show"
let g:WhichKeyDesc_Show_FileStructure = "<leader>ss ShowFileStructure"
nmap <leader>ss <action>(FileStructurePopup)
let g:WhichKeyDesc_Show_Bookmarks = "<leader>sb ShowBookmarks"
nmap <leader>sb <action>(ShowBookmarks)
let g:WhichKeyDesc_Show_ParameterInfo = "<leader>sb ShowParameterInfo"
nmap <leader>sp <action>(ParameterInfo)
let g:WhichKeyDesc_Show_Hover = "<leader>sh ShowHover"
nmap <leader>sh <action>(Documentation.ToggleShowInPopup)
"ShowErrorDescription
let g:WhichKeyDesc_Show_ShowError = "<leader>se ShowErrorDescription"
nmap <leader>se <action>(ShowErrorDescription)



" r: rerun rename reruntest -------------------
let g:WhichKeyDesc_RunOrRe = "<leader>r RunOrRe"
let g:WhichKeyDesc_RunOrRe_RunClass = "<leader>rc RunClass"
nmap <leader>rc <action>(RunClass)
let g:WhichKeyDesc_RunOrRe_ReRun = "<leader>rr ReRun"
nmap <leader>rr <action>(Rerun)
let g:WhichKeyDesc_RunOrRe_ReRunTests = "<leader>rt ReRunTests"
nmap <leader>rt <action>(RerunTests)

" r: rerun rename reruntest ------------------
let g:WhichKeyDesc_RunOrRe = "<leader>r RunOrRe"
let g:WhichKeyDesc_RunOrRe_RunClass = "<leader>rc RunClass"
nmap <leader>rc <action>(RunClass)
let g:WhichKeyDesc_RunOrRe_ReRun = "<leader>rr ReRun"
nmap <leader>rr <action>(Rerun)
let g:WhichKeyDesc_RunOrRe_ReRunTests = "<leader>rt ReRunTests"
nmap <leader>rt <action>(RerunTests)
let g:WhichKeyDesc_RunOrRe_Rename = "<leader>rn Rename"
map <leader>rn <action>(RenameElement)


" w: Window------------------
let g:WhichKeyDesc_Windows = "<leader>w Windows"
let g:WhichKeyDesc_Windows_maximize = "<leader>wo maximize"
nmap <leader>wo <action>(UnsplitAll) \| <action>(HideAllWindows)
let g:WhichKeyDesc_Windows_splitWindowVertically = "<leader>wr splitWindowVertically"
nmap <leader>wl <action>(MoveTabRight)
let g:WhichKeyDesc_Windows_CloseAllEditorsButActive = "<leader>wa CloseAllEditorsButActive"
nmap <leader>wa <action>(CloseAllEditorsButActive)
let g:WhichKeyDesc_Windows_CloseEditor = "<leader>wc CloseEditor"
nmap <leader>wc <action>(CloseEditor)

" z: zip(fold)------------------
let g:WhichKeyDesc_Zip = "<leader>z Zip"
let g:WhichKeyDesc_Zip_unZipAll = "<leader>zo unZipAll"
nmap <leader>zo <action>(ExpandAllRegions)
let g:WhichKeyDesc_Zip_ZipAll = "<leader>zc ZipAll"
nmap <leader>zc <action>(CollapseAllRegions)



" e: Extract------------------
" extract method/function
let g:WhichKeyDesc_ToggleExplorerOrExtract = "<leader>e ToggleExplorerOrExtract"
let g:WhichKeyDesc_ToggleExplorerOrExtract_ExtractMethod = "<leader>em ExtractMethod"
vmap <leader>em <action>(ExtractMethod)
" extract constant
let g:WhichKeyDesc_ToggleExplorerOrExtract_IntroduceConstant = "<leader>ec IntroduceConstant"
vmap <leader>ec <action>(IntroduceConstant)
" extract field
let g:WhichKeyDesc_ToggleExplorerOrExtract_IntroduceField = "<leader>ef IntroduceField"
vmap <leader>ef <action>(IntroduceField)
" extract variable
let g:WhichKeyDesc_ToggleExplorerOrExtract_IntroduceVariable = "<leader>ev IntroduceVariable"
vmap <leader>ev <action>(IntroduceVariable)