Vim在Mac电脑通过SSH连接Linux系统时,退格键表现奇怪

10

我的Vim没有改变任何设置,但今天Backspace键的行为有点奇怪。每次我按它时,它不会删除一个字符,而是打印出 ^? 。有人知道发生了什么吗?


什么操作系统?你的 .vimrc 文件里有什么内容(能否把它放在某个地方)? - Rook
尝试移除所有插件和 .vimrc,然后再次查看退格键的行为。它是否发生了变化?如果是,那么您至少可以通过排除法找到原因。 - Dmitry Frank
@ldigas 我通过终端从 Mac 登录到 Linux。.vimrc 实际上是从我们公司的标准 vimrc 中获取的。这个 .vimrc 源没有最近的更改。@dimonomid 谢谢!我刚刚把它拿出来了。仍然没有运气。这可能告诉我,这个问题可能不是来自 Linux 终端。 - Grace Huang
好的,我直接登录到Linux系统,vim工作得很好。这意味着问题来自于Mac和Linux之间的通信。 - Grace Huang
3个回答

20

根据你提供的信息,不确定为什么会随机出现这种情况,但可以尝试将以下行添加到你的.vimrc文件中。

set backspace=start,eol,indent

我已经尝试过了,但是它不起作用。:( 不过还是谢谢您! - Grace Huang
1
你是在本地机器上使用vim还是远程连接? - Paul Simpson
通过远程连接,这重要吗? - Grace Huang
尝试在vim文档的:fixdel部分中尝试建议:http://vimdoc.sourceforge.net/htmldoc/options.html#:fixdel - Paul Simpson
我也尝试过这个。这会让退格键的功能变成删除键,而这不是我想要的。 - Grace Huang
这对我很有效。当我从Mac通过ssh连接到树莓派时,我在vim中遇到了退格键的问题。 - AGS

16

问题出在 Mac 终端和 Linux 终端之间的通信上。

前往 Mac 终端 -> 偏好设置 -> 高级选项卡,勾选 "删除发送 Ctrl-H" 选项。然后登录到 Linux,在 Vim 中按 Backspace 就可以正常工作了。


太棒了。虽然我想知道有时为什么会起作用,即使设置是这样的。 - Nawaz

0
在Mac Mavricks和Yosemite中,打开终端,然后按command+,进入偏好设置,点击配置文件选项卡,选择键盘菜单,然后添加+。
Key: very bottom, <= Delete
Modifier: ^ Control
Action: Send Text
Text: H

点击“确定”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接