macos - OS X 终端文本堆叠在自身之上

标签 macos terminal osx-lion

我在 Mac OS X Lion 的终端应用程序中遇到了一个奇怪的问题。当我输入一长行文本,当它到达终端窗口边缘时应该换行到下一行时,它会继续在其上方的行的文本顶部键入。

以下是一些屏幕截图,可帮助说明问题:

在我的文本到达窗口边缘之前:

before

文本到达窗口边缘后:

after

我还提供了我的文本和窗口设置的屏幕截图,以防有帮助。

文本设置:

text

窗口设置:

window

预先感谢您提供的任何帮助。我遇到这个问题已经有一段时间了,但一直没有抽出时间来解决。当我处理需要大 grep 命令和长路径名的事情时,现在真的变得很痛苦。

最佳答案

PS1环境变量决定 shell 的提示符是什么样子。 man bash提供了完整的文档。 (实际上有几个,针对不同的模式)。

有多个文件可能正在设置它,通常是 ~/.profile 之一, ~/.bashrc , /etc/profile/etc/bashrc .

如果要在其中包含颜色代码或其他控制序列,则必须用 \[ 将它们包裹起来。和\]正确地(并且不要换行正常文本),否则行编辑可能会像您的情况一样变得困惑。我建议重置PS1到默认值,然后小心地逐项添加着色。

例如:

PS1='\[\033[1m\033[32m\]\u@\h \w\[\033[0m\]\$ '
       ^^^^^^^^^^^^^^^            ^^^^^^^

着色命令带有下划线。注意它们是如何被 \[ \] 包围的.

关于macos - OS X 终端文本堆叠在自身之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11831296/

相关文章:

macos - Applescript 或 Automator 在 Outlook Mac 2011 中应用规则

c - 术语 'Segmentation fault (core dumped)' 是什么意思?

objective-c - 错误 : "No identities are available for signing" Xcode 4. 3.1

macos - 如果使用绝对路径可以运行它们,为什么我不能通过ssh命令在/usr/local/bin中运行它?

php - 如果您习惯在 Mac 上使用 TextMate,您会在 Windows 上使用哪个 PHP IDE?

macos - Git 别名参数完成在 Zsh 中不起作用

python - 如何使用python将控件C发送到Mac终端?

security - curl 总是返回两个 header

cocoa - 如何在 Lion 上将 libssl 与 Cocoa 一起使用?

bash - 如何为每个 ping 结果添加时间戳?