Shell 函数
本文译自 The Omarchy Manual — Shell Functions,同步自 basecamp/omarchy@ed7bae4。术语以 TERMS.md 为准。
Omarchy 自带一组 shell 函数,用来简化常见任务、封装复杂的参数调用。
压缩
compress [file/dir]:把文件/目录打成 tar.gz 归档。decompress [file.tar.gz]:解开 tar.gz 文件。
磁盘
iso2sd [image.iso]:用指定的 iso 文件制作可启动 U 盘/SD 卡,交互式选择目标盘。format-drive [device] [name]:把整块磁盘格式化为单个 exFAT 分区(Windows 和 macOS 也能读)。不带参数运行可查看可用磁盘。小心使用!
开发布局
tmux 的即开即用多面板开发布局:
tdl [ai]:创建带编辑器、AI Agent 和终端的 Tmux Dev Layout。使用 Agent 别名,如tdl c开 opencode、tdl cx开 Claude Code;传第二个 Agent 可同时跑俩,如tdl c cx。tds:创建 Tmux Dev Square,含编辑器、diff 监视(经hunk diff --watch)、终端和 opencode。tdlm [ai]:为当前目录下的每个子目录各创建一个tdl窗口。tsl [count] [command]:创建网格平铺的面板蜂群,全部运行同一条命令(跑 AI Agent 特别合适)。
同样的布局在 Herdr 里对应 hdl、hds、hdlm 和 hsl。
Git worktree
ga [branch]:在当前仓库旁新建 worktree 和分支并跳进去。gd:删除当前 worktree 及其分支(先要求确认)。
Rsync 监视器
rsw [source] [destination]:启动后台监视器,源一有变化就 rsync 到目标。目标可以是远程主机,比如rsw ~/Work/app nyc-dev:Work/app。lsw:列出所有活跃监视器。dsw:停止所有活跃监视器。
SSH 端口转发
适合对着远程机器做需要 localhost 安全上下文特权的 Web 开发。
fip:把远程主机的一个或多个端口经 SSH 转发到 localhost。dip:断开一个或多个已转发的端口。lip:列出所有活跃的 SSH 端口转发。
假设你在可访问为 nyc-dev 的机器上起了个 3000 端口的开发服务器,那么运行 fip nyc-dev 3000 转发该端口后,localhost:3000 实际到达的是 nyc-dev:3000——而且无需 SSL 证书就能获得测试 WebSocket 等所需的安全上下文。
SSH 自动重连
ssh 本身也被包了一层函数:当远程 tmux、Herdr 或编辑器占着终端而连接断掉时清理终端状态,并在交互会话掉线时自动重连(Ctrl-C 可停止重试循环)。