vim - 为评论者进行插入重新映射
问题描述
当我处于插入模式以插入评论时,我正在尝试重新映射,但很难弄清楚所有键映射到什么。我想做的是:
:inoremap leadercspace==>escleadercspacei
基本上,如果我处于插入模式,我想退出插入模式以插入注释(leader+c+space),然后返回插入模式。
正确的:inoremap
映射是什么?我现在拥有的是:
:inoremap <leader>c<space> <Esc><Leader>c<space>i
但这似乎不起作用(至少它的后半部分 - 它似乎正在执行映射命令)。注意:我要重新映射的插件是:
https://github.com/preservim/nerdcommenter
[count]<leader>c<space> |NERDCommenterToggle|
切换选定行的注释状态。如果最上面的选定行被注释,则所有选定的行都被取消注释,反之亦然。
解决方案
从 vim 文档 ( :help nore
):
禁止 {rhs} 的映射,以避免嵌套和递归映射
换句话说,该nore
部分禁止将映射应用于rhs
(右侧)。
因此,在您的情况下,<Esc><Leader>c<space>i
不会因此触发 VimCommenter 映射。
要允许递归,您可以取消nore
:
:imap <leader>c<space> <Esc><Leader>c<space>i
推荐阅读
- android - 在基于 MVVM 的应用程序中添加 Room Database 类会产生绑定问题
- ruby-on-rails - 如何在 Active Storage 中仅存储 .yml 文件
- java - 变量是从内部类中访问的,需要声明为final
- sql - Oracle Apex:根据条件在报告中创建红绿灯
- groovy - 无法从规范文件中的 GebConfig.groovy 文件中读取系统变量集
- javascript - html5 画布导航栏的对象数组
- python - Python多处理程序可能出现死锁?
- python - 移动文本时对列表进行额外迭代
- php - 连接到不同服务器上的多个数据库
- java - HikariCP:等待连接 30000 后超时