官方使用标准参见:
安装
1 | apt install vim |
前情提要
Vim编辑器是Linux运维中重要的非图形化编辑器,该编辑器几乎承担着运维中大部分的配置文件修改任务,类似于Windows中功能更加强大的记事本。修改文件时可使用该工具进行辅助编辑。
模式
Vim编辑器一共有三种模式,分别是命令模式、编辑模式和末行模式。
命令模式:对每行的文本进行复制粘贴和删除操作
进入编辑器即为命令模式,输入的命令将在左下角显示,可以控制光标所在行并对该行或多行内容进行复制粘贴和删除
编辑模式:添加修改文本文件内容
进入编辑器后按下
i键进入编辑模式(insert插入),移动光标控制内容位置,按下ESC退出编辑模式回到命令模式
末行模式:文本录入
以英文冒号
:开头,输入指定的字母来保存内容和退出编辑模式
:w写入文件不退出
:q退出编辑且不保存
:wq将写入文件保存并退出
打开文件的方式
vim <filename>
打开文件filename,并将光标放在第一行第一个字母
vim +n <filename>
打开文件filename并将光标跳转到第N行第一个字母
vim +/word <filename>
打开文件filename并高亮显示文件中的单词”word”
命令模式
| 命令 | 说明 |
|---|---|
h / j / k / l |
左 / 下 / 上 / 右 移动光标 |
w |
跳到下一个单词开头 |
b |
跳到上一个单词开头 |
e |
跳到当前或下一个单词结尾 |
0(数字零) |
移动到行首 |
^ |
移动到行首第一个非空白字符 |
$ |
移动到行尾 |
gg |
跳到文件第一行 |
G |
跳到文件最后一行 |
nG 或 :n |
跳到第 n 行(例如 5G 或 :5) |
x |
删除光标所在字符 |
dw |
删除从光标到单词结尾(含) |
dd |
删除整行 |
d$ |
删除从光标到行尾 |
d0 |
删除从光标到行首 |
yy |
复制(yank)当前行 |
yw |
复制一个单词 |
P |
在光标前粘贴 |
p |
在光标后粘贴 |
u |
撤销上一次操作 |
Ctrl + r |
重做(redo) |
i |
在光标前插入 |
a |
在光标后插入 |
I |
在行首插入 |
A |
在行尾插入 |
o |
在当前行下方插入新行并进入插入模式 |
O |
在当前行上方插入新行并进入插入模式 |
/pattern |
向下搜索 pattern |
?pattern |
向上搜索 pattern |
n |
跳转到下一个匹配项 |
N |
跳转到上一个匹配项 |
:%s/old/new/g |
全文替换所有 old 为 new(需在命令行模式输入,但由命令模式触发) |
文件操作模式
| 命令 | 说明 |
|---|---|
:w |
保存文件 |
:q |
退出(若未修改) |
:wq 或 :x |
保存并退出 |
:q! |
强制退出,不保存更改 |
额外补充
| 命令 | 说明 |
|---|---|
. |
重复上一次编辑操作 |
~ |
切换光标处字符大小写 |
>> |
当前行右缩进(增加 tab) |
<< |
当前行左缩进(减少 tab) |
:set number |
显示行号 |
:set nonumber |
取消显示行号 |
常用命令
| 参数 | 作用 |
|---|---|
$ |
移动到行尾 |
gg |
跳到文件第一行 |
G |
跳到文件最后一行 |
nG 或 :n |
跳到第 n 行(例如 5G 或 :5) |
dd |
删除整行 |
yy |
复制(yank)当前行 |
P |
在光标前粘贴 |
p |
在光标后粘贴 |
u |
撤销上一次操作 |
Ctrl + r |
重做(redo) |
n |
跳转到下一个匹配项 |
N |
跳转到上一个匹配项 |