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 页面上报告您发现的任何问题。
以上是鱼壳4.0β发行:重大改写,并进行关键改进的详细内容。更多信息请关注PHP中文网其他相关文章!

Linux系统管理员的主要任务包括系统监控与性能调优、用户管理、软件包管理、安全管理与备份、故障排查与解决、性能优化与最佳实践。1.使用top、htop等工具监控系统性能,并进行调优。2.通过useradd等命令管理用户账户和权限。3.利用apt、yum管理软件包,确保系统更新和安全。4.配置防火墙、监控日志、进行数据备份以确保系统安全。5.通过日志分析和工具使用进行故障排查和解决。6.优化内核参数和应用配置,遵循最佳实践提升系统性能和稳定性。

学习Linux并不难。1.Linux是一个开源操作系统,基于Unix,广泛应用于服务器、嵌入式系统和个人电脑。2.理解文件系统和权限管理是关键,文件系统是层次化的,权限包括读、写和执行。3.包管理系统如apt和dnf使得软件管理方便。4.进程管理通过ps和top命令实现。5.从基本命令如mkdir、cd、touch和nano开始学习,再尝试高级用法如shell脚本和文本处理。6.常见错误如权限问题可以通过sudo和chmod解决。7.性能优化建议包括使用htop监控资源、清理不必要文件和使用sy

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

Linux操作系统的核心是其命令行界面,通过命令行可以执行各种操作。1.文件和目录操作使用ls、cd、mkdir、rm等命令管理文件和目录。2.用户和权限管理通过useradd、passwd、chmod等命令确保系统安全和资源分配。3.进程管理使用ps、kill等命令监控和控制系统进程。4.网络操作包括ping、ifconfig、ssh等命令配置和管理网络连接。5.系统监控和维护通过top、df、du等命令了解系统运行状态和资源使用情况。

介绍 Linux是一个强大的操作系统,由于其灵活性和效率,开发人员,系统管理员和电源用户都喜欢。但是,经常使用长而复杂的命令可能是乏味的

Linux适用于服务器、开发环境和嵌入式系统。1.作为服务器操作系统,Linux稳定高效,常用于部署高并发应用。2.作为开发环境,Linux提供高效的命令行工具和包管理系统,提升开发效率。3.在嵌入式系统中,Linux轻量且可定制,适合资源有限的环境。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Atom编辑器mac版下载
最流行的的开源编辑器