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. 有没有办法在Excel中找到范围内的范围?
- 4. 有没有办法在Vim中映射Ctrl时间和Ctrl逗号?
- 5. 有没有办法使用范围
- 6. 有没有办法指定范围?
- 7. 有没有办法在Xcode 4中拥有VIM键盘绑定?
- 8. 有没有办法重置Emacs键盘映射?
- 9. 带有“:”键的vim键盘映射
- 10. 有没有办法控制范围选择器的范围?
- 11. 有没有办法在Grails中将Map映射为HTML表格?
- 12. 有没有办法在eclipse IDE中手动执行servlet映射?
- 13. VIM键映射到现有的密钥
- 14. 重置Vim中的所有关键映射
- 15. 有没有办法在Golang中迭代整个范围?
- 16. 有没有办法在ActionScript中做一个循环范围?
- 17. 有没有办法在Python中影响范围计数器?
- 18. 有没有办法在Vim的
- 19. (Vim键映射)可以在Vim中映射'<' or '>'吗?
- 20. VIM NERDTree键映射
- 21. UltraEdit中的Vim键映射
- 22. 映射和shift键在vim
- 23. 有没有办法查看所有VIM键盘绑定?
- 24. 有没有办法调试在AWS的映射模板apigateway
- 25. 有没有办法在XAML上做图像映射?
- 26. 有没有办法生成现有表格及其相互关系的映射?
- 27. 有没有办法跟踪iframe的designMode中的选择范围?
- 28. 有没有办法阻止无效的行范围在PowerBuilder
- 29. 有没有办法在日期范围内查找?
- 30. 如何在Vim中映射数字/字母范围?