在 tmux hg 输出中包含一些控制字符
In tmux hg output contains some control chars
我正在尝试从屏幕切换到 tmux。当我 运行 hg 状态时,我得到如下损坏的输出:
git不会发生这种情况,屏幕不会发生这种情况。任何建议将不胜感激。谢谢
嗯,hg 似乎在做一些很奇怪的事情。我的猜测是它对如何显示颜色的想法完全错误,但没有理由让它在 tmux 中做任何与屏幕不同的事情。
在 运行 hg 之前,echo $TERM
在 tmux 中显示了什么?它在 tmux 外部显示什么?
您是否创建了 .hgrc
或类似的配置文件?里面有什么?
是不是也一样\hg --pager never --color always status
?
\hg --pager never --color always status|od
说明了什么?
根据 Nicholas Marriott 的回答和 Rudi 的评论:问题似乎是 $TERM 在 tmux 中设置为 screen
(而 std.gnome-terminal 将其设置为 xterm-256color
并筛选到 screen.xterm-256color
).
因此,解决方案(至少对我有用)是在 ~/.tmux.conf
中设置终端,如下所示:
set -g default-terminal "screen.xterm-256color"
注意:使用 hg --pager never
也可以,但这不是一个可接受的解决方案。
我正在尝试从屏幕切换到 tmux。当我 运行 hg 状态时,我得到如下损坏的输出:
git不会发生这种情况,屏幕不会发生这种情况。任何建议将不胜感激。谢谢
嗯,hg 似乎在做一些很奇怪的事情。我的猜测是它对如何显示颜色的想法完全错误,但没有理由让它在 tmux 中做任何与屏幕不同的事情。
在 运行 hg 之前,
echo $TERM
在 tmux 中显示了什么?它在 tmux 外部显示什么?您是否创建了
.hgrc
或类似的配置文件?里面有什么?是不是也一样
\hg --pager never --color always status
?\hg --pager never --color always status|od
说明了什么?
根据 Nicholas Marriott 的回答和 Rudi 的评论:问题似乎是 $TERM 在 tmux 中设置为 screen
(而 std.gnome-terminal 将其设置为 xterm-256color
并筛选到 screen.xterm-256color
).
因此,解决方案(至少对我有用)是在 ~/.tmux.conf
中设置终端,如下所示:
set -g default-terminal "screen.xterm-256color"
注意:使用 hg --pager never
也可以,但这不是一个可接受的解决方案。