Vim Commands
Vim cheatsheet: move, edit, search, replace, windows
Vim Commands is a free online Command Reference tool. Vim cheatsheet: move, edit, search, replace, windows Related terms: vim · vi · 编辑器 · 快捷键 · 移动 · 搜索. Use it on this page without signing in.
41 scripts in total
基本光标移动 hjkl
Vim 的核心移动键:h 左、j 下、k 上、l 右。让双手不离开主键位即可完成移动。
按单词移动 w / b / e
w 跳到下一个单词开头,b 跳到上一个单词开头,e 跳到当前/下一个单词结尾。大写 W/B/E 以空白为分隔(忽略标点)。
行首 / 行尾 0 ^ $
0 跳到行首第一个字符,^ 跳到本行第一个非空白字符,$ 跳到本行最后一个字符。
文件首尾 gg / G
gg 跳到文件第一行,G 跳到文件最后一行。前面加数字可跳到指定行,如 42G 跳到第 42 行(也可用 :42)。
行内查找字符 f / F / t / T
f<char> 向后查找本行下一个指定字符并把光标移到该字符上,F 向前查找,t 移到目标字符前一位,T 反向。; 重复上次查找,, 反向重复。
段落与配对跳转 { } %
{ 跳到上一空行(段落开头),} 跳到下一空行(段落结尾)。% 在配对的括号 ()[]{} 之间来回跳转,调试代码块时极有用。
屏幕滚动 H M L
H 跳到屏幕顶部,M 跳到屏幕中部,L 跳到屏幕底部。便于快速定位到当前可视区域的不同位置。
屏幕滚动 Ctrl-d/u/e/y/f/b
Ctrl-d 向下半屏、Ctrl-u 向上半屏;Ctrl-f 向下整屏、Ctrl-b 向上整屏;Ctrl-e 向下滚一行、Ctrl-y 向上滚一行。zz 把当前行滚到屏幕正中。
进入插入模式 i / a / o
i 在光标前插入,a 在光标后追加,o 在下方新开一行并进入插入模式。对应大写 I/A/O 分别在行首/行尾/上方新行。
删除 d / x / dd
dd 删除整行,dw 删除到下个单词开头,de 删除到单词结尾,d$ 删除到行尾,x 删除光标处单个字符。大写 D 等同于 d$。
修改 c / cc / C
c 是「删除并进入插入模式」。cw 改一个单词,cc 改整行,c$ 改到行尾。大写 C 等同于 c$。
复制 y / 粘贴 p
y 复制(yank),yy 复制整行,p 在光标后粘贴,P 在光标前粘贴。Vim 中「删除」的内容也会进入寄存器,可直接用 p 粘贴。
替换 r / R
r<char> 替换光标处单个字符,R 进入连续替换模式(覆盖式输入)。比进入插入模式更快的单字符修改。
合并行 J / 反转大小写 ~
J 把下一行合并到当前行尾(用空格连接),3J 合并 3 行。~ 反转光标处字符大小写,3~ 反转 3 个字符。
撤销 u / 重做 Ctrl-r
u 撤销上次修改,U 撤销对整行的所有修改,Ctrl-r 重做(redo)。这是 Vim 最基础的安全网。
重复上次修改 .
英文句号 . 重复上一次的修改命令(删除、插入、替换等)。Vim 最强大的键之一,配合查找可批量修改。
缩进 >> <<
>> 向右缩进一级,<< 向左缩进一级,== 自动缩进当前行。在可视化模式下对选区用 > < = 可批量调整缩进。
搜索 / ? * #
/ 向后搜索,? 向前搜索,n 重复上一次搜索方向,N 反向。* 搜索光标下的单词(向后),# 搜索光标下的单词(向前)。
大小写敏感搜索
默认搜索区分大小写。在模式后加 \c 忽略大小写,加 \C 强制区分。也可用 :set ignorecase 全局设置。
替换本行 :s
:s/old/new/ 替换本行第一个 old 为 new,加 g 替换本行所有,加 c 每次确认。
全文件替换 :%s
:%s 表示对整个文件操作。这是 Vim 最常用的批量替换命令,相当于 sed 的全文替换。
按范围替换
:N,Ms/old/new/g 替换第 N 到 M 行之间的内容。也可在可视化模式选中后按 : 自动填入范围 '<,'>。
取消高亮 :noh
搜索后匹配项会一直高亮,:nohlsearch(简写 :noh)临时取消高亮,下次搜索时恢复。
字符可视化 v
按 v 进入字符可视化模式,移动光标选中文本。选中后可对其执行 d(删)、y(复制)、c(改)、>(缩进)等操作。
行可视化 V
V 进入行可视化模式,整行整行地选中。适合批量缩进、注释、删除多行。
列可视化 Ctrl-v
Ctrl-v 进入列(块)可视化模式,可选中一个矩形区域。最强大的功能之一:批量给多行加注释、批量修改某一列字符。
可视化模式下的操作
选中后:d 删除、y 复制、c 修改、> 缩进、~ 反转大小写、U 转大写、u 转小写、: 对选区执行命令。
保存与退出
:w 保存,:q 退出,:wq 保存并退出,:q! 强制不保存退出,:x 保存(有改动时)并退出。ZZ 等同 :x,ZQ 等同 :q!。
打开文件 :e
:e 打开文件,支持 Tab 补全路径。:e! 放弃当前改动重新载入。
分屏 :split / :vsplit
:split 水平分屏,:vsplit 垂直分屏。Ctrl-w 加 hjkl 在窗口间切换,Ctrl-w 加 +/-/= 调整窗口大小。
标签页 :tab
Vim 的标签页每个可装多个窗口。:tabnew 新建标签页,gt/gT 切换,:tabclose 关闭。
缓冲区 :ls / :b
Vim 把打开过的文件都放在缓冲区。:ls 列出,:b N 切到第 N 个,:bn/:bp 下/上一个。
读写外部命令 :! :r!
:!cmd 执行 shell 命令,:r!cmd 把命令输出插入到光标下方,:.!cmd 用命令输出替换当前行。
录制与回放宏 q
q<reg> 开始录制宏到寄存器(如 qa 录制到 a),再按 q 结束。@a 回放宏,@@ 回放上次的宏,5@a 回放 5 次。批量处理重复操作的神器。
寄存器 "x
Vim 用寄存器存放文本。"ayy 把整行复制到寄存器 a,"ap 粘贴寄存器 a。:reg 查看所有寄存器。+ 寄存器对应系统剪贴板。
标记 m
m<x> 在当前位置设置标记 x(如 ma 设标记 a),`<x> 跳回标记位置,'<x> 跳到标记所在行首。大写标记(mA)跨文件有效。
跳转列表 Ctrl-o / Ctrl-i
Vim 记录跳转历史。Ctrl-o 跳回上一个位置,Ctrl-i(Tab)跳到下一个位置。跨文件跳转也记录。修改大文件时来回查看定义极有用。
跳转到定义 gd / gD
gd 跳转到光标下变量的局部定义(同一函数内),gD 跳转到全局定义。配合 tags(ctags)可跨文件跳转。
文本对象 ci" / da(
文本对象让操作「以结构为单位」。ci" 改双引号内的内容,da( 删除含括号的整块,cit 改 HTML 标签内容。i=inside,a=around。
常用 :set 选项
运行时调整编辑器行为。写入 ~/.vimrc 持久生效。num/ru/ai/hls/is 等是最常配置的选项。
查看帮助 :help
:help(简写 :h)打开内置文档。可指定主题,如 :h :s 查看 :s 命令的帮助,:h i_ctrl-n 查看插入模式快捷键。
使用说明
- 左侧选择分类(移动、编辑、搜索替换、窗口、缓冲区等)
- 在搜索框输入关键词查找快捷键
- 点击命令卡片查看用法
- 在 Vim 普通模式或命令行模式下输入对应按键
常见问题
- 退出不了怎么办? 先按 Esc 回到普通模式,再输入 :q! 强制退出不保存
- 模式怎么区分? 命令标注了适用模式:普通、插入、可视、命令行
- Neovim 也适用吗? 绝大多数键位通用,Neovim 额外支持 Lua 配置
More Command Reference
View allDocker Commands
Docker cheatsheet: containers, images, network, volumes
Git Commands
Git cheatsheet: branch, merge, stash, revert
Linux Commands
Linux ops commands: process, disk, memory, network
Database Commands
MySQL / PostgreSQL / Redis / MongoDB cheatsheet
Curl / HTTP
Curl commands: GET / POST / auth / upload / debug
Kubernetes Commands
kubectl cheatsheet: pods, deployments, services, debugging
Code Snippets
Common code snippets: Python / JS / Go utilities
Nginx Config
Nginx configs: reverse proxy, load balancing, HTTPS, cache
FAQ about Vim Commands
What can Vim Commands do?
Vim Commands is a Command Reference tool. Vim cheatsheet: move, edit, search, replace, windows You can finish the job on this page.
Who should use Vim Commands?
Anyone handling vim · vi · 编辑器 · 快捷键 · 移动 · 搜索 who does not want to install desktop software can use Vim Commands in the browser.
Is Vim Commands safe? Is my data uploaded?
This tool runs in your browser. We do not collect the content you enter into Vim Commands just because you used it.
What similar tools exist?
Related tools in the same Command Reference group are listed at the bottom of this page.