Vim 是高效的文本编辑器,掌握它可以大幅提升编辑效率。
模式切换
基本模式
- 普通模式 (Normal):默认模式,用于移动和命令
- 插入模式 (Insert):输入文本
- 可视模式 (Visual):选择文本
- 命令模式 (Command):执行命令
进入插入模式
i - 光标前插入
a - 光标后插入
I - 行首插入
A - 行尾插入
o - 下方新行
O - 上方新行
退出插入模式
Esc 或 Ctrl+[
移动光标
基本移动
h - 左
j - 下
k - 上
l - 右
单词移动
w - 下一个词首
b - 上一个词首
e - 当前词尾
W - 下一个词首(空格分隔)
B - 上一个词首(空格分隔)
行内移动
0 - 行首
^ - 首个非空字符
$ - 行尾
f{char} - 移动到字符
F{char} - 反向移动到字符
t{char} - 移动到字符前
; - 重复 f/t
, - 反向重复 f/t
屏幕移动
H - 屏幕顶部
M - 屏幕中间
L - 屏幕底部
Ctrl+d - 向下半屏
Ctrl+u - 向上半屏
Ctrl+f - 向下一屏
Ctrl+b - 向上一屏
文件移动
gg - 文件开头
G - 文件末尾
{n}G 或 :{n} - 第 n 行
编辑操作
删除
x - 删除字符
dd - 删除整行
dw - 删除到词尾
d$ - 删除到行尾
d0 - 删除到行首
D - 删除到行尾(同 d$)
复制粘贴
yy - 复制整行
yw - 复制到词尾
y$ - 复制到行尾
p - 在光标后粘贴
P - 在光标前粘贴
修改
r{char} - 替换单个字符
R - 进入替换模式
cw - 修改到词尾
cc - 修改整行
c$ - 修改到行尾
C - 修改到行尾(同 c$)
s - 删除字符并插入
S - 删除整行并插入
撤销重做
u - 撤销
Ctrl+r - 重做
. - 重复上次操作
可视模式
进入可视模式
v - 字符选择
V - 行选择
Ctrl+v - 块选择
选择后操作
d - 删除选中
y - 复制选中
c - 修改选中
> - 缩进
< - 反缩进
搜索替换
搜索
/{pattern} - 向下搜索
?{pattern} - 向上搜索
n - 下一个匹配
N - 上一个匹配
* - 搜索光标下的词
# - 反向搜索光标下的词
替换
:s/old/new/ - 替换当前行第一个
:s/old/new/g - 替换当前行所有
:%s/old/new/g - 替换全文所有
:%s/old/new/gc - 替换全文,逐个确认
文件操作
保存退出
:w - 保存
:q - 退出
:wq - 保存并退出
:q! - 强制退出不保存
ZZ - 保存并退出
ZQ - 强制退出不保存
多文件
:e file - 打开文件
:bn - 下一个缓冲区
:bp - 上一个缓冲区
:ls - 列出缓冲区
:sp file - 水平分屏打开
:vsp file - 垂直分屏打开
窗口操作
Ctrl+w s - 水平分屏
Ctrl+w v - 垂直分屏
Ctrl+w h/j/k/l - 切换窗口
Ctrl+w q - 关闭窗口
Ctrl+w = - 均等窗口大小
实用技巧
宏录制
q{register} - 开始录制到寄存器
q - 停止录制
@{register} - 播放宏
@@ - 重复上次宏
标记
m{a-z} - 设置标记
'{a-z} - 跳转到标记行
`{a-z} - 跳转到标记位置
折叠
zf{motion} - 创建折叠
za - 切换折叠
zo - 打开折叠
zc - 关闭折叠
zR - 打开所有折叠
zM - 关闭所有折叠
总结
Vim 的学习曲线陡峭,但掌握后效率极高。