每次我输入+Shift时,它都会撤消对文件尚未写入的所有更改。我希望这种情况不会发生,因为很容易意外地按+ 。Spacevim
ShiftSpace
我正在使用 iTerm2,并通过 ssh 连接到远程计算机。当我在本地 (OSX) 计算机上使用 vim(在 iTerm2 中)时,不会出现此问题。当我使用默认终端而不是 iTerm2 时,即使通过 ssh 连接到同一系统,也不会发生这种情况。所以:只有 iTerm2 + 处于 ssh 会话中的组合似乎才会引起问题。
我从未修改过任何 vim 键绑定;我没有~/.vimrc
,也:verbose Map <S-Space>
没有显示任何绑定。这让我认为这是一个 iTerm2 问题 - 但我不明白为什么在本地计算机上运行 shell 时不会导致此问题。是否有任何 iTerm2 配置文件设置仅适用于 ssh?或者我应该去其他地方寻找这个问题?
答案1
明白了 - 问题是 iTerm2 设置“使用 CSI u 的报告修饰符”,如上所述这里。禁用它解决了问题。
我认为这可能是问题所在,并之前禁用了它,但似乎它只在重新启动 iTerm2(或者可能关闭会话)时生效,所以我错误地将其排除为罪魁祸首。