Vim 模式切换 | 命令集

Vim 模式切换 | 命令集

  • vim 主要模式及切换
    • 一、正常/普通/命令模式
      • 1 光标相关操作命令集
        • 1.1 光标移动
        • 1.2 文字删除
        • 1.3 粘贴和复制
        • 1.4 替换
        • 1.5 字符更改
    • 二、插入模式
      • 2.1 插入模式和命令行模式相互切换
    • 三、末行模式
      • 2.1 末行模式和命令行模式相互切换
      • 2.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 替换
快捷键功能
r替换光标所在处的字符
R替换光标所到之处的字符,直到按下ESC键为止
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会向前寻找到您要的关键字为止

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/697540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【EI会议征稿通知】第十届机械工程、材料和自动化技术国际会议(MMEAT 2024)

2024年第十届机械工程、材料和自动化技术国际会议(MMEAT 2024) 2024 10th International Conference on Mechanical Engineering,Materials and Automation Technology 2024年第十届机械工程、材料和自动化技术国际会议( MMEAT 2024) 将于2024年06月21-23日在中国武汉举行。MM…

【LeetCode每日一题】单调栈316去除重复字母

题目:去除重复字母 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 示例 1: 输入:s “bcabc” 输…

docker自定义网络实现容器之间的通信

Background docker原理 docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问。docker核心三大组件:image–镜像、container-容器、 repository-仓库。docker使用的cpu、内存以及系统内核等资源都是直接使用宿主…

python 函数-04-参数收集-带1个或2个星号

一个函数,至多可以带一个一星参数(收集位置参数),加上一个二星参数(收集关键字参数)。 01 一个星号参数 入参为不定参数(参数个数不确定),此时在定义参数时&#xff0c…

最简单方式把jar打包成Windows服务

废话 😢 将JAR文件转化为Windows服务是一种高效且常见的Java应用部署策略。这种转变赋予了Java应用程序在Windows操作系统上以无界面后台服务模式运行的能力,从而实现了持续、稳定且可靠的功能提供。这种部署方式不仅提升了应用的可用性&#xff0c…

Python学习笔记——类(编程风格)

编写的应用比较复杂时,特别是大型项目,团队分工协同,尤其要注意编程风格。 (1)类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写(类名的首字母是大写的),并且不…

导入excel某些数值是0

目录 导入excel某些数值是0数据全部都是0原因解决 部分数据是0原因解决 导入excel某些数值是0 数据全部都是0 有一列“工单本月入库重量”全部的数据都是0 原因 展示的时候,展示的字段和内表需要展示的字段不一致,导致显示的是0。 解决 修改展示的字…

kubernetes面试题及核心知识点

无状态负载deployment有状态管理 : config配置文件 secret密码文件 内置volumn插件 1、emptyDir宿主机的存储为容器分配资源。临时储存,随着pod的删除而消失, 2、hostPath宿主机的存储为容器分配资源。不会随着pod的删除而消失&#xf…

Video generation models as world simulators-视频生成模型作为世界模拟器

原文地址:Video generation models as world simulators 我们探索在视频数据上进行大规模生成模型的训练。具体来说,我们联合训练文本条件扩散模型,同时处理不同持续时间、分辨率和长宽比的视频和图像。我们利用一个在视频和图像潜在编码的时…

AGI|AI到底如何生成视频?Sora究竟为何能引爆科技圈?

目录 一、AI生成视频引发新浪潮 二、生成方法及难点 三、Sora的突破进展 (一)可生成不同尺寸视频 (二)可生成1分钟时长视频 (三)图片生成视频 (四)场景一致性 (五…

Window部署Exceptionless

Exceptionless Elasticsearch 版本: Exceptionless:8.1.0 Elasticsearch:7.17.5 JDK:11.0.10 目录 一、Elasticsearch运行 二、 Exceptionless 一、Elasticsearch运行 bin目录下elasticsearch.bat 直接运行 访问 http://lo…

使用gstreamer和opencv实时识别LED数码管数字的测试demo(QT)

效果演示: 效果1:静态识别 效果2:动态实时识别 可以看到,虽然不太稳定,但是好歹还是识别出来了的,就是需要调参,然鹅我不是专业的,目前还没有调好。。。 T_T 先这样吧。以后再说。 觉得文章质量可以的,请点个赞哦,谢谢。 前言 最近需要完成使用op…

yum方式快速安装mysql

问题描述 使用yum的方式简单安装了一下mysql,对过程进行简单记录。 步骤 ①安装wget和vim sudo yum -y install wget vim②下载mysql的rpm包 sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm③升级和更新rpm包 sudo rpm -Uv…

ElementUI组件的安装和使用

Element UI 是一款基于 Vue 2.0 的桌面端组件库,主要用于快速构建网站的前端部分。它提供了丰富的组件,如按钮、输入框、表格、标签页等,以及一些布局元素,如布局容器、分割线等。Element UI 的设计风格简洁,易于上手&…

【前端素材】推荐优质后台管理系统Airmin平台模板(附源码)

一、需求分析 系统定义 后台管理系统是一种用于管理和监控网站、应用程序或系统的在线工具。它通常是通过网页界面进行访问和操作,用于管理网站内容、用户权限、数据分析等。后台管理系统是网站或应用程序的控制中心,管理员可以通过后台系统进行各种管…

第四十二回 假李逵翦径劫单身 黑旋风沂岭杀四虎-python读写csv和json数据

李逵答应了宋江三件事:不可吃酒,独自前行,不带板斧。李逵痛快答应了,挎一口腰刀,提着朴刀,带了一锭大银子,三五个小银子就下山去了。 宋江放心不下,于是请同乡朱贵也回家一趟&#…

arcgisPro制图输出

1、设置地图底图 2、导入数据 3、 设置图形颜色,如下:右键“浙江省”数据层,选择符号系统 4、在右侧可看到打开的符号系统栏,进行如下设置: 5、移除“其他所有值”项,如下: 6、设置图形轮廓,如下…

【MATLAB】CEEMD_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 CEEMD_MFE_SVM_LSTM神经网络时序预测算法是一种结合了多种先进技术的复杂预测方法,旨在提高时序预测的准确性和稳定性。下面是对该算法的详细介绍: CEEMD&#xff…

ES项目应用

配置: ES存储了2-3亿条,几百GB ES集群有5 个节点 2主2副 ES返回数据量窗口大小设置 index.max_result_window 深度翻页 1.from size 方式 2.scroll相当于维护了一份当前索引段的快照信息,这个快照信息是你执行这个scroll查询时的快照。在这个查询后的任…

kali虚拟机桥接模式快速设置

第一步:选择 虚拟机 > 设置 > 虚拟机设置,设置桥接模式 不选择复制物理网络连接状态选项: 如果采用DHCP的方式来分配IP地址,当电脑网络从有线或无线网络之间进行移动时,DHCP会重新分配ip地址,即虚拟机…