Linux工具——vim

目录

​编辑

一,vim介绍

二,vim的五种模式

1.插入模式

2.底行模式

3.视图模式

4.替换模式

5.命令行模式


一,vim介绍

vim是啥呢?相信刚开始接触Linux的小伙伴们都会对这个问题有些许疑惑,今天我们就来介绍一下这个工具。vim其实就是一个多文本的编辑器,这个编辑器其实就和Windows下面的note记事本差不多,但是又有很多的不同。今天我们就来了解一下这个神秘的vim吧。

二,vim的五种模式

在vim中很多种模式,但是今天我们来了解一下这五种模式。这五种模式分别是:

1.命令模式 2.插入模式 3.底行模式 4.替换模式 5.视图模式。

它们的关系如下图所示:

这些模式之间的切换也和上图所示不能够通过模式与模式之间直接切换而要通过回退到命令模式后再根据指令来进入相应的模式里面。退出当前模式的操作便是无脑ESC(左上角那个按键)。

1.插入模式

切入到插入模式的指令有以下几个,但是要在命令模式下输入:

1.指令i:这个指令会让你在第一行的第一个格子里面进行插入的操作。

2.指令a:这个指令会让插入操作在当前位置的下一个位置。

o:这个指令会让插入操作的开始位置在当前位置的下一行。

在进入到插入模式以后我们便可以随意的写代码了,就和在vs编辑器下面一样。

2.底行模式

进入底行模式的指令便是在命令模式下输入':'(冒号)。在这个模式下我们便可以对程序进行编译,如对这个程序:

我们想要生成可执行程序便要输入指令:!gcc text.c :

得到这条提示以后我们的代码便编译好了,这时就会得到一个可执行的文件a.out。

要执行a.out文件便要输入指令:!./a.out:

这样便将这段代码执行了并得到了执行的结果。

在底行模式下还有如下指令:

q:当修改的内容已经保存以后便可以输入该指令退出vim。

q!:强制退出,当你对你所修改的内容不想保存但想退出时便可以输入该指令。

w:保存所修改的内容。

wq:保存并退出vim。

在底行模式下还可以执行多文件编写的命令:vs +要打开的另一个文件名

便会变成这样:

如果想要跳转文件便可以输入:ctrl+ww。

3.视图模式

进入视图模式的操作是在命令模式下输入指令:ctrl+v

在进入这个模式以后我们可以操作的便是使用方向键:h j k l来进行区域选择然后再按shift+i再加上//再按ESC退出。

比如对这段啊代码:

经过上述操作以后便会变成注释后的样子:

假如你想要删除注释便可以在视图模式下,用箭头符号h j k l进行范围选择然后输入指令:dd便可以去掉注释了:

最后dd:

4.替换模式

进入替换模式的指令是R(大写的r),在这个模式下面我们能做的便是在不删除原数据的情况下对字符进行替换。现在输入指令进入替换模式:

然后在这个时候便可以选中某个字符对其进行替换。

5.命令行模式

在这个模式下的指令是最多的,比如:

1.方向键 :h(向左),j(向下),k(向上),l(向右)。

2.复制:yy(复制一行代码),nyy(复制n行代码)。

3.粘贴:p(粘贴一行代码),np(粘贴n次)。

4.剪切:dd(剪切一行代码),ndd便是剪切n行代码。

5.大小写转换:~(输入这个指令便是进行大小写转换的操作)。

6.删除单个字符:x(dd是删除一行的代码,x便是删除单个字符)。

7.替代掉单个字符:r(对光标覆盖的字符进行修改替换)。

这里还有许多命令,大家可以去找找还有那些好玩的命令。

相关推荐
深蓝海拓8 分钟前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
酒鼎9 分钟前
学习笔记(3)HTML5新特性(第2章)
笔记·学习·html5
L***一24 分钟前
2026届大专跨境电商专业毕业生就业能力提升路径探析
学习
嵌入小生00729 分钟前
标准IO---核心函数接口延续(嵌入式Linux)
c语言·vscode·vim·嵌入式·小白·标准io·函数接口
.小墨迹36 分钟前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
Gain_chance1 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
Lsir10110_1 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
hqyjzsb1 小时前
盲目用AI提效?当心陷入“工具奴”陷阱,效率不增反降
人工智能·学习·职场和发展·创业创新·学习方法·业界资讯·远程工作
Sheffield1 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible