终端问题OS X 10.6.4


2

我通常有很长的终端命令,每当我尝试使用命令历史记录时(通过按向上箭头),文本格式变为乱码并且光标出现在错误的位置。此时编辑命令变得不可能,并且光标的实际位置未在屏幕上正确显示。

如果我调整终端窗口的大小以允许整个命令适合一行,则格式化得到纠正但有时我没有足够的屏幕空间来完成此操作。有任何想法吗?

Answers:


6

您是否自定义了shell提示符(例如着色或类似的东西)?发生这种情况的常见原因是您的提示中有非打印字符(例如颜色更改序列),并且它们会使shell混淆提示的宽度,以及如何包装命令行。

假设您使用bash作为shell,正确的解决方案是将非打印序列包装起来\[...\]让shell知道它们是非打印的。例如,如果您希望提示为蓝色(\e[0;34m将其变为蓝色,\e[m恢复正常),您可以使用:

PS1='\[\e[0;34m\]your prompt text here\[\e[m\]'

不能赞成这一点。不会想到提示可能会把它弄得这么糟糕。
Jonathan Dumaine 2011年

0

这是发生在你的本地机器上 - 这个,我的意思是你没有SSH到另一台电脑?如果这是本地的,请尝试退出Terminal.app,删除.plist文件,然后重新打开Terminal.app。


3
无论这是否有效,至关重要的是要解释删除.plist文件将删除应用程序的所有首选项,这可能是也可能不是OP想要的。最好只是移动它或暂时重命名它。
fideli 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.