概述
vi和vim都是文本编辑器,就是命令行模式下的文本编辑器,用来编辑文件,广泛用于Unix和Linux系统中。
vim是vi的升级版,一般用vim即可,vim包含了vi的全部功能。
vim编辑器的工作模式
通过vi/vim命令编辑文件,会打开一个新的窗口,此时这个窗口就是:命令模式窗口
命令模式是vi编辑器的入口和出口:
- 进入vi编辑器会进入命令模式;
- 在命令模式下,输入键盘指令,可以进入到输入模式,比如输入i或a或o;
- 通过按Esc键从输入模式,退回到命令模式;
- 在命令模式下,输入
:
进入底线命令模式;
Example
1. 用vim编辑器编辑test.txt文件
vim test.txt
2. 输入步骤1命令进入vim的命令模式
3. 在键盘上按i
,进入到输入模式
4. 进入命令模式后,按需求修改文件,比如这里将最后一个hello,改为hi;
5. 修改完成后,按Esc
键从输入模式退回到命令模式
6. 在输入:
,进入到底线命令模式
7. 在底线命令模式中输入wq命令,wq命令的意思为保存并退出,按回车即可保存文件,并退出vim编辑器
8. 退出后,查看刚修改的文件
vim键盘图
vim各个模式的命令介绍
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。
以下是普通模式常用的几个命令:
i -- 切换到输入模式,在光标当前位置开始输入文本。
x -- 删除当前光标所在处的字符。
: -- 切换到底线命令模式,以在最底一行输入命令。
a -- 进入插入模式,在光标下一个位置开始输入文本。
o:在当前行的下方插入一个新行,并进入插入模式。
O -- 在当前行的上方插入一个新行,并进入插入模式。
dd -- 剪切当前行。
yy -- 复制当前行。
p(小写) -- 粘贴剪贴板内容到光标下方。
P(大写)-- 粘贴剪贴板内容到光标上方。
u -- 撤销上一次操作。
Ctrl + r -- 重做上一次撤销的操作。
:w -- 保存文件。
:q -- 退出 Vim 编辑器。
:q! -- 强制退出Vim 编辑器,不保存修改。
输入模式
在命令模式下按下 i
就进入了输入模式,使用 Esc
键可以返回到普通模式
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下 :(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
:w:保存文件。
:q:退出 Vim 编辑器。
:wq:保存文件并退出 Vim 编辑器。
:q!:强制退出Vim编辑器,不保存修改。
按 Esc
键可随时退出底线命令模式。