VIM编辑器
原创2026/3/5大约 4 分钟
VI 是 "Visual interface" 的简称, 是 Linux 中最经典的文本编辑器
VI 不是一个排版程序,它不象 Word 或 WPS 那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序
VI 没有菜单,只有命令,且命令繁
VIM 是 VI 的改良版,增加了更多功能和特性,使它成为现代文本编辑器的代表之一
VIM 支持多种颜色方案,语法高亮、自动缩进等功能,可以大大提高编程效率
VIM 兼容 VI 几乎所有命令
编辑器的三种模式

命令模式(Command mode)
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能
此模型下,不能自由进行文本编辑输入模式(Insert mode)
也就是所谓的编辑模式、插入模式
此模式下,可以对文件内容进行自由编辑末行模式(Last line mode)
通常用于文件的保存、退出
此模型下,不能自由进行文本编辑
基本使用
打开文件
vim filename: 打开文件,并定位第 1 行vim filename +2:打开文件,并定位于第 2 行vim filename +:打开文件,定位至最后一行
如果文件路径表示的文件不存在,那么此命令会用于创建并编辑新文件
如果文件路径表示的文件存在,那么此命令用于编辑已有文件
打开文件后,默认是命令模式
编辑模式
在命令模式下,可以通过以下按键命令进入编辑模式
| 模式 | 按键命令 | 描述 |
|---|---|---|
| 命令模式 | i | 在当前光标的位置,进入编辑模式 |
| 命令模式 | I | 在当前行的开头,进入编辑模式 |
| 命令模式 | a | 在当前光标位置之后,进入编辑模式 |
| 命令模式 | A | 在当前行的结尾,进入编辑模式 |
| 命令模式 | o | 在当前光标下一行,进入编辑模式 |
| 命令模式 | O | 在当前光标上一行,进入编辑模式 |
关闭文件
在编辑模式下,先按 Esc 进入命令模式,然后shift加:进入末行模式
| 模式 | 按键命令 | 描述 |
|---|---|---|
| 命令模式 | ZZ | 保存并退出 |
| 末行模式 | :q | 退出。没有动过文件 |
| 末行模式 | :wq | 保存并退出。动过了,不后悔 |
| 末行模式 | :q! | 退出。动过了,后悔了 |
| 末行模式 | :w | 保存,不退出 |
扩展使用
末行模式
| 模式 | 按键命令 | 描述 |
|---|---|---|
| 末行模式 | :set number | 显示行号,下次需要重新设置 |
| 末行模式 | :number | 令将光标定位到指定行 例如:":10"将光标移动到第 10 行 |
| 末行模式 | /searchstring | 按下 Enter 键开始查找,VIM 会高亮显示匹配的文本。 如果有多个匹配结果,可以使用 n(下一个)和 N(上一个)键进行导航 |
命令模式
| 模式 | 按键命令 | 描述 |
|---|---|---|
| 命令模式 | 键盘上、K | 向上移动光标 |
| 命令模式 | 键盘下、J | 向下移动光标 |
| 命令模式 | 键盘左、H | 向左移动光标 |
| 命令模式 | 键盘右、L | 向右移动光标 |
| 命令模式 | 0 | 移动光标到当前行的开头 |
| 命令模式 | $ | 移动光标到当前行的结尾 |
| 命令模式 | gg | 光标跳到首行 |
| 命令模式 | G | 光标跳到行尾 |
| 命令模式 | yy | 复制当前行 |
| 命令模式 | nyy | n 是数字,复制当前行和下面的 n 行 |
| 命令模式 | p | 粘贴复制的内容 |
| 命令模式 | u | 撤销修改 |
| 命令模式 | Ctrl + r | 反向撤销修改 |
| 命令模式 | dd | 删除光标所在行的内容 |
| 命令模式 | ndd | n 是数字,表示删除当前光标向下 n 行 |
| 命令模式 | dG | 从当前行开始,向下删除全部 |
| 命令模式 | dgg | 从当前行开始,向上删除全部 |
| 命令模式 | d$ | 从当前光标开始,删除到本行的结尾 |
| 命令模式 | d0 | 从当前光标开始,删除到本行的开头 |
| 命令模式 | PageUp | 向上翻页 |
| 命令模式 | PageDown | 向下翻页 |
| 命令模式 | / | 进入搜索模式 |
| 命令模式 | n | 向下继续搜索 |
| 命令模式 | N | 向上继续搜索 |
至此,本章节的学习就到此结束了,如有疑惑,可对接技术客服进行相关咨询。