Vim文本编辑器及其应用详解Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器
Vim 是一个基于文本界面的编辑工具,使用简单且功能强大。更重要的是,Vim 是所有Linux发行版本默认的文本编辑器。
很多人习惯将 Vim 称为 Vi,其实 Vim 是 Vi 的增强版(在Vi的基础上增加了正则表达式的查找、多窗口的编辑等功能),使用 Vim 进行程序开发会更加方便
Vim 的安装yum -y install vim

命令格式: vim [打开一个或者多个文件,文件是可以存在的文件也可以是存在的文件]
vim如果打开一个不存在的文件,那么会在底部显示一个新文件的标识
如果这个文件已经存在,vim打开是不会显示新文件的标识的
vim打开一个不存的文件如果没有保存,这文件其实并没创建
注意:
vim没有菜单,只有命令,跟windows编辑器不一样

Vim三种工作模式详解使用 Vim 编辑文件时,存在 3 种工作模式,分别是命令模式、末行模式和编辑模式,这 3 种工作模式可随意切换
使用 Vim 编辑文件时,默认处于命令模式。
此模式下,可使用方向键(上、下、左、右键)或k、j、h、i移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作
在输入模式下,Vim 可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。
使Vim进行输入模式的方式是在命令模式状态下输入i、I、a、A、o、O等插入命令。当编辑文件完成后按 Esc 键即可返回命令模式
| 快捷键 | 功能描述 |
|---|---|
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I | 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 |
o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令 |
编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。
使 Vim 切换到编辑模式的方法是在命令模式状态下按:键,此时 Vim 窗口的左下方出现一个:符号,这是就可以输入相关指令进行操作了
指令执行后 Vim 会自动返回命令模式。如想直接返回命令模式,按 Esc 即可
对于新手来说,经常不知道自己处于什么模式。不论是自己忘了,还是不小心切换了模式,都可以按一次
Esc键返回命令模式。如果你多按几次Esc键后听到"嘀————"的声音,则代表你已经处于命令模式了

刚打开文件时Vim处于命令模式,此时文件的下方会显示文件的一些信息,包括文件的总行数和字符数,以及当前光标所在的位置等,此时可以使用插入命令进入输入模式对文件进行编辑
启动Vim,默认进入命令模式。在该模式下,此时从键盘上输入的任何字符都被当做编辑命令来解释
常用于对文档进行复制、粘贴、删除、移动光标等操作
| 命令 | |
|---|---|
gg | 回到第1行 |
G | 回到最后1行 |
r | replace,替换光标选中的字符内容 |
x | 删除光标所在位置的字符 |
u | 撤销功能,只能用于:x或者:wq之前操作 |
yy | 复制1行 |
nyy | 复制n行 |
p | 粘贴 |
dd | 删除1行 |
ndd | 删除n行,比如删除3行,3dd |
vim其实有所谓编辑模式,vim在打开一个文件之后其实vim处于一个命令模式的状态在等待用户输入正确的指令才能切换到编辑模式当中,如果你输入的是1111这的内容在vim的命令模式下看来这个不是一个正确的指令,所以vim什么都不会做,这时有些人认为当前是死机的状态,然而不是,这是一个等待命令输入的状态
在该模式下,主要用于录入文本
输入表格中的命令就可以进入编辑模式
| 命令 | |
|---|---|
i | 在光标之前插入内容 |
a | 在光标之后插入内容 |
o | 在光标所在位置的下一行新建新行插入内容 |
I | 把光标置于当前行的行首进行内容插入 |
A | 把光标置于当前行的行末进行内容插入 |
O | 在光标所在位置的上一行新建新行插入内容 |
出现以下标志代表当前处于编辑模式:

退出编辑模式按esc键
多数文件管理命令(保存、退出、定位、查找、设置行标等)都是在此模式下执行的
输入:就可以让vim进入末行模式,以下命令是末行模式的常用功能
| 命令 | 作用 |
|---|---|
:w | 保存,写入 |
:q | 退出vim |
:wq | 保存并退出(官方的标准做法) |
:x | 保存并退出(:wq的简写) |
:set nu | 设置行号 |
:set nonu | 取消行号 |
/ 关键字 | 搜索定位功能,比如要搜索a就可以写出/a |
:nohls | 取消高亮状态 |
:数字 | 定位到某一行 |
出现以下标志代表当前处于末行模式

使用两次esc键可以退出末行模式
末行模式的特殊命令
| 命令 | |
|---|---|
:q! | 强制退出 |
:w! | 强制保存 |
:wq! | 强制退出并保存 |
创作不易,感谢支持
