从终端敲一行命令,把文件送进已经打开的砚
终端标签做完以后,我又回头补了一轮窗口入口。编辑器本身已经能干不少事,但从文件夹、Dock、命令行进去,应该落在哪个窗口,还没完全接顺。
这一篇记 alpha.9 和 alpha.10:先把打开文件这件小事补齐,再给窗口加一点装饰。
同一个文件夹,别开出两份现场
"在新窗口打开文件夹"已经有入口了,但如果那个文件夹本来就在另一个窗口里,应该把它叫到前面。
只比较路径字符串不够。同一个目录可能通过软链接打开,文字不同,指向的却是同一份文件。如果再开一遍,一边还有未保存修改,另一边已经读到磁盘上的旧内容,人很容易弄混。
这次窗口路由按文件系统身份识别目录,也会检查其他窗口里的项目标签。最近文件夹菜单和 Dock 菜单走同一条路,打开、复用和聚焦不用各写一套规则。
这里我最在意的是原来那份没保存的内容:换个入口进来,它还得在那里。
yan file:42,送到正在运行的窗口
图形版加了命令行启动器,在文件菜单里选择安装以后,可以这样用:
sh
yan ./project
yan ./src/main.go:42
yan ./README.md ./CHANGELOG.md
第二个进程收到参数,会把请求交给已经运行的应用。打开文件还能带行号,不必再手动搜一次。
冒号有个小坑:真实文件名也可能以 :42 结尾。因此解析时先看这个文件是否真的存在,存在就按完整文件名处理,再考虑行号语法。以短横线开头的文件名则可以放在 -- 后面。
安装动作也收了一下范围:由人主动点菜单,不替人改 shell 配置,目标位置已有其他文件或软链接就拒绝覆盖。机器上如果已经装了终端版 yan,不能为了图形版的方便把它顶掉。启动器指向安装时的可执行文件,后来移动应用,还得重新安装入口。
状态栏上的 LF,终于能点了
缩进和换行符一直显示在状态栏里,只展示、不让改,用起来总觉得少了一步。这轮让它们变成了操作入口。
缩进选择改变后续编辑的行为,已有文本留在原样。LF 和 CRLF 切换则真的转换文档,作为一次编辑记进撤销历史,BOM、选区和保存冲突检查也要跟着保留。
侧边栏同时支持移到另一侧,配置会记住选择,终端版也沿用这个设置。
再给空白页一点动静
alpha.10 接着补了 Mayoi 的 Clawd 和 Matrix 装饰。Clawd 在欢迎页和状态栏出现,空闲时眨眼,Git 或文件搜索运行时换动作;数字雨只放在欢迎背景,不盖住已经打开的文件。
这部分用了上游的绘制和动作思路,来源保留在第三方声明里。
动画跟着绘制调度走,没有为它额外开一个持续刷新编辑器的循环。窗口失去焦点,或者系统要求减少动态效果时,就停成静态。想完全去掉,也能在主题菜单里关掉。
这些装饰不会让编辑器多会写一行代码,但每天打开它时,确实能让这个小工具多一点自己的样子。前提是开关好找,文件打开以后也别抢眼。
下载试用
记录 alpha.9/alpha.10;早期安装包在私有仓库,下面用后续公开 alpha.17 供试用。
下载地址核对于 2026-10-19。安装包适用于 macOS 13+、Apple Silicon,目前尚未 Apple 公证,首次打开说明见发布页。