vim – 将键映射到自身和另一个键,而不覆盖键的先前映射
发布时间:2020-12-15 21:02:14 所属栏目:安全 来源:网络整理
导读:我正在编写插件,我需要检测用户何时使用n键来获取下一个搜索结果. nmap n n:echo "detected!"CR 不幸的是,这会覆盖用户为n定义的所有映射,例如在跳转到下一个搜索结果后以光标为中心. nmap n nzz 有没有办法将n映射到用户映射到n和我的echo命令的任何内容?
我正在编写插件,我需要检测用户何时使用n键来获取下一个搜索结果.
nmap n n:echo "detected!"<CR> 不幸的是,这会覆盖用户为n定义的所有映射,例如在跳转到下一个搜索结果后以光标为中心. nmap n nzz 有没有办法将n映射到用户映射到n和我的echo命令的任何内容?在此示例中,结果应等于: nmap n nzz:echo "detected"<CR> 解决方法
正如melpomene所写,你可以利用maparg()函数,例如:
function! AppendMap(name,mode,rhs) let l:oldrhs = maparg(a:name,a:mode) exe printf('%smap %s %s',a:mode,a:name,l:oldrhs.a:rhs) endf call AppendMap('n','n',':echo "detected"<CR>') " If key 'n' was mapped to 'nzz',then it is now mapped to 'nzz:echo "detected"<CR>' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 通过使用shell脚本替换文件名中的特定模式来重命名多个文件
- angularjs – 角度ui-bootstrap popover模板内容和关闭按钮
- regex – Bash,grep在具有指定字符串的两行之间
- 在AngularJS中放置默认焦点的元素最简单的方法是什么?
- angular2 – @ViewChild和@ContentChild有什么区别?
- angularjs-directive – AngularJS – 在指令中使用局部变量
- 使用BASH或awk或sed或其他方式删除文件的前两行
- Bootstrap Paginator分页插件+ajax 实现动态无刷新分页
- 借助WebService C#实现多线程上传文件
- WebService基于SoapHeader实现安全认证[webservice][.net][