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 小时前
【xilem0.4基础语法学与练】第22课:on_click / on_change 与手势系统的实战
学习·rust·前端框架
Cho1yon8 小时前
【AI Agent 第十五期: AI Agent 从 0 到 1 系统学习大纲】
javascript·人工智能·学习
启博网络8 小时前
实战:无公网IP环境下的企业异地组网方案(附拓扑与IP规划)
linux·网络·tcp/ip
典典分享指南8 小时前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
jupyter·github·vim·idea·visual studio
Soari9 小时前
Linux 内核对比:PREEMPT_DYNAMIC vs PREEMPT_RT
linux·运维·ubuntu
Dr_Fourier10 小时前
mmap的使用与底层原理
linux·c++
my_daling10 小时前
紫光FPGA远程升级注意事项(关于GTP_CFGCLK原语使用问题)
笔记·学习·fpga开发
zr想努力11 小时前
GAS学习(UE5自用)
学习·ue5
她说..11 小时前
MySQL JSON 处理学习文档
学习·mysql·json
linx29511 小时前
单元五 · 对称认知·下:编译与链接
linux·c语言·开发语言·c++·嵌入式硬件