???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???????? ???? ????
????个人主页 :阿然成长日记 ????点击可跳转
???? 个人专栏: ????数据结构与算法????C语言进阶????C++
???? 不能则学,不知则问,耻于问人,决无长进
???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ????
文章目录
- 一、什么是vim
- 二、vim的理解
- 三、vim中的五种模式
- 四、模式展示
- 五、????小结:
一、什么是vim
Vim
是从vi
发展出来的一个文本编辑器。它具有代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和【Emacs】并列成为类Unix系统用户最喜欢的文本编辑器。
- 对于vim来说,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且
还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于Windows、MacoOS - vim是一款 多模式的编辑器,它有着各种各样的模式。例如【命令模式】【插入模式】【底行模式】【可视模式】【替换模式】等等12种模式,在本文中我将会详细介绍这几种模式,介绍每种模式的用法和差别,以及它们之间是如何进行切换的
- 对于vim这款编辑器来说,它不同于其他编辑器的地方在于你可以仅使用键盘中的主键盘区,基本可以完成绝大多数的操作,当你进入vim后,默认便是命令模式,从此刻开始你主键盘上的所有按键就被赋予了各种功能,如下图????
二、vim的理解
上面说过vim是一个编辑器,它的作用便是代码的编写。我们通常使用的vs2019它叫做IDE(Integrated Development Environment),IDE是一个集成开发环境, 包含了从编写代码->调试代码–>编译->链接->运行等一系列操作。
也就是说,
vim
只是起到一个编写代码的功能。它只是一系列功能中的一种。
在Linux中,我们对集成开发环境的功能进行拆分,也就是说编写代码使用vim调试要使用GDB,编译使用gcc/g++等。
vim | 负责代码的编辑和维护工作 |
---|---|
gdb | 符合负责代码的调试工作 |
gcc/g++ | 负责代码的编译运行工作 |
三、vim中的五种模式
模式转换图:
各种模式说明: ????
正常/普通/命令模式【Normal mode】 | 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。在此模式下无法进行代码编辑 |
---|---|
插入模式【Insert mode】 | 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式 |
末行模式【Last line mode】 | 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入 |
可视模式【Visual mode】 | 在正常模式按下v, V, Ctrl + v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便 |
替换模式【Replace mode】 | 在正常模式按下R,可以进入可视模式。对于替换模式而言其实并没有那么常用,因为在命令模式中就可以直接进行替换,也就是按下【r】键,然后直接对当前光标所在字符进行替换即可。但是每次只可替换一次或者批量替换,在【替换模式】中可连续替换,更加方便 |
四、模式展示
- 使用指令【vim test1.c】打开我之前创建的test.c文件。
如上图,刚进入vim时,左下角【NORMAL】:也就是命令模式。
- 直接按下键盘【a / i / o】,即可进入插入模式。便可以通过键盘输入代码。
此时左下角【INSERT】:也就是插入模式。
- 想要切换为视图模式,需要使用【ESC】指令退出插入模式,在按下【V】即可进入视图模式
- 进入末行模式,也是相同的道理,先【ESC】在【shift+:】
末行模式,可以发现在最下面,出行了一个:在这后面我们可以输入保存,退出指令。稍后会讲解。
五、????小结:
- 如果你不知道自己在什么模式下,无脑Esc
- 退出的时候,一般都时先保存,再退出wq
- vim操作中,不要用鼠标和鼠标的滑轮