繁体   English   中英

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

[英]How can I fix my delete key in VIM over ssh? (Mac OS X)

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

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

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

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

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

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

这对我有用:

:set backspace=indent,eol,start

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

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

尝试的几个想法:

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

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

     stty erase ^H 

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

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

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

我通过更改Terminal.app设置来解决问题。 在终端>首选项下选择高级。 选中“删除发送Ctrl-H”。 现在,vi和vim应该更直观地理解删除键。

注意:映射我的vimrc文件中的“删除”键似乎可能是正确的方法,但这很麻烦。 有没有理由不这样做?

尝试添加

set <Del>=<C-v><Del>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM