如何设置Vim忽略未匹配自定义快捷键 避免误输入时进入插入模式
Vim 未匹配自定义快捷键时忽略操作的配置方案
- 核心原理:Vim 默认会等待
timeoutlen指定的时长,判断你是否要输入完整的多键快捷键,超时后会将已输入的按键按原生逻辑执行,通过将可能误触的短前缀映射为空操作<Nop>即可解决这个问题。 - 针对你的配置,添加如下内容即可解决
,im误触的问题:
" 映射不完整快捷键前缀为空操作,触发后无任何行为 nnoremap <leader>i <Nop> nnoremap <leader>im <Nop> " 原递归映射建议替换为非递归映射,避免和其他插件映射产生冲突 nnoremap <leader>imp :YcmCompleter GoToImplementation<CR>
- 可选优化:调整按键超时时长,减少等待卡顿感,可根据自己的输入速度调整数值:
" 多键快捷键的输入等待时长,单位为毫秒 set timeoutlen=300 " 终端特殊按键序列的等待时长,默认值即可适配绝大多数场景 set ttimeoutlen=50
- 后续如果新增其他多键自定义映射,同步把对应的短前缀映射为
<Nop>即可,比如新增,fmt映射时,同步添加<leader>f <Nop>、<leader>fm <Nop>的配置即可。
内容的提问来源于stack exchange,提问作者gen
相关产品推荐
相关产品推荐

