2
A
回答
2
你不能用一个映射来做到这一点。你能做的最好的是一个循环和一堆映射。例如,要重新映射一切正常模式小写字母:
for c in range(char2nr('a'), char2nr('z'))
execute 'nnoremap ' . nr2char(c) . ' :echo " Pressed: ' . nr2char(c) . '"<CR>'
endfor
如果你想[a-z0-9]
你需要使用两个range()
调用得到正确的键码,因为对数字和小写字母的键码也不行(见的ASCII table):
for c in range(char2nr('0'), char2nr('9')) + range(char2nr('a'), char2nr('z'))
execute 'nnoremap ' . nr2char(c) . ' :echo " Pressed: ' . nr2char(c) . '"<CR>'
endfor
1
如果要作用于插入模式分别键入的字符,你可以使用InsertCharPre
事件。例如:
autocmd InsertCharPre * call FilterChar()
function! FilterChar()
if (v:char == 'a')
let v:char = 'ouch'
echo v:char
endif
endfunction
这颠覆与ouch
替换它,在飞行中插入a
,同时呼应相同的文本(这意味着你可以做其他的东西在那里,比如调用一个函数)。
相关问题
- 1. 映射VIM关键
- 2. 有没有办法在Swift中同时映射字典键/值?
- 3. 有没有办法使用范围
- 4. 有没有办法指定范围?
- 5. 有没有办法在Vim中映射Ctrl时间和Ctrl逗号?
- 6. 有没有办法在Xcode 4中拥有VIM键盘绑定?
- 7. 带有“:”键的vim键盘映射
- 8. 有没有办法在eclipse IDE中手动执行servlet映射?
- 9. 有没有办法在Python中影响范围计数器?
- 10. VIM键映射到现有的密钥
- 11. 有没有办法在Vim的
- 12. 有没有办法查看所有VIM键盘绑定?
- 13. 有没有办法调试在AWS的映射模板apigateway
- 14. 有没有办法在日期范围内查找?
- 15. 有没有办法跟踪iframe的designMode中的选择范围?
- 16. 如何在Vim中映射数字/字母范围?
- 17. 有没有办法在Python或Java中输出关键字?
- 18. 有没有办法用where子句映射一对一?
- 19. 有没有办法使用BeanUtils.copyProperties将Set映射到List?
- 20. 有没有办法查看你的git分支的映射?
- 21. typo3 extbase:有没有办法将exec_SELECTgetRows结果映射到实体?
- 22. 有没有办法让Tomcat 7显示servlet映射?
- 23. 有没有办法将Java Servlet映射到* /?
- 24. 无法识别的Vim的键映射
- 25. 有没有办法显示类似于在Vim中显示映射的宏列表?
- 26. 有没有办法更新来自PHP关闭的调用者范围变量
- 27. 有没有办法创建一个分组的命名范围?
- 28. 有没有办法检索TextView的可见行数或范围?
- 29. 有没有办法在Windows上更改Vim中的键盘布局?
- 30. 有没有办法在不在当前范围内的lambda中使用变量?