为什么zsh在输出结尾添加“%”

问题描述 投票:1回答:2

我在我的mac上使用zsh(oh-my-zsh)我不明白为什么在输出结束时总会有这个字符:“%”

enter image description here

如果我没有在我的〜/ .zshrc中输出导出TERM =“xterm-256color”我没有那个字符:

enter image description here

zsh iterm2 oh-my-zsh
2个回答
4
投票

通常使用具有反色的粗体%(或用于根的#)来表示输出中的“部分”线。这是一行,不以换行符结尾。

由于它似乎取决于TERM的值,我怀疑该值与终端仿真器的设置之间不兼容。与第二个屏幕截图中显示的警告相反,您实际上不应该在TERM(或shell会话内的任何位置)中设置~/.zshrcTERM应始终由终端仿真器本身设置。它的值(与terminfo终端能力数据库一起)告诉shell和其他程序,它们具有终端仿真器支持以及如何使用它们。如果在shell中更改了值,终端仿真器将不会知道它。这可能导致程序发送终端仿真器无法正确理解或根本无法理解的控制代码。

要更改TERM的值,您应该在终端仿真器设置中更改它。根据iTerm 2 FAQ,设置可在Preferences-> Profiles-> Terminal-> Report Terminal Type中找到。


0
投票

我个人把export PROMPT_EOL_MARK=''放在我的~/.zprofile里并隐藏了这个角色。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.