我目前正在使用git-for-windows-sdk,使用Bash 3.1.33(1)-release
。当我向上滚动并按下key up
时,我会遇到非常恼人和错误的行为:控制台不会滚动回到底部,只显示提示并开始覆盖输出。
清除仅对当前显示的区域有帮助,输出接下来后,仍有缓冲输出。
如何重现:
arrow up
键。预期行为:
Bash向下滚动并显示提示。
当前行为:
Bash停留在屏幕上并在最后一行显示提示。然后覆盖缓冲输出。
实际上,我试图稍微研究一下这种行为。我意识到它受PS1
/ PROMPT
设置的影响。颜色转义和新行在其中有一些作用,但我无法定义它。
默认的git-bash提示设置不会产生这种错误行为:
export PROMPT_COMMAND='__git_ps1 "\n\[\033[33m\]\w\[\033[0m\]\[\033[32m\]" "\[\033[0m\]\n$ "'
只是删除新行生成错误行为:
export PROMPT_COMMAND='__git_ps1 "\n\[\033[33m\]\w\[\033[0m\]\[\033[32m\]" "\[\033[0m\]$ "'
但是,没有颜色的一行提示不会产生错误行为:
export PROMPT_COMMAND='__git_ps1 "\w" " \$ "'
为了更好地理解,请参阅此截屏视频:http://screencast.com/t/vqItWFSoR