Contour - 现代且真正快速的终端模拟器
contour
是一款现代且真正快速的、模态的虚拟终端模拟器,适用于日常使用。它面向具有现代功能思维的高级用户。
特性
- ✅ 适用于所有主要平台:Linux、macOS、FreeBSD、OpenBSD、Windows。
- ✅ GPU加速渲染。
- ✅ 支持字体连字(如Fira Code)。
- ✅ Unicode:支持emoji(-: 🌈 💝 😛 👪 - 包括ZWJ、VS15、VS16 emoji :-)
- ✅ Unicode:支持字素簇
- ✅ 粗体和斜体字体
- ✅ 高DPI支持。
- ✅ 垂直线标记(快速跳转到历史记录中的标记!)
- ✅ 类Vi输入模式,改善选择和复制粘贴体验,以及类Vi的
scrolloff
功能。 - ✅ 支持Windows 10及以上版本以及Linux上的KDE和GNOME桌面环境的透明背景模糊效果。
- ✅ 可模糊的背景图像支持。
- ✅ 运行时配置重载
- ✅ 256色和真彩色支持
- ✅ 按键绑定自定义
- ✅ 配色方案
- ✅ 配置文件(分组自定义:配色方案、登录shell和相关行为)
- ✅ 同步渲染(通过
SM ? 2026
/RM ? 2026
) - ✅ 文本重排(可通过
SM ? 2028
/RM ? 2028
配置) - ✅ 通过OSC 8支持可点击超链接
- ✅ 通过OSC 52设置剪贴板
- ✅ Sixel内联图像
- ✅ 终端页面缓冲区捕获VT扩展,快速提取内容。
- ✅ 内置Fira Code风格的进度条支持。
- ✅ 只读模式,防止意外用户输入到运行中的应用程序,如Ctrl+C。
- ✅ VT320主机可编程和指示器状态行支持。
- ✅ 还有更多...
安装
contour
已打包并可在多个发行版上安装。
Fedora
使用官方软件包
sudo dnf install contour-terminal
Arch
使用AUR软件包
通过Flatpak安装
从Flathub安装
点击以下按钮从Flathub商店安装Contour。
先决条件
- 确保您的系统已安装flatpak(这里有安装教程),并确保版本 >= 0.10(使用以下命令检查:
flatpak --version
) - 使用以下命令添加flathub仓库:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
。 - 继续以下选项之一:
要求
- 操作系统:最新的操作系统(macOS 12、Windows 10+、最新的Linux、FreeBSD或OpenBSD)
- GPU:驱动必须至少支持OpenGL 3.3硬件加速或软件光栅化。
- CPU:具有AES-NI指令集的x86-64 AMD或Intel,或具有加密扩展的ARMv8。
配置
要配置Contour,需要修改$HOME/.config/contour
目录中初始生成的配置文件contour.yml
。某些功能还需要shell集成。这些可以通过CLI生成(见下文),目前支持zsh、fish和tcsh。
从源码安装
Contour最好从支持的包管理器安装,但您也可以按照以下说明从源码构建。您可以使用Qt 5或Qt 6,默认情况下contour将使用Qt 6编译,要更改Qt版本,请使用QTVER=5 ./scripts/install-deps.sh
获取依赖项,并使用cmake标志-D CONTOUR_QT_VERSION=5
。
类UNIX系统(Linux、FreeBSD、OpenBSD、macOS)
先决条件
./scripts/install-deps.sh
如果可以通过系统包管理器安装依赖包,此脚本可能会要求您输入管理员密码。
编译
您可以使用cmake预设来编译contour。可以使用cmake --list-presets
查看可用预设的完整列表。要为Linux或MacOS编译发布版本,请分别使用linux-release
或macos-release
。FreeBSD和OpenBSD用户可以使用linux-release
或手动配置cmake。
cmake --preset linux-release
cmake --build --preset linux-release
# 可选,如果您想从源码安装
cmake --build --preset linux-release --target install
Windows 10或更高版本
先决条件
对于Windows,您必须安装Windows 10 2018年秋季创意者更新和Visual Studio 2019。 由于libterminal使用了ConPTY API,它既不能在任何早期的Windows操作系统上构建,也不能运行。
- 设置 vcpkg,最好放在文件夹层级较高的位置,并将该文件夹添加到你的
PATH
中。
cd C:\
git clone https://github.com/Microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat
- 安装 Visual Studio Build Tools(确保选择 C++ 的 CLI 工具,可能需要在单独的组件选项卡中进行选择)。
- 安装 Qt6(例如安装到 C:\Qt)
- 打开开发者版本的 Powershell。
- 在
contour
源文件夹中执行.\scripts\install-deps.ps1
。这一步可能需要很长时间。
编译
在开发者版本的 Powershell 中:
# 如果你将 QT 和 vcpkg 安装在其他位置,请相应地更改路径
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_PREFIX_PATH=C:\Qt\6.5.0\msvc2019_64\lib\cmake
cmake --build build/
# 如果你想从源代码安装,可选择执行以下命令
cmake --build build/ --target install
发行包
CLI - 命令行界面
用法:
contour [terminal] [config FILE] [profile NAME] [debug TAGS] [live-config] [dump-state-at-exit PATH]
[early-exit-threshold UINT] [working-directory DIRECTORY] [class WM_CLASS]
[platform PLATFORM[:OPTIONS]] [session SESSION_ID] [PROGRAM ARGS...]
contour font-locator [config FILE] [profile NAME] [debug TAGS]
contour info vt
contour help
contour version
contour license
contour parser-table
contour list-debug-tags
contour generate terminfo to FILE
contour generate config to FILE
contour generate integration shell SHELL to FILE
contour capture [logical] [words] [timeout SECONDS] [lines COUNT] to FILE
contour set profile [to NAME]
参考资料
- VT510:VT510 手册,参见第 5 章。
- ECMA-35: 字符代码结构和扩展技术
- ECMA-43: 8 位编码字符集结构和规则
- ECMA-48: 编码字符集的控制功能
- ISO/IEC 8613-6: 字符内容架构
- xterm:xterm 控制序列
- console_codes Linux 控制台代码
- ASCII 终端 ANSI 标准摘要
- 文本终端 HOWTO(第 7.2 章,PTY)
- ANSI 转义码 维基百科
许可证
Contour - 现代 C++ 终端模拟器
-------------------------------------------
根据 Apache 许可证 2.0 版("许可证")授权;
除非遵守许可证,否则您不得使用此文件。
除非适用法律要求或书面同意,否则根据许可证分发的软件是基于
"按原样"分发的,不附带任何明示或暗示的担保或条件。
有关许可证下的特定语言管理权限和限制,请参阅许可证。