【问题标题】:Tmux borders are drawn with dashed lines; how can I change them to continuous lines?Tmux 边框用虚线绘制;如何将它们更改为连续线?
【发布时间】:2012-03-22 12:08:51
【问题描述】:

我使用的是 Mac OS X Lion、Terminal.app 和 Tmux 1.6 版。当我使用同一终端 ssh 进入同一台计算机上的 Debian 虚拟机时,我得到一条虚线作为窗口边框,而不是一条实线。如何将虚线改为实线?

【问题讨论】:

  • 我对 iTerm2 和 tmux 1.6 有同样的问题。然而,在 Terminal.app 中,窗格分隔符是实心的而不是虚线。你找到解决办法了吗?
  • 我找到了更多信息,但仍然没有解决方案。我认为这个问题实际上是 Tmux 1.4 的更改日志中描述的“功能”:“在 UTF-8 终端上使用 UTF-8 画线字符,从而修复了一些禁用 vt100 ACS 模式切换序列的终端(例如腻子)在 UTF-8 模式下。在没有 ACS 的终端上,使用 ASCII 等效项。另见stackoverflow.com/questions/8483798/…

标签: tmux


【解决方案1】:

我找到了问题的根源。是字体。我使用的是 Monaco,它以垂直窗格分隔符为虚线的方式显示垂直破折号。使用 Menlo 但它是可靠的。

【讨论】:

【解决方案2】:

我在 mac 上使用 iTerm 登录 redhat 时遇到了类似的问题。突然竖线不显示,横线虚线。

我通过取消选中 iTerm->Preferences->Profiles->Text 中的 "Treat ambiguous-width characters as double width" 解决了这个问题

【讨论】:

  • 这为我解决了问题,还解决了 ncurses 应用程序中的水平框边缘将被绘制成双倍宽度的问题,从而弄乱了整个布局。从摩纳哥改用 Menlo 也有帮助。
  • 哇!已经有 4 个月了,在看到您的回答之前我无法解决这个问题
  • 这解决了我在让 tmuxline 正确显示时遇到的问题。
【解决方案3】:

实际上,有些你喜欢的字体只包含少量字形来显示常用字符,而没有包含其他 unicode 字符的字形,例如 tmux 用作垂直分割线的 U+2502。因此,系统通常默认使用后备字体,但不幸的是,后备字体不提供适合绘制连续线的字形。

一种可能的解决方案是使用支持选择备用字体的终端,例如iTerm2,然后您选择Menlo作为非ascii字体并同时使用原始字体。

另一个解决方案需要更多的工作,使用 fontforge 或其他字体编辑器使用正确显示的字体(如 Menlo)来修补丢失的字形。这是我所做的链接,使用 Menlo 的字形修补 Inconsolata for Powerline:https://github.com/Determinant/inconsolata_for_powerline_mod

【讨论】:

  • 你是个圣人。谢谢你这样做!
  • 我有一个为电力线修补的摩纳哥字体。我前段时间下载了它,由于许可问题,没有免费的副本。我想将 U+2502 修补到这种字体中,我可以自己做,或者我有另一种字体,一种常规的 Inconsolata 字体,可以很好地看到这个字形。你能解释一下我如何将这个符号从 inconsolata 修补到 monaco 吗?
  • @klaus 我用 fontforge 打补丁,试试看。
【解决方案4】:

迟到但可能有用:

  • 为非 ASCII 字符选择不同的字体
  • 减少垂直间距,直到垂直分隔符合并成一行

【讨论】:

    猜你喜欢
    • 2017-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多