vim更改:x函數刪除緩沖區而不是保存和退出我想:x在vim gui-mode中設置,delete buffer因為我總是殺死整個gvim,這有點煩人。我知道我可以專門設置gui問題,if has("gui running")但不知道如何重新映射:x提前致謝ps。:也許標簽/術語remap是錯誤的,但我不知道正確的術語,這就是谷歌沒有提供任何幫助的原因。
2 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
我發現最安全的替代方法是使用表達式縮寫:
cnoreabbrev <expr> x getcmdtype() == ":" && getcmdline() == 'x' ? 'bd' : 'x'
這將確??s寫只會擴大到bd
時候:x
使用,否則只是擴大到x
。
如需更多幫助:
:h map-<expr>:h getcmdtype():h getcmdline()
經過進一步檢查,似乎有一個插件正是由Hari Krishna Dara執行的,名為cmdalias.vim。它使用了上述技術的變體。

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
這并不像看起來那么容易。:map
將無法使用命令,:command
只接受以大寫字母開頭的命令。但你可以使用:cabbrev
:
if has("gui_running") cabbrev x bdendif
更新::cmap
可實際使用::cmap x bd
,但它不工作的權利:每次出現x
在命令立即被替換bd
。
添加回答
舉報
0/150
提交
取消