14 terminal bash key-binding readline inputrc
我正在尝试做正确的事情并将我的键绑定放入~/.inputrc.
然而,事实证明我必须改变
bind '"\e\C-j":"\e[1~quiet \e[4~\n"'
Run Code Online (Sandbox Code Playgroud)
进入
"\e\C-j": "\eOHquiet \eOF\n"
Run Code Online (Sandbox Code Playgroud)
现在\eOH(nav-block-pos1 bound to beginning-of-line) 和\eOF(nav-block-end bound to end-of-line) 本身就是我配置中的绑定,我可能不能总是依赖。
所以主要的问题是为什么绑定到 num-block-pos1 ( \e[1~) 和 num-block-end ( \e[4~) 可以使用bind但在 my 中不行~/.inputrc?
编辑:
整个事情变得更加复杂,现在我意识到\e\C-j它只适用于 Gnome 终端(或者可能也适用于 xterm,谁知道...)。
对于我的 TTY,它必须是
"\e\C-m": "\e[1~_quiet \e[4~\n"
Run Code Online (Sandbox Code Playgroud)
那么是不是各种 VT 对如何解释密钥有不同的实现?
您的终端仿真器可以在两种模式之一下运行:应用程序模式和光标模式(请参阅http://homes.mpimf-heidelberg.mpg.de/%7Erohm/computing/mpimf/notes/terminal.html)。这取决于您的特定应用程序运行的模式,从而确定您需要发送的转义序列。