
當我透過 ssh 存取特定機器時,vim 中 Backspace 的行為會改變。我沒有刪除字符,而是有一個^? 。
問題是這台機器充當網關,當我訪問該網關後面的任何機器時(當我在域內對這些機器進行 ssh 操作時 - 不通過域 - 時,這個問題就會傳播)有這個問題)...
這不是什麼大問題,但確實很煩。
任何想法 ?
答案1
通常是 shell 中的配置與終端仿真器中的配置不符。
有些使用退格鍵 (0x08),有些使用 DEL (0x7f)。如果在終端機會話中運行
stty -a
你會看到這樣一行:
intr = ^C; quit = ^\; erase = ^?; kill = ^U; ...
該擦除就是 DEL 字元。您需要配置 SSH 來傳輸該字元或執行以下操作:
stty erase '^H'
來改變外殼。
我知道 Putty 可以更改當您按退格鍵時傳輸的字元。我認為它被埋在終端部分的某個地方(至少在 v 0.58 中),但我沒有方便的 Windows 來檢查它。
然而,這並不是真的與程式設計相關,因此您可能會發現它已轉移到 superuser.com。