mlterm
mlterm 是一个非常快速的 低延迟 终端模拟器,它具有许多独特的功能,例如渲染可变宽度字体、开箱即用的正确双向支持、守护进程模式、多个 XIM 以及真正的背景透明。
安装
安装 mlterm-gitAUR 软件包。
配置
设置永久存储在 ~/.mlterm/
下的纯文本文件中。
大多数设置在 ~/.mlterm/main
中定义
所有设置都可以通过命令行选项设置。
可以使用 Ctrl+RightMouse
打开 GUI 配置向导,以帮助您尝试不同的设置。
内边距
可以通过在主配置文件 ~.mlterm/main
中设置 inner_border=value
或使用 --border=value
选项来启用内边距。
字体
字体在两个不同的文件 ~/.mlterm/aafont
(等宽字体) 和 ~/.mlterm/vaafont
(非等宽字体) 中分别定义。
ENCODING = FONT NAME, SIZE
每种编码都可以使用不同的字体。查看手册页以获取完整的编码列表。
Mlterm 提供了一个名为 mlfc
的工具,该工具使用 Unicode 区块-字体对列表填充 aafont
,可以进一步帮助您选择要用于特定语言的字体。
使用可变宽度字体
mlterm
可以正确显示可变宽度字体。首先,在 .mlterm/vaafont
中定义它们
DEFAULT = Latin Modern Roman, 12
并在 .mlterm/main
中的选项中启用它
use_variable_column_width = true
或者,您可以在命令行上传递它 --varwidth
或选中配置窗口字体对话框中的可变列宽选项。需要启用抗锯齿,否则它将回退到等宽字体。
use_anti_alias = true
根据字体,调整屏幕尺寸与字体大小的比率,以便使窗口适应其单元格新的可变宽度。使用 --wscr percentage
选项或将其永久保存在主配置文件中
screen_width_ratio = percentage
自定义颜色
您可以在 ~/.mlterm/color
文件中使用以下颜色名称定义您的自定义颜色
black=#48483e red=#dc2566 green=#8fc029 yellow=#d4c96e blue=#55bcce magenta=#9358fe cyan=#56b7a5 white=#acada1 hl_black=#76715e hl_red=#fa2772 hl_green=#a7e22e hl_yellow=#e7db75 hl_blue=#66d9ee hl_magenta=#ae82ff hl_cyan=#66efd5 hl_white=#cfd0c2
此外,前景色和背景色值需要分别使用 -f
和 -b
参数指定,或永久存储在 .mlterm/main
中
fg_color = #f1ebeb bg_color = #272822
先前示例的值对应于 .Xresources monokai 颜色主题。[1]
用法
您可以按 Shift+Up
或 Shift+Prior
键或使用鼠标滚轮访问回滚模式以滚动缓冲区。
要进入缓冲区选择模式,请按 Ctrl+Shift+Enter
并使用箭头键导航。按空格键 Space
开始和结束选择。选定的文本将被复制到剪贴板。
两种模式都支持使用 hjkl
和 u/d
键进行 vi 移动以导航屏幕。
故障排除
修复点出现在文本绘制区域外的问题
某些字体具有字形(例如,阿拉伯字母、变音符号、括号等),这些字形会溢出文本绘制区域。它们可能会产生粘在终端上并随着时间推移而累积的点。类似于 xterm' 的 useClipping
设置,可以通过 --clp
选项启用剪切,或者添加
use_clipping = true
到您的主配置文件。
使用 Xft 渲染 CJK 字符
如果您在使用 CJK 字符渲染时看到空字形框,那是因为您使用的字体不支持它们,并且与使用 cairo 不同,使用 Xft 的 mlterm 不会查找备用字体作为替代方案(正如作者在 GitHub issue#18 中解释的那样)。
如果您的默认字体不支持 CJK 字形,您可以在 ~/.mlterm/aafont
中将此类字体(例如 Noto Sans Mono CJK JP
)指定为默认字体之外的备用字体
DEFAULT = Fantasque Sans Mono 12 ISO10646_UCS4_1_FULLWIDTH = Noto Sans Mono CJK JP 10
在 Xft 中渲染阿拉伯文字
如果您的主字体不支持阿拉伯语 Unicode 范围,您可以专门指示 mlterm 使用支持阿拉伯字符的字体(例如 DejaVu Sans Mono),方法是提供 阿拉伯文字的所有 Unicode 范围 的详尽列表
U+10a60-10a7f = DejaVu Sans Mono, 10 U+10a80-10a9f = DejaVu Sans Mono, 10 U+600-6ffj = DejaVu Sans Mono, 10 U+750-77f = DejaVu Sans Mono, 10 U+8a0-8ff = DejaVu Sans Mono, 10 U+1ee00-1eeff = DejaVu Sans Mono, 10 U+10e60-10e7f = DejaVu Sans Mono, 10 U+fe70-feff = DejaVu Sans Mono, 10 U+fb50-fdff = DejaVu Sans Mono, 10
使用固定宽度字体时渲染阿拉伯文字
当在从右到左的行中输入阿拉伯语时,使用固定宽度字体时,连字的正确渲染可能需要刷新屏幕。一种解决方法是启用 variable column width
选项并将您的 vaafont 设置为固定宽度字体。请关注 github 上的此问题。