Mutt

在 mutt 中重新綁定“清除提示”

  • August 26, 2020

預設情況下,在命令提示符中輸入資訊時mutt,可以使用 清除提示符Ctrl``g,如手冊中所述

^G n/a 中止

我一直在嘗試將此函式綁定到Escape. 不幸的是,abort在可用功能中沒有列出,無論是在手冊中,還是在原始碼中。

我試過在我的.muttrc

綁定編輯器 <esc> 中止

但它會引發錯誤:

/home/jason/.mutt/muttrc 中的錯誤,第 143 行:中止:地圖中沒有這樣的功能

我曾嘗試使用不同的地圖,例如 ( generic) 並嘗試其他虛構的功能,例如clear,但無濟於事。

我將如何綁定Escape以清除提示行?

笨蛋

鍵綁定是不可能的。Ctrl-G在 mutt 中硬編碼的級別低於宏或鍵綁定處理(參見mutt_getch()mutt 的原始碼,在 mutt 中返回錯誤的所有使用者輸入的核心^G)。

macro editor \e '^G'

也不行。

您可以做的是將終端配置為^G在按下時發送Escape

使用 xterm:

xterm -xrm 'XTerm.VT100.translations: #override <KeyPress> Escape: string(0x7)'

如果你正在使用screen,你也可以這樣做

screen -X bindkey $'\e' stuff $'\a'

在呼叫 mutt 並在之後恢復它之前(不幸的是,您似乎無法在螢幕中擁有每個螢幕視窗的鍵綁定)。此外,如果您的電子郵件消息編輯器是 vi,這將是一個問題。

新馬特

20200313發布以來,有$abort_keyconfig 變數可以更改預設值Ctrl-G

引用自:https://unix.stackexchange.com/questions/47773