Omarchy 中文指南
日常工作流

Omarchy Shell 效率技巧:fzf、Tmux、Worktree、同步与端口转发

使用 Omarchy 内置 fzf、Zoxide、ripgrep、fd、bat、Tmux 布局、Git worktree、rsync watcher 和 SSH 端口转发提升终端效率。

AMZDIR Editorial · 发布 · 更新

Omarchy 预装了一组现代 Shell 工具,并把常见的多窗格开发、Git worktree、文件同步和 SSH 转发封装为短函数。先理解每个别名会做什么,再把它放进重要项目;短命令不是跳过 Git 状态、目标路径和权限检查的理由。

先确认命令来自哪里

Shell 函数、别名和可执行文件的行为不同。遇到教程中的短命令,先运行:

type ff
type tdl
type ga
type rsw
type fip

type 会告诉你它是别名、函数还是可执行文件。若当前系统找不到命令,先完成官方更新并重新打开终端,不要从旧帖子复制同名脚本覆盖它。

用现代工具替代冗长操作

目标Omarchy 常用入口关键技巧
模糊找文件ff在当前目录树搜索并预览
搜索命令历史Ctrl + R由 fzf 交互筛选历史
跳转常用目录cd omaZoxide 会匹配访问过的路径
搜索文件内容rg Controller app/默认递归且速度快
按名称找文件fd person.rb-H 才包含隐藏路径
带高亮查看文件bat file.rb同时提供行号和分页
查看命令示例tldr tar先看常用用法,再需要时读 man
建临时实验目录try统一放在 ~/Work/tries

fd ... / -H 会遍历整个文件系统和隐藏目录,可能很慢并触达不应公开的路径。优先从项目目录开始。

一键建立 Tmux 开发布局

先用 Super + Alt + Return 打开 Tmux 终端,再在 Tmux 会话中运行:

函数作用
tdl [agent]编辑器、AI Agent、终端三栏布局
tds编辑器、实时 diff、终端、Agent 四格布局
tdlm [agent]为当前目录的多个子目录各建一个布局
tsl [count] [command]把同一命令铺到多个窗格

例如:

cd ~/Work/example
tdl cx

这会把 Claude Code 别名 cx 放进开发布局。Agent 可能执行写操作;先在非关键仓库确认当前目录、权限模式和 Git diff。tsl 并行运行同一命令时,避免让多个窗格同时修改同一文件、数据库或部署目标。

Herdr 提供对应的 hdl、hds、hdlm、hsl。不要在同一教程里默认读者已经安装或启用了所有可选 Agent。

用 worktree 隔离并行分支

Omarchy 提供:

  • ga [branch]:在主仓库旁建立新 worktree 和分支并进入;
  • gd:删除当前 worktree 及其分支,执行前会确认。

建议流程:

git status --short
ga feature/search
git status --short

开始前确认原仓库没有被忽略的本地依赖或未提交基线;完成后先提交/推送需要保留的工作,再运行 gd。删除 worktree 与分支是实质性操作,不能只凭“已合并”提示判断本地内容可丢弃。

用 rsync watcher 同步开发目录

rsw [source] [destination] 会在源目录变化时后台同步,目标也可以是 SSH 主机:

rsw ~/Work/app nyc-dev:Work/app
lsw
dsw
  • lsw 列出活动 watcher;
  • dsw 停止全部 watcher。

先用一个临时目录验证方向、忽略规则和删除行为。同步不是备份:错误的源、目标或自动删除策略可能快速传播问题。对生产主机,优先使用带审查和发布记录的部署流程。

把远程端口安全映射到 localhost

当开发服务运行在 SSH 主机 nyc-dev 的 3000 端口时:

fip nyc-dev 3000
lip
dip

fip 建立一个或多个转发,lip 查看活动转发,dip 断开。这样可通过 localhost:3000 访问远端开发服务,并获得浏览器对 localhost 安全上下文的支持。

端口转发不等于远端服务已经安全。确认 SSH 主机身份、监听地址和应用认证;不要把数据库、管理面板或无认证服务转发给不受信任用户。

Omarchy 的交互式 ssh 包装还会在连接中断后清理终端状态,并尝试重连。Ctrl + C 可停止重试;长任务仍应运行在远端 Tmux/Herdr 中,而不是依赖网络连接一直存在。

压缩与磁盘函数的安全边界

compress [file/dir] 与 decompress [file.tar.gz] 适合常规 tar.gz 打包。解压未知归档前先列出文件,避免路径穿越或覆盖同名内容。

下面两个函数会改写整块设备:

iso2sd image.iso
format-drive /dev/device NAME

iso2sd 制作启动盘,format-drive 把整盘格式化为单个 exFAT 分区。执行前必须通过容量、型号、挂载点和设备路径多重确认目标;不要把网页示例中的 /dev/device 直接替换成猜测值。

把效率技巧变成可恢复流程

  1. 用 type 和 --help 确认当前命令;
  2. 在测试目录运行一次;
  3. 保存 Git 状态、同步方向和远端目标;
  4. 并行任务之间隔离 worktree、端口与数据;
  5. 结束后关闭 watcher 和端口转发;
  6. 用测试、Git diff 和真实访问验证结果。

桌面侧技巧见Omarchy 4 隐藏技巧,编辑器与窗格基础见终端、Tmux 与 LazyVim。

来源:Omarchy Shell Tools、Shell Functions、Terminal。

On this page