%F 是什么意思以及我怎样才能阻止它的意思?

%F 是什么意思以及我怎样才能阻止它的意思?

在 rxvt-clone 上(我正在使用,rxvt-unicode但它似乎rxvt也发生在普通的旧版本上),字符序列%F似乎具有某种特殊含义(其他一些克隆也如此,例如%S)。特别是,我得到以下信息:

% date +%F          
38;5;0m2011-04-02
% date +%F--%H.%M.%S
38;5;0m--.Hostname.2011-04-02--22.25.59

后面的文字m呈接近黑色的深色。由于我的配色方案(深蓝色圆点背景上的淡紫色文本),这几乎无法阅读。

这是什么,更重要的是,我怎样才能让它停止?

为了说明为什么它特别烦人,我的讲座文件将日期作为其名称的一部分。因此,可以很方便地写:

xelatex lecture.beamer.$(date +%F).tex

因为我可以将其存储在我的历史记录中,并通过一些明智的选项卡来回忆它。然而,随后的输出与更白的颜色相反,因此很难看出是否存在错误。

如果有什么不同,我的外壳是zsh.

答案1

在您的评论之一中,您提到使用zsh调用.preexecprint -P $2

在 中zshprint -P接受以下格式字符:

  • %F意思是设置前景色
  • %S表示设置突出属性

zsh 提示扩展获取完整列表。

因此,最好从对in 的-P调用中删除该标志。printpreexec

获得相同效果的一种方法:

settitle() {
    printf "%b%s%b" "\033]0;" "$1" "\007"
}

tildedir() {
    print -Pn "%~" 
}

preexec() {
    settitle "$(tildedir):$2"
}

相关内容