gpt4 book ai didi

macos - 终端 PS1 中的断线修复

转载 作者:行者123 更新时间:2023-12-04 01:54:42 25 4
gpt4 key购买 nike

我有这个代码来为我的终端着色:

export PS1="\e[1;30m\][\e[\e[1;30m\]\e[1;33m\] \u@\H \[\e[1;32m\]\w\[\e[0m\] \e[1;30m\]]\n[\[ \e[1;31m\]\T\[\e[0m\]\e[1;30m\] ] > \e[37m\]"

但是我有一个问题,当文本应该在新行中时,它会覆盖第一行。

示例:

最佳答案

为了让 bash 确定您的提示占用了多少屏幕空间(以及实际命令行开始的位置),您必须将提示的非打印部分包含在 \[...\] 中。 .大多数情况下,这意味着转义序列,如 \e[1;30m需要写成\[\e[1;30m\] .你有一些 \[的和 \]是在您的提示中,但它们位于错误的位置,这使 bash 非常困惑。找到与您一样复杂的提示的所有打印和非打印部分并非易事,但我认为这是正确的:

export PS1='\[\e[1;30m[\e[\e[1;30m\e[1;33m\] \u@\H \[\e[1;32m\]\w\[\e[0m\] \[\e[1;30m\]]\n[ \[\e[1;31m\]\T\[\e[0m\e[1;30m\] ] > \[\e[37m\]'

关于macos - 终端 PS1 中的断线修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14220848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com