默认情况下,在 中的命令提示符下输入信息时mutt
,可以使用 清除提示Ctrlg,如手册中所述:
^G 不适用 中止
我一直在尝试将此函数绑定到Escape. 不幸的是,abort
在可用的功能中没有列出,无论是在手册中,还是在源码中。
我试过在我的.muttrc
:
绑定编辑器 <esc> 中止
但它抛出一个错误:
/home/jason/.mutt/muttrc 中的错误,第 143 行:中止:地图中没有这样的功能
我尝试使用不同的地图,例如 ( generic
) 并尝试使用其他虚构函数,例如clear
,但无济于事。
我将如何绑定Escape以清除提示行?
键绑定是不可能的。Ctrl-G在 mutt 中硬编码的级别低于宏或键绑定处理(参见mutt_getch()
mutt 的源代码,在 mutt 中返回错误的所有用户输入的核心^G
)。
macro editor \e '^G'
Run Code Online (Sandbox Code Playgroud)
也行不通。
您可以做的是配置您的终端以^G
在按下时发送Escape
使用 xterm:
xterm -xrm 'XTerm.VT100.translations: #override <KeyPress> Escape: string(0x7)'
Run Code Online (Sandbox Code Playgroud)
如果你正在使用screen
,你也可以这样做
screen -X bindkey $'\e' stuff $'\a'
Run Code Online (Sandbox Code Playgroud)
在调用 mutt 并在之后恢复它之前(不幸的是,您似乎无法在屏幕中拥有每个屏幕窗口的键绑定)。此外,如果您的电子邮件编辑器是 vi,这将是一个问题。
自发布20200313以来,有$abort_key
配置变量可以更改默认Ctrl-G.