" ~/.config/vscode/vscode.vimrc " New-Item -ItemType SymbolicLink -Path ~\.config\vscode\vscode.vimrc -Target ~\.dotfiles\vscode\vscode.vimrc " ln -sf $DOTFILES/vscode/vscode.vimrc $XDG_CONFIG_HOME/vscode/vscode.vimrc " And go to vscode vim setting: "vim.vimrc.path": "$HOME/.config/vscode/vscode.vimrc", " Arrow remap noremap n j noremap e k noremap i l " Switch between tabs noremap H :bprevious noremap I :bnext noremap N 5j noremap E 5k " Similar position to i " The `noremap` implements text-object-like behavior in VSCodeVim noremap l i noremap L I " ne[k]st noremap k n noremap K N " [j]ump noremap j e noremap J E " Y to yank to end of line noremap Y y$ " Define in settings.json, since this will remap under visual mode " noremap :nohlsearch " 分词版本的w和b,支持中文,需要插件 " 为了保证递归解析,而不是打断,使用 `nmap` 而不是 `nnoremap` " Comment if you don't use cjk or the plugin nmap w cjkWordHandler.cursorWordEndRight nmap b cjkWordHandler.cursorWordStartLeft " keep selection after indent (define in settings.json) " voremap < >gv " lsp noremap gi editor.action.goToImplementation noremap gpi editor.action.peekImplementation noremap gd editor.action.goToDefinition noremap gpd editor.action.peekDefinition noremap gt editor.action.goToTypeDefinition noremap gpt editor.action.peekTypeDefinition noremap gh editor.action.showDefinitionPreviewHover noremap gr editor.action.goToReferences noremap gpr editor.action.referenceSearch.trigger noremap zR editor.foldAll noremap workbench.action.quickOpen noremap / workbench.action.quickTextSearch noremap : workbench.action.showCommands noremap E workbench.view.explorer noremap - workbench.action.splitEditorDown noremap | workbench.action.splitEditorRight noremap \ workbench.action.splitEditorRight " a : +ai/action noremap aa inlineChat.start noremap aA workbench.panel.chat noremap ae workbench.action.chat.openEditSession " b : +buffer noremap bb workbench.action.showAllEditors noremap bd :bdelete noremap bh :bprevious noremap bi :bnext noremap bp :bprevious noremap bn :bnext " c : +code/compile noremap cr code-runner.run noremap cf editor.action.formatDocument noremap c editor.action.trimTrailingWhitespace noremap cs workbench.action.gotoSymbol noremap cS workbench.action.showAllSymbols noremap ce editor.action.marker.next noremap cE editor.action.marker.prev noremap cg editor.action.dirtydiff.next noremap cG editor.action.dirtydiff.previous noremap cR editor.action.rename " d : +debug " f : +file noremap ff workbench.action.quickOpen noremap fF workbench.view.search noremap fc workbench.action.openSettings noremap fC workbench.action.openFolderSettingsFile noremap fe workbench.view.explorer noremap fo openInExternalApp.open noremap fr workbench.action.showAllEditorsByMostRecentlyUsed " Can only rename tracked files noremap fR git.rename " noremap fs workbench.action.search.toggleQueryDetails noremap ft workbench.action.terminal.toggleTerminal noremap fx workbench.view.extensions " g : +git noremap gg workbench.view.scm noremap gS git.stageAll " h : +help " j : +jump noremap jj workbench.action.gotoLine " l : +language (define in settings.json) " p : +project (requires Project Manager extension) noremap pp projectManager.listProjects noremap pP projectManager.listAnyProjects#sideBarAny noremap pc projectManager.openSettings#sideBarAny noremap pe projectManager.editProjects noremap pf projectManager.addToFavorites noremap pF projectManager.filterProjectsByTag noremap pg projectManager.listGitProjects#sideBarGit noremap pr workbench.action.openRecent noremap ps projectManager.saveProject " q : +quit noremap qq :quit noremap qQ :qall noremap Q :quit " r : +refactor " s : +search " t : +test noremap tt testing.runAll noremap tT testing.debugAll noremap ta testing.runAll noremap tA testing.debugAll noremap tf testing.reRunFailedTests noremap tF testing.debugFailedTests noremap tl testing.reRunLastRun noremap tL testing.debugLastRun noremap tc testing.runCurrentTest noremap tC testing.debugCurrentTest noremap tx testing.cancelTestRun " u : +ui noremap ui workbench.action.selectTheme noremap uw editor.action.toggleWordWrap noremap uz workbench.action.toggleZenMode " w : +write/window noremap ww :write noremap wa :wall noremap wq :wq noremap W :write noremap wh workbench.action.focusLeftGroup noremap wH workbench.action.splitEditorLeft noremap wn workbench.action.focusBelowGroup noremap wN workbench.action.splitEditorDown noremap we workbench.action.focusAboveGroup noremap wE workbench.action.splitEditorUp noremap wi workbench.action.focusRightGroup noremap wI workbench.action.splitEditorRight noremap w- workbench.action.splitEditorDown noremap w| workbench.action.splitEditorRight noremap w\ workbench.action.splitEditorRight