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

Fish Shell 4.9.1 发布:修复 Konsole 滚动问题、优化脚本解析

Fish Shell

Fish Shell 4.9 版本正式发布,改进集中在 Konsole 终端兼容性、交互式补全和脚本解析三个方向;紧随其后推出的 4.9.1 小版本,则重点修复了不同键盘布局、输入法和 macOS 终端下的按键输入回归问题。

Fish Shell 4.9.1 主要更新

这是针对 4.9.0 的快速修复版本,重点解决不同输入环境下的键盘处理问题:

  • 修复非默认键盘布局的按键绑定错误:此前 Fish 可能会按照物理按键位置触发绑定,而不是当前键盘布局所对应的字符。比如用 Dvorak 布局时输入s,就有可能会误触发默认的;绑定。
  • 修复部分输入法的候选字符确认问题:修复了在使用某些输入法输入字符后,按「空格」确认时,Fish 可能会错误插入空格,而不是提交目标字符的问题。
  • 恢复 macOS 终端的历史输入行为:在 macOS 终端下,Option + L等组合键之前可能会被错误识别为Alt + L快捷键,无法按当前键盘布局输入对应字符,比如德语键盘下的@。

Fish Shell 4.9 主要更新

  • 修复 Konsole 终端滚动异常:为了规避 Konsole 26.07.80 中 kitty 键盘协议的实现问题,Fish 检测到当前运行在 Konsole 下时,不会再主动请求该协议,Shift + PageUp等滚动快捷键恢复正常。如果需要在 Konsole 中重新启用 kitty 键盘协议,可以通过omit-term-workarounds功能标志手动开启。
  • 按键映射和补全体验升级:在 kitty 等部分终端中,Shift + Space和普通Space现在支持分别绑定;目录存在指向网络挂载目录这类解析缓慢的符号链接时,Tab 自动补全的响应速度也有所提升。
  • 缩写和 Vi 模式修复:自定义缩写现在可以添加说明文字,说明会显示在补全分页器中,方便区分缩写规则;Vi 模式下的cF和cT命令也恢复了正常行为。
  • 优化脚本解析规则:
    • 列表索引支持更多嵌套写法,比如$foo[$bar[1] 2];
    • 转义后的方括号不会再被误判为切片运算符;
    • 索引变量即使包含右方括号,也不会提前结束切片;
    • 内置帮助页面会尊重用户对man函数的自定义覆盖;
    • status=123 echo $status这类覆盖受保护变量的写法,现在会明确报错,不再静默忽略。
  • 修复多个历史回归问题:解决了 C 库错误消息中的中文、日文翻译异常,set --erase意外允许删除只读变量,以及 NetBSD 平台内置fg命令从 4.0.0 版本起失效等问题。
赞(1)
分享到

评论 抢沙发