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

Safe移动hjkl

基本光标移动 hjkl

Vim 的核心移动键:h 左、j 下、k 上、l 右。让双手不离开主键位即可完成移动。

Safe移动单词

按单词移动 w / b / e

w 跳到下一个单词开头,b 跳到上一个单词开头,e 跳到当前/下一个单词结尾。大写 W/B/E 以空白为分隔(忽略标点)。

Safe移动行首

行首 / 行尾 0 ^ $

0 跳到行首第一个字符,^ 跳到本行第一个非空白字符,$ 跳到本行最后一个字符。

Safe移动gg

文件首尾 gg / G

gg 跳到文件第一行,G 跳到文件最后一行。前面加数字可跳到指定行,如 42G 跳到第 42 行(也可用 :42)。

Safe移动查找

行内查找字符 f / F / t / T

f<char> 向后查找本行下一个指定字符并把光标移到该字符上,F 向前查找,t 移到目标字符前一位,T 反向。; 重复上次查找,, 反向重复。

Safe移动段落

段落与配对跳转 { } %

{ 跳到上一空行(段落开头),} 跳到下一空行(段落结尾)。% 在配对的括号 ()[]{} 之间来回跳转,调试代码块时极有用。

Safe移动屏幕

屏幕滚动 H M L

H 跳到屏幕顶部,M 跳到屏幕中部,L 跳到屏幕底部。便于快速定位到当前可视区域的不同位置。

Safe移动滚动

屏幕滚动 Ctrl-d/u/e/y/f/b

Ctrl-d 向下半屏、Ctrl-u 向上半屏;Ctrl-f 向下整屏、Ctrl-b 向上整屏;Ctrl-e 向下滚一行、Ctrl-y 向上滚一行。zz 把当前行滚到屏幕正中。

Safe编辑插入

进入插入模式 i / a / o

i 在光标前插入,a 在光标后追加,o 在下方新开一行并进入插入模式。对应大写 I/A/O 分别在行首/行尾/上方新行。

Safe编辑删除

删除 d / x / dd

dd 删除整行,dw 删除到下个单词开头,de 删除到单词结尾,d$ 删除到行尾,x 删除光标处单个字符。大写 D 等同于 d$。

Safe编辑修改

修改 c / cc / C

c 是「删除并进入插入模式」。cw 改一个单词,cc 改整行,c$ 改到行尾。大写 C 等同于 c$。

Safe编辑复制

复制 y / 粘贴 p

y 复制(yank),yy 复制整行,p 在光标后粘贴,P 在光标前粘贴。Vim 中「删除」的内容也会进入寄存器,可直接用 p 粘贴。

Safe编辑替换

替换 r / R

r<char> 替换光标处单个字符,R 进入连续替换模式(覆盖式输入)。比进入插入模式更快的单字符修改。

Safe编辑合并

合并行 J / 反转大小写 ~

J 把下一行合并到当前行尾(用空格连接),3J 合并 3 行。~ 反转光标处字符大小写,3~ 反转 3 个字符。

Safe编辑撤销

撤销 u / 重做 Ctrl-r

u 撤销上次修改,U 撤销对整行的所有修改,Ctrl-r 重做(redo)。这是 Vim 最基础的安全网。

Safe编辑重复

重复上次修改 .

英文句号 . 重复上一次的修改命令(删除、插入、替换等)。Vim 最强大的键之一,配合查找可批量修改。

Safe编辑缩进

缩进 >> <<

>> 向右缩进一级,<< 向左缩进一级,== 自动缩进当前行。在可视化模式下对选区用 > < = 可批量调整缩进。

Safe搜索search

搜索 / ? * #

/ 向后搜索,? 向前搜索,n 重复上一次搜索方向,N 反向。* 搜索光标下的单词(向后),# 搜索光标下的单词(向前)。

Safe搜索大小写

大小写敏感搜索

默认搜索区分大小写。在模式后加 \c 忽略大小写,加 \C 强制区分。也可用 :set ignorecase 全局设置。

Safe搜索替换

替换本行 :s

:s/old/new/ 替换本行第一个 old 为 new,加 g 替换本行所有,加 c 每次确认。

Caution搜索替换

全文件替换 :%s

:%s 表示对整个文件操作。这是 Vim 最常用的批量替换命令,相当于 sed 的全文替换。

Safe搜索替换

按范围替换

:N,Ms/old/new/g 替换第 N 到 M 行之间的内容。也可在可视化模式选中后按 : 自动填入范围 '<,'>。

Safe搜索高亮

取消高亮 :noh

搜索后匹配项会一直高亮,:nohlsearch(简写 :noh)临时取消高亮,下次搜索时恢复。

Safe可视化visual

字符可视化 v

按 v 进入字符可视化模式,移动光标选中文本。选中后可对其执行 d(删)、y(复制)、c(改)、>(缩进)等操作。

Safe可视化visual

行可视化 V

V 进入行可视化模式,整行整行地选中。适合批量缩进、注释、删除多行。

Safe可视化visual

列可视化 Ctrl-v

Ctrl-v 进入列(块)可视化模式,可选中一个矩形区域。最强大的功能之一:批量给多行加注释、批量修改某一列字符。

Safe可视化操作

可视化模式下的操作

选中后:d 删除、y 复制、c 修改、> 缩进、~ 反转大小写、U 转大写、u 转小写、: 对选区执行命令。

Safe保存退出

保存与退出

:w 保存,:q 退出,:wq 保存并退出,:q! 强制不保存退出,:x 保存(有改动时)并退出。ZZ 等同 :x,ZQ 等同 :q!。

Safe文件edit

打开文件 :e

:e 打开文件,支持 Tab 补全路径。:e! 放弃当前改动重新载入。

Safe窗口分屏

分屏 :split / :vsplit

:split 水平分屏,:vsplit 垂直分屏。Ctrl-w 加 hjkl 在窗口间切换,Ctrl-w 加 +/-/= 调整窗口大小。

Safe标签tab

标签页 :tab

Vim 的标签页每个可装多个窗口。:tabnew 新建标签页,gt/gT 切换,:tabclose 关闭。

Safe缓冲区buffer

缓冲区 :ls / :b

Vim 把打开过的文件都放在缓冲区。:ls 列出,:b N 切到第 N 个,:bn/:bp 下/上一个。

Safeshell外部命令

读写外部命令 :! :r!

:!cmd 执行 shell 命令,:r!cmd 把命令输出插入到光标下方,:.!cmd 用命令输出替换当前行。

Cautionmacro

录制与回放宏 q

q<reg> 开始录制宏到寄存器(如 qa 录制到 a),再按 q 结束。@a 回放宏,@@ 回放上次的宏,5@a 回放 5 次。批量处理重复操作的神器。

Safe寄存器register

寄存器 "x

Vim 用寄存器存放文本。"ayy 把整行复制到寄存器 a,"ap 粘贴寄存器 a。:reg 查看所有寄存器。+ 寄存器对应系统剪贴板。

Safe标记mark

标记 m

m<x> 在当前位置设置标记 x(如 ma 设标记 a),`<x> 跳回标记位置,'<x> 跳到标记所在行首。大写标记(mA)跨文件有效。

Safe跳转jumplist

跳转列表 Ctrl-o / Ctrl-i

Vim 记录跳转历史。Ctrl-o 跳回上一个位置,Ctrl-i(Tab)跳到下一个位置。跨文件跳转也记录。修改大文件时来回查看定义极有用。

Safe跳转定义

跳转到定义 gd / gD

gd 跳转到光标下变量的局部定义(同一函数内),gD 跳转到全局定义。配合 tags(ctags)可跨文件跳转。

Safe文本对象textobject

文本对象 ci" / da(

文本对象让操作「以结构为单位」。ci" 改双引号内的内容,da( 删除含括号的整块,cit 改 HTML 标签内容。i=inside,a=around。

Safeset配置

常用 :set 选项

运行时调整编辑器行为。写入 ~/.vimrc 持久生效。num/ru/ai/hls/is 等是最常配置的选项。

Safe帮助help

查看帮助 :help

:help(简写 :h)打开内置文档。可指定主题,如 :h :s 查看 :s 命令的帮助,:h i_ctrl-n 查看插入模式快捷键。

Help

使用说明

  1. 左侧选择分类(移动、编辑、搜索替换、窗口、缓冲区等)
  2. 在搜索框输入关键词查找快捷键
  3. 点击命令卡片查看用法
  4. 在 Vim 普通模式或命令行模式下输入对应按键

常见问题

  • 退出不了怎么办? 先按 Esc 回到普通模式,再输入 :q! 强制退出不保存
  • 模式怎么区分? 命令标注了适用模式:普通、插入、可视、命令行
  • Neovim 也适用吗? 绝大多数键位通用,Neovim 额外支持 Lua 配置

More Command Reference

View all

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.