And*_*ite 5 zsh shell command-line autocomplete oh-my-zsh
我的自定义 PS1 提示(我从 bash 带来的)遇到了 zsh/oh-my-zsh 问题。
当我使用内置的 zsh/oh-my-zsh 提示和选项卡进行自动完成时,这会按预期工作。
当我使用自己的 PS1 提示时,整个输入区域会移动大约 8 个空格并停留在那里,直到我发送一个换行符/换行符。
我输入了vim a并进行了选项卡式
内置主题,robbyrussell带有默认提示:
相同主题,自定义 PS1 提示:
.zshrc 中的 PS1 字符串和变量定义:
# Monokai colours
D=$'\e[37;40m'
PINK=$'\e[35;40m'
GREEN=$'\e[32;40m'
ORANGE=$'\e[33;40m'
export PS1='${PINK}andrew${D}@${ORANGE}macbook${D}:%~$ '
Run Code Online (Sandbox Code Playgroud)
作为测试,我尝试了没有颜色变量的提示,它确实有效
似乎 ANSI 代码弄乱了您的终端,可能是由于与其他内容的某些交互PS1
或因为您没有重置为默认值。
幸运的是,zsh
不需要使用 ANSI 转义码。您可以使用%F{color}
和%K{color}
分别设置前景色和背景色%f
并%k
重置默认值(有关更多信息,请参阅Zsh 手册)
其中任何一个都应该可以解决问题:
PS1='%5Fandrew%f@%3Fmacbook%f:%~$ '
PS1='%F{5}andrew%f@%F{3}macbook%f:%~$ '
PS1='%F{magenta}andrew%f@%F{yellow}macbook%f:%~$ '
Run Code Online (Sandbox Code Playgroud)
我使用%f
代替%7F
or %F{white}
,假设您真的只想在那个地方禁用着色(因此命名变量D
而不是WHITE
)。如果你想%F{white}
改用,你应该%f
在PS1
.
如果您使用 88 色或 256 色终端,您甚至可以使用这些颜色的索引。例如%F{221}
会给你一个深黄色。
另外请注意,这通常不需要到export PS1
的zsh
-或bash
为这一问题。
归档时间: |
|
查看次数: |
1825 次 |
最近记录: |