Ubuntu 18.04
我在 VSCode 中使用嵌入式终端,有一个键盘绑定Ctrl8,它非常有用且方便,我不想重新绑定它。但是,当 IDE 嵌入式终端处于焦点时,Ctrl8快捷方式会起作用,这真的很烦人。此外,对于向后删除字符来说,它似乎没用。BackspaceCtrl8
我尝试打开一个终端,然后打开编辑->优先, 然后快捷方式但我没找到Ctrl8。那么如何简单地禁用它?有配置文件吗?
答案1
Ctrl8不是通常意义上的快捷方式。许多终端仿真器通常将^?
(又名Ctrl?)发送为Ctrl8(参见这篇 U&L 帖子了解详情)。不是通常是可配置的行为,无需修改源代码。
^?
是 ASCII Del 的控制码,又称 ASCII Backspace 的控制码^H
(CtrlH请参阅这篇信息丰富的文章了解更多信息)。
因此,如果您不想Ctrl8删除角色,您可能需要更改:
终端为该Backspace键发送的控制代码。GNOME 终端通常默认为
^?
(ASCII DEL),如果我没记错的话,因此您需要将其设置为^H
。在 GNOME 终端中,编辑->个人资料偏好->兼容性:如果你的终端没有配置该选项并发送
^?
,Backspace那么接下来的两个步骤将要休息Backspace。伪 TTY 用于的控制代码
erase
检查一下现在是什么:
$ stty -a | grep erase intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
如果是
erase= ^?
,则需要进行以下更改:stty erase '^H'
shell 用于删除前一个字符的控制代码。在 bash 中,默认为两个都
^H
并且^?
if^?
是erase
控制 TTY 的字符。检查一下现在是什么:
$ bind -p | grep backward-del "\C-h": backward-delete-char "\C-?": backward-delete-char
删除绑定,并根据需要
\C-?
添加绑定:\C-h
bind -r '\C-?' bind '\C-h: backward-delete-char'
将这些添加到您的
.bashrc
以保存这些设置。
或者您可以更改您的 IDE 快捷方式。