操作
启动退出
vim: 打开某个文件
:q: 未做任何修改退出
:wq: 保存并退出
:q!: 强制退出并忽略所有更新
:e!: 放弃所有修改, 并打开原来文件
模式
Esc/Ctrl + [: 进入正常模式
i: 正常模式进入插入模式(可编辑)
v: 正常模式进入可视模式
命令历史
:, /: 可选择某个历史命令
文件
vim [file ...]: 打开单个或多个文件
:open file: 在 vim 窗口打开一个新文件
:split file: 在新窗口中打开文件
:bn: 切换到下一个文件
:bp: 切换到上一个文件
:args: 查看当前打开的文件列表, 当前文件会被 [] 括起来
:e ftp://file: 打开远程文件
插入文本
i: 在当前位置前插入
I: 在当前行首插入
a: 在当前位置后插入
A: 在当前行尾插入
o: 在当前行之后插入一行
O: 在当前行之前插入一行
删除文本
x: 删除当前字符
X: 删除当前字符的前一个字符
dl: 删除当前字符, dl = x
dh: 删除前一个字符
dd: 删除当前行
dj: 删除上一行
dk: 删除下一行
nd: 删除当前行开始的 n 行
d$: 删除当前字符之后的所有字符
复制黏贴
yy: 拷贝当前行
p: 在当前行光标后黏贴
查找文本
正则查找
/text: 查找 “text”, 按 n 键查找下一个, 按 N 键查找上一个
?text: 查找 “text”, 反向查找, 按 n 键查找下一个, 按 N 键查找前一个
:set ignorecase: 设置忽略大小写
:set noignorecase: 设置不忽略大小写
:set hlsearch: 设置搜索结果高亮
:set nohlsearch: 设置搜索结果不高亮
:set incsearch: 逐步搜索, 每键入一个字符都搜索
替换文本
正常模式
ra: 将当前字符替换为 ‘a’
:s/old/new/: 将 “old” 替换为 “new”
:s/old/new/g: 将当前行所有的 “old” 替换为 “new”
:%s/old/new/: 将所有行的第一个 “old” 替换为 “new”
:%s/old/new/g: 将整个文件的 “old” 替换为 “new”
:10,20 s/^/ /g: 在第 10 行到第 20 行每行前面添加四个空格, 用于缩进
移动光标
正常模式
[n]h: 左移 n 个字符(默认 n 为 1)
[n]l: 右移 n 个字符
[n]k: 上移 n 个字符
[n]j: 下移 n 个字符
w: 向后移动一个单词
b: 向前移动一个单词
e: 向后移动一个单词, 光标在词尾
^: 移动到本行第一个非空白字符上
0: 移动到本行第一个字符上
Ctrl + e: 向下滚动一行
Ctrl + y: 向上滚动一行
Ctrl + d: 向下滚动半屏
Ctrl + u: 向上滚动半屏
Ctrl + f: 向下滚动一屏
Ctrl + b: 向上滚动一屏
撤销
u: 撤销(Undo)
U: 撤销对整行的操作
Ctrl + r: 重做(Redo)
窗口
:split: 打开新窗口
:new: 打开新窗口
:split file: 横向窗口打开文件
:vsplit file: 纵向窗口打开文件
:close: 关闭窗口
:only: 关闭其它窗口
Ctrl + ww: 移动到下一个窗口
Ctrl + wj: 移动到下方窗口
Ctrl + wk: 移动到上方窗口
shell
:!command: 执行 command 命令
本文全面介绍了Vim编辑器的各种快捷键,包括启动、退出、模式切换、文本插入与删除、复制黏贴、查找替换、光标移动、撤销操作、窗口管理和shell命令执行等。适合初学者快速上手及高手查漏补缺。
828

被折叠的 条评论
为什么被折叠?



