第一讲
移动光标
-
k:向上移动
-
j:向下移动
-
h:向左移动
-
l:向右移动
VIM的进入和退出
-
:q!<回车>
:放弃所有改动并退出 -
vimtutor<回车>
:启动vim教程
文本编辑之删除
-
x:删除光标所在位置的单个字符(正常模式)
文本编辑之插入
-
i:在光标前插入文本
文本编辑之添加
-
A:在行尾添加文本
编辑文件
-
:X<回车>
或:wq<回车>
:保存文件并退出
第二讲
删除类命令
-
dw:删除单词并与下一个单词无缝衔接
-
d$:删除光标后至行尾的内容
-
de:仅删除当前单词,不处理衔接
使用计数指定动作
-
2w:向后移动两个单词(光标位于单词头部)
-
2e:向后移动两个单词(光标位于单词尾部)
-
0:光标移动到行首
使用计数以删除更多
-
d2w:删除两个单词(光标位于头部可无缝衔接)
-
d2e:删除两个单词(光标位于尾部可无缝衔接)
操作整行
-
d- 或 dd:删除当前整行
撤消类命令
-
u:撤销最近一次操作
-
U:恢复当前行的原始状态
-
CTRL-R:撤销之前的撤销操作
第三讲
置入类命令
-
p:将最后一次删除的内容粘贴到光标后
替换类命令
-
r:替换单个字符(需输入新字符)
更改类命令
-
ce 或 cw:删除单词并进入插入模式
-
c$:删除光标后至行尾并进入插入模式
第四讲
定位及文件状态
-
CTRL-G:显示当前行号和文件状态
-
G:跳转到文件最后一行
-
gg:跳转到文件第一行
-
行号+G:跳转到指定行
搜索类命令
-
/字符串<回车>:正向搜索
-
n:继续正向搜索
-
N:反向搜索
-
?字符串<回车>:反向搜索
-
CTRL-O:返回上一个位置
-
CTRL-I:跳转到下一个位置
配对括号查找
-
%:在配对的括号间跳转
替换命令
-
:s/old/new
:替换当前行第一个匹配项 -
:s/old/new/g
:替换当前行所有匹配项 -
:#,#s/old/new/g
:替换指定行范围内的匹配项 -
:%s/old/new/g
:替换整个文件的匹配项 -
:%s/old/new/gc
:替换时逐个确认
第五讲
执行外部命令
-
:!命令
:执行外部Shell命令
保存文件
-
:w TEST
:保存为TEST文件 -
:!rm TEST
(Unix)或:!del TEST
(Windows):删除TEST文件
选择性保存
-
v模式选择文本 →
:w TEST
:将选中内容保存到TEST文件
提取和合并文件
-
:r TEST
:将TEST文件内容插入光标位置 -
:r !ls
:插入外部命令的输出结果
第六讲
打开类命令
-
o:在下方插入新行
-
O:在上方插入新行
附加类命令
-
a:在光标后插入
-
A:在行尾插入
置换类命令
-
R:连续替换多个字符(按ESC退出)
复制粘贴文本
-
v模式选择文本 → y 复制 → p 粘贴
-
yw:复制一个单词
设置选项
-
:set ic
:忽略大小写 -
:set hls is
:高亮匹配项并增量搜索 -
:nohlsearch
:取消高亮显示
第七讲
获取帮助
-
:help
:打开帮助系统 -
:help 命令
:查看特定命令帮助(如:help w
)
创建启动脚本
-
Unix:
:edit ~/.vimrc
-
Windows:
:edit $VIM/_vimrc
-
示例配置:
:r $VIMRUNTIME/vimrc_example.vim
→:write
补全功能
-
CTRL-D:显示补全列表
-
TAB:自动补全命令或文件名
更多内容详看官方文档vimtuter