gee*_*guy 19 linux ssh terminal
......这让我发疯。
基本上(过去几个月一直发生这种情况),我登录了几个不同的 CentOS 服务器(一个 Linode、另一个 VPS 和一个我可以访问的共享主机),从我的计算机上运行 5.5、5.7 和 6。 Mac 运行 OS X Lion,使用终端。
基本上:
$ ssh username@example.com
[remote-host] $ nano somefile.txt
Run Code Online (Sandbox Code Playgroud)
一旦我开始编辑文件,如果我使用箭头键移动光标,或者开始删除,然后再次输入,光标会跳动一下,如果我保存文件并重新打开它,很明显光标是,其实就是无缘无故的在一条线上到处跳。
我最终得到诸如“这是一个新文本”之类的信息。当我输入(到光标疯狂的编辑器)“这是一行文本”时。
在编辑配置文件时这是一个大问题,因为我经常必须编辑一行,保存并关闭,然后重新打开以确保该行正确......然后编辑另一行......这变得很烦人.
我发现Linode Lish Shell Vim 和 Nano 渲染问题:线条没有出现/光标位置错误,但我不知道这是否有很大关系,因为那是专门指 lish。
Chr*_*age 16
[更新:从 Mac OS X Mountain Lion 10.8 开始,终端支持 Backtab 转义序列,消除了这个问题。]
当将光标向左移动一个字符时,这些服务器上的 nano 版本有时会发送一个 Backtab (ESC [ Z) 序列,但终端不支持此序列,因此 nano 认为光标在移动时已经移动了t 及其关于光标当前位置的想法与终端不同步。
由于我无法理解的原因,nano 在向左移动时会发送一个 Backtab,并且光标位于制表位右侧的一个字符。同样,IIRC,它在向右移动时发送一个制表符(Control-I)并且光标位于制表位左侧的一个字符。我不知道为什么它在制表位周围这样做,而不是总是使用相同的字符序列向左/向右移动。Mac OS X Lion 10.7 附带的 nano 版本没有这样做。
Nano 仅在 terminfo 表示cbt支持该功能时执行此操作。Terminal 的默认 terminfo 是xterm-256color,它声明了此功能并将其映射到 Backtab 序列。解决方法是将TERM环境变量设置为未声明此功能的内容。您可以在调用之前在本地计算机上执行此操作,也可以ssh在远程主机上的 shell 启动文件中执行此操作。将其设置为xterm-color会在紧要关头做,但不推荐,因为它禁用其他重要行为(例如 256 色、BCE、备用屏幕内容保留)。(更重量级的方法是在远程主机上自定义您的xterm-256color(或xterm) terminfo 文件以删除cbt。)
建议自定义远程主机(一种或另一种方式),因此自定义不适用于本地或其他远程主机,但最简单的解决方法是更改终端首选项设置以使用xterm-color而不是xterm-256color:
终端 > 首选项 > 设置 > [配置文件] > 高级 > 将终端声明为:
我建议复制现有的设置配置文件,对其进行自定义,并且仅在您连接到这些远程主机时使用它。
小智 8
我遇到了同样的问题。我发现这个线程在其他解决方案中推荐了远程服务器上的环境变量:
export TERM=xterm-color
Run Code Online (Sandbox Code Playgroud)
将此添加到 ~/.bash_profile 为我解决了这个问题。此解决方案很简单,并且具有仅影响特定主机上的特定用户的好处。
| 归档时间: |
|
| 查看次数: |
24669 次 |
| 最近记录: |