Vim 常用命令备忘
Vim 日常开发中最常用的命令速查,包括模式切换、移动、编辑、搜索、窗口管理等。
1. 模式切换
| 命令 |
说明 |
i |
在光标前插入 |
I |
在行首插入 |
a |
在光标后插入 |
A |
在行尾插入 |
o |
在下方新建一行并插入 |
O |
在上方新建一行并插入 |
v |
进入可视模式(字符选择) |
V |
进入可视模式(行选择) |
Ctrl-V |
进入可视模式(块选择) |
Esc / Ctrl-[ |
退出当前模式 |
: |
进入命令模式 |
2. 光标移动
2.1 基本移动
| 命令 |
说明 |
h / j / k / l |
左 / 下 / 上 / 右 |
w |
移动到下一个单词开头 |
W |
移动到下一个空格分隔的单词 |
b |
移动到上一个单词开头 |
B |
移动到上一个空格分隔的单词 |
e |
移动到当前单词末尾 |
E |
移动到空格分隔的单词末尾 |
2.2 行内移动
| 命令 |
说明 |
0 |
移动到行首 |
^ |
移动到行首第一个非空字符 |
$ |
移动到行尾 |
f{char} |
向后查找字符并跳转 |
F{char} |
向前查找字符并跳转 |
t{char} |
向后查找字符并停在其前 |
T{char} |
向前查找字符并停在其后 |
; |
重复上次 f/F/t/T |
, |
反向重复上次 f/F/t/T |
2.3 文件内移动
| 命令 |
说明 |
gg |
移动到文件开头 |
G |
移动到文件末尾 |
{n}G |
跳转到第 n 行 |
{ |
跳转到上一段落 |
} |
跳转到下一段落 |
% |
跳转到匹配的括号 |
Ctrl-O |
跳转到上一个位置 |
Ctrl-I |
跳转到下一个位置 |
gd |
跳转到局部定义 |
gD |
跳转到全局定义 |
3. 编辑操作
3.1 删除
| 命令 |
说明 |
x |
删除当前字符 |
X |
删除前一个字符 |
dw |
删除一个单词 |
d$ / D |
删除到行尾 |
d0 |
删除到行首 |
dd |
删除整行 |
{n}dd |
删除 n 行 |
d{motion} |
删除到 motion 指定位置 |
dG |
删除到文件末尾 |
dgg |
删除到文件开头 |
3.2 复制与粘贴
| 命令 |
说明 |
yy |
复制整行 |
{n}yy |
复制 n 行 |
yw |
复制一个单词 |
y$ |
复制到行尾 |
y{motion} |
复制到 motion 指定位置 |
p |
在光标后粘贴 |
P |
在光标前粘贴 |
"{reg}p |
粘贴指定寄存器内容 |
3.3 修改
| 命令 |
说明 |
r{char} |
替换当前字符 |
R |
进入替换模式 |
cw |
修改单词 |
c$ / C |
修改到行尾 |
cc |
修改整行 |
s |
删除字符并进入插入模式 |
S |
删除整行并进入插入模式 |
3.4 其他编辑
| 命令 |
说明 |
u |
撤销 |
Ctrl-R |
重做 |
. |
重复上次操作 |
J |
合并当前行和下一行 |
>> |
增加缩进 |
<< |
减少缩进 |
== |
自动缩进 |
gg=G |
全文自动缩进 |
gu{motion} |
转为小写 |
gU{motion} |
转为大写 |
4. 搜索与替换
4.1 搜索
| 命令 |
说明 |
/pattern |
向下搜索 |
?pattern |
向上搜索 |
n |
下一个匹配 |
N |
上一个匹配 |
* |
搜索光标下的单词(向下) |
# |
搜索光标下的单词(向上) |
:noh |
取消搜索高亮 |
4.2 替换
1
2
3
4
5
6
7
|
" 基本格式
:s/old/new/ " 替换当前行第一个
:s/old/new/g " 替换当前行所有
:s/old/new/gc " 替换当前行所有(确认)
:%s/old/new/g " 全文替换
:%s/old/new/gc " 全文替换(确认)
:n,m s/old/new/g " 第 n 到 m 行替换
|
| 标志 |
说明 |
g |
替换所有匹配 |
c |
每次替换前确认 |
i |
忽略大小写 |
I |
区分大小写 |
5. 可视模式
| 命令 |
说明 |
v |
字符选择 |
V |
行选择 |
Ctrl-V |
块选择 |
o |
移动光标到选择区域另一端 |
gv |
重新选择上次选中的区域 |
6. 文件操作
| 命令 |
说明 |
:w |
保存 |
:w file |
另存为 |
:q |
退出 |
:q! |
强制退出(不保存) |
:wq / :x / ZZ |
保存并退出 |
:e file |
打开文件 |
:e! |
放弃修改重新加载 |
:r file |
读入文件内容到当前位置 |
:saveas file |
另存为并切换到新文件 |
7. 折叠
| 命令 |
说明 |
zf{motion} |
创建折叠 |
zd |
删除折叠 |
zo |
打开折叠 |
zc |
关闭折叠 |
za |
切换折叠状态 |
zR |
打开所有折叠 |
zM |
关闭所有折叠 |
zE |
删除所有折叠 |
8. 常用配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
" ~/.vimrc 基础配置
set number " 显示行号
set relativenumber " 相对行号
set tabstop=4 " Tab 宽度
set shiftwidth=4 " 缩进宽度
set expandtab " Tab 转空格
set autoindent " 自动缩进
set cursorline " 高亮当前行
set wrap " 自动换行
set showcmd " 显示命令
set wildmenu " 命令补全菜单
set hlsearch " 搜索高亮
set incsearch " 增量搜索
set ignorecase " 搜索忽略大小写
set smartcase " 智能大小写
set termguicolors " 真彩色支持
syntax on " 语法高亮
|
参考链接