目录
Vi(Visual)和 Vim(Vi Improved)是两款在 Unix/Linux 系统中广泛使用的文本编辑器。Vim 是 Vi 的改进版本,继承了 Vi 的核心功能,并增加了许多新特性,如语法高亮、多级撤销等。它们都具有强大的文本编辑能力,支持多种模式,能够高效地进行文本的插入、删除、查找、替换等操作。
基本模式
命令模式(普通模式)
进入编辑器后默认处于命令模式。在此模式下,可以使用各种命令来移动光标、删除文本、查找文本等。例如,按"h"键可以使光标向左移动一个字符,按"j"键可以使光标向下移动一行。
常用移动命令:
h
:光标左移j
:光标下移k
:光标上移l
:光标右移gg
:移动到文件的第一行G
:移动到文件的最后一行nG
:移动到文件的第 n 行(n 为数字)0
:移动到当前行的行首$
:移动到当前行的行尾w
:光标移动到下一个单词的开头b
:光标移动到上一个单词的开头e
:光标移动到当前单词的结尾
常用删除命令:
x
:删除光标所在位置的字符dd
:删除光标所在行ndd
:删除光标所在行及其下面的 n 行(n 为数字)dw
:删除光标所在位置的单词
插入模式
在命令模式下,按"i"键可以进入插入模式。此时,可以在光标所在位置插入文本。例如,将光标移动到文件的某个位置后,按"i",然后输入"Hello, world!",这段文本就会被插入到光标所在位置。
其他进入插入模式的方式:
a
:在光标所在位置的后面插入文本o
:在光标所在行的下面插入一行并进入插入模式O
:在光标所在行的上面插入一行并进入插入模式
末行模式(命令行模式)
在按":"键可以进入末行模式。
按"v"键可以进入可视模式
按"u"键可以撤销上一次的操作;按"Ctrl + r"键可以重做上一次被撤销的操作。
:w
:保存文件:wq
:保存文件并退出编辑器:q
:退出编辑器(如果文件有未保存的修改,会提示错误):q!
:强制退出编辑器,不保存修改:%s/old/new/g
:将文件中所有的"old"替换为"new"(% 表示整个文件,g 表示全局替换)
查找与替换
查找
在命令模式下,按"/"键,然后输入要查找的内容,再按回车键,光标会移动到找到的第一个匹配项。例如,输入"/hello"并回车,光标会移动到文件中第一个"hello"出现的位置。
按"n"键可以查找下一个匹配项,按"N"键可以查找上一个匹配项。
替换
在命令模式下,将光标移动到要替换的字符上,按"r"键,然后输入新的字符,即可替换该字符。例如,光标在字符"a"上,按"r"再输入"b","a"就被替换为"b"了。
使用末行模式的替换命令可以批量替换文本,如上文提到的:%s/old/new/g
。