我被困在这里:
是否可以将其中之一<enter>, <backspace>, <up>, <down>, <left>, <right>
与控件绑定在一起?
\C<foo>
显示为|foo>
帮助中的内容,并且^<up>
不受限制。
'\C<foo>
,'\C <foo>'
也不要工作(与之相同"
)。
<control>
不存在。
实际上,你可以得到^<foo>
的帮助下展现出来,但是只有当你映射^<foo>
,这不正是我想要的。;)
我被困在这里:
是否可以将其中之一<enter>, <backspace>, <up>, <down>, <left>, <right>
与控件绑定在一起?
\C<foo>
显示为|foo>
帮助中的内容,并且^<up>
不受限制。
'\C<foo>
,'\C <foo>'
也不要工作(与之相同"
)。
<control>
不存在。
实际上,你可以得到^<foo>
的帮助下展现出来,但是只有当你映射^<foo>
,这不正是我想要的。;)
Answers:
首先,您需要确定终端是否为这些组合键发送不同的转义序列。在终端中运行的应用程序将字符作为输入,而不是键。功能键被编码为控制字符或以转义字符(您可以\e
在键绑定中编写)开头的转义序列。
要查看终端中组合键发送的转义序列,请在外壳程序提示符下按Ctrl+ V,然后按组合键。例如,如果在外壳程序提示符下按Ctrl+ V Ctrl+ ,则会Left看到^[O5D
。^[
是转义字符,因此我需要绑定\eO5D
到Mutt中以使其对Ctrl+ 作出反应Left:
bind editor \eO5D backward-word
某些终端为带有不同修饰符的同一键发送相同的转义序列。如果是这种情况,您将需要弄清楚如何更改终端的行为或切换到其他终端。
\e
在宏中使用它,是否可以正常工作macro editor \e[O5D \eb
?
Ctrl+Down
get时^[[1;5B
,它也bind index \e[1;5B command
不能使用\e1;5B
,也不能使用。哦,我使用Mutt 1.5.21(Arch。;)
bind editor \e[1\;5 backward-word
对我的作品(和插入一个额外的D
,当我进入ESC [ 1 ; 5 D
),但bind editor \e[1\;5D backward-word
在结果ESC [ 1 ; 5 D
无所事事。我在源代码(MAX_SEQ
)中看到了8个字符的限制,但是没有任何东西会触发5个字符。
\e
是转义键,而不是转义字符……