iSH 终端快捷键 13 个技巧:iOS 上跑 Linux 命令行,双手不用离开手机
【免费下载链接】ishLinux shell for iOS项目地址: https://gitcode.com/GitHub_Trending/is/ish
iSH 是 iOS 上运行 Linux 命令行的终端 App,靠 x86 模拟跑 BusyBox 等工具。手机键盘没有 Ctrl,也没有退格之外的"编辑键",徒手敲apt update && apt install -y ...这种长命令时,打错一个字母就得从头再来。这篇指南按"先能用 → 分场景 → 外接键盘重映射"的顺序,带你把这些 iSH 终端快捷键用到手熟。
如何在不碰实体键盘的情况下发出 Ctrl 组合键
iSH 的工具栏上有几个触控按钮:Control、Esc、Tab、方向键,以及隐藏键盘用的按钮。其中 Control 是核心。
- 场景:你想发 Ctrl+C 打断一个卡住的命令。
- 操作:按住 Control 按钮不放,再点键盘上的
c。长按 Control 可以锁定它(按钮变色),之后每按一个字母都自动变成控制字符,松手或再点一次即解除。 - 效果:一次长按,连发多个控制组合,拇指不用在两个区域之间来回跳。
这套机制在 TerminalView.m 的insertText:和insertControlChar:中:Control 选中状态下,单个字母会被转换成对应的控制字符再送进终端。Esc 和 Tab 按钮同理,点一下就发送转义字符或制表符。
上手即用的 3 个按键
| 按键 | 功能 | 什么时候用 |
|---|---|---|
| Control | 配合字母发出控制字符 | 发 Ctrl+C、Ctrl+A 等任何组合键 |
| 方向键 | 上/下翻历史命令,左/右移动光标 | 重跑上一条命令、微调光标位置 |
| Tab | 命令补全 | 输入前几个字母后补全文件名、命令名 |
Tab 补全是效率跃迁的第一步:敲apt in再按 Tab,不用记全参数。方向键在源码里被翻译成标准 ANSI 转义序列(\x1b[A这类),所以任何 shell 程序都能正确响应,见 Terminal.m 的arrow:方法。
如何一步修正命令拼写错误
- 场景:命令敲到一半发现第 3 个字符打错了。
- 操作:点一下屏幕中错误字符的位置,光标会跳到那里(iSH 把点击坐标换算成行列,逐个发方向键移动光标);按住 Control 点
k,从光标删到行尾;再补上正确的后半段。 - 效果:不用退格退十几下,也不用整行重输。
配套几个 readline 编辑键:
| 组合键 | 功能 | 什么时候用 |
|---|---|---|
| Ctrl+A | 跳到行首 | 想在开头加 sudo、echo 等前缀 |
| Ctrl+E | 跳到行尾 | 想补一个参数或管道 |
| Ctrl+K | 删除光标到行尾 | 修正后半段拼写 |
| Ctrl+U | 清空整行 | 彻底放弃重来 |
| Backspace | 删前一个字符 | 常规打错字 |
注意:删到"行首"依赖 shell 的 readline 实现,iSH 本身只负责把控制字符准确送进去。
不抬手清屏的最快方式
- 场景:
df -h之类命令把屏幕刷满了。 - 操作:Control +
l,当前界面立刻重绘成干净的提示符。 - 效果:无需重开终端,当前会话状态原样保留。
外接键盘用户还有一个 App 级快捷键:Shift+Cmd+K直接清空滚动回看区,比 Ctrl+L 更彻底。它定义在 TerminalView.m 的keyCommands里,动作是clearScrollback。
另外想引用之前某段输出?直接长按屏幕选中文字即可复制,复制/粘贴走的是系统剪贴板,paste:动作会把剪贴板字符串整段送入终端。
如何打断、暂停一个失控的进程
| 组合键 | 功能 | 什么时候用 |
|---|---|---|
| Ctrl+C | 终止前台进程 | tail -f忘了停、命令卡死 |
| Ctrl+Z | 挂起进程到后台 | 想临时让出终端 |
| Ctrl+D | 结束输入 | 退出 shell 会话,或结束cat的输入 |
| Ctrl+R | 反向搜索历史 | 找回昨天敲过的那条长命令 |
Ctrl+R 配合方向键/Enter 确认,是 iSH 高效输入里最被低估的一招:手机上找历史命令靠翻记录很慢,搜一下就行。
外接键盘:把 Option 和 Caps Lock 改造成 Esc
手机用户用工具栏按钮,外接键盘用户则可以重映射按键,配置项都在 App 设置里,对应 UserPreferences.h 中的optionMapping、capsLockMapping、backtickMapEscape:
- Option → Esc:设为 Esc 模式后,Option+字母会发送
\x1b前缀,等同 Meta 键。 - Caps Lock → Control 或 Esc:把闲置的 Caps Lock 变成最顺手的功能键。
- 反引号 ` → Esc:部分布局没有 Esc 键时的替代方案。
另有几个 App 级组合(TerminalViewController.m 的keyCommands):Cmd+1~7切换多个终端会话,Cmd+-/Cmd++/Cmd+0缩小/放大/还原字号,Cmd+,打开设置。
速查卡片
控制字符:长按 Control + 字母 打断:Ctrl+C 暂停:Ctrl+Z行首/行尾:Ctrl+A / Ctrl+E 删到行尾:Ctrl+K 清空:Ctrl+U 重绘屏幕:Ctrl+L 清回看区:Shift+Cmd+K 历史搜索:Ctrl+R / 方向键 切会话:Cmd+1~7下一步学什么
建议的学习路径:第一周只用 Control 按钮 + Tab + 方向键,把"发组合键"变成肌肉记忆;第二周加入 Ctrl+A/E/K/U 的编辑键和 Ctrl+R;稳定之后再接外接键盘调重映射。下一步如果你想在 iSH 里装 Python 3 或搭开发环境,那是下一篇要聊的事——先让手指习惯键盘,再谈软件包。
【免费下载链接】ishLinux shell for iOS项目地址: https://gitcode.com/GitHub_Trending/is/ish
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考