首页 > 解决方案 > 如何使用 oh-my-zsh 使我在 ZSH 中输入的命令变为粗体?

问题描述

我已经配置了 PS1 并将整个提示加粗

.zshrc 包含如下

PS1="%{$fg_bold[yellow]%}%n@%m %{$fg[blue]%}%~ \$ %{$reset_color%}%{$fg_bold[white]%}"
preexec() { printf "\e[1m"; }

仅当我从缓冲区加载时,我在提示后输入的内容才会显示为粗体。例如,如图所示,我的输入echo "this is text"不会以粗体显示。

我在 Ubuntu 18.04 上,正在尝试迁移到 zsh。

标签: formattingzshps1bold

解决方案


Zshell 行编辑器 (zle) 允许您格式化命令缓冲区。

PS1='%F{yellow}B%n@%m %F{blue}%~ \$ %f%b'  # simplified prompt

zle_highlight=(default:bold,fg=white)

有关如何使用的更多信息,请zle_highlight参见man zshzle


根据链接的屏幕截图,看起来有些东西已经在格式化您的命令输入;您可能希望首先运行print $zle_highlight以查看其当前值并相应地对其进行修改,或者研究您现有的配置以查找当前着色的来源。


推荐阅读