本文最后更新于 2023-09-19,文章内容可能已经过时。

第 2 章 VI/VIM 编辑器

2.1 是什么

VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。

VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。

2.2 一般模式

以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。

这里的shifit + 6 (^) shifit + 4 ($) 相当于正则表达式里面的匹配开头和结尾

linux4.png

2.3 编辑模式

在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。

注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下 『Esc』这个按键即可退出编辑模式。

1)进入编辑模式

5

2.4 指令模式

在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。

在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、 离开 vi 、显示行号等动作是在此模式中达成的!

1)基本语法

命令 功能
:w 保存
:q quit
:! 强制
/查找的词 n 下一个。N 上一个
:noh 取消高亮
:set nu 开启行号
:set nonu 关闭行号
:%s/old/new/g 替换内容 /g 替换匹配的所有内容【当前行】

只有s没有百分号:当前行第一个匹配到的替换

只有s没有百分号结尾加/g:当前行全部替换

:n1, n2s/word1/word2/g:n1与n2为数字,在n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
:1, $s/word1/word2/g:将全文的word1替换为word2

:1, $s/word1/word2/gc:将全文的word1替换为word2,且在替换前要求用户确认

v:选中文本,按两下ESC取消选中状态