8

在 OS X 10.5 上使用 Terminal.app,当您使用 Bash 进行反向搜索时,您经常会看到命令出现乱码。是否有某种 termcap 或 bash shopt 命令可以解决此问题?这很烦人。

重现步骤:打开 Terminal.app,反向搜索到较长的命令。找到命令后按 <ctrl>-E。光标移动到行尾,但显示不更新。

我猜这是 OS X 上的 readline 库的某种问题。在搜索后更新光标位置比其他任何问题都大。基本上, ctrl-a 和 ctrl-e 往往会破坏搜索输出。

os x 终端故障图片 http://involution.com/images/osxterminal.png

在上面,应该显示命令的第一部分,并且光标应该在行尾,但不是。发生这种情况时,您实际上看不到您正在编辑的内容。

4

7 回答 7

11

我能够将我的 TERM 设置为 xterm 而不是 xterm-color 并且它解决了问题。(出口期限=xterm)。

于 2009-01-21T05:24:25.750 回答
4

你可能想看看这篇文章。

bash-prompt-in-os-x-terminal-broken

我有同样的问题,它与 PS1 变量有关。让我知道这是否有帮助。

于 2008-10-01T11:56:50.060 回答
3

如果提示有颜色,那么这是一个公认的错误。
请参阅错误报告msg#00019

于 2009-09-06T14:45:57.090 回答
1

我无法重现这一点,点击Ctrl+ ECtrl+A或箭头键可以正确更新命令行。你运行的是 10.5.4 吗?这可能是早期版本中的错误吗?

于 2008-08-30T01:55:56.563 回答
1

我遇到了这个错误,虽然我不知道如何解决它,但您可以通过按<down><up>

于 2008-08-30T02:06:12.220 回答
1

不确定这是否是这里的问题,但 bash 中屏幕混乱的一个非常常见的原因(使用任何终端仿真器,而不仅仅是 Terminal.app)是调整窗口大小。

Bash 在启动时会读取窗口大小,然后假定它没有改变。调整窗口大小时,将向当前正在从控制台读取的任何应用程序发送信号。如果这不是 bash(可能是因为您当时正在运行文本编辑器),那么 bash 将不会知道它。

这种情况下的解决方案是再次调整窗口大小,以便 bash 收到信号并注意到新的大小。

于 2008-10-01T13:25:20.423 回答
0

在最坏的情况下,您可以启动 X 服务器(在实用程序下的某个位置)并启动一个真正的 xterm。

于 2009-04-20T01:53:41.207 回答