vim的三种工作模式
- 命令模式 (命令模式)
- 输入模式 (编辑模式)
- 编辑模式 (末行模式)
(注:命令模式、输入模式、编辑模式是一种叫法,命令模式、编辑模式、末行模式是另一种叫法)
刚进入vim编辑器时处于命令模式, 使用命令进入输入模式后, 按Esc回到命令模式
命令模式中, 输入冒号 : 进入编辑模式
进入vim编辑器
命令 | 说明 |
---|---|
! v (不能有空格) | 打开vim最近进入过的文件 |
vim filename | 打开/新建一个文件 |
命令模式 (命令模式)
- 保存退出
命令 | 说明 |
---|---|
ZZ | 保存并退出 |
- 光标定位
命令 | 说明 |
---|---|
vim filename +n | 打开文件, 并将光标定位到第n行 |
vim filename + | 打开文件, 并将光标定位到最后一行 |
gg | 定位到第一行 |
ngg | 定位到第n行 |
G | 定位到最后一行 |
^ / 0 | 定位到行首 |
$ | 定位到行尾 |
ctrl + b | 上翻一页 |
ctrl + u | 上翻半页 |
ctrl + f | 下翻一页 |
ctrl + d | 下翻半页 |
k | ⬆ |
j | ⬇ |
h | ⬅ |
l (小写的L) | ➡ |
- 内容处理
命令 | 说明 |
---|---|
x | 向右删除一个字符 |
nx | 向右删除n个字符 |
X | 向左删除一个字符 |
nX | 向左删除n个字符 |
dd | 删除光标所在行 |
ndd | 从光标所在行开始, 向下删除n行 |
yy | 复制光标所在行 |
nyy | 从光标所在行开始, 向下复制n行 |
p | 粘贴(在光标所在行下面插入) |
u | 撤销 |
ctrl + r | 反撤销 |
进入输入模式 (编辑模式)
命令 | 说明 |
---|---|
i | 在光标位置插入 |
I (大写的i) | 在当前行的第一个非空字符前插入 |
a | 在光标的下一个位置插入 |
A | 在行尾插入 |
o | 在光标所在行下面插入空行, 并进入输入模式 |
O | 在光标所在行上面插入空行, 并进入输入模式 |
s | 删除光标位置的字符, 并进入输入模式 |
S | 删除光标所在行, 并进入输入模式 |
编辑模式
命令(需按回车) | 说明 |
---|---|
:n | 将光标定位到第n行 |
:w | 保存 |
:q | 退出 |
:wq | 保存并退出 |
:x | 保存并退出 |
! | 命令后面加个感叹号, 表示强制执行命令 |
:e ! | 放弃修改, 恢复到修改之前的状态(不退出) |
:w new_filename | 另存为(不退出, 留在当前文件) |
:set number (nu) | 显示行号 |
:set nonumber (nonu) | 隐藏行号 |
:set tabstop=4 | 设置一个tab的缩进为4个字符长度 |
:set mouse=a(失效) | 启用鼠标的点击功能 |
[:] /内容 | 查找指定内容(从光标位置开始找), n下一个, N上一个 |
[:] ?内容 | 查找指定内容(从光标位置开始找), N下一个, n上一个 |
:%s /old /new /[g] | 所有行内容替换, g表示全局(默认只能替换一行中第一处) |
:m, ns /old /new /[g] | m到n行内容替换, g用法同上 |
--over--