系统极客一直在努力
专注操作系统及软件使用技能

Fish Shell 4.7 发布:启动、补全、稳定性全方位升级

Fish Shell

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 在收到SIGTERMSIGHUP信号时,向历史文件写入 NUL 字节导致的文件彻底损坏 Bug。
  • 隐私模式下的内存历史记录不会再与内建read命令共享,敏感输入完全隔离,不会意外泄露。
  • vi 模式下执行dl令的异常行为已经修复,换行后退格键的响应逻辑也做了梳理,短选项后不会再无理由弹出冗长的长选项补全。
  • 此外,nosuchcommand || echo hello这类组合命令右侧分支被错误多次执行的漏洞,也已经被彻底根除。
赞(2)
分享到

评论 抢沙发