Vi 是Unix世界里极为普遍的全屏幕文本编辑器,VIM是它的改进版本Vi IMproved的简称。几乎可以说任何一台Unix机器都会提供这套软件。Linux当然也有,它的 vi 其实是 elvis(版权问题),不过它们都差不多。熟悉 DOS 下的文书处理後,也许会感到 vi 并不好用;Unix 上也已经发展出许多更新、更好用的文书编辑器,但是并不一定每一台Unix机器上都会安装这些额外的软件。所以,学习 vi 的基本操作还是有好处,让你在各个不同的机器上得心应手。
Linux中的vi编辑器是Unix系统中最古老的文本编辑器之一,其增强版VIM(Vi Improved)在现代Linux发行版中广泛使用。掌握vi的基本操作对于Linux用户来说至关重要,因为无论在哪个Unix环境中,几乎都能找到它的身影。即使现在有许多更先进的文本编辑器,但vi的普及性和通用性使其仍然是不可或缺的工具。
使用vi打开或创建文件的命令格式是`vi <filePathAndName>`。例如,`vi test.conf`或`vi /tmp/test.conf`。如果指定的文件存在,vi会加载其内容;若不存在,则会创建新文件。在vi中,行前显示波浪符号代表该行为空行。
vi的工作模式分为指令模式和输入模式。当你首次打开文件时,vi处于指令模式,此时输入的任何字符都被解释为命令。要进入输入模式,你需要在指令模式下进行特定操作,如在光标前插入(i),光标后插入(a),或者在行首(I)和行尾(A)插入。
在指令模式下,vi提供了丰富的移动光标和编辑命令。例如,使用Ctrl+u向上翻半屏,Ctrl+f向下翻一屏,Ctrl+d和Ctrl+b分别用于向下和向上翻半屏。方向键可以实现基本的行内移动,而nG将光标移动到第n行首,n+和n-实现上下移动n行,n$和0/$分别将光标移到当前行的末尾和开头。
插入和删除操作是vi编辑的重要组成部分。i和a分别在当前光标前和后插入文本,I和A则在行首和行尾插入。o和O会在当前行下方和上方新建一行并进入输入模式。x和X用于删除光标处的字符,dd删除整行,r和R替换单个或连续字符,s和S则删除指定数量的字符或行,do和d$删除到行首和行尾。
退出vi编辑器时,需要先回到指令模式,通常是按[ESC]键。然后可以使用以下命令:
- `:w` 保存文件但不退出。
- `:wq` 或 `:x` 保存文件并退出。
- `:q` 试图不保存退出,如果文件被修改过,会提示确认。
- `:q!` 不保存文件强制退出。
掌握vi的命令用法对于日常的Linux系统管理非常有用,尽管初学者可能觉得它不太直观,但一旦熟悉了这些基本操作,你会发现vi的强大和高效。练习和熟悉这些命令将大大提高你在Linux环境下的工作效率。