我正在运行 Debian Jessie。我正在使用 Xterm,但我更喜欢在虚拟终端中也能工作的答案。在这里,“退格”是带有向后箭头的键,在典型的美国 PC 键盘布局上,是“回车”键上方的两个键(如果相关的话)。
我想要两个单独的快捷键:“control+h”将光标向左移动一个字符(一种修改后的 vim 键绑定)和“control-backspace”以删除光标之前的单词(传统上是“control- w”功能)。
我的问题是我只能在 .inputrc 中设置这些快捷方式之一,因为输入“control+backspace”会被解释为好像我按了 control-h。
如何分离这些按键的功能?我读了很多关于它的信息,但只是变得更加困惑。
答案1
与图形应用程序不同,字符单元应用程序(在终端中运行的应用程序)看不到击键,而是看到字符。 Linux设置键盘的方式,<Ctrl><Backspace>是<Ctrl><H>,即字符‹U+0008›
(普通的<Backspace>是<Del>,它是字符‹U+007F›
,通常可视化为^?
并且与<Delete>键生成的非常不同)。
它们不是不同的键。他们是一样的。如果您的 shell 是 Bash,那么您可以通过按 <Ctrl><V> 然后按该键来查看某个键发送了哪些字符。