VIM常用命令(入门必备)

教程笔记 wes 14 hours ago (2026-07-23) 21 views

    Vim 是一款功能强大的文本编辑器,掌握其常用操作能极大提升效率。以下是核心命令速查(注意命令区分大小写):

🔄 模式切换

按键

功能

Esc

返回 普通模式(任何模式都可按此键回到普通模式)

i

在光标前进入 插入模式(开始编辑)

I

在行首进入插入模式

a

在光标后进入插入模式

A

在行尾进入插入模式

o

在当前行下方新建一行并进入插入模式

O

在当前行上方新建一行并进入插入模式

v

进入 可视模式(字符选择)

V

进入 可视行模式(整行选择)

Ctrl+v

进入 可视块模式(列选择)

:

进入 命令行模式(底部输入命令)

🚶 光标移动(普通模式)

按键

功能

h / j / k / l

左 / 下 / 上 / 右(也可用方向键)

w

跳到下一个单词开头

b

跳到上一个单词开头

e

跳到当前单词末尾

0

跳到行首(数字零)

^

跳到行首第一个非空字符

$

跳到行尾

gg

跳到文件第一行

G

跳到文件最后一行

:n 或 nG

跳到第 n 行(如 :10 跳转到第10行)

Ctrl+f / Ctrl+b

向下 / 向上翻页

%

跳转到匹配的括号 ()[]{}

✏️ 编辑操作(普通模式)

删除 / 剪切

按键

功能

x

删除光标所在字符

X

删除光标前一个字符

dd

删除当前行(剪切)

ndd

删除从当前行起的 n 行(如 5dd 删除5行)

dw

删除从光标到单词末尾

d$

删除从光标到行尾

d0

删除从光标到行首

dgg

删除从光标到文件开头

dG

删除从光标到文件末尾

复制(yank)

按键

功能

yy

复制当前行

nyy

复制从当前行起的 n 行

yw

复制从光标到单词末尾

y$

复制从光标到行尾

y0

复制从光标到行首

粘贴

按键

功能

p

在光标后粘贴(行粘贴时在当前行下方)

P

在光标前粘贴(行粘贴时在当前行上方)

撤销与重做

按键

功能

u

撤销上一步操作

Ctrl+r

重做(撤销的撤销)

替换与修改

按键

功能

r

替换光标处字符(不进入插入模式)

R

进入替换模式(持续覆盖输入)

cc

删除当前行并进入插入模式

cw

删除从光标到单词末尾并进入插入模式

C

删除从光标到行尾并进入插入模式

s

删除光标处字符并进入插入模式

S

删除当前行并进入插入模式

🔍 搜索与替换

按键 / 命令

功能

/pattern

向下搜索 pattern

?pattern

向上搜索 pattern

n

跳转到下一个匹配

N

跳转到上一个匹配

:s/old/new

替换当前行第一个 old 为 new

:s/old/new/g

替换当前行所有 old 为 new

:%s/old/new/g

替换整个文件所有 old 为 new

:%s/old/new/gc

替换整个文件,每次询问确认

:n1,n2s/old/new/g

替换第 n1 到 n2 行之间的所有 old

💾 保存与退出

命令(命令行模式)

功能

:w

保存文件

:w filename

另存为 filename

:q

退出(未修改时)

:q!

强制退出(不保存修改)

:wq 或 😡 或 ZZ

保存并退出

:e!

放弃所有修改,重新加载文件

🧩 多文件与分屏

命令

功能

:e filename

在当前窗口打开另一个文件

:split 或 :sp

水平分屏

:vsplit 或 :vsp

垂直分屏

Ctrl+w w

在分屏之间切换

Ctrl+w h/j/k/l

切换到左/下/上/右分屏

:q / :wq

关闭当前分屏

:only

只保留当前分屏,关闭其他

🔧 其他实用技巧

  • 显示行号::set number(或 :set nu),取消::set nonumber
  • 高亮搜索::set hlsearch,取消::set nohlsearch
  • 忽略大小写搜索::set ic(ignorecase)
  • 显示当前文件名与状态:Ctrl+g
  • 重复上次命令:.(点命令,重复上次的修改操作) 3y4.net
  • 录制宏:qa 开始录制到寄存器 a,操作后按 q 结束,@a 执行宏,@@ 重复上次宏
  • 在终端输入 vimtutor 可启动官方交互教程(约30分钟),是新手最佳入门方式。
  • 常用命令不必死记,实践几次即可形成肌肉记忆。

 

其他操作

 

“全选”所有文本

vim
ggVG

操作拆解(按顺序依次按下):

  1. gg:跳转到文件的第一行。

  2. V:进入 行可视模式(Visual Line mode)。

  3. G:跳转到文件的最后一行。

此时,从第一行到最后一行会被全部高亮选中,即完成“全选”。


🔥 全选后的常用搭配

全选后光标停留在末尾,你可以接着输入以下指令进行快速操作:

 
 
操作目的 按键 说明
全选并复制 ggVGy 先全选(ggVG),再复制(y)。
全选并剪切/删除 ggVGd 或 ggVGx 删除所有行。
全选并复制到系统剪贴板 ggVG"+y 复制到系统剪切板(Windows/Linux),在 Mac 中通常用 "*y
全选并替换(所有行) ggVG + : 全选后按 :,Vim 会自动输入 '<,'> 范围,代表针对高亮选区执行命令(如 :'<,'>s/旧/新/g)。

🚀 更快捷的备选方案(无需高亮)

如果你的目的仅仅是复制整个文件内容(不关心界面是否高亮),可以使用命令模式:

vim
:%y
  • % 代表整个文件范围,y 是复制(yank)。这条命令会直接把所有内容复制到 Vim 内部寄存器,且光标位置不变,比 ggVG 更高效。

如果需要复制到系统剪贴板

vim
:%y+

⚠️ 注意区分

  • V(大写):按行选中(最常用)。

  • v(小写):按字符选中(全选需按 ggvG,容易漏选,不推荐)。