本文转载自微信公众号「Piper蛋窝」,中的作作者Piper蛋。中的作转载本文请联系Piper蛋窝公众号。中的作 尽管 VS Code 自带的中的作快捷键已经足够强大 ,但存在一个问题:使用方向键是中的作一个有些“反人类”的行为,双手放在键盘上,中的作如果只敲击字母,中的作那么便无需移动手腕;如果需要去敲击方向键,中的作则需要移动手腕或者小臂。中的作Vim插件让绝大部分敲击集中在字母的中的作区域,让操作更加快捷、中的作舒适。中的作本文我将推荐我常用的中的作Vim操作。 目录 Vim 插件安装 下载 Vim 插件 如上图,中的作下载 Vim 插件。源码库中的作这里需要注意,强烈推荐 不使用Vim自带的组合快捷键 Ctrl ,因为其会覆盖掉 VS Code 本身的快捷键以及其他插件的快捷键 。 取消勾选 useCtrlKeys 设置 如上图,可以在 Settings 中搜索 useCtrlKeys 配置,并取消勾选。 vim scroll 值得注意的是,我们依然可以使用 Ctrl + u 和 Ctrl + d 实现上下滚动页面,滚动行数默认为半页大小。 Vim 基础 这里要介绍的是 Vim 基础中的基础,但还是没有 Vim 基础的初学者也可以去 B 站搜索 Vim 相关的教程再巩固一下(我之后也可能录视频)。 vim 基础 如上图: vim 中 a i o 操作 如上: vim 中 w b 操作 如上: vim 中的复制粘贴 如上: vim 中 s x 如上: vim 中 g 如上: vim 中的 visual 如上: VS Code 中常用 Vim 组合逻辑 Vim 爱好者常说:Vim是一种逻辑,而非死记硬背快捷键(我还算不上 Vim 爱好者,这句话不是站群服务器我说的,是 Linux 社区的一些朋友们说的)。 我对于 Vim 『逻辑』的理解,大概如下: 展开的解释如下文。 大小写是一种相反的逻辑 我们知道,当光标在_处时,想要删除 _xyz ,那么就要首先 找到最近的z的位置,然后删除这个区间内的东西。 在 vim 中,则是输入 dfz 来表达, fz 则是 找到 z 的意思 。 vim 中 f 与 F 那么,向前查找是什么呢?答案是大写的 F ,具体例子如上图。 vim 中 o 与 O 如上,用 o 可以很轻松地向下插入一行,而用 O 则是向上插入一行。 VS Code 中一些 Ctrl 与滚动 vim 中的 [] 如上,使用 Shift + [] 是以「代码块」为单位跳行。 vim 中 Ctrl + [] 如上,Ctrl + [] 实现缩进的调整。这里结合了 visual 模式。 vim 中滚动 如上,[[ 跳到文件首行,而 ]] 则是行末。 vim 中 H L M z 如上,H 是到屏幕的顶部,L 是屏幕的底部,M 是屏幕的中央;而 zz 是『将光标放到屏幕中央,且不移动光标的位置(滚动屏幕)』,zt 是将光标放到顶部,zb 是底部。 i( 意味着在括号里 如上,当我们想清空 print() 函数括号内的东西,我们「有逻辑地」告诉 vim 即可。把光标移到括号内,输入 ci( 或 ci),其中 i( 是『在括号内』。 一种逻辑 如上,不仅是 c 操作,也不仅仅是 () ,对于 ""、[] 等都适用。 此外,还有很多逻辑可以组合,比如:j是向下跳转一行,那么 10j 就是向下10行。 此外,/ 查找功能在 vs code 中同样适用。但是,我更喜欢 vs code 自带的 ctrl + f 查找, vs code 自带的组合键还有哪些妙用呢?我们下回分解。 此外,推荐给大家推荐一本 vs code 的黑宝书,虽然我一般不建议购买「软件类的工具书」,但是这本书还涵盖了 vs code 的社区、历史,由微软的工程师韩老师撰写。因为我是 vs code 社区中比较积极的志愿者,所以有幸得到了本书的签名款。非常全面,vs code 只有你想不到,没有做不到(做不到去 github 上提 issue 呀,马上就可以做到了),读下来还是非常不错的。我这里提供一个链接,希望大家理性消费(毕竟挺厚的)。