6
A
回答
9
存在使用此cnoreabbrev
/cnoremap
的稍微標準方式:
cnoremap <expr> X (getcmdtype() is# ':' && empty(getcmdline())) ? 'x' : 'X'
或
cnoreabbrev <expr> X (getcmdtype() is# ':' && getcmdline() is# 'X') ? 'x' : 'X'
:與
x
檢查它是否在命令行唯一的字符替換
X
之前
。不同的是,首先會阻止你打字:Xfoo
(將翻譯成:xfoo
),第二不會,但將防止打字:X!
(將翻譯成:x!
這確實有道理不像:X!
)。
搜索(/X
很好),input()
提示等沒有區別,如果輸入X
不是第一個也沒有區別。
1
您可以使用:cmap
映射X爲X,但也有副作用,比如不能夠使用的字母X的任何地方
:cmap X x
對於略少侵入版本
:cmap X^M x^M
當你在之後立即回車時,它只會將X映射到x。
5
使用:cnoreabbrev
具有相同的功能覆蓋:X
爲:x
:
cnoreabbrev X x
:cnoreabbrev
最好:cabbrev
因爲:x
可能已經被重新映射到別的東西。
請注意,使用cabbrev
通常會影響命令行中的所有單字母單詞X
,例如, :X X
將轉換爲:x x
,可能不是意圖。請參閱@ ZyX的解決方案。
1
cmdalias.vim - Create aliases for Vim commands插件提供了ZyX答案的更強大的實現。如果你不介意安裝一個插件,你會得到一個舒適的和可擴展的方式來定義的縮寫:
:Alias X x
相關問題
- 1. VIM:加密密鑰
- 2. 在Python中解密VIM加密文件
- 3. 在VIM中禁用警告?
- 4. 在vim中禁用autoindent
- 5. 在Vim中禁用':'字符
- 6. 在Windows Identity Foundation中禁用加密
- 7. VIM禁用自動解壓
- 8. VIM NERDTree禁用緩存
- 9. DES與urlENcode加密(加密)
- 10. 在VIM中禁用特殊字符
- 11. 在vim中禁用狀態行Synthetic
- 12. 禁用返回後,我在vim
- 13. WCF客戶端禁用加密
- 14. SSL證書加密與密碼加密
- 15. Vim加密:如何破解它?
- 16. 在Mac Terminal.app的GNU屏幕中使用VIM加密文本
- 17. SET與加密CSV在密碼組合
- 18. 加密與.NETMF
- 19. 加密使用phpseclib與CryptoJS
- 20. 使用Blowfish與PHP加密
- 21. 使用blowfish加密與Android?
- 22. MD5加密與密鑰
- 23. 問題與加密密碼
- 24. 加密與散列密碼
- 25. 加密RDP密碼與Java
- 26. 加密和解密與diarrits
- 27. 如何用ruby腳本打開用Vim加密的文件(我知道「密碼」)
- 28. 如何使用Python解密使用Vim的cryptmethod = blowfish2加密的文件?
- 29. Vim neocomplcache:禁用使用提示
- 30. SHA1 PHP加密與SHA1 Python加密
我怎麼做,第二個不能阻止我打字'!X'? – BPm
@BPm你爲什麼要問?運行':X!'拋出「E477:不!允許「,重新定義':X'也是不可能的。如果你要求重映射其他的東西,那麼'X'使用附加的'getchar(1)不是char2nr('!')'條件。 – ZyX
我問,因爲我傾向於錯誤鍵入':W',但另一個插件有一個':W!'命令。我會嘗試附加條件。謝謝! – BPm