在 bash 命令行上使用 BackSpace 擦除字符

lui*_*doo 5 command-line bash keyboard-shortcuts terminal

我有 bash 和配置文件的配置,但我将该文件复制到其他服务器,所以现在我无法仅通过按退格键来删除文本,我需要按 Shift + Backspace 来删除文本。

我需要更改什么参数才能恢复它?

Tho*_*key 3

通常(取决于您所使用的特定系统的约定backspace),该键发送 ASCII BS ( ^H) 和 DEL ( ^?)

当您使用移位修饰符时,某些终端仿真器会在 ASCII BS ( ^H) 和 DEL ( ) 之间切换。^?有些则不然。显然您用于 ssh 的程序没有。

鉴于您的这一行.profile

stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z"
Run Code Online (Sandbox Code Playgroud)

看起来你的终端通常会发送^?(ASCII DEL),但你告诉它期待^H(ASCII BS)。但是,^H当您backspace使用该shift键进行修改时,您的终端会切换到。你本来可以用

stty erase "^?" kill "^U" intr "^C" eof "^D" susp "^Z"
Run Code Online (Sandbox Code Playgroud)

并取得了更好的结果。