当前位置: 首页 > news >正文

Vim 模式切换 | 命令集

Vim 模式切换 | 命令集

  • vim 主要模式及切换
    • 一、正常/普通/命令模式
      • 1 光标相关操作命令集
        • 1.1 光标移动
        • 1.2 文字删除
        • 1.3 粘贴和复制
        • 1.4 撤销
        • 1.5 字符更改
    • 二、插入模式
      • 2.1 插入模式和命令行模式相互切换
    • 三、末行模式
      • 2.1 末行模式和命令行模式相互切换
      • 2.2 末行模式相关命令集
    • 四、视图模式:批量化注释和删除注释
    • 4.1 命令模式和视图模式相互切换
    • 4.2 批量化注释
    • 4.3 批量化删除注释
    • 五、替换模式
      • 5.1 命令模式和替换模式相互切换
    • 六、五大模式切换关系图及查看其他模式
    • 6.1 五大模式切换关系图
    • 6.2 其他模式

vim 主要模式及切换

vim是一款历史悠久的多模式文本编辑器,在不同模式下有不同的功能。但实际开发过程中,主要有以下5中模式。

一、正常/普通/命令模式

Vim默认模式为命令模式,该模式主要用于控制屏幕光标的移动,字符、行的删除

1 光标相关操作命令集

1.1 光标移动
快捷键功能
小写字母:h、j、k、lvim允许直接使用键盘上的光标移动键来上下左右移动光标,但正规的vim是用h(左移)、j(下移)、k(上移)、l(右移)来控制光标行为
gg光标跳转到文本开始
(n)+ shift + g光标跳转到第n行 或 文本末尾
shift + ^光标移动到该方的“行首
shify + $光标移动到该方的“行尾
数字(n) + l光标从当前位置开始,向后移动n位
w光标跳到下一个单词的开头(如果非单词,则是下一个字符)
e光标跳到下一个单词的结尾(如果非单词,则是下一个字符)
b光标跳到上一个单词的开头(如果非单词,则是上一个字符)
ctrl + b屏幕往“后”移动一页
ctrl + f屏幕往“前”移动一页
ctrl + u屏幕往“后”移动半页
ctrl + d屏幕往“前”移动半页
1.2 文字删除
快捷键功能
x删除当前光标所在位置字符
数字(n) + x删除光标所在位置后n个字符(包含光标所在位置本身)
shift + x删除光标所在位置的前一个字符
数字(n) + shift + x删除光标所在位置的前n一个字符
dd删除光标所在行
数字(n) + dd从光标所在行开始,删除n行
1.3 粘贴和复制
快捷键功能
yy复制当前行到缓冲区
数字(n) + yy从光标所在行开始,向后复制n行到到缓冲区
数字(n) +p将缓冲区内的n字符贴到光标所在位置。tip:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能
yw光标所在位置到字尾的字符复制到缓冲区中。
#yw复制#个字符到缓冲区
1.4 撤销
快捷键功能
u撤销回到上一个操作。按多次“u”可以执行多次撤销
ctrl + r撤销的恢复
1.5 字符更改
快捷键功能
cw更改光标所在处的字到字尾处
c#w例如,「c3w」表示更改3个字

二、插入模式

要进行文字输入,vim必须从命令行模式切换到插入模式。

2.1 插入模式和命令行模式相互切换

  1. 从命令行模式切换到插入模式有以下三种方式:
快捷键功能
i按i进入插入模式后,是从光标当前位置开始输入文字
a按a进入插入模式后,是从光标当前位置的下一个位置开始输入文字
o按o进入插入模式后,是插入新的一行,从行首开始输入文字
  1. 从插入模式切换命令行模式只需无脑Esc即可

三、末行模式

在末行模式中,我们可以进行文件的保存和退出,文件替换、查找字符串和列出行号等操作。

2.1 末行模式和命令行模式相互切换

  1. 从命令行模式切换到末行模式,只需shift + : 即可。
  2. 从末行模式退回命令行模式只需Esc

2.2 末行模式相关命令集

快捷键功能
set + nu列出行号
set + nonu取消行号
数字(n)在冒号后输入一个数字后回车确认,光标会跳转到该行
w!单独w表示保存文件;w!表示强制保存文件
q!单独q表示退出文件;q!表示强制退出文件
/ + 关键字查找关键字,如果第一次找的关键字不是您想要的,可以一直按n会往后寻找到您要的关键字为止
? + 关键字查找关键字,如果第一次找的关键字不是您想要的,可以一直按n会向前寻找到您要的关键字为止

四、视图模式:批量化注释和删除注释

4.1 命令模式和视图模式相互切换

由命令模式切换到视图模式只需Ctrl + v即可;而由视图模式回退命令模式只需无脑ESC即可。

4.2 批量化注释

首先通过Ctrl + v切换到视图模式,然后通过j/k来旋转待注释的区域,接着输入shift + i后输入//,最后Esc退出视图模式即可。

【动画展示】:
请添加图片描述

4.3 批量化删除注释

批量化删除注释同样需先通过Ctrl + v切换到视图模式,然后通过h/j/k/l来选中待删除注释区域,最后输入d命令即可。

【动画展示】:
请添加图片描述

五、替换模式

5.1 命令模式和替换模式相互切换

在命令模式下输入shift + r即可进入替换模式,此时新输入的文本将直接替代/覆盖已经存在的内容,直至点击ESC返回命令模式。
如果只是单纯的r命令,则是替换当前单个字符。

快捷键功能
r替换光标所在处的字符
R替换光标所到之处的字符,直到按下ESC键为止

六、五大模式切换关系图及查看其他模式

6.1 五大模式切换关系图

在这里插入图片描述

6.2 其他模式

在底行模式直接输入help vim-modes 即可查看当前vim中的所有模式。

相关文章:

Vim 模式切换 | 命令集

Vim 模式切换 | 命令集 vim 主要模式及切换一、正常/普通/命令模式1 光标相关操作命令集1.1 光标移动1.2 文字删除1.3 粘贴和复制1.4 撤销1.5 字符更改 二、插入模式2.1 插入模式和命令行模式相互切换 三、末行模式2.1 末行模式和命令行模式相互切换2.2 末行模式相关命令集 四、…...

广和通5G智能模组SC171支持Android、Linux和Windows系统,拓宽智能物联网应用

世界移动通信大会2024期间,广和通宣布:5G智能模组SC171除支持Android操作系统外,还兼容Linux和Windows系统,帮助更多智能终端客户快速迭代产品,拓宽智能化应用覆盖范围。 广和通SC171系列基于高通QCM6490物联网解决方案…...

【51单片机】红外遥控红外遥控电机调速(江科大)

1.红外遥控简介 红外遥控是利用红外光进行通信的设备,由红外LED将调制后的信号发出,由专用的红外接收头进行解调输出 通信方式:单工,异步 红外LED波长:940nm 通信协议标准:NEC标准 2.硬件电路 红外发送部分 IN高电平时,LED不亮,IN低电平时&…...

kubesphere jenkins 流水线 未运行(解决方案)

场景: 在kubesphere 中运行 流水线 devops 结果,显示未运行 但是用 admin 账户是可以运行成功的。 问题解决 1- 查日志: 然后 Caused: org.acegisecurity.userdetails.UsernameNotFoundException: org.springframework.security.core.…...

如何保护服务器的安全

互联网的迅速发展,让很多企业都很重视网络技术的使用,但是网络的传播速度比较快,同时容易造成数据、隐私方面的泄露现在每个企业基本有自己的服务器。有几点需要注意,可以参考: 1.基础密码安全 最基本的安全就是密码安…...

Python使用HDL 模拟器实现 FPGA 板卡的仿真验证

Python 结合 HDL 模拟器实现 FPGA 板卡的仿真验证,您可以借助一些开源工具和库来实现这一目的。下面我将为您介绍一种常用的方法,使用 Python 结合 Verilog 模拟器和 FPGA 开发工具进行仿真验证。 ### 步骤概述 1. **编写 Verilog 设计**:首…...

vue中 input disable后无法触发点击事件

问题:input标签为disabled后,点击事项无效;当点击文字**“请选择”**时无法触发点击事件,其父标签的其余位置均可触发 解决:只需要在input标签中添加 style“pointer-events:none” 即可 pointer-events: none 作用是…...

实战一个 Jenkins 构建 CI/CD流水线 的简单配置过程哈

引言:上一期我们讲述了gitlabCI/CD工具的介绍,工具之争,本期我们介绍Jenkins CI/CD 目录 一、Jenkins介绍 1、Jenkins概念 2、Jenkins目的 3、特性 4、产品发布流程 二、安装Jenkins 1、安装JDK 2、安装Jenkins 1、上传压缩包 2、…...

【InternLM 实战营笔记】大模型评测

随着人工智能技术的快速发展, 大规模预训练自然语言模型成为了研究热点和关注焦点。OpenAI于2018年提出了第一代GPT模型,开辟了自然语言模型生成式预训练的路线。沿着这条路线,随后又陆续发布了GPT-2和GPT-3模型。与此同时,谷歌也…...

数据卷(Data Volumes) 自定义镜像(dockerfile)

目录 一. 数据卷(Data Volumes) 1.1 什么是数据卷 1.2 为什么需要数据卷 1.3 数据卷的作用 1.4 数据卷的使用 二. 自定义镜像(dockerfile) 2.1 什么是dockerfile 2.2 自定义centos 2.3 自定义tomcat 一. 数据卷(Data…...

数据库管理-第156期 Oracle Vector DB AI-07(20240227)

数据库管理156期 2024-02-27 数据库管理-第156期 Oracle Vector DB & AI-07(20240227)1 Vector相关DDL操作可以在现有的表上新增vector数据类型的字段:可以删除包含vector数据类型的列:可以使用CTAS的方式,从其他有…...

CASAtomic原子操作详解

什么是原子操作?如何实现原子操作? 我们在接触到事务的时候,了解到事务的一大特性是原子性,一个事务要么全部执行、要么全部不执行。 并发里的原子性和事务里的原子性有一样的内涵和概念。假定有2个操作A和B都包含多个步骤…...

真机测试——关于荣耀Magic UI系列HBuilder真机调试检测不到解决办法

​​​​​出现这种状况怎么办 1、开启USB调试 2、重点来了——我们要选择USB配置,选择音频来源 3、连接OK...

代理IP安全问题:在国外使用代理IP是否安全

目录 前言 一、国外使用代理IP的安全风险 1. 数据泄露 2. 恶意软件 3. 网络攻击 4. 法律风险 二、保护国外使用代理IP的安全方法 1. 选择可信的代理服务器 2. 使用加密协议 3. 定期更新系统和软件 4. 注意网络安全意识 三、案例分析 总结 前言 在互联网时代&…...

SonarLint 疑难语法修正

/*** 投诉率统计(厂端)* 1.通过售后小区分组统计* 2.通过经销商分组统计* param kpiComplaintRateQueryVO 查询参数* return 投诉率统计数据*/ApiOperation(value "厂端投诉率统计维度查询")PostMapping("/vcdc/ratestatis")public List<KpiComplaintR…...

MurmurHash算法

MurmurHash&#xff1a;(multiply and rotate) and (multiply and rotate) Hash&#xff0c;乘法和旋转的hash 算法。 一、哈希函数 散列函数&#xff08;英语&#xff1a;Hash function&#xff09;又称散列算法、哈希函数&#xff0c;是一种从任何一种数据中创建小的数字“…...

CSRF靶场实战

DVWA靶场链接&#xff1a;https://pan.baidu.com/s/1eUlPyB-gjiZwI0wsNW_Vkw?pwd0b52 提取码&#xff1a;0b52 DVWA Low 级别打开靶场&#xff0c;修改密码 复制上面的 url&#xff0c;写个简单的 html 文件 <html <body> <a hrefhttp://127.0.0.1/DVWA/vulne…...

小程序性能优化

背景 在开发小程序的过程中我们发现&#xff0c;小程序的经常会遇到性能问题&#xff0c;尤其是在微信开发者工具的时候更是格外的卡&#xff0c;经过排查发现&#xff0c;卡顿的页面有这么多的js代码需要加载&#xff0c;而且都是在进入这个页面的时候加载&#xff0c;这就会…...

C++拿几道题练练手吧

第 1 题 【 问答题 】 • 最短路径问题 平面上有n个点(n<100)&#xff0c;每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。 若有连线&#xff0c;则表示可从一个点到达另一个点&#xff0c;即两点间有通路&#xff0c;通路的距离为两点间的直线距离。现在的任务…...

【国产MCU】-CH32V307-I2C控制器

I2C控制器 文章目录 I2C控制器1、I2C模块介绍2、I2C驱动API介绍3、I2C使用实例3.1 主模式3.1.1 主设备发送模式和主设备接收模式3.1.2 DMA方式发送3.2 从模式内部集成电路总线(I2C)广泛用在微控制器和传感器及其他片外模块的通讯上,它本身支持多主多从模式,仅仅使用两根线(…...

Argo CD 实战:从零构建你的第一个 GitOps 应用

1. 为什么你需要Argo CD&#xff1f; 如果你正在管理Kubernetes应用&#xff0c;肯定遇到过这样的场景&#xff1a;每次代码变更后&#xff0c;都要手动执行kubectl apply来更新集群状态。这种操作不仅容易出错&#xff0c;还很难追踪谁在什么时候改了什么东西。我在实际项目中…...

阿里RexUniNLU镜像部署详解:支持10+种任务的NLU全能手

阿里RexUniNLU镜像部署详解&#xff1a;支持10种任务的NLU全能手 1. 为什么选择RexUniNLU&#xff1f; 在自然语言处理领域&#xff0c;传统模型通常需要针对特定任务进行大量数据标注和微调&#xff0c;这不仅耗时耗力&#xff0c;还限制了模型的适用范围。阿里巴巴达摩院开…...

终极指南:3种方法激活Beyond Compare 5专业版

终极指南&#xff1a;3种方法激活Beyond Compare 5专业版 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare密钥生成器是一个基于Python开发的专业工具&#xff0c;专门用于生成Bey…...

即将盲审的研究生,怕学术论文被拒,有什么方法能顺利过审?

马上又到一年一度的盲审季&#xff0c;不少研究生正怀着忐忑的心情&#xff0c;既担心自己的论文能否顺利通过&#xff0c;也焦虑着deadline一天天逼近。盲审&#xff0c;是决定能否顺利参加答辩、最终毕业的关键一关。在这个最后的冲刺阶段&#xff0c;怎样才能稳稳通过盲审&a…...

保姆级教程:用SageMath复现CTF中的AMM算法,手算有限域开方

密码学实战&#xff1a;用SageMath攻克RSA中的AMM算法与有限域开方难题 密码学竞赛中那些看似无解的RSA题目&#xff0c;往往隐藏着令人着迷的数学奥秘。当遇到e与φ(n)不互质的特殊场景时&#xff0c;传统解密方法失效&#xff0c;我们需要搬出数论中的"重型武器"—…...

全球首发:基于.NET 11 Source Generators的AI模型编译器插件(支持自定义算子注入),已通过ML.NET 3.1.0兼容性认证

第一章&#xff1a;C# .NET 11 AI 模型推理加速 插件下载与安装插件官方发布渠道 .NET 11 AI 推理加速插件&#xff08;Microsoft.AI.Inference.Accelerator&#xff09;由 Microsoft 官方维护&#xff0c;仅支持 .NET 11 SDK 及以上版本。推荐通过 NuGet.org 获取最新稳定版&a…...

从Ubuntu双系统到形变图:手把手搞定StamPS+SBAS完整流程(含ISCE安装避坑指南)

从Ubuntu双系统到形变图&#xff1a;手把手搞定StamPSSBAS完整流程&#xff08;含ISCE安装避坑指南&#xff09; 当第一次接触InSAR处理时&#xff0c;最令人头疼的往往不是算法原理&#xff0c;而是软件环境的搭建。本文将带你从零开始&#xff0c;在Ubuntu双系统环境下完成St…...

从RSA加密到同余方程:手把手教你用扩展欧几里得算法求乘法逆元(附Python代码)

从RSA加密到同余方程&#xff1a;扩展欧几里得算法实战指南 在计算机科学和密码学领域&#xff0c;模逆元是一个看似简单却至关重要的概念。想象一下&#xff0c;你正在设计一个安全通信系统&#xff0c;或者解决一个算法竞赛中的数论问题&#xff0c;突然遇到了这样一个等式&a…...

窗口管理革命:PinWin如何用一键置顶彻底改变你的多任务工作流

窗口管理革命&#xff1a;PinWin如何用一键置顶彻底改变你的多任务工作流 【免费下载链接】PinWin Pin any window to be always on top of the screen 项目地址: https://gitcode.com/gh_mirrors/pin/PinWin 你是否曾因频繁切换窗口而打断工作思路&#xff1f;是否在编…...

别再东拼西凑了!我为你整理了一份超全的嵌入式开发知识图谱(含学习路线与避坑指南)

嵌入式开发者的终极成长指南&#xff1a;从菜鸟到架构师的系统化进阶路线 当我在2015年第一次接触STM32开发板时&#xff0c;面对满屏的寄存器配置和晦涩的数据手册&#xff0c;曾一度怀疑自己是否选错了职业方向。八年后的今天&#xff0c;当我带领团队完成第五代工业控制器开…...