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中映射數字/字母範圍?