Vim是Unix和类Unix系统中广泛使用的高级文本编辑器。它不仅继承了Vi的强大功能,还增加了许多现代特性,如语法高亮、多级撤销、插件支持等。Vim与Vi完全兼容,同时提供了更丰富的编辑功能。
Vim有三种主要模式:普通模式、插入模式和命令行模式。每种模式都有特定的功能和命令集。
当您打开一个文件时,默认进入的是普通模式。以下是常用的普通模式命令:
命令 | 作用 |
---|---|
yy | 复制当前行 |
p | 粘贴 |
数字 yy | 复制指定行数 |
数字 p | 粘贴指定行数 |
dd | 删除当前行 |
数字 dd | 删除多行 |
u | 撤销操作 |
y$ | 复制光标到行尾的内容 |
yw | 复制一个单词 |
dw | 删除一个单词 |
d$ | 删除从光标到行尾的内容 |
x | 删除光标后的字符 |
X | 删除光标前的字符 |
R | 替换模式 |
0 | 移动到行首 |
$ | 移动到行尾 |
w | 移动到下一个单词的开头 |
e | 移动到单词的结尾 |
b | 移动到上一个单词的开头 |
gg | 跳转到文件开头 |
G | 跳转到文件末尾 |
H | 跳转到屏幕顶部 |
M | 跳转到屏幕中间 |
L | 跳转到屏幕底部 |
:line_number | 跳转到指定行 |
在普通模式下按i、o或a键可以进入插入模式,进行文本编辑:
命令 | 作用 |
---|---|
i | 在当前光标之前插入文本 |
o | 在当前行下方新开一行并插入文本 |
a | 在当前光标之后插入文本 |
I | 在当前行首插入文本 |
A | 在当前行尾插入文本 |
O | 在当前行上方新开一行并插入文本 |
按【Esc】键退出插入模式,返回普通模式。
命令行模式用于执行各种辅助操作,如保存文件、退出编辑器、查找和替换文本等:
命令 | 作用 |
---|---|
:w | 保存文件 |
:q | 退出编辑器 |
:wq 或 :x | 保存并退出 |
:wq! | 强制保存并退出 |
:q! | 不保存并强制退出 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
/pattern | 搜索匹配的文本 |
n/N | 查找下一个/上一个匹配项 |
:noh | 清除搜索高亮 |
:s/old/new | 替换当前行第一个匹配项 |
:s/old/new/g | 替换当前行所有匹配项 |
:%s/old/new | 替换所有行的第一个匹配项 |
:%s/old/new/g | 替换所有行的所有匹配项 |