通常,我在Terminal.app或iTerm中运行一个命令,按向上箭头返回编辑它,光标跳到上面的行或完全在错误的地方。当命令太长以至于包裹到下一行时,尤其会发生这种情况。有时这些长命令都出现在一行上,有时它们在多行上正确显示。
在iTerm和Terminal.app中都会发生这种情况
在vi和emacs模式下也会发生这种情况,使它们几乎无法使用。
有任何想法吗?谢谢!
通常,我在Terminal.app或iTerm中运行一个命令,按向上箭头返回编辑它,光标跳到上面的行或完全在错误的地方。当命令太长以至于包裹到下一行时,尤其会发生这种情况。有时这些长命令都出现在一行上,有时它们在多行上正确显示。
在iTerm和Terminal.app中都会发生这种情况
在vi和emacs模式下也会发生这种情况,使它们几乎无法使用。
有任何想法吗?谢谢!
Answers:
这很可能是因为您的提示定义包括不应在提示长度中计算的序列,例如用于设置颜色的序列。这些序列应介于两者之间 \[
和 \]
防止他们的长度被计算在内。这是一个产生全红色提示的示例:
PS1='\[\033[31m\]\u@\h:\w\$\[\033[0m\]'
对于遇到此问题的任何人,此错误已得到修复。欲了解更多信息,请访问此处。 https://code.google.com/p/iterm2/issues/detail?id=2245
您可能必须从github获取最新的源代码并从源代码构建。
.bashrc
要么.bash_profile
),对于任何人 - 像我一样 - 在阅读回复后无能为力。