| " ================================================================================================ |
| " = 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 |
| |
| " ================================================================================================ |
| " = No Leader Keymaps ===================================== |
| " ================================================================================================ |
| " 设置 jk 映射为 esc键 |
| inoremap jk <ESC> |
| |
| nmap ge <action>(GotoNextError) |
| nmap gm <action>(MethodUp) |
| nmap gi <action>(GotoImplementation) |
| " last changed in current buffer(file) |
| nmap ga '. |
| |
| " bookmark in whole program |
| nmap ma <action>(ToggleBookmark) |
| nmap ms mS |
| nmap 's 'S |
| nmap md mD |
| nmap 'd 'D |
| nmap mf mF |
| nmap 'f 'F |
| |
| |
| "快速切换到又字符位置的行首和行尾巴" |
| nmap L g_ |
| nmap H ^ |
| vmap L g_ |
| vmap H ^; |
| |
| " ================================================================================================ |
| " = Leader Keymaps ===================================== |
| " ================================================================================================ |
| " leaderkey |
| let mapleader=" " |
| |
| " ================================================================================================ |
| " 👻👻👻 Which-Key 👻👻👻 |
| " ================================================================================================ |
| set which-key |
| set notimeout |
| |
| "切换tab页" |
| nmap <leader>p <action>(PreviousTab) |
| |
| |
| " d: diff |
| nmap <leader>dd <action>(Vcs.ShowTabbedFileHistory) |
| |
| " 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) \| <action>(OptimizeImports) |
| |
| " g: Git ⭐️ |
| "let g:WhichKeyDesc_Git = "<leader>g Git" |
| "let g:WhichKeyDesc_Git_RollbackHunk = "<leader>gr RollbackHunk" |
| "nmap <leader>gr :action Vcs.RollbackChangedLines<CR> |
| |
| |
| |
| " g: GotoDeclation"---------------------------------------- |
| let g:WhichKeyDesc_Goto = "<leader>g Goto" |
| let g:WhichKeyDesc_Goto_GotoDeclation = "<leader>gd GotoDeclation" |
| nmap <leader>gd <action>(GotoDeclation) |
| |
| |
| |
| |
| " i: Insert 这个功能还是挺实用的--------------------------------------- |
| let g:WhichKeyDesc_InsertAfterBrackets = "<leader>i InsertAfterBrackets" |
| nmap <leader>i f(a |
| "-------------------------------------------------------------------" |
| |
| |
| |
| |
| |
| " j: add Semicolon and goto nextline-------------------------------- |
| " let g:WhichKeyDesc_InsertSemicolon = "<leader>j InsertSemicolon" |
| " nmap <leader>j A;<ESC>o |
| "-------------------------------------------------------------------" |
| |
| |
| |
| |
| " n: NextTab,NewFile,NewFile ------------------------------------------ |
| let g:WhichKeyDesc_NextOrNew = "<leader>n NextOrNew" |
| let g:WhichKeyDesc_NextOrNew_NextTab = "<leader>nt NextTab" |
| nmap <leader>n <action>(NextTab) |
| let g:WhichKeyDesc_NextOrNew_NewFile = "<leader>nf NewFile" |
| nmap <leader>nf <action>(NewFile) |
| let g:WhichKeyDesc_NextOrNew_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) |
| |
| " 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>wl splitWindowVertically" |
| nmap <leader>wl <action>(Macro.SplitVertically) |
| let g:WhichKeyDesc_Windows_closeActiveWindow = "<leader>wc closeActiveWindow" |
| nmap <leader>wc <c-w>c |
| |
| " 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) |
| |
| " c: Close ⭐️; |
| "let g:WhichKeyDesc_CloseBuffer = "<leader>c CloseBuffer" |
| "nmap <leader>c :q!<CR> |
| |
| " e: Toggle Explorer |
| let g:WhichKeyDesc_ToggleExplorerOrExtract = "<leader>e ToggleExplorer" |
| nmap <leader>e <action>(ActivateProjectToolWindow) |
| " e: Extract |
| " extract method/function |
| vmap <leader>em <action>(ExtractMethod) |
| " extract constant |
| vmap <leader>ec <action>(IntroduceConstant) |
| " extract field |
| vmap <leader>ef <action>(IntroduceField) |
| " extract variable |
| vmap <leader>ev <action>(IntroduceVariable) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战