知了常识站
白蓝主题五 · 清爽阅读
首页  > 软件使用

Vim编辑器快捷键大全

常用模式切换

Vim 启动后默认进入命令模式,想输入内容得先按 i 进入插入模式。这时候就跟普通编辑器一样可以打字了。想保存或执行其他操作,就得先按 Esc 回到命令模式。很多人刚用 Vim 总是狂按 i 又不知道怎么退出,其实只要记得 Esc 就能回来就行。

从命令模式按 : 进入末行模式,可以保存、搜索、替换等。比如输入 :wq 回车就是保存退出,:q! 是强制不保存退出。这些组合得记熟,不然卡在界面出不去挺尴尬的。

光标移动快捷键

在命令模式下,h、j、k、l 分别对应左、下、上、右移动光标。虽然看起来反直觉,但把手放 home 键位上就会发现这四个键刚好对应方向,不用挪手。

想快速跳转,可以用以下组合:

  • gg 到文件开头
  • G 到文件末尾
  • nG 跳到第 n 行(比如 10G 就是第 10 行)
  • 0 移动到行首
  • $ 移动到行尾
  • Ctrl + f 向下翻页
  • Ctrl + b 向上翻页

文本编辑操作

删除是 d 开头。dd 删除整行,3dd 删除三行。d$ 删除从光标到行尾的内容。想撤销就按 u,误删了马上 u 就能回来。重做是 Ctrl + r,类似撤销的反向操作。

复制粘贴用 y 和 p。yy 复制当前行,y$ 从光标复制到行尾,p 在光标后粘贴,P 在前面粘贴。比如想复制一段代码,光标放到那行按 yy 再跳到目标位置按 p 就行。

替换内容:按 r 接一个字符,可以替换光标下的那个字母。比如光标在 a 上,按 r b 就变成 b。批量替换用末行命令,比如 :%s/old/new/g 把全文的 old 换成 new。

查找与替换

在命令模式下按 / 输入要查的词,回车开始搜索。比如 /printf 查找下一个 printf。按 n 跳下一个,N 跳上一个。? 也可以搜索,只是方向相反。

替换操作常在配置文件里用。比如改 IP 地址,:%s/192.168.1.1/10.0.0.1/g 直接全替换。如果想确认每一处,加 c 参数::%s/foo/bar/gc,每处都会问你是否替换。

:w        保存文件
:q 退出
:wq 保存并退出
:q! 强制退出不保存
:w filename 另存为 filename
:%s/old/new/g 全文替换 old 为 new

窗口与分屏操作

写代码时经常要同时看两个文件。在命令模式下用 :sp 文件名 水平分屏,:vsp 垂直分屏。Ctrl + w 再按方向键可以在屏之间切换。

比如你在改 main.c,想参考一下 config.h,直接 :sp config.h 就能在上面开个新窗口。两边来回切,效率比来回打开文件高多了。

实用技巧组合

有些组合用熟了特别顺手。比如 ci",意思是修改引号内的内容。光标在引号内按这个,引号里的文字直接被清空进入插入模式。类似还有 di( 删除括号内内容,而不影响括号本身。

再比如 . 键,表示重复上一次编辑操作。如果你刚删了一行,按一下 . 就再删一行。刚插入了个分号,. 就再插一个,省得重复操作。

临时切到终端也不用退出 Vim。按 Ctrl + z 暂停 Vim 回到终端,事情办完再输入 fg 回来。或者用 :!command 直接执行命令,比如 :!ls 查看当前目录文件。