1 vi/vim编辑器介绍
vi 是visual interface 的简称,是Linux中最经典的文本编辑器
vim是vi的加强版。兼容了vi的所有指令,不仅能编辑文本,而且具有shell程序编辑的功能,可以通过不同颜色的字体辨别语法的正确性,极大方便了程序的设计和编辑性。
2 vi/vim编辑器的三种工作模式
命令模式(Command mode)
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动不同的功能。
此模式下,不能自由进行文本编辑。
输入模式(Insert mode)
也就是所谓的编辑模式、插入模式。
此模式下,可以对文件内容进行自由编辑。
底线命令模式(Last line mode)
以:开始,通常用于文件的保存、退出。
2.1 命令模式
如果需要通过vi\vim编辑器编辑文件,输入如下命令
vi 文件路径
vim 文件路径 一般直接使用vim,因为vim兼容vi的所有功能
注意:1)如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。
2)如果文件路径表示的文件存在,那么命令用于编辑已有文件。
示例
vim test.txt 若文件不存在,会自动创建新文件并进入命令模式
再点击 i ,进入输入模式
对内容进行编辑,输入this a test
点击Esc,退出输入模式,进入命令模式
在命令模式下,输入:进入底线命令模式
在底线命令模式下(即在 : 基础上),再输入wq ,回车进行保存并退出
命令模式快捷键
以下为在命令模式下,各种进入输入模式的快捷键
|------|----------|--------------------|
| 模式 | 命令 | 描述 |
| 命令模式 | i | 在当前光标位置进入输入模式 |
| 命令模式 | a | 在当前光标位置之后进入输入模式 |
| 命令模式 | I (大写i ) | 在当前行的开头,进入 输入模式 |
| 命令模式 | A | 在当前行的结尾,进入输入模式 |
| 命令模式 | o | 在当前光标下一行进入输入模式 |
| 命令模式 | O | 在当前光标上一行进入输入模式 |
| 输入模式 | Esc | 任何情况下点击Esc都能回到命令模式 |
以下还有一些命令模式下的快捷键
|----------------|------------------|--------|------------------|
| 命令 | 描述 | 命令 | 描述 |
| 键盘上、键盘k | 向上移动光标 | dd | 删除光标所在行的内容 |
| 键盘下、键盘j | 向下移动光标 | ndd | n是数字,删除当前光标向下n行 |
| 键盘左、键盘h | 向左移动光标 | yy | 复制当前行 |
| 键盘右、键盘L | 向右移动光标 | nyy | n是数字,复制当前行和下面的n行 |
| 0 | 移动光标到当前行的开头 | p | 粘贴复制的内容 |
| $ | 移动光标到当前行的结尾 | u | 撤销修改 |
| pageup(PgUp) | 向上翻页 | ctrl+r | 方向撤销修改 |
| pagedown(PdDn) | 向下翻页 | gg | 跳到首行 |
| / | 进入搜索模式 | G | 跳到行尾 |
| n | 向下继续搜索 | dG | 从当前行开始,向下全部删除 |
| CTRL+n | 向上继续搜索 | dgg | 从当前行开始,向上全部删除 |
| d$ | 从当前光标开始,删除到本行的结尾 | d0 | 从当前光标开始,删除本行的开头 |
2.2 底线命令模式
注意:点击Esc可退回命令模式。
以下为底线命令模式下的一些常用命令:
|--------------|--------|
| :wq | 保存并退出 |
| :q | 仅退出 |
| :q! | 强制退出 |
| :w | 仅保存 |
| :set nu | 显示行号 |
| :set nonu | 取消行号显示 |
| :set paste | 设置粘贴模式 |
| :set nopaste | 取消粘贴模式 |