前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VS Code 中的 Vim 操作 | 无需修改 VSC 默认快捷键 | 常用组合与逻辑

VS Code 中的 Vim 操作 | 无需修改 VSC 默认快捷键 | 常用组合与逻辑

作者头像
Piper蛋窝
发布2021-03-10 14:34:20
2.7K0
发布2021-03-10 14:34:20
举报
文章被收录于专栏:Piper蛋窝

VS Code 中的 Vim 操作 | 常用组合与逻辑

尽管 VS Code 自带的快捷键已经足够强大 ,但存在一个问题:使用方向键是一个有些“反人类”的行为,双手放在键盘上,如果只敲击字母,那么便无需移动手腕;如果需要去敲击方向键,则需要移动手腕或者小臂。Vim插件让绝大部分敲击集中在字母的区域,让操作更加快捷、舒适。本文我将推荐我常用的Vim操作。

目录

•Vim 插件安装•Vim 基础•VS Code 中常用 Vim 组合逻辑

Vim 插件安装

下载 Vim 插件

如上图,下载 Vim 插件。这里需要注意,强烈推荐 不使用Vim自带的组合快捷键 Ctrl ,因为其会覆盖掉 VS Code 本身的快捷键以及其他插件的快捷键

取消勾选 useCtrlKeys 设置

如上图,可以在 Settings 中搜索 useCtrlKeys 配置,并取消勾选。

vim scroll

值得注意的是,我们依然可以使用 Ctrl + uCtrl + d 实现上下滚动页面,滚动行数默认为半页大小。

Vim 基础

这里要介绍的是 Vim 基础中的基础,但还是没有 Vim 基础的初学者也可以去 B 站搜索 Vim 相关的教程再巩固一下(我之后也可能录视频)。

vim 基础

如上图:

•Vim 中默认是 normal 模式,此时敲击字母是在敲击命令,而非编辑文本;输入 i 进入 insert 模式,此时敲击字母才是输入字母•insert 模式下,退出键 Escape 回到 normal 模式•normal 模式下,hjkl分别是左下上右

vim 中 a i o 操作

如上:

•normal 模式下,Shift + a(以后记作A)移到行末,并转为 insert 模式;I是行前•normal 模式下,o是下插一行,并跳转

vim 中 w b 操作

如上:

•normal 模式下,w是向前移动一个单词,b则是向后移动一个单词

vim 中的复制粘贴

如上:

•normal 模式下,d是开启剪切模式,因此,dw则是剪切一个单词;dd是剪切一行•normal 模式下,y则是复制,而p是粘贴

vim 中 s x

如上:

•normal 模式下,s是删除当前光标所指并转为 insert 模式,x是删除并且不转换

vim 中 g

如上:

•normal 模式下,15gg是跳转到15

vim 中的 visual

如上:

•normal 模式下,是开启选中 visual 模式

VS Code 中常用 Vim 组合逻辑

Vim 爱好者常说:Vim是一种逻辑,而非死记硬背快捷键(我还算不上 Vim 爱好者,这句话不是我说的,是 Linux 社区的一些朋友们说的)。

我对于 Vim 『逻辑』的理解,大概如下:

•大小写是一种相反的逻辑•VS Code 中一些 Ctrl 与滚动•i(意味着在括号里

展开的解释如下文。

大小写是一种相反的逻辑
代码语言:javascript
复制
int foo_xyz = 1;       ^

我们知道,当光标在_处时,想要删除 _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( 意味着在括号里
代码语言:javascript
复制
print(f"what {s}?")

如上,当我们想清空 print() 函数括号内的东西,我们「有逻辑地」告诉 vim 即可。把光标移到括号内,输入 ci(ci),其中 i( 是『在括号内』。

一种逻辑

如上,不仅是 c 操作,也不仅仅是 () ,对于 ""[] 等都适用。

此外,还有很多逻辑可以组合,比如:j是向下跳转一行,那么 10j 就是向下10行。 此外,/ 查找功能在 vs code 中同样适用。但是,我更喜欢 vs code 自带的 ctrl + f 查找, vs code 自带的组合键还有哪些妙用呢?我们下回分解。

好文章值得 点赞 在看 →

关于 vim ,一定还有其他妙用,欢迎留言你的常用高效操作~

此外,推荐给大家推荐一本 vs code 的黑宝书,虽然我一般不建议购买「软件类的工具书」,但是这本书还涵盖了 vs code 的社区、历史,由微软的工程师韩老师撰写。因为我是 vs code 社区中比较积极的志愿者,所以有幸得到了本书的签名款。非常全面,vs code 只有你想不到,没有做不到(做不到去 github 上提 issue 呀,马上就可以做到了),读下来还是非常不错的。我这里提供一个链接,希望大家理性消费(毕竟挺厚的)。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Piper蛋窝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VS Code 中的 Vim 操作 | 常用组合与逻辑
    • 目录
      • Vim 插件安装
        • Vim 基础
          • VS Code 中常用 Vim 组合逻辑
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档