
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 版本起失效等问题。














最新评论
不支持英伟达mx350显卡
连接不到镜像源是网络问题,你懂的
微软:我有这个能力,但我就是要用来做广告,就问你气不气🤳。
微软有这塞广告的功夫,还真可以在开箱阶段把配置环境写上去,大家按需勾选就行了