我的bash提示为:
\u@\H: \w$(__git_ps1 "[\[\e[0;32m\]%s\[\e[0m\]\[\e[0;33m\]$(parse_git_dirty)\[\e[0m\]]")\n\e[1m\t\e[0m $
所以第二行是显示当前时间。
但是,我发现它弄乱了历史记录-当使用箭头键向上移动时,命令端口似乎被“卡住”并且不再更改。我回来的唯一方法是Enter再次按下。如何解决?
\u@\H: \w$(__git_ps1 "[\[\e[0;32m\]%s\[\e[0m\]\[\e[0;33m\]$(parse_git_dirty)\[\e[0m\]]")\n\e[1m\t\e[0m $
# ^^^^^ ^^^^^
第一行中的所有ANSI转义序列都由\[
和正确包围\]
,它们告诉Bash在计算提示的可视长度时不要对那些字符进行计数。第二行上的那些缺少这些定界符。
PS1='\u@\H: \w$(__git_ps1 "[\[\e[0;32m\]%s\[\e[0m\]\[\e[0;33m\]$(parse_git_dirty)\[\e[0m\]]")\n\[\e[1m\]\t\[\e[0m\] $'
# ^^ ^^ ^^ ^^
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句