urxvt 將 esc 鍵映射到鍵序列
這個問題是mutt 中重新綁定“明確提示”的一個衍生問題
我經常使用 vim 鍵綁定,並且喜歡使用
esc
來中止命令。我現在搬到了 mutt,但在 Mutt 中無法綁定esc
到“中止”(見上文)。相反,我想映射esc
到esc
+Ctrl-g
。我希望獲得esc
發送兩個密鑰序列的密鑰。這種方式esc
是 vim 和 mutt 的一種通用中止鍵。我已經映射
Ctrl-g
到 .vimrc 中的“無操作”,nmap <C-g> <nop>
因此在 Vim 中沒有衝突。最好我希望在 .Xdefaults 或 .Xresources 中設置此映射,以便奇怪
esc
的到esc
+Ctrl-g
映射僅適用於 urxvt(我的終端 em)和在其中執行的程序。通過使其在 Xinput 或 Xmodmap 中更全域地應用,我將不得不繼續關注此映射對其他(可能是非 cli)程序的作用。也就是說,歡迎任何建議:)
您可以使用該
keysym
資源。這要求 rxvt 已使用該--enable-frills
選項進行編譯。將此行放入您的~/.Xresources
:URxvt.keysym.Escape: \033\007
執行
xrdb -merge ~/.Xresources
以重新載入資源文件。該設置僅適用於執行後啟動的程序xrdb -merge
。如果需要,您可以根據傳遞給 rxvt 的參數進行不同的設置。選擇一個名稱,例如
urxvt-mutt
; 它必須以小寫字母開頭,並且應該以urxvt
不與其他應用程序使用的名稱衝突。將此行添加到~/.Xresources
:urxvt-mutt.keysym.Escape: \033\007
然後,當您執行時,
urxvt -name urxvt-mutt
您將獲得此綁定(使用 覆蓋任何綁定集URxvt.keysym.Escape
),但是當您urxvt
不帶-name
選項執行時,您只會獲得URxvt
綁定。