vscode vim 快捷键汇总
需满足操作:
- 上下移动
- 按照 word 移动
- 选中增删改
- 查找字符/变量
- 移动、增加、复制、删除 行
- 选中多个相同的变量/字符
- 屏幕移动
- 增加多个光标
- 快速注释
上下左右移动
| Command | Description |
|---|---|
| 🔢 h | left (also: CTRL-H, BS, or Left key) |
| 🔢 l | right (also: Space or Right key) |
| 0 | to first character in the line (also: Home key) |
| ^ | to first non-blank character in the line |
| 🔢 $ | to the last character in the line (N-1 lines lower) (also: End key) |
| gm | to middle of the screen line |
| 🔢 | | to column N (default: 1) |
| 🔢 f{char} | to the Nth occurrence of {char} to the right |
| 🔢 k | up N lines (also: CTRL-P and Up) |
| 🔢 j | down N lines (also: CTRL-J, CTRL-N, NL, and Down) |
| 🔢 - | up N lines, on the first non-blank character |
| 🔢 + | down N lines, on the first non-blank character (also: CTRL-M and CR) |
| 🔢 _ | down N-1 lines, on the first non-blank character |
| 🔢 G | goto line N (default: last line), on the first non-blank character |
| 🔢 gg | goto line N (default: first line), on the first non-blank character |
按照word移动
| Command | Description |
|---|---|
| 🔢 w | N words forward |
| 🔢 W | N blank-separated WORDs forward |
| 🔢 e | N words forward to the end of the Nth word |
| 🔢 E | N words forward to the end of the Nth blank-separated WORD |
| 🔢 b | N words backward |
| 🔢 B | N blank-separated WORDs backward |
| 🔢 ) | N sentences forward |
| 🔢 ( | N sentences backward |
| 🔢 } | N paragraphs forward |
| 🔢 { | N paragraphs backward |
选中增删改
进入 insert mode 后就和之前的模式一样,快捷键有些是和原理的 vscode 一致,有些不一致。
visual mode
| Command | Description |
|---|---|
| v | start highlighting characters or stop highlighting |
| V | start highlighting linewise or stop highlighting |
| CTRL-V | start highlighting blockwise or stop highlighting |
| o | exchange cursor position with start of highlighting |
删除
| Command | Description |
|---|---|
| 🔢 x | delete N characters under and after the cursor |
| 🔢 Del | delete N characters under and after the cursor |
| 🔢 X | delete N characters before the cursor |
| 🔢 d{motion} | delete the text that is moved over with {motion} |
| {visual}d | delete the highlighted text |
| 🔢 dd | delete N lines |
| 🔢 D | delete to the end of the line (and N-1 more lines) |
| (change = delete text and enter Insert mode) | |
| 🔢 c{motion} | change the text that is moved over with {motion} |
| {visual}c | change the highlighted text |
| 🔢 cc | change N lines |
| 🔢 S | change N lines |
| 🔢 C | change to the end of the line (and N-1 more lines) |
| 🔢 s | hhchange N characters |
复制
| Command | Description |
|---|---|
| "{char} | use register {char} for the next delete, yank, or put |
| "* | use register * to access system clipboard |
| :reg | show the contents of all registers |
| :reg | {arg} show the contents of registers mentioned in {arg} |
| 🔢 y{motion} | yank the text moved over with {motion} into a register |
| {visual}y | yank the highlighted text into a register |
| 🔢 yy | yank N lines into a register |
| 🔢 Y | yank N lines into a register |
| 🔢 p | put a register after the cursor position (N times) |
| 🔢 P | put a register before the cursor position (N times) |
| 🔢 ]p | like p, but adjust indent to current line |
| 🔢 [p | like P, but adjust indent to current line |
| 🔢 gp | like p, but leave cursor after the new text |
| 🔢 gP | like P, but leave cursor after the new text |
增加
| Command | Description |
|---|---|
| 🔢 a | append text after the cursor (N times) |
| 🔢 A | append text at the end of the line (N times) |
| 🔢 i | insert text before the cursor (N times) (also: Insert) |
| 🔢 I | insert text before the first non-blank in the line (N times) |
| 🔢 gI | insert text in column 1 (N times) |
| gi | insert at the end of the last change |
| 🔢 o | open a new line below the current line, append text (N times) |
| 🔢 O | open a new line above the current line, append text (N times) |
查找字符/变量
| Command | Description |
|---|---|
| 🔢 /{pattern}[/[offset]] | search forward for the Nth occurrence of {pattern} Currently we only support JavaScript Regex but not Vim’s in-house Regex engine. |
| 🔢 ?{pattern}[?[offset]] | search backward for the Nth occurrence of {pattern} Currently we only support JavaScript Regex but not Vim’s in-house Regex engine. |
| 🔢 / | repeat last search, in the forward direction {count} is not supported. |
| 🔢 ? | repeat last search, in the backward direction {count} is not supported. |
| 🔢 n | repeat last search |
| 🔢 N | repeat last search, in opposite direction |
移动、增加、复制、删除 行
复制行
insert mode
alt + shift up/down
删除行
dd
移动行
insert mode
alt + up/down
选中多个相同的变量/字符
CRTL +D选中目标
shift +a/i 防止 curcor 即可编辑全部目标
屏幕移动
| Command | Description |
|---|---|
| 🔢 CTRL-E | window N lines downwards (default: 1) |
| 🔢 CTRL-D | window N lines Downwards (default: 1/2 window) |
| 🔢 CTRL-Y | window N lines upwards (default: 1) |
| 🔢 CTRL-U | window N lines Upwards (default: 1/2 window) |
增加多个光标
in Visual block mode:
| Command | Description |
|---|---|
| I | insert the same text in front of all the selected lines |
| A | append the same text after all the selected lines |
normal mode
alt + command + up / down
then i or a
快速注释
command + /
切换 file
CTRL + TAB
CTRL + 12345
参考:https://github.com/VSCodeVim/Vim/blob/HEAD/ROADMAP.md
相关文章:
vscode vim 快捷键汇总
需满足操作: 上下移动按照 word 移动选中增删改查找字符/变量移动、增加、复制、删除 行选中多个相同的变量/字符屏幕移动增加多个光标快速注释 上下左右移动 CommandDescription🔢 hleft (also: CTRL-H, BS, or Left key)🔢 lright (also…...
npm官方注册表和淘宝镜像切换
1.切换到淘宝镜像 加快npm包的下载速度, //已失效 //npm config set registry https://registry.npm.taobao.org/ npm config set registry https://registry.npmmirror.com这会将npm的注册表设置为淘宝镜像 查看: npm config get registry如果返回的…...
LFU算法
LFU算法 Least Frequently Used(最不频繁使用) Leetcode有原题,之前手写过LRU,数据结构还是习惯于用java实现,实现是copy的评论题解。 题解注释写的很清楚 大致就是说LFUCache类维护一个存放node的map,同…...
JVM系列-7内存调优
👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring原理、JUC原理、Kafka原理、分布式技术原理、数据库技术、JVM原理🔥如果感觉博主的文…...
[UI5 常用控件] 01.Text
文章目录 前言1. 普通文本2. 长文本:3. 设置最大显示行数 ( maxLines3 )4. 单行显示 ( wrappingfalse )5. 显示空白符 ( renderWhitespacetrue )6. 使用 - 连接单词:只适用于英文 ( wrappingTypeHyphenated )7. 空白时使用 - 代替 ( emptyIndicatorModeOn )8. JSON数…...
C语言之指针的地址和指向的内容总结(八十四)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...
1月25日,每日信息差
第一、中国和新加坡互免签证,新加坡酒店搜索量较发布前增长4倍。去哪儿数据显示,新加坡酒店搜索量较发布前增长4倍,仍在持续增长中。同程旅行数据显示,消息发布半小时内,同程旅行平台新加坡相关搜索热度较前日同一时段…...
前端工程化之:webpack1-3(模块化兼容性)
一、模块化兼容性 由于 webpack 同时支持 CommonJs 和 ES6 module ,因此需要理解它们互操作时 webpack 是如何处理的。 二、同模块化标准 如果导出和导入使用的是同一种模块化标准,打包后的效果和之前所说的模块化没有任何差异。 CommonJSÿ…...
JDK8新特性(一)
一、概述 JDK8,又称为JDK 1.8,是Java语言开发的里程碑版本。这个版本引入了众多令人兴奋的新特性,让Java更加灵活和强大。其中,最引人注目的新特性包括Lambda表达式、方法引用、默认方法、Stream API、新的日期和时间API以及Optio…...
java实现ftp协议远程网络下载文件
引言 在开发过程中,偶尔会遇到网络文件在FTP服务上存储着,对于这种情况想要下载到本地还有些麻烦,我们直接上世界上最简单的代码。 How to do 1.提前引入包 <!--hutool万能工具包--><dependency><groupId>cn.hutool<…...
深入浅出理解目标检测的NMS非极大抑制
一、参考资料 物体检测中常用的几个概念迁移学习、IOU、NMS理解 目标定位和检测系列(3):交并比(IOU)和非极大值抑制(NMS)的python实现 Pytorch:目标检测网络-非极大值抑制(NMS) …...
HbuilderX报错“Error: Fail to open IDE“,以及运行之后没有打开微信开发者,或者运行没有反应的解决办法
开始 问题:HbuilderX启动时,打开微信开发者工具报错"Error: Fail to open IDE",以及运行之后没有打开微信开发者,或者运行没有反应的解决办法! 解决办法: 按照步骤一步一步完成分析,除非代码报错,否则都是可以启动的 第一步:检查HbuildX是否登录账号 第二步:检查微信…...
【Go 快速入门】基础语法 | 流程控制 | 字符串
文章目录 基础语法值变量常量运算符指针new 和 make 区别 字符串byte 和 rune 类型 流程控制for 循环If else 分支switch 分支 基础语法 项目代码地址:02-basicgrammar 值 基本类型值 Go 最基础的数据类型,比如整型、浮点型、布尔型。 复合类型值 …...
腾讯云轻量应用Ubuntu服务器如何一键部署幻兽帕鲁Palworld私服?
幻兽帕鲁/Palworld是一款2024年Pocketpair开发的开放世界生存制作游戏,在帕鲁的世界,玩家可以选择与神奇的生物“帕鲁”一同享受悠闲的生活,也可以投身于与偷猎者进行生死搏斗的冒险。而帕鲁可以进行战斗、繁殖、协助玩家做农活,也…...
Redis的SDS你了解吗?
初识SDS: Redis的String和其他很多编程语言中的语义相似,它能够表达3种值的类型: 1.字符串 2.整数 3.浮点数 三种类型根据具体场景由Redis完成相互之间的自动转换,并且根据需要选取底层的承载方式,Redis内部&#x…...
C#中常见的软件设计模式及应用场景
文章目录 前言1、单例模式 (Singleton)1.1 详细说明1.2 应用场景示例 2、工厂模式 (Factory Method)2.1 详细说明2.2 应用场景示例 3、观察者模式 (Observer)3.1 详细说明3.2 应用场景示例 4、策略模式 (Strategy)4.1 详细说明4.2 应用场景示例 5、适配器模式 (Adapter)5.1 详细…...
字符串相关函数和文件操作
文章目录 1. C/C 字符串概述1.1 字符串常量1.2 字符数组 2. 字符串函数2.1 拷贝赋值功能相关函数(覆盖)2.1.1 strcpy2.1.2 strncpy2.1.3 memcpy2.1.4 memmove2.1.5 memset2.1.6 注意小点2.1.7 【函数区别】 2.2 追加功能相关函数2.2.1 strcat2.2.2 strnc…...
【c++学习】数据结构中的栈
c栈 栈代码用线性表实现栈用链表实现栈 栈 栈:先进后出 只对栈顶元素进行操作,包括新元素入栈、栈顶元素出栈和查看栈顶元素(只支持对栈顶的增、删、查)。 代码 下述代码实现了栈及其接口 包括对栈顶的增、删、查以及查看栈的大…...
新建react项目,react-router-dom配置路由,引入antd
提示:reactrouter6.4版本,与reactrouter5.0的版本用法有区别,互不兼容需注意 文章目录 前言一、创建项目二、新建文件并引入react-router-dom、antd三、配置路由跳转四、效果五、遇到的问题六、参考文档总结 前言 需求:新建react项…...
Transformer and Pretrain Language Models3-6
Pretrain Language Models预训练语言模型 content: language modeling(语言模型知识) pre-trained langue models(PLMs)(预训练的模型整体的一个分类) fine-tuning approaches GPT and BERT(…...
Windows 安装 DeerFlow 2.0
今天有空尝试了下最近很火来自字节开源的 DeerFlow,这框架在 Linux 下安装会顺利很多,只是公司开发电脑是 Windows 11 版本的,所以本地安装折腾了一番功夫才安装上,中间放弃了 2 次不想装了,做其他事去了,做…...
OpenWRT核心库libubox深度解析:从源码到架构设计思想
OpenWRT核心库libubox深度解析:从源码到架构设计思想 在嵌入式系统开发领域,效率与可靠性往往决定着产品的成败。当我们需要构建一个轻量级但功能完备的嵌入式系统时,如何避免重复造轮子,同时确保系统各组件能够高效协同工作&…...
Java八股文大全(2026最新版)大厂面试题附答案详解
很多 Java 工程师的技术不错,但是一面试就头疼,10 次面试 9 次都是被刷,过的那次还是去了家不知名的小公司。 问题就在于:面试有技巧,而你不会把自己的能力表达给面试官。 应届生:你该如何准备简历&#…...
面试官:聊聊Redis中RDBAOF持久化原理!
Redis 中数据的持久化前言我们知道 Redis 是内存数据库,所有操作都在内存上完成。内存的话,服务器断电,内存上面的数据就会丢失了。这个问题显然是需要解决的。Redis 中引入了持久化来避免数据的丢失,主要有两种持久化的方式 RDB …...
澜起科技年营收55亿:净利22亿 上海融迎及一致行动人套现超10亿
雷递网 雷建平 4月14日澜起科技股份有限公司(简称:“澜起科技”,公司代码:688008)日前发布2025年的财报。财报显示,澜起科技2025年营收为54.56亿元,较上年同期的36.39亿元增长49.94%。澜起科技称…...
uniapp中uview组件库的NoticeBar滚动通知进阶配置与实战技巧
1. NoticeBar组件核心功能解析 滚动通知栏作为移动端高频使用的UI组件,在uniapp生态中通过uView的NoticeBar实现了开箱即用的解决方案。这个看似简单的组件实际上隐藏着不少值得深挖的特性。先说说它的基础能力:支持水平和垂直两种滚动模式,水…...
统计子矩阵 前缀和 滑动窗口
统计子矩阵 问题描述 给定一个 NMN \times MNM 的矩阵 AAA,统计有多少个子矩阵(最小 111 \times 111,最大 NMN \times MNM)满足子矩阵中所有数的和不超过给定的整数 KKK。 输入格式 第一行包含三个整数 NNN, MMM 和 KKK。 之后…...
借助爱毕业(aibiye)的AI工具,可高效完成数学建模论文的复现与智能排版
还在为论文写作头痛?特别是数学建模的优秀论文复现与排版,时间紧、任务重,AI工具能帮上大忙吗?今天,我们评测10款热门AI论文写作工具,帮你精准筛选最适合的助手。 aibiye:专注于语法润色与结构…...
从婴儿学步到AI进化:具身智能如何模仿人类学习过程?
从婴儿学步到AI进化:具身智能如何模仿人类学习过程? 在东京大学的一个实验室里,一台人形机器人正尝试用机械手指捏起桌上的积木。它失败了37次,却在第38次成功时将动作数据上传至云端——这个场景像极了人类婴儿第一次成功抓取玩具…...
Flowise效果展示:不同Embedding模型(BGE/bge-m3)在中文场景表现
Flowise效果展示:不同Embedding模型(BGE/bge-m3)在中文场景表现 1. 引言:当可视化拖拽遇到中文Embedding 想象一下这样的场景:你手里有一堆中文文档,想要快速搭建一个智能问答系统,但又不愿意…...
