为什么 `bind` 和 `.inputrc` 的行为不同?

为什么 `bind` 和 `.inputrc` 的行为不同?

我正在尝试做正确的事情并将我的按键绑定放入~/.inputrc

但事实证明我必须改变

bind '"\e\C-j":"\e[1~quiet \e[4~\n"'

进入

"\e\C-j": "\eOHquiet \eOF\n"

现在\eOH(nav-block-pos1 绑定到beginning-of-line)和\eOF(nav-block-end 绑定到end-of-line)本身就是我配置中的绑定,我可能无法总是依赖它们。

所以主要的问题是为什么绑定到num-block-pos1(\e[1~)和num-block-end(\e[4~)可以工作bind,但在我的却不行~/.inputrc


编辑:

整个事情变得更加复杂,现在我意识到它只\e\C-j适用于 Gnome Terminial(或者可能也适用于 xterm,谁知道呢……)。

对于我的 TTY 来说,必须是

"\e\C-m": "\e[1~_quiet \e[4~\n"

那么,是不是不同的 VT 对于如何解释按键的实现有所不同呢?

答案1

终端仿真器可以以两种模式运行:应用程序模式和光标模式(请参阅http://homes.mpimf-heidelberg.mpg.de/%7Erohm/computing/mpimf/notes/terminal.html)。这取决于您的特定应用程序以何种模式运行,从而确定您需要发送哪种转义序列。

相关内容