
Fish Shell 4.7 正式发布,集中优化了环境变量加载逻辑、界面绘制细节和进程保护机制。
Fish Shell 4.7 主要更新
精简非交互环境与 UI 调优
非交互式 Shell 场景的默认逻辑做了调整:不再自动加载fish_color_*等默认主题变量,剔除非标准终端下的冗余配置,启动速度有明显提升。
其他相关改进:
prompt_pwd命令现在会自动剥离控制字符,输出路径更加纯净,不会再带乱码。- 重绘(Repaint)事件不会再意外重置补全分页器或其他临时 UI 状态,输入到一半的内容不会凭空消失。
fish_color_valid_path变量新增背景色与下划线样式支持,路径高亮的自定义空间更大。funced丢进度的问题彻底修复——就算没保存代码就碰到重复解析错误,已经写完的内容也不会丢失。
补全机制升级
- 自动补全逻辑进行了多项针对性调优:目录补全现在采用更可预期的排序策略,找文件不用再盯着列表反复确认。
- 升级了
fish_update_completions脚本:原生支持 groff 设备控制转义符解析。扫清了新版help2man带来的格式解析障碍。现在,coreutils 9.10 等现代软件包的 man 手册补全已经能正常使用。
历史记录重构与核心修补
- 彻底修复了 Shell 在收到
SIGTERM或SIGHUP信号时,向历史文件写入 NUL 字节导致的文件彻底损坏 Bug。 - 隐私模式下的内存历史记录不会再与内建
read命令共享,敏感输入完全隔离,不会意外泄露。 - vi 模式下执行
dl令的异常行为已经修复,换行后退格键的响应逻辑也做了梳理,短选项后不会再无理由弹出冗长的长选项补全。 - 此外,
nosuchcommand || echo hello这类组合命令右侧分支被错误多次执行的漏洞,也已经被彻底根除。












最新评论
鼠标指针也没了qwq
我删除的时候文件损坏了,还得重新安装再删掉。。。。。
禁用容易,稳定不禁用难。
有吗?我现在主要用 Brave,Edge 基本不用了,没发觉……