终端

DR-Terminal 自带一个用 Kotlin 从零编写的 VT100/xterm 模拟器 — 没有 WebView。它支持 xterm-256color、备用缓冲区(vim/less/nano)、OSC 52 剪贴板、焦点事件以及鼠标跟踪(mc、htop)。

键盘与快捷键

快捷键操作
Ctrl+C — 当选中文本时将所选内容复制到剪贴板。未选中时,正常的 SIGINT 会传达到远程进程。
Enter — 当选中文本时备用复制快捷键(在没有 Ctrl 的键盘上很方便)。
右键 / 复制菜单选择后的上下文菜单 — 始终可用。
Ctrl+V粘贴。多行剪贴板内容会打开一个多行粘贴确认对话框。
Shift+Insert粘贴 — 经典的 X11/Windows 肌肉记忆。单独的 Insert 仍会传达到 shell。
Shift+Delete复制所选内容并清除选区(剪切风格)。
Ctrl+F打开查找栏(参见 在输出中查找)。shell 完全看不到该按键。
Ctrl+Shift+S打开命令片段选择器(参见 命令片段)。单独的 Ctrl+S 仍会传达到 shell。
快捷键栏esc、ctrl、tab、方向键、常用 shell 符号、snip 键和 ⌨ 切换键 — 在移动端很有用。功能键和导航键位于 DevOps 键盘的 fn 层以及可选的 F 键行上。
字号终端菜单中的 A- / A+ 步进器;范围 8–32 pt。

在 macOS 上,上表中列出 Ctrl 的地方都可以使用 Cmd:Cmd+C、Cmd+V、Cmd+F 和 Cmd+Shift+S 的行为与对应的 Ctrl 组合相同。

DevOps 键盘(Android 和 iOS)

系统键盘在终端里处处添乱:自动纠错会破坏 sudo -rf,shell 符号藏在两层之外,非拉丁布局往往根本没有 ASCII。DR-Terminal 自带始终-ASCII 的 DevOps 键盘,由应用自行绘制,按键直接送入终端 — 系统输入法完全看不到它们。

层:小写字母、大写字母(Shift)、数字、shell 符号(| ~ $ & ' " \ …`)以及 fn/nav 层(F1–F12、方向键、Home/End、PgUp/PgDn)。Ctrl/Alt/Shift 为粘滞键:单击对下一个按键生效,双击锁定。长按 、方向键或空格可重复输入;角上带小标记的按键长按可输入替代字符。

设置 → 键盘(移动端):默认键盘Auto 在系统语言为非拉丁语系(阿拉伯语、希伯来语、中日韩…)时选择 DevOps 键盘,否则用系统输入法;布局 — Auto/QWERTY/QWERTZ/AZERTY;*不透明度*和*按键大小*滑块;显示 F 键 — 在键盘上方始终可见的 F1–F10 行,便于 mc/htop 工作流。所有键盘偏好都会随手机或平板导出的加密配置备份一起迁移。

选择、复制、粘贴

桌面端:用鼠标拖动进行选择。双击选中一个单词,三击选中一行。松开按钮即可通过上述快捷键复制;右键打开菜单。

Android 与 iOS:在终端内任意位置 长按 即可开始选择,然后拖动以扩展、松开以复制 — 文本会进入系统剪贴板。短触仍会穿透到 shell;滑动仍会滚动历史,因此常用手势照常工作。

OSC 52 让远程程序(tmux、vim、fzf)通过一个转义序列复制到你的系统剪贴板 — 双向。

多行粘贴:当你的剪贴板包含换行符时,你会看到一个多行粘贴预览对话框 — 防止粘贴你尚未检查的命令。

回滚与历史

回滚缓冲区最多保留 1000 行。滚轮或触摸拖动可滚动;光标会正确地离开视口(xterm 行为),任何选区都会随文本一起滚动。

清除历史 位于侧边栏的 历史 标签页中,它会清除该连接已保存的 命令 历史 — 不会影响屏幕上的回滚内容。

终端右侧边缘会出现一个 滚动条(桌面端)— 用鼠标抓住它即可浏览历史;Android 和 iOS 则通过触摸滚动。滚轮滚动速度 可在 设置 → 终端 中配置(每次滚轮拨动的行数)。

备用缓冲区(全屏应用)

vimlessnanohtopmc 这样的程序会切换到 备用缓冲区 — 一个独立的屏幕,退出时消失,不会污染主回滚区。

在输出中查找

Ctrl+F(macOS 上为 Cmd+F)打开 查找栏。它会实时搜索回滚区,高亮每一处匹配并在它们之间逐个跳转。高亮是渲染时的叠加层 — 它绝不会向 SSH 流注入任何内容。

字体、主题、高亮

命令片段

命令片段 是可复用的命令模板,你可以把它们发送到任意会话。模板中可以嵌入带类型的占位符 — ping -c {count:int=4} {host:ip} — 运行这类片段会打开一个小对话框来询问这些值(intipboolenum 占位符会得到相应的输入控件和校验)。不含占位符的片段会直接运行。立即运行(发送 Enter) 决定是替你发送 Enter,还是只把命令放到提示符处供你编辑。

运行片段的方式:

每个片段都有一个 可见范围:对 所有主机 可见、对某个 分组 可见,或仅对单台 主机 可见。可选的 系统 过滤器(Debian、RHEL、Arch、macOS…)可进一步收窄范围,因此 apt 片段只会在被检测为 Debian 系的主机上出现 — 检测来自登录时的探测(参见下文 主机洞察)。仅在可用时显示 还会在确认主机上不存在该命令时隐藏片段。没有 SSH 主机的会话(本地、串口、Telnet)只能看到全局片段。

设置 → 终端 → 命令片段 中管理片段:添加、编辑、创建副本和删除,设置可见范围、系统以及立即运行标志。首次运行时会预置一个包含上百个现成片段的目录 — 按系统分类(Debian、RHEL、Arch、Alpine、SUSE、BSD、macOS),外加 Docker、网络、存储和工具集 — 你可以像编辑自己的片段一样编辑或删除它们。

命令历史与自动补全

每个已保存连接都会记住它的命令历史(如果 保存历史 已开启)。上方向键调出更早的命令,自动补全字段会建议服务器上可用的命令名 — 这是实时的 shell 补全,与你输入过的历史不同。

主机洞察(实时状态)

SSH 会话登录后,应用会静默探测主机 — 操作系统名称、CPU 型号和核心数 — 并开始轮询实时状态:平均负载、内存、交换分区以及各挂载点的磁盘使用率,每一项都带有使用率条,超过 75% 变为琥珀色,超过 90% 变为红色。

会话标签页

每个会话 — SSH、SFTP、本地、串口、Telnet — 都存在于一个标签页中。长按(移动端)或右键点击(桌面端)标签页,或活跃会话列表中的卡片,即可打开它的菜单:重命名连接信息重启会话关闭标签页重启会话 会拆除连接并从头重连,同时保留标签页 — 在服务器重启后很方便。当远程会话断开时,终端菜单还会出现 重新连接 项,可就地重新建立连接(本地终端不提供该项 — 请改为新开一个)。

侧边栏(右侧面板)— 主机 / 历史 / 补全 / 命令片段 / 主题

终端右侧(桌面 / 平板)有一个可折叠面板,包含五个标签页。用右边缘的箭头打开它;拖动左边缘可调整大小。状态 按别名 保存 — 每个已保存连接都会记住它的标签页和宽度。

主题 — 终端主题(435 套配色)

主题 按别名 设置 — 每个连接都有自己的背景色、前景色和 16 色 ANSI 调色板(与 ls --color 使用的索引相同:标准 0–7 + 高亮 8–15)。

Android 与 iOS:整个桌面侧边栏被替换为终端顶栏中的一个 调色板图标。点击它会弹出一个底部弹层,包含同样的 435 套主题目录,可搜索并带有实时色块预览。点击某一行会应用该主题并关闭弹层,让你立即看到效果;顶部的 重置 按钮会清除任何覆盖项,使该别名回退到其默认值。

这 435 套内置主题来自开源的 edcet/terminal-themes 合集(MIT)。

Previous
身份验证
Next
SFTP