首页 >系统教程 >LINUX >鱼壳4.0β发行:重大改写,并进行关键改进

鱼壳4.0β发行:重大改写,并进行关键改进

Lisa Kudrow
Lisa Kudrow原创
2025-03-07 12:00:18746浏览

Fish Shell 4.0 Beta 发布:Rust 重写带来重大改进

备受好评的 Fish shell 刚刚发布了新的 Beta 版本——4.0!这是一个重大的变化,因为这是其 重大重写 后的首个版本。Fish shell 最初是用 C 编写的,但现在是用 Rust 编写的。这意味着 shell 的核心代码已被彻底更改。

Fish shell 4.0 的首个 Beta 版本带来了许多变化,无论大小。以下是一些亮点:

  • 改进的按键绑定: Fish 现在支持更多按键组合,使其更易于使用。
  • 更好的自动建议: Fish 现在可以提供更好的命令建议,使其工作速度更快。
  • 增强的脚本功能: 一系列改进将使编写 Fish 脚本更容易。
  • 更好的终端支持: Fish 现在更好地支持更广泛的终端,使其更灵活。

目录

  • Fish Shell 4.0 Beta 的主要改进
  • 下载 Fish 4.0b1 Beta

为什么 Fish Shell 选择 Rust?

Fish shell 的开发者选择 Rust 作为其重写目标语言,主要基于以下几个关键原因:

Rust 是一种系统编程语言,具有 广泛的平台支持庞大而活跃的社区,并且很有可能在未来仍然保持其重要性。这是一个关键的考虑因素,因为开发者希望确保项目的长期可持续性。

开发者还认为 Rust 的 安全性和可靠性 功能将有助于防止错误并使 shell 更稳定。这尤其重要,因为 shell 用于控制计算机,错误可能造成严重后果。

更重要的是,Rust 在 线程安全 功能方面的独特优势为在 Fish shell 中启用并发模式的挑战提供了解决方案。这是开发者长期以来的目标,但在 C 中很难安全地实现。

最后,开发者考虑了其他语言,但最终认为 Rust 最适合

他们排除了 Java、Python 和其他脚本语言,因为担心启动延迟和内存使用情况。

Go 语言由于其对 fork 系统调用的处理方式而被认为不太合适。

其他系统编程语言,如 D、Nim 和 Zig,被认为过于小众,这意味着它们贡献者较少,并且未来变得无关紧要的风险较高。

Fish Shell 4.0 Beta 的主要改进

Fish shell 的这个 Beta 版本 (4.0b1) 包括 将核心代码从 C 重写为 Rust。它提供了一些显著的改进和修复:

首先,Fish 现在请求 XTerm 的 modifyOtherKeys 键盘编码和 kitty 键盘协议的渐进式增强功能,这可能会允许绑定更多按键组合,具体取决于终端支持。

此外,bind 现在支持人类可读的语法。Fish 现在也可以构建为自安装二进制文件。

其次,对脚本编写和交互式使用进行了许多改进。例如,在命令输入期间按 ctrl-c 将只会清除命令行,而不是打印 ^C 和新的提示符。

绑定现在也可以混合使用特殊的输入函数和 shell 命令。ctrl-r 历史搜索现在使用 glob 语法,并且只对光标处的行或命令替换进行操作,从而更容易组合历史记录中的命令。缩写现在可以限制为特定命令。

第三,有许多交互式改进,包括撤销历史不再在每个命令后被截断,并且 ctrl-v 现在从粘贴的文本中去除 ASCII 控制字符。

还有一些新的或改进的绑定,包括 alt-o 用于在编辑器中打开当前命令,以及 shift-delete 用于删除当前搜索项并在向上箭头历史搜索期间移动到下一个较旧的项。

还有一些完成方面的改进,例如特定于命令的制表符完成现在能够提供第一个字符为句点的结果,并且选项完成现在使用模糊子序列过滤。

最后,此版本包括改进的终端支持,包括 Fish 现在标记提示符和命令输出区域(通过 OSC 133)以启用终端 shell 集成,并无条件报告工作目录(通过 OSC 7)。

这只是此版本中许多更改的简要概述。您可以在 GitHub 上的发布说明中找到更详细的信息。

下载 Fish 4.0b1 Beta

这个 Beta 版本是 Fish 的一个重大进步。看到这款流行 shell 的未来发展令人兴奋!如果您想尝试一下,可以从 GitHub 上的 Fish 发行页面 下载。

请注意,这是一个 Beta 版本,因此可能存在一些错误。如果您正在将 Fish 用于重要的工作,最好等待最终版本发布。

但是,如果您喜欢尝试新事物并帮助进行测试,请继续尝试!您可以在 Fish GitHub 页面上报告您发现的任何问题。

Fish Shell 4.0 Beta Released: Major Rewrite In Rust With Key Improvements

以上是鱼壳4.0β发行:重大改写,并进行关键改进的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn