本文共 4379 字,大约阅读时间需要 14 分钟。
vscode中的vim可以设置leader键,以实现方便的快捷键功能
>可以在vscode快捷键设置中,把alt+l设置成cursorRight,这样在有引号和括号时就比较方便,插入模式也能移动,也可以把alt+h设置成cursorLeft。
下面的设置可以粘贴在setting.json中,其中的command可以使用vscode内置的命令(在左下角齿轮图标的keyboard shotcuts中可以看到command大全)
// 设置leader键为空格键 "vim.leader": "", "vim.normalModeKeyBindingsNonRecursive": [//更改vim的键位,把h变成光标前输入,ijkl变成上、左、下、右,这样更符合人体习惯//我只用了一回就熟练掌握了,而且再也不想回到hjkl表示上下左右的别扭方式了。// i ↑//j k l ← ↓ → { "before": [ "h" ], "after": [ "i" ] }, { "before": [ "j" ], "after": [ "h" ] }, { "before": [ "k" ], "after": [ "j" ] }, { "before": [ "i" ], "after": [ "k" ] }, { "before": [ "H" ], "after": [ "I" ] }, { "before": [ "J" ], "after": [ "H" ] }, { "before": [ "K" ], "after": [ "J" ] }, { "before": [ "I" ], "after": [ "K" ] }, // 按下leader键加r键,如果还未开始调试,则不进行调试,直接运行文件 { "before": [ " ", "r", ], "commands": [ "workbench.action.debug.run" ], "when": [ "!inDebugMode" ], }, // 按下leader键加r键,如果正在调试时,则重新运行文件(restart) { "before": [ " ", "r", ], "commands": [ "workbench.action.debug.restart" ], "when": [ "inDebugMode" ], }, // 按下leader键加d键,开始调试 { "before": [ " ", "d", ], "commands": [ "workbench.action.debug.start" ] }, // 按下leader键+w,保存当前文件 { "before": [ " ", "w", ], "commands": [ "workbench.action.files.save", ], }, // 按下leader键+b,新建文件(buffer缓冲区,暂时写点东西,将来不一定保存) { "before": [ " ", "b", ], "commands": [ "workbench.action.files.newUntitledFile", ] }, // 按下leader键+t+n,新建标签/文件并命名(命名后保存,这个是自己要用的文件,与上面的仅缓冲区不同)(tab new) // 因为文件以类似网页标签的形式排布,故使用tab的含义 { "before": [ " ", "t", "n", ], "commands": [ "workbench.action.files.newUntitledFile", "workbench.action.files.save", ] }, // 按下leader键+t+o,关闭其他标签/文件(tab only) { "before": [ " ", "t", "o", ], "commands": [ "workbench.action.closeOtherEditors", ] }, // 按下leader键+q,退出,不保存当前文件 { "before": [ " ", "q", ], "commands": [ ":q!", ], }, // 连着按下两个Z键,保存并关闭当前标签/文件 { "before": [ "Z", "Z", ], "commands": [ "workbench.action.files.save", "workbench.action.closeActiveEditor" ], }, // 按下leader键+k,向上搜索行(easymotion) { "before": [ " ", "k" ], "after": [ " ", " ", "k", ] }, // 按下leader键+j,向下搜索行(easymotion) { "before": [ " ", "j" ], "after": [ " ", " ", "j", ] }, // 按下leader键+s,搜索以两个字符开始的匹配(easymotion) { "before": [ " ", "s" ], "after": [ " ", " ", "2", "s", ] }, // 按下leader键+f,向后搜索以单个字符开始的匹配(easymotion) { "before": [ " ", "f" ], "after": [ " ", " ", "f", ] }, // 按下leader键+F,向前搜索以单个字符开始的匹配(easymotion) { "before": [ " ", "F" ], "after": [ " ", " ", "F", ] }, ], "vim.visualModeKeyBindingsNonRecursive": [ //更改vim的键位,把h变成光标前输入,ijkl变成上、左、下、右,这样更符合人体习惯 //我只用了一回就熟练掌握了,而且再也不想回到hjkl表示上下左右的别扭方式了。 // i ↑ //j k l ← ↓ → { "before": [ "h" ], "after": [ "i" ] }, { "before": [ "j" ], "after": [ "h" ] }, { "before": [ "k" ], "after": [ "j" ] }, { "before": [ "i" ], "after": [ "k" ] }, { "before": [ "H" ], "after": [ "I" ] }, { "before": [ "J" ], "after": [ "H" ] }, { "before": [ "K" ], "after": [ "J" ] }, { "before": [ "I" ], "after": [ "K" ] }, ], "vim.easymotion": true,
还有回到普通mode自动切换为英文输入法,请看
如何解决VSCode Vim中文输入法切换问题?www.zhihu.comvscod
转载地址:http://bqkdy.baihongyu.com/