【Linus】vim的使用:命令模式、底行模式、插入模式、视图模式、替换模式的常用操作介绍

目录

注意:以下操作前提是要确保你输入法是英文模式

一、进入和退出各个模式的方法

1.命令模式

2.底行模式

3.插入模式

4.视图模式

5.替换模式

二、在命令模式中一些常用的操作

1.移动光标

2.删除文字

3.复制

4.替换

5.撤销上一次操作

6.更改

7.跳至指定的行

三、在底行模式中一些常用的操作

1.列出行号

2.跳到文件中的某一行

3.查找字符

4.分屏

5.保存文件

6.离开vim

四、视图模式

1.写注释

2.去注释

五、替换模式


注意:以下操作前提是要确保你输入法是英文模式

一、进入和退出各个模式的方法

1.命令模式

进入:vim + 文件名 一进入就是命令模式

退出:命令模式是基本的模式无需退出

2.底行模式

进入:在命令模式中按 shift + ;(也就是 :)

退出:返回命令模式, 无脑按Esc(就是键盘最左上角的Esc)

3.插入模式

进入:在命令模式中按 i a o都行(有些许差异,你可以自己试试,这里不细说,一般常用 i 进入)

退出:返回命令模式, 无脑按Esc(就是键盘最左上角的Esc)

4.视图模式

进入:在命令模式中按 ctrl + v

退出:返回命令模式, 无脑按Esc(就是键盘最左上角的Esc)

退出返回

5.替换模式

进入:在命令模式中按 shift + r (也就是R)

退出:返回命令模式, 无脑按Esc(就是键盘最左上角的Esc)

注意:进入一切模式的前提是在命令模式(即正常模式)

二、在命令模式中一些常用的操作

1.移动光标

按「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
按「G」:移动到文章的最后
按「 $ 」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页

2.删除文字

「x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行

3.复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

4.替换

「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符(此时已经进入替换模式),直到按下「ESC」键为止。

5.撤销上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
「ctrl + r」: 撤销的恢复

6.更改

「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字

7.跳至指定的行

「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

三、在底行模式中一些常用的操作

1.列出行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

2.跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

3.查找字符

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按
「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

「noh」:消除查找关键字后的关键字高亮。

提示:/ 和 ?查找有和区别?操作实验一下

4.分屏

「vs #」:#:文件名, 文件在另一个目录要加路径。如:vs test.c,就可以分屏打开test.c。

如果test.c在上级目录test则, vs ../test/test.c。

「ctrl ww」:可以控制光标跳转到另一个分屏打开的文件。

注意:在分屏下,光标在哪个文件,所打开的底行就是哪一个文件的底行。

5.保存文件

「w」: 在冒号输入字母「w」就可以将文件保存起来

6.离开vim

「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

四、视图模式

1.写注释

ctrl + v(进入视图模式) ->j/k两个键上下选中区域->shift + i (也就是I)->输入//->ESC退出

2.去注释

ctrl + v(进入视图模式) ->h/j/k/l四个键上下左右选中区域->按d即可->ESC退出

五、替换模式

shift + r(R):替换光标所到之处的字符,直到按下「ESC」键为止。

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

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

相关文章

华为云云耀云服务器L实例评测|评测使用

目录 一、云服务器的类型和功能 二,云服务器的优点 三,使用华为云耀云服务器使用 一、云服务器的类型和功能 企业可以从多种类型的云服务器中进行选择。三个主要模型包括: 公有云服务器:云服务器最常见的表达方式是虚拟机 (VM)&am…

进化算法、遗传编程和学习

一、说明 进化算法是一系列搜索算法,其灵感来自自然界(达尔文主义)进化过程。所有不同家庭成员的共同点是,通过应用受自然遗传学和自然选择启发的 算子,通过进化出最初 随机的候选解决方案群体来解决问题&#…

每日一博 - 闲聊Microservice Architecture

文章目录 概述图解小结 概述 典型微服务架构通常包括以下组件: 负载均衡器(Load Balancer):用于将传入的流量分发到多个API网关实例以提高可用性。 内容分发网络(CDN,Content Delivery Network&#xff0…

MFC中的类继承图的基本框架

一、类继承关系 从图中可知,在MFC中大多数的类都派生于CObject类,它的主要作用是为子类提供一些基本的功能,这些派生类构成了MFC应用程序的基本框架,它们各自的功能描述如表1所示。 派生类 功能描述 CCmdTarget 用于处理用户请…

Python list列表删除元素(4种方法)

在 Python列表中删除元素主要分为以下 3 种场景: 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法;根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法&#xf…

Pytest系列-数据驱动@pytest.mark.parametrize(7)

简介 unittest 和 pytest参数化对比: pytest与unittest的一个重要区别就是参数化,unittest框架使用的第三方库ddt来参数化的 而pytest框架: 前置/后置处理函数fixture,它有个参数params专门与request结合使用来传递参数&#x…

CLIP 基础模型:从自然语言监督中学习可转移的视觉模型

一、说明 在本文中,我们将介绍CLIP背后的论文(Contrastive Language-I mage Pre-Training)。我们将提取关键概念并分解它们以使其易于理解。此外,还对图像和数据图表进行了注释以澄清疑问。 图片来源: 论文&#xff1a…

Layui + Flask | 实现注册、登录功能(案例篇)(08)

此案例内容比较多,建议滑到最后点击阅读原文,阅读体验更佳。后续也会录制案例视频,将在本周内上传到同名的 b 站账号。 已经看了 layui 表单相关的知识,接下来就可以实现注册功能,功能逻辑如下: 项目创建 新建 flask 项目下载 layui 文件,解压之后复制到指定文件编写前…

前缀和实例4(和可被k整除的子数组)

题目: 给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的(连续、非空) 子数组 的数目。 子数组 是数组的 连续 部分。 示例 1: 输入:nums [4,5,0,-2,-3,1], k 5 输出:7 …

系统性能调优:提升服务器响应速度

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

95.qt qml-诺谦通用可扩展多功能QML界面

支持如下所示: 1.可扩展多功能交互,用户可以根据自己喜欢使用常用功能,针对多功能项目非常有用!2.登录用户信息显示,历史消息显示,皮肤黑白风格切换 如下图所示: 自带一个功能界面,可以通过功能界面添加不…

第十三章总结

一.泛型 1.定义泛型类 泛型机制语法&#xff1a; 类名<T> 其中&#xff0c;T是泛型的名称&#xff0c;代表某一种类型。 【例13.6】创建带泛型的图书类 代码&#xff1a; 结果&#xff1a; 2.泛型的常规用法 (1)定义泛型类时声明多个变量 class MyCla…

算法通过村第八关-树(深度优先)青铜笔记|经典算法题目

文章目录 前言1. 二叉树里面的双指针1.1 判断两棵树是否相同1.2 对称二叉树1.3 合并二叉树 2. 路径专题2.1 二叉树的所有路径2.2 路径总和 3. 翻转的妙用总结 前言 提示&#xff1a;人类的底里是悲伤&#xff0c;我们都在用厚重的颜料&#xff0c;覆盖那些粗糙的线稿。--张皓宸…

ros2学习笔记:shell环境变量脚本setup.bash[-z][-n][-f]参数作用

-n作用 [ -n 字符串 ] or [ 字符串 ] 字符串的长度为非零&#xff08;有内容&#xff09;则为真。加-n与不加-n结果相同。 -z作用 [ -z 字符串 ] 字符串的长度为零则为真。 字符串为空即NULL时为真&#xff0c;与上面的-n相反。 -f作用 [ -f FILE ] 如果 FILE 存在且是一…

【C语言】指针和数组笔试题解析(2)

【C语言】指针和数组笔试题解析&#xff08;1&#xff09;&#xff0c; 这是第一篇关于sizeof与strlen在指针中的应用&#xff0c;而这一篇主要讲解在各种情形下的灵活运用&#xff0c;也是大厂中经典的面试题 第一题&#xff1a; int main() {int a[5] { 1, 2, 3, 4, 5 };in…

AUTOSAR汽车电子嵌入式编程精讲300篇-经典 AUTOSAR 安全防御能力的分析及改善

目录 前言 研究现状 经典 AUTOSAR 概述 2.1 经典 AUTOSAR 架构 2.2 经典 AUTOSAR 应用层

Centos系统常见配置(详细)总结

目录 一、简介二、具体内容1、设置静态ip2、重启网络3、ssh登录时自动运行命令4、新增用户并创建家目录5、终端显示bash-4.2#6、更换yum源7、centos系统串口终端自动登陆8、系统启动通过rc.local自动执行脚本9、关闭防火墙10、设置samba 三、其他相关链接 一、简介 本文主要在…

uniapp 触底加载

方式一 onReachBottomDistance 缺点&#xff1a;需要整个页面滑动&#xff0c;局部滑动触发不了 { // pages.json // 路由下增加 onReachBottomDistance "path": "detailed/detailed","style": {"navigationBarTitleText": "收…

C++ 类(1)

你知道吗&#xff0c;C类是编程世界中的一种强大工具&#xff0c;它可以帮助我们更好地组织和管理代码。接下来&#xff0c;我将为你呈现一篇近万字的C类的教程&#xff0c;希望能帮助你熟悉这个概念。 首先&#xff0c;让我们从C类的定义开始。类是一个模板&#xff0c;它描述…

The ‘<‘ operator is reserved for future use. 错误解决

The < operator is reserved for future use. 错误解决 在 PowerShell 终端执行 python learnstock.py < ldata.txt 发生错误&#xff0c; The < operator is reserved for future use.解决方法&#xff0c; cmd /c python learnstock.py < ldata.txt完结&#x…