gpt4 book ai didi

linux - 仅在键入字符后退格删除 bash 提示

转载 作者:太空宇宙 更新时间:2023-11-04 09:20:36 24 4
gpt4 key购买 nike

这里是新的 Linux 用户。

我的 bash 提示符如下所示:

export PS1=$"\[\e[1;32m\d \t \e[1;33mฅ^\e[m\e[1;36mᵒ\e[m\e[1;33mﻌ\e[m\e[1;36mᵒ\e[m\e[1;33m^ฅ \e[1;35m\W\e[1;32m$\]"

(这是一只小猫 ฅ^ᵒﻌᵒ^ฅ)

现在我已经将 ] 添加到字符串的末尾,当提示为空时它不再删除我的 bash 提示字符。但是,一旦我开始输入命令然后按退格键,它就会删除我的 bash 提示符。

有没有办法防止这种情况,或者这只是 bash 问题?

谢谢!

最佳答案

\[...\] 表示包含的部分不占用提示中的任何空间。因此,它们将用于 xterm 控制序列(\e[1;32m 等),而不是提示文本(\d\t 等)。尝试类似的东西:

PS1='\[\e[1;32m\]\d \t\[\e[1;33m\]ฅ^\[\e[m\e[1;36m\]ᵒ\[\e[m\e[1;33m\]ﻌ\[\e[m\e[1;36m\]ᵒ\[\e[m\e[1;33m\]^ฅ\[\e[1;35m\]\W\[\e[1;32m$\]'

如果您的整个提示都包含在 \[...\] 中,那么 bash 认为您的提示根本不占用空间,并且从行首开始输入。

(顺便说一下,您不需要导出 PS1。)

关于linux - 仅在键入字符后退格删除 bash 提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42359600/

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