一、vi 和 vim 的基本介绍
VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。所有的 Linux 系统都会内建 vi 文本编辑器。
Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
二、vi 和 vim 的三种常见模式
1、正常模式(一般模式)
在正常模式下,我们可以使用快捷键。
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用「上下左右」按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件数据。
2、插入模式/编辑模式
在模式下,程序员可以输入内容。
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
1)进入编辑模式
2)退出编辑模式
按『Esc』键 退出编辑模式,之后所在的模式为一般模式
3、命令行模式
在一般模式当中,输入『 : / ?』3 个中的任何一个按钮,就可以将光标移动到最底下那 一行。 在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
(1)基本语法
(2)案例
:wq! 强制保存退出,可以把一个只读文件强制的保存并退出
:q! 强制退出
😒/boot/booot 替换光标所在处字符
😒/boot/booot/g 将当前行匹配到的 boot 变为 boot
:%s/boot/booot 把每一行的第一个 boot 修改为 booot
:%s/boot/booot/g 把全局的 boot 都修改为 booot
三、vi 和 vim 三种模式的相互转化图
四、vi 和 vim 快捷键
- 拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(p)。
- 删除当前行 dd , 删除当前行向下的 5 行 5dd
- 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ],查询 hello.
- 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]
- 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。
- 在一个文件中输入 “hello” ,然后又撤销这个动作,再正常模式下输入 u
- 编辑 /etc/profile 文件,并将光标移动到 第 20 行 shift+g 第一步:显示行号 :set nu 第二步:输入 20 这个数 第三步: 输入 shift+g