Vim常用快捷键

Vim 常用快捷键

一、移动光标

vim 复制代码
h         左移一个字符  
l         右移一个字符  
j         下移一行  
k         上移一行  
Ctrl+y    上移一行  
Ctrl+e    下移一行  
Ctrl+u    上翻半页(up)  
Ctrl+d    下翻半页(down)  
Ctrl+f    下翻一页(forward)  
Ctrl+b    上翻一页(backward)  
w         跳到下一个词首  
W         跳到下一个词首(长跳,忽略标点)  
e         跳到词尾  
E         跳到词尾(长跳)  
b         跳到上一个词首  
B         跳到上一个词首(长跳)  
0         跳至行首(第0列)  
^         跳至本行第一个非空字符  
$         跳至行尾  
gg        跳至文件首  
G         跳至文件尾  
5gg / 5G  跳至第5行  
gd        跳至当前变量的声明处  
fx        跳至本行中下一个字符 x  
;         重复上一次 f/F 命令  
*         向下查找当前单词  
#         向上查找当前单词  

二、删除与复制

vim 复制代码
dd      删除当前行  
dw      删除一个单词  
d$ / D  删除至行末  
x       删除当前字符  
X       删除前一个字符  
yy      复制当前行  
yw      复制一个单词  
y$ / Y  复制至行末  
p       粘贴至当前行之后  
P       粘贴至当前行之前  

三、插入模式

vim 复制代码
i       在光标前插入  
I       在行首插入  
a       在光标后插入  
A       在行尾插入  
o       在当前行下插入新行  
O       在当前行上插入新行  
Esc     退出插入模式  

四、编辑

vim 复制代码
J       将下一行合并到当前行  
cc      替换整行  
cw      替换一个单词  
c$      替换至行末  
s       替换当前字符  
S       替换整行(同 cc)  
xp      交换当前字符与后一个字符  
u       撤销  
Ctrl+r  重做  
~       切换当前字符大小写  
>>      当前行右缩进  
<<      当前行左缩进  
==      自动缩进当前行  

五、查找与替换

vim 复制代码
/pattern      向下查找 pattern  
?pattern      向上查找 pattern  
/\cpattern    忽略大小写查找  
/\Cpattern    大小写敏感查找  
n             查找下一个匹配项  
N             查找上一个匹配项  
:%s/old/new/g     替换整个文件中的 old 为 new  
:%s/old/new/gc    替换整个文件中的 old 为 new(逐个确认)  

六、退出编辑器

vim 复制代码
:w       保存文件  
:wq      保存并退出  
:x       保存并退出(与 wq 相同)  
:q       退出(有更改会报错)  
:q!      强制退出,不保存  

七、多文件编辑

vim 复制代码
vim file1 file2 ...   同时打开多个文件  
:args                 查看当前打开的文件列表  
:next / :prev         切换到下一个/上一个文件  
:next! / :prev!       不保存当前文件,切换  
:wnext / :wprev       保存并切换  
:first / :last        跳至首个 / 最后一个文件  
Ctrl+^                在最近两个文件间切换  

分屏窗口

vim 复制代码
:split / :sp          水平分屏  
:split file           打开 file 水平分屏  
:vsplit / :vsp file   垂直分屏打开 file  
:new file             新窗口打开 file  
:close                关闭当前窗口  
:only                 关闭除当前外的所有窗口  
:all / :vertical all  打开所有窗口(垂直)  
:qall / :qall!        关闭所有窗口(强制)  
:wall                 保存所有窗口  
:wqall                保存并退出所有窗口  
Ctrl-w h/j/k/l        窗口间跳转(左/下/上/右)  
Ctrl-w t/b            跳转到最上/最下窗口  

八、多标签编辑

vim 复制代码
:tabedit file         新标签页打开 file  
:tab split file       新标签页中分屏打开 file  
:tabn / :tabp         切换到下一个/上一个标签页  
:tabc                 关闭当前标签页  
:tabo                 关闭除当前外的标签页  
gt / gT               跳转到下/上一个标签页  
0gt / 5gt             跳至第 1/5 个标签页  

九、执行 Shell 命令

vim 复制代码
:sh         进入 shell,输入 `exit` 或 Ctrl+D 返回 Vim  
:!command   执行 shell 命令后返回 Vim  
Ctrl+Z      暂停 Vim,进入 shell  
fg          从 shell 回到 Vim  
:!make      执行 make 命令  

十、Vim 启动项

bash 复制代码
vim -o file1 file2       水平分屏打开多个文件  
vim -O file1 file2       垂直分屏打开多个文件  

十一、自动排版

vim 复制代码
gg=G    格式化整个文件(重新缩进)  

十二、在 Vim 中编译程序

vim 复制代码
:make       运行 make 并在 Vim 中显示结果  
:copen      打开错误窗口(可点击跳转)  

十三、Buffer 操作

状态符说明:

  • a 活动缓冲区
  • % 当前缓冲区
  • # 上一个缓冲区
  • + 已更改的缓冲区
  • = 只读缓冲区
  • h 隐藏缓冲区

相关命令:

vim 复制代码
:ls        列出所有 buffer  
:bN        跳转到第 N 个 buffer(如 :b2)  
:bd        删除当前 buffer  
:bn / :bp  下一个 / 上一个 buffer  

十四、Vim 操作目录(通过 netrw)

打开目录:

vim 复制代码
vim .            打开当前目录  
vim path/        打开指定目录  

目录操作:

vim 复制代码
%     创建新文件  
d     创建目录  
D     删除文件/目录  
-     返回上级目录  
p/P   粘贴复制/剪切的文件  
x     执行文件  
t     在新 tab 打开文件  
r     重命名文件  
s     排序  
o     垂直打开文件  
mf    标记文件  
mu    取消所有标记  
mc    复制标记文件  
mm    移动标记文件  
R     移动文件(rename)  

打开当前文件所在目录:

vim 复制代码
:Explore / :Ex  
:Sexplore         水平分屏打开目录  
:Vexplore         垂直分屏打开目录  

十五、Vim 目录浏览命令(Explore 系列)

这些命令基于内建的 netrw 插件,用于以不同方式打开当前目录或文件所在目录:

vim 复制代码
:Explore       以当前窗口浏览目录(快捷方式::Ex)  
:Sexplore      水平分屏打开目录浏览器(split)  
:Vexplore      垂直分屏打开目录浏览器(vsplit)  
:Texplore      在新 tab 页打开目录浏览器  
:Hexplore      在新的水平窗口打开目录  
:Nexplore      在新的垂直窗口中打开目录(类似于 :Vexplore)  
:Pexplore      打开上一个浏览过的目录  

这些命令适用于快速在 Vim 内浏览、打开、管理文件和目录。

相关推荐
拾忆-eleven5 分钟前
《当VSCode遇见DeepSeek:AI辅助编程实战手册》
ide·vscode·编辑器
tjsoft21 分钟前
asm汇编字符串操作
linux·运维·汇编
xyd陈宇阳29 分钟前
linux入门三:Linux 编辑器
linux·运维·编辑器
红豆和绿豆1 小时前
VSCode如何安装虚拟环境
ide·vscode·编辑器
_长银1 小时前
Ubuntu-搭建nifi服务
linux·运维·ubuntu
m0_521118232 小时前
Ubuntu在桌面缺少图标
linux·ubuntu
tpoog2 小时前
[MySQL] 表的增删查改(查询是重点)
linux·数据库·mysql·算法·贪心算法
陌上花开缓缓归以2 小时前
linux RCU技术
linux
阳光九叶草LXGZXJ3 小时前
达梦数据库-学习-18-ODBC数据源配置(Linux)
linux·运维·数据库·sql·学习·oracle
小小菜鸟,可笑可笑4 小时前
Win10系统安装WSL2-Ubuntu, 并使用VScode开始工作
linux·vscode·ubuntu