我在 Mac OS X Lion 的终端应用程序中遇到了一个奇怪的问题。当我输入一长行文本,当它到达终端窗口边缘时应该换行到下一行时,它会继续在其上方的行的文本顶部键入。
以下是一些屏幕截图,可帮助说明问题:
在我的文本到达窗口边缘之前:
文本到达窗口边缘后:
我还提供了我的文本和窗口设置的屏幕截图,以防有帮助。
文本设置:
窗口设置:
预先感谢您提供的任何帮助。我遇到这个问题已经有一段时间了,但一直没有抽出时间来解决。当我处理需要大 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/