在NeoVim/Vim中如何查看所有已占用的按键组合?
查看Vim/Neovim按键绑定占用情况的方法
检查单个按键组合是否被占用
直接带verbose参数执行对应模式的映射命令,就能看到该按键的绑定内容、所属模式,甚至定义来源(默认配置/插件/本地配置文件):
- 普通模式:执行
:verbose nmap zz - 插入模式:执行
:verbose imap <C-s>(示例为检查Ctrl+S) - 视觉模式:执行
:verbose vmap <leader>y - 命令行模式:执行
:verbose cmap <C-c>
若按键已被绑定,会输出类似内容:
n zz zz
Last set from ~/.config/nvim/init.lua line 42
若无绑定,则提示No mapping found。
列出所有已占用的按键组合
根据目标模式执行对应命令,可查看该模式下全部绑定(含Vim默认及插件添加的):
- 普通模式:
:nmap(非递归绑定)或:map(递归绑定,覆盖普通/视觉/操作符等待模式) - 插入模式:
:imap - 视觉/选择模式:
:vmap - 命令行模式:
:cmap - 插入+命令行模式:
:map!
加上verbose参数还能显示每个绑定的定义位置,比如:verbose nmap会列出普通模式所有绑定的来源信息。
额外提示
- 想了解Vim默认按键的作用,直接查对应帮助,比如
:help zz就能看到该默认命令是将当前行居中显示。 - 批量搜索特定前缀的绑定,比如所有
<leader>开头的,可执行:map <leader>,会列出相关的全部绑定。
内容的提问来源于stack exchange,提问作者longguzzz
相关产品推荐
相关产品推荐

