ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Rio 终端手册指南:scdoc 格式 man 手册的构建、安装与配置速查

Rio 终端手册指南:scdoc 格式 man 手册的构建、安装与配置速查 开发工具CLI跨平台【免费下载链接】rioA hardware-accelerated GPU terminal emulator focusing to run in desktops and browsers.项目地址https://gitcode.com/gh_mirrors/ri/rio点击查看免费下载Rio 是一个基于 Rust 与 WebGPU 构建、面向桌面与浏览器场景的 GPU 加速终端模拟器其官方手册以 scdoc 标记语言维护在仓库的extra/man目录中共包含三份手册页主程序手册rio.1、配置文件格式手册rio.5与按键绑定手册rio-bindings.5。本文以该目录的核心说明文档 extra/man/README.md 为骨架完整讲解这三份手册的内容与构建、安装、查看流程并结合仓库源码如 CLI 参数定义 与 配置模型逐项印证命令选项、配置默认值与默认快捷键帮助你从手册入手快速掌握 Rio 的命令行用法与config.toml配置体系。手册目录概览extra/man目录是 Rio 终端模拟器全部 man 手册的存放位置手册源文件统一采用scdoc 格式scdoc 是一种面向 man 手册写作的轻量级标记语言而非直接书写 troff 排版语法。目录内包含三个源文件文件手册节内容extra/man/rio.1.scd第 1 节用户命令Rio 主程序手册命令行参数、功能特性与环境变量extra/man/rio.5.scd第 5 节文件格式Rio 的 TOML 配置文件格式完整参考extra/man/rio-bindings.5.scd第 5 节文件格式Rio 默认按键绑定与可用动作列表其中rio.5.scd对应man 5 riorio-bindings.5.scd对应man 5 rio-bindings二者都归档在系统 man 数据库的man5节rio.1.scd编译后即通常所称的rio(1)主手册。scdoc手册的标记语言与构建前提scdoc 是一种为编写 man 手册而设计的简单标记语言语法比 troff 直观得多标题使用RIO(1)这样的顶格行声明手册名与节号小节用# NAME、# SYNOPSIS等标记条目用*加粗*、_斜体_、.前缀的列表进行排版。以 rio.1.scd 为例-h, --help这类选项名用星号包裹参数占位符如COMMAND...用尖括号表示配置查找路径则使用缩进的列表项。要构建 man 手册页需要先安装scdoc工具README 给出了多平台的安装方式macOSHomebrewbrew install scdocUbuntu/Debiansudo apt install scdocArch Linuxsudo pacman -S scdoc从源码安装克隆 scdoc 上游仓库后依次执行make与sudo make install构建、安装与查看 man 手册构建手册页进入仓库根目录后可以一条命令构建全部三份手册make -C extra/man也可以对单个手册分别执行scdoc将.scd源文件重定向输出为无后缀的 troff 成品scdoc extra/man/rio.1.scd rio.1 scdoc extra/man/rio.5.scd rio.5 scdoc extra/man/rio-bindings.5.scd rio-bindings.5安装到系统 man 目录构建完成后将生成的成品复制到系统 man 目录并更新索引需要sudo权限# 安装到系统 man 目录需要 sudo sudo cp rio.1 /usr/local/share/man/man1/ sudo cp rio.5 /usr/local/share/man/man5/ sudo cp rio-bindings.5 /usr/local/share/man/man5/ # 更新 man 数据库 sudo mandb查看手册安装并更新索引后即可用标准man命令查阅man rio man 5 rio man 5 rio-bindings其中man rio与man 5 rio均可用前者命中 man1 节的rio.1后者命中 man5 节的rio.5man 5 rio-bindings查阅按键绑定手册。rio(1)命令行选项与环境变量rio.1.scd 将 Rio 定义为 A cross-platform, GPU-accelerated terminal emulator并列出完整的命令行接口。这些选项在源码 frontends/rioterm/src/cli.rs 中均有对应定义基于clap派生宏两者可以互相印证。通用标志FLAGS标志作用-h, --help打印帮助信息-V, --version打印版本信息选项OPTIONS-e, --command COMMAND...要执行的命令及其参数必须作为最后一个参数传入。源码中command: VecString配合num_args 1..与allow_hyphen_values true实现允许命令参数以-开头而不会被误解析为选项解析后会将首个元素作为程序、其余作为参数构造Shell对应 cli.rs 中的command()方法。-w, --working-dir WORKING_DIR在指定工作目录中启动 shell。--write-config [PATH]把默认配置写入指定路径或写入默认位置。Rio 不会自动为你创建配置文件而是按照下方优先级在启动时主动查找。源码 rio-backend/src/config/mod.rs 的create_config_file会先创建配置目录、再写入config_file_content()生成的默认内容若目标文件已存在则跳过并记录日志。--enable-log-file将日志写入配置目录内的日志文件。--title-placeholder TITLE以指定标题启动窗口。配置文件查找位置Rio 在 UNIX 系统上按以下顺序查找config.toml$RIO_CONFIG_HOME/config.toml$XDG_CONFIG_HOME/rio/config.toml$HOME/.config/rio/config.tomlWindows 上的查找位置为%USERPROFILE%\AppData\Local\rio\config.toml上述查找逻辑与源码config_dir_path()完全一致见 rio-backend/src/config/mod.rs优先读取RIO_CONFIG_HOME环境变量其次回退到XDG_CONFIG_HOME/HOME/.config下的rio子目录Windows 则回退到AppData\Local\rio。环境变量RIO_CONFIG_HOME自定义 Rio 配置目录路径。设置后Rio 将在此目录中查找配置文件而不是使用默认位置。核心功能特性手册的 FEATURES 一节概括了 Rio 支持的现代终端特性可作为选购与使用时的能力清单基于 WebGPU 的 GPU 加速渲染Sixel 图形协议iTerm2 图像协议Kitty 键盘协议Hyperlinks 超链接OSC 8Vi 模式导航分屏面板Split panels自定义着色器兼容 RetroArch自适应主题Adaptive themes字体连字Font ligatures广色域支持Wide color gamut这些特性在仓库中均有对应实现Sixel 与 iTerm2/Kitty 图像协议位于 rio-vt/src/ansi 下的sixel.rs、iterm2_image_protocol.rs、kitty_graphics_protocol.rs、kitty_virtual.rsVi 模式与搜索实现于 rio-vt/src/crosswords/vi_mode.rs自定义着色器RetroArch 兼容滤镜则位于 sugarloaf/src/components/filters内置 fubax_vr 与新像素 CRT 等预设滤镜。rio(5)TOML 配置文件格式参考rio.5.scd 是 Rio 配置文件格式的完整手册。Rio 的配置文件采用TOML 格式规范版本 v1.0.0并且配置文件在变更后会被自动重新加载无需重启终端即可生效——从源码看配置解析走toml::from_str解析失败时会打印警告并回退到默认配置见 rio-backend/src/config/mod.rs 的load/try_load。GENERAL 通用项配置键取值默认值说明themestringNone使用的主题名称设置后配置文件中定义的 colors 将被忽略源码中主题加载会把themes/theme.toml的 colors 覆盖进配置见try_loadconfirm-before-quittrue/falsetrue退出前是否需要确认draw-bold-text-with-light-colorstrue/falsefalse为true时粗体文本使用亮色bright变体绘制env-vars[string,]—为派生进程设置的环境变量如env-vars [TERMxterm-256color, COLORTERMtruecolor][window] 窗口width integer窗口宽度像素默认600。height integer窗口高度像素默认400。mode Windowed | Maximized | Fullscreen窗口启动模式默认Windowed源码 rio-backend/src/config/window.rs 中WindowMode枚举与之一致并额外接受maximized、fullscreen、windowed小写别名。opacity float背景透明度取值范围0.0~1.0默认1.0。blur true | false请求合成器compositor对透明窗口后的内容做模糊处理默认false。从源码看该字段已演进为WindowBlur枚举除布尔值外macOS 上还接受macos-glass-regular与macos-glass-clear两种 liquid glass 风格字符串见 rio-backend/src/config/window.rs。decorations Enabled | Disabled | Transparent | Buttonless窗口装饰默认Enabled。其中Transparent透明标题栏与Buttonless无按钮标题栏仅适用于 macOSDisabled表示无窗口装饰。background-image { path string, opacity float }窗口背景图片。图片会一次性上传到专用 GPU 纹理并拉伸铺满整个窗口path为图片路径opacity为图片不透明度0.0~1.0默认1.0。[fonts] 字体配置键默认值说明size float18.0字体大小磅值 pointsfamily stringcascadiacode字体族名设置后会覆盖所有字重/字型变体的 familyfeatures [string,]—启用的 OpenType 字体特性如features [ss02, ss03, liga]use-drawable-chars true/falsetrue使用内置可绘制字符绘制 box drawing 图形disable-warnings-not-found true/falsefalse字体未找到时禁用警告additional-dirs [string,]—额外搜索字体的目录regular{ family cascadiacode, style Normal, width Normal, weight 400 }常规字重配置bold{ family cascadiacode, style Normal, width Normal, weight 800 }粗体配置italic{ family cascadiacode, style Italic, width Normal, weight 400 }斜体配置bold-italic{ family cascadiacode, style Italic, width Normal, weight 800 }粗斜体配置extras [{ family string },]—额外加载的字体emoji { family string }内置 Twemoji 字体Emoji 字体配置hinting true/falsetrue启用字体微调hintingsymbol-map [{ chars string, family string },]—将特定字符区间映射到指定字体各字型配置项regular/bold/italic/bold-italic统一采用{ family, style, width, weight }结构字体相关实现与度量逻辑可在 sugarloaf/src/font 目录中进一步查看。[colors] 颜色颜色使用带#前缀的十六进制值#RRGGBB或#RRGGBBAA。可配置的颜色键包括基础色background背景、foreground前景、cursor光标、vi-cursorVi 模式光标标准 ANSI 色black、red、green、yellow、blue、magenta、cyan、white亮色 ANSI 色light-black、light-red、light-green、light-yellow、light-blue、light-magenta、light-cyan、light-white暗色 ANSI 色dim-black、dim-red、dim-green、dim-yellow、dim-blue、dim-magenta、dim-cyan、dim-white界面色tabs非活动标签标题颜色标签岛背景会自动从窗口背景色派生、tabs-active活动标签标题颜色、split分屏分隔线颜色搜索色search-match-background、search-match-foreground、search-focused-match-background、search-focused-match-foreground选区色selection-background、selection-foreground[cursor] 光标shape block | underline | beam光标形状默认block。blinking true/false启用光标闪烁默认false。blinking-interval integer光标闪烁间隔毫秒范围350~1200默认800。该默认值与源码 rio-backend/src/config/defaults.rs 的default_cursor_interval()返回800一致。[scroll] 滚动multiplier float滚动速度倍率默认3.0。divider float滚动除数用于微调默认1.0。源码中 rio-backend/src/config/mod.rs 的Scroll::default()同样返回{ multiplier: 3.0, divider: 1.0 }与手册完全一致。[navigation] 导航mode NativeTab | Tab | Plain导航显示模式默认Tab。clickable true/false启用可点击的导航元素默认false。use-current-path true/false在导航中显示当前工作目录默认false。color-automation [{ program string, path string, color string },]基于程序或路径的自动配色。[shell] Shellprogram string要执行的 shell 程序默认使用系统默认 shell。源码中Shell.program为None时即表示未配置程序使用用户默认 shellmacOS 上以 login shell 启动且program 会被兼容处理为未配置见 rio-backend/src/config/mod.rs。args [string,]传给 shell 的参数。[editor] 编辑器program string用于打开配置文件的编辑器程序默认viWindows 上源码默认notepad。args [string,]传给编辑器的参数。[bindings] 按键绑定keys [{ key string, with string, action string },]按键绑定配置。key键名如q、Enter、F1with修饰键取值为super、alt、ctrl、shift多个修饰键用|组合如ctrl|shiftaction要执行的动作可用动作包括Quit、CreateWindow、CloseWindow、Copy、Paste、ScrollUp、ScrollDown、ToggleViMode、OpenConfigEditor等。源码 rio-backend/src/config/bindings.rs 定义了KeyBinding { key, with, action, esc, mode }结构其中esc与mode字段可用于发送自定义转义序列如{ key Home, esc \x1bOH, mode appcursor }并为按键解析提供了测试用例动作字符串在运行时统一转为小写后匹配Action枚举见 frontends/rioterm/src/bindings/mod.rs未知动作会被拒绝并在日志中报错同时保留原默认绑定。[renderer] 渲染器performance High | Low渲染性能模式默认High。backend Automatic | GL | Vulkan | DX12 | Metal使用的图形后端默认Automatic。从源码 rio-backend/src/config/renderer.rs 看当前实现按平台默认选择macOS 默认MetalLinux 默认Vulkan其余平台默认Webgpuwgpu 统一后端会自动挑选 Metal/Vulkan/DX12/GL/WebGPU 中最佳的原生 APIAutomatic语义即交由平台默认。disable-renderer-when-unfocused true/false窗口失焦时禁用渲染以节省功耗默认false。level integer渲染级别0~3默认3。[developer] 开发者log-level OFF | ERROR | WARN | INFO | DEBUG | TRACE调试日志级别默认OFF。enable-log-file true/false是否将日志写入文件默认false。enable-fps-counter true/false显示 FPS 计数器默认false。这三个默认值同样在源码 rio-backend/src/config/mod.rs 的Developer::default()中体现log_level OFF、enable_log_file false、enable_fps_counter false。注意--enable-log-file命令行标志与[developer] enable-log-file配置项在功能上对应前者通过 CLI 打开日志文件后者在配置中持久化同一行为。rio-bindings(5)默认按键绑定与动作参考rio-bindings.5.scd 记录 Rio 的默认按键绑定。由于 macOS 使用Super即 Command作为主修饰键而 Linux/Windows 习惯使用CtrlShift两类平台的默认绑定存在差异。绑定语法在配置文件[bindings]节下以数组表array of tables形式书写[[bindings.keys]] key key with modifiers action actionkey为键名如q、Enter、F1with指定修饰键super、alt、ctrl、shift多个修饰键用|组合例如ctrl|shiftaction为要执行的动作。应用控制动作macOSLinux/Windows退出 RioSuperQCtrlShiftQ新建窗口SuperNCtrlShiftN关闭当前窗口SuperWCtrlShiftW新建标签SuperTCtrlShiftT打开配置编辑器SuperCommaCtrlComma源码中SuperQ对应Action::Quit的默认绑定可在 frontends/rioterm/src/bindings/mod.rs 的默认绑定定义与相关测试如q, ModifiersState::SUPER; Action::Quit;中看到。文本操作动作macOSLinux/Windows复制选中文本SuperCCtrlShiftC粘贴剪贴板SuperVCtrlShiftV全选文本SuperACtrlShiftA字号调节动作macOSLinux/Windows增大字号SuperPlusCtrlPlus减小字号SuperMinusCtrlMinus重置字号Super0Ctrl0滚动键动作Page Up向上滚动一页Page Down向下滚动一页ShiftPage Up向上滚动半页ShiftPage Down向下滚动半页Home滚动到缓冲区顶部End滚动到缓冲区底部标签导航动作macOSLinux/Windows切换到标签 1-9Super1-9Ctrl1-9切换到上一个标签SuperLeftCtrlShiftLeft切换到下一个标签SuperRightCtrlShiftRightVi 模式CtrlShiftSpace切换 Vi 模式键盘导航移动h左、j下、k上、l右单词移动w下一个单词开头、b上一个单词开头、e当前单词结尾行内移动0行首、$行尾缓冲区移动gg缓冲区顶部、G缓冲区底部搜索/向前搜索、?向后搜索、n下一个匹配、N上一个匹配选择v字符选择、V行选择、CtrlV块选择、y复制选区Escape退出 Vi 模式搜索键动作SuperFmacOS/CtrlShiftFLinux/Windows开始搜索Enter确认搜索Escape取消搜索CtrlG/F3查找下一个匹配CtrlShiftG/ShiftF3查找上一个匹配分屏面板动作macOSLinux/Windows水平分屏SuperDCtrlShiftD垂直分屏SuperShiftDCtrlShiftAltD关闭当前分屏SuperShiftWCtrlShiftAltW在分屏间导航SuperH/J/K/LCtrlShiftH/J/K/L开发者工具F12切换开发者工具可用时CtrlShiftI打开检查器可用时自定义绑定示例除默认绑定外可以在[bindings]节追加条目覆盖或新增绑定。例如将SuperQ改为退出、将CtrlShiftEnter改为新建窗口[[bindings.keys]] key q with super action Quit [[bindings.keys]] key Enter with ctrl|shift action CreateWindow可用动作列表手册完整列出了可绑定到action字段的动作覆盖应用控制、文本操作、滚动、Vi 模式、搜索与分屏等类别动作作用Quit退出应用CreateWindow/CloseWindow新建 / 关闭当前窗口CreateTab/CloseTab新建 / 关闭当前标签SelectTab1~SelectTab9切换到指定标签SelectPreviousTab/SelectNextTab切换到上一个 / 下一个标签Copy/Paste/SelectAll复制选中文本 / 粘贴剪贴板 / 全选IncreaseFontSize/DecreaseFontSize/ResetFontSize增大 / 减小 / 重置字号ScrollUp/ScrollDown向上 / 向下滚动ScrollPageUp/ScrollPageDown向上 / 向下滚动一页ScrollHalfPageUp/ScrollHalfPageDown向上 / 向下滚动半页ScrollToTop/ScrollToBottom滚动到缓冲区顶部 / 底部ToggleViMode切换 Vi 模式Search开始搜索OpenConfigEditor在编辑器中打开配置文件SplitHorizontally/SplitVertically水平 / 垂直分屏ClosePanel关闭当前分屏面板FocusNextPanel/FocusPreviousPanel聚焦下一个 / 上一个分屏面板手册与源码的对应关系速览为便于继续深入仓库下表汇总本文涉及的关键实现位置手册章节对应源码rio(1) 命令行选项frontends/rioterm/src/cli.rsrio(5) 配置查找路径与加载rio-backend/src/config/mod.rsrio(5) 配置默认值rio-backend/src/config/defaults.rsrio(5) 按键绑定结构与解析rio-backend/src/config/bindings.rsrio-bindings(5) 动作枚举与默认绑定frontends/rioterm/src/bindings/mod.rsrio(5) 窗口模式与模糊rio-backend/src/config/window.rsrio(5) 渲染后端rio-backend/src/config/renderer.rs手册构建集成Makefile结语Rio 的手册体系以 scdoc 源文件的形式与源码同仓库维护make -C extra/man一条命令即可完成全部三份手册的构建。对日常使用者而言man 5 rio是查询配置项与默认值的首选入口man 5 rio-bindings则汇总了跨平台默认快捷键对希望自定义终端的开发者而言结合 rio-backend/src/config 目录下的源码阅读手册可以准确掌握每个配置键的解析方式、默认值来源与平台差异从而写出既符合规范又能被终端正确加载的config.toml。赞分享开发工具CLI跨平台【免费下载链接】rioA hardware-accelerated GPU terminal emulator focusing to run in desktops and browsers.项目地址https://gitcode.com/gh_mirrors/ri/rio点击查看免费下载相关推荐Alacritty 如何用 scdoc 源码生成并安装 man 手册页Alacritty 如何用 scdoc 源码生成并安装 man 手册页 用源码安装 Alacritty 时 cargo build release 只产出终桌面应用Browserify手册安装与配置指南Browserify手册安装与配置指南 前言为什么需要Browserify 在现代前端开发中模块化已经成为不可或缺的实践。然而浏览器原生并不支持Comm文档教程《SDN手册》安装与配置指南《SDN手册》安装与配置指南 1. 项目基础介绍 《SDN手册》是一个开源项目旨在为网络工程师和开发者提供SDN软件定义网络的学习资料和实践案例。该项目涵上一篇PlantUML 许可证全解默认 GPL-3.0 与多许可证选择机制、npm 分发与生成图片版权归属下一篇PMail个人邮件服务器3步搭建私有邮箱的完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表