linux(干货不解释) 中vi编辑器的用法详细介绍
linux 中vi编辑器的用法介绍
一、vim的介绍
配置文件是 Linux 操作系统的显著特征之一,其作用有点类似于 Windows 操作系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。以便更好地管理和维护系统中的各种配置文件,就用到Linux 字符操作界面中的文本编辑器——vi。
vi 是一个功能强大的全屏幕文本编辑工具,一直以来都作为类 UNIX 操作系统的默认文本编辑器。vim 是 vi 文本编辑器(简称 vi 编辑器)的增强版本,在 vi 编辑器的基础上扩展了很多实用的功能,但是习惯上也将 vim 称为 vi。
二、vi 编辑器的工作模式
vi 编辑器是工作在字符终端环境下的全屏幕编辑器,因此编辑界面相对比较简单,没有为用户提供鼠标操作和菜单系统,而是通过按键命令实现相应的编辑和操作功能。在 vi 编辑界面中可以使用三种不同的工作模式,即命令模式、输入模式和末行模式,在不同的模式 中能够对文件进行的操作也不相同。
- 命令模式:启动 vi 编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
- 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修 改或添加新的内容。处于输入模式时,vi 编辑器的最后一行会出现“-- INSERT --” 的状态提示信息。
- 末行模式:该模式中可以设置 vi 编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时, vi 编辑器的最后一行会出现冒号“:”提示符。
命令模式、输入模式和末行模式是 vi 编辑环境的三种状态,通过不同的按键操作可以在不同的模式间进行切换。命令模式按:(冒号)键可以进入末行模式,按 a、i、o 等键可以进入输入模式;在输入模式、末行模式均可按 Esc 键返回命令模式,
三、命令模式中的基本操作
1、模式切换
在命令模式中,按 a、i、o 等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按 Esc 键即可。
常用的几个模式切换键及其作用:
- a:在当前光标位置之后插入内容。
- A:在光标所在行的末尾(行尾)插入内容。
- i:在当前光标位置之前插入内容。
- I:在光标所在行的开头(行首)插入内容。
- o:在光标所在行的后面插入一个新行。
- O:在光标所在行的前面插入一个新行。
2、移动光标
1)光标方向的移动。
直接按↑、↓、←、→四个方向键完成相应的光标移动。
- h 或 向左箭头键(←) 光标向左移动一个字符
- j 或 向下箭头键(↓) 光标向下移动一个字符
- k 或 向上箭头键(↑) 光标向上移动一个字符
- l 或 向右箭头键(→) 光标向右移动一个字符
2)翻页移动 - 按 Page Down 键或 Ctrl+F 组合键向下翻动一整页内容。
- 按 Page Up 键或 Ctrl+B 组合键向上翻动一整页内容。
3)行内快速跳转
- 按 Home 键或^键、数字 0 键将光标快速跳转到本行的行首。
- 按 End 键或$键将光标快速跳转到本行的行尾。
- H 光标移动到这个屏幕的最上方那一行的第一个字符
- M 光标移动到这个屏幕的中央那一行的第一个字符
- L 光标移动到这个屏幕的最下方那一行的第一个字符
- “+” 光标移动到非空格符的下一行
- “-” 光标移动到非空格符的上一行
4)行间快速跳转
- 使用按键命令 1G 或者 gg 可跳转到文件内容的第 1 行。
- 使用按键命令 G 可跳转到文件的最后一行。
- 使用按键命令#G 可跳转到文件中的第#行(其中“#”号用具体数字替换)
3、复制、粘贴、删除操作
1)复制操作
使用按键命令 yy 复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需 要粘贴后才能使用。
2)粘贴操作
在 vi 编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,
- 按 p 键即可将缓冲区中的内容粘贴到光标位置处之后一行。
- 按 P 键则会粘贴到光标位置处之前一行。
- J 将光标所在行与下一行的数据结合成同一行
- [Ctrl]+r 重做上一个动作。
- . 就是小数点,意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了。
3)删除操作
- 按 x 键或 Delete 键删除光标处的单个字符。
- 使用按键命令 dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)。
- 使用按键命令 d^删除当前光标之前到行首的所有字符。
- 使用按键命令 d$或D 删除当前光标处到行尾的所有字符。
- 删除的内容也会保留到粘贴板中,在执行过程中尽量做到先删除在复制粘贴。
4、查找文件内容
- 在命令模式中按/键后可以输入指定的字符串,从当前光标处开始向后进行查找。
- 按?键后可以输入指定的字符串,从当前光标处开始向前进行查找。
- 完成查找后可以按 n、N 键在不同的查找结果中进行选择。
- n表示下一个匹配到的位置。
- N表示前一个匹配到的位子。
5、撤销编辑及保存和退出
在对文件内容进行编辑时,有时候需要对一些失误的编辑操作进行撤销,这时可以使用 按键命令 u、U 键。
- u 键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按 u 键恢复已进行的多步操作;
- -U 键命令用于取消对当前行所做的所有编辑。
- 当需要保存当前的文件内容并退出 vi 编辑器时,可以使用按键命令 ZZ。
- ZQ 不保存,强制退出。效果等同于 :q!。
四、输入模式中的基本操作
在命令模式下按下i、a、o就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- ESC,退出输入模式,切换到命令模式
五、末行模式中的基本操作
在命令模式中按:键可以切换到末行模式,vi 编辑器的最后一行中将显示“:”提示符,用户可以在该提示符后输入特定的末行命令,完成如保存文件、退出编辑器、打开新文件、读 取其他文件内容及字符串替换等丰富的功能操作。
1、保存及退出vi编辑器
1)保存文件
- 对文件内容进行修改并确认以后,需要执行如下的“:w”命令进行保存。
- 若需要另存为其他文件,则需要指定新的文件名,并指定文件路径。格式为":w 文件路径"
2)退出编辑器 - 需要退出 vi 编辑器时,可以执行“:q”命令。
- 若文件内容已经修改却没有保存,则仅使用“:q”命令将无法成功退出,这时需要使用如下的“:q!”命令强行退出(不保存即退出)。
3)保存退出 - 既要保存文件又要退出 vi 编辑器可以使用一条末行命令“:wq”或“:x” 实现,其效果与命令模式中的 ZZ 命令相同。
2、打开新文件或读入其他文件内容
1)打开新的文件进行编辑
- 在当前 vi 编辑器中,执行“:e 新的文件路径”形式的末行命令可以直接编辑新文件。
2)在当前文件中读入其他文件内容 - 执行“:r 其他文件路径”形式的末行命令可以读入(Read)其他文件中的内容,并将其复制到最后一行下面。
3、替换文件内容
在 vi 编辑器的末行模式中,能够将文件中特定的字符串替换成新的内容,当需要大批量修改同一内容时,使用替换功能将大大提高编辑效率。
替换功能的末行命令语法格式:
: [替换范围] sub /旧的内容/新的内容[/g]
替换范围有两种格式
- 全文替换 %:在整个文件内容中进行查找并替换。
- 范围替换 n,m:在指定行数范围内的文件内容中进行查找并替换。
- 替换格式中最末尾的“/g”部分也是可选内容,表示对替换范围内每一行的所有匹配结果都进行替换,省略“/g”时将只替换每行中的第一个匹配结果。
4、显示行号
- :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号。
- :set nonu 与 set nu 相反,为取消行号。