从终端敲一行命令,把文件送进已经打开的砚

从终端敲一行命令,把文件送进已经打开的砚

终端标签做完以后,我又回头补了一轮窗口入口。编辑器本身已经能干不少事,但从文件夹、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 公证,首次打开说明见发布页。


仓库留档

相关推荐
敲代码的玉米C2 小时前
设置导进来了,界面却没变:配置不能只管写文件
go
人人都是软件工程师2 小时前
24-数据库操作:database/sql、连接池与事务
go
敲代码的玉米C2 小时前
两个提交到底差在哪:给砚补上比较和补丁导出
go
敲代码的玉米C2 小时前
终端里的工具改了文件,砚不能还停在旧内容上
go
敲代码的玉米C2 小时前
功能藏得有点深了,给砚加一个能跟着做的教程
go
敲代码的玉米C2 小时前
一个目录里放了几个仓库,提交按钮到底该操作谁
go
敲代码的玉米C2 小时前
想在 Markdown 预览里改两个字,最后补了一套块编辑
go
敲代码的玉米C2 小时前
不想每次都手动换 DMG,我给砚接了自动更新
go
敲代码的玉米C2 小时前
看完代码先留几条批注,再一起交给终端里的工具
go