当我通过 ssh 访问一台特定的机器时,vim 中 Backspace 的行为会发生变化。而不是删除字符,我有一个 ^? .
问题是这台机器充当网关,当我访问这个网关后面的任何机器时,这个问题就会传播(当我在域内 ssh-ing 任何这些机器时 - 不通过域 -,我不有这个问题)...
这没什么大不了的,但真的很烦人。
任何的想法 ?
小智 9
通常是 shell 中配置的内容与终端模拟器中配置的内容不匹配。
有些使用退格键 (0x08),有些使用 DEL (0x7f)。如果在终端会话中运行
stty -a
Run Code Online (Sandbox Code Playgroud)
你会看到一行:
intr = ^C; quit = ^\; erase = ^?; kill = ^U; ...
Run Code Online (Sandbox Code Playgroud)
该擦除是 DEL 字符。您需要配置 SSH 以传输该字符或执行以下操作:
stty erase '^H'
Run Code Online (Sandbox Code Playgroud)
换壳。
我知道 Putty 可以在您按下退格键时更改传输的字符。我认为它隐藏在终端部分的某个地方(至少在 v 0.58 中),但我没有方便的 Windows 来检查它。
但是,它并不是真正与编程相关的,因此您可能会发现它已转移到 superuser.com。
归档时间: |
|
查看次数: |
2445 次 |
最近记录: |