为什么 Alt+Backspace 在 Debian 的 gnome-terminal 中绑定到删除单词?

为什么 Alt+Backspace 在 Debian 的 gnome-terminal 中绑定到删除单词?

我习惯在 Ubuntu 和 OS X 中使用ctrl+。backspace我想了解这一点,因为它可以帮助我如何设计和构建系统。尽管如此,您仍然可以在终端中使用 emacs 键绑定,例如ctrl+ 、 ... 。u然而,互联网浏览器仍然使用持久的ctrl+backspace来完成任务。我想保持基础知识的某种一致性。 Debian 与 Ubuntu 相比的其他差异

  • 在终端中移动选项卡 - 尚未找到该任务的任何键绑定;在 Ubuntu 中,我使用ctrl+ 1, ...

操作系统:Debian 8.5
窗口管理器:Gnome

答案1

这些是 shell 的键绑定(巴什),而不是终端的。看“终端”、“shell”、“tty”和“控制台”之间的确切区别是什么?尽管如此,终端仍参与将键和弦转换为转义序列。看键盘输入和文本输出如何工作?

Bash 使用 Emacs 键绑定(除非您切换到 vi 模式)。在 Emacs 中,Alt+ BackSpace( M-backspace) 删除前一个单词。Alt+ BackSpace( C-backspace) 传统上没有绑定,但现代版本也将其绑定到删除前一个单词的命令。

当发送单个字符时, Alt+的转义序列是转义字符后跟,key的字符。 +没有标准的转义序列,并且通常无法与其他键区分开。这就是为什么终端应用程序(包括经典 Emacs)往往不具有+绑定的原因。在 gnome-terminal 中,+发送与 相同的字符,因此不可能对+进行单独的绑定。keykeyCtrlBackSpaceCtrlBackSpaceCtrlBackSpaceBackSpaceCtrlBackSpace

Gnome 终端的键和转义序列转换不可配置。如果您想使用不同的翻译,请使用可配置的终端仿真器,例如 rxvt 或 xterm。

相关内容