如何通过ssh修复VIM中的删除键?(Mac OS X)

Aeo*_*aut 18 macos vim osx-snow-leopard backspace

当我在本地计算机(Mac OS X Snow Leopard)的终端中使用VIM时,删除键实际上是退格键(即破坏性退格键).

当我SSH到特定服务器时,由于某种原因它是常规删除(即删除光标下的字符).

如何将其更改为一致?我已经尝试了十几种解决方案,但似乎没有任何效果.

检查终端首选项 - >高级中的"删除发送Ctrl-H"框不起作用 - 这是非破坏性退格.

我在VIM中尝试了大约一百个不同的键映射,但无济于事.

有趣的是,当我在VIM中键入命令时,键正如预期的那样工作(例如: <something>) - 当我编辑实际文本时,它只是搞砸了.有任何想法吗?

Nat*_*ens 16

这对我有用:

:set backspace=indent,eol,start
Run Code Online (Sandbox Code Playgroud)

我不确定它到底做了什么,但它在这里这里被列为可能的解决方案.我在与Ubuntu一起分发的vimrc文件中找到了这一行,其中mac"delete"键(也称为"退格"键)的行为按预期工作,没有任何其他配置.

在插入模式下按下mac"delete"键(也称为"退格键")时,我遇到的行为是铃声(没有删除字符).我在mac上的ssh上使用"amazon linux"上的vim 7.3的编译版本.<ctrl-v><delete>在插入模式下按下导致^?.


小智 7

尝试的几个想法:

  • .vimrc远程服务器上的文件中,添加以下行:

    set term=linux
    
    Run Code Online (Sandbox Code Playgroud)
  • .bash_profile远程服务器上的文件(或与您选择的shell对应的任何文件)中:

    stty erase ^H
    
    Run Code Online (Sandbox Code Playgroud)

    注意:要使其正常工作,您必须键入ctrl- v,然后ctrl- h键入^H字符.

    此外,请确保在终端首选项中选中"删除发送Ctrl-H".


ZyX*_*ZyX 5

尝试添加

设置<删除>=<C-v><Del>

到目标机器上的 vimrc。<C-v><Del>您必须在登录目标计算机时在此处键入。如果这不起作用,请检查verbose imap <Del>:这应该告诉您某些插件是否已<Del>在插入模式下重新映射。


Maj*_*son 5

试试这个: http: //www.alecjacobson.com/weblog/ ?p=295

\n
\n

我通过更改 Terminal.app 设置解决了该问题。在终端 > 首选项下选择高级。检查 \xe2\x80\x9cDelete 发送 Ctrl-H\xe2\x80\x9d。现在,vi和vim应该更直观地理解delete键了。

\n

注意:在我的 vimrc 文件中映射 \xe2\x80\x9cdelete\xe2\x80\x9d 键似乎可能是执行此操作的正确方法,但是 \xe2\x80\x99s 很麻烦。有什么理由不这样做呢?

\n
\n