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系統依靠防火牆來保護未經授權的網絡訪問。 這些軟件障礙控製網絡流量,允許基於預定義的規則來阻止數據包。 他們主要在網絡層操作,他們管理

確定Linux系統是台式機還是筆記本電腦對於系統優化至關重要。本指南概述了簡單的命令以識別您的系統類型。 hostnamectl命令:此命令提供了一種檢查系統機箱的簡潔方法

Linux服務器TCP/IP連接數限制調整指南 Linux系統常用於服務器和網絡應用,管理員經常會遇到TCP/IP連接數達到上限的問題,導致用戶連接錯誤。本文將指導您如何提升Linux系統中的最大TCP/IP連接數。 TCP/IP連接數理解 TCP/IP (傳輸控制協議/互聯網協議)是互聯網的基本通信協議。每個TCP連接都需要係統資源。當活動連接過多時,系統可能會拒絕新的連接或速度變慢。 通過增加允許的最大連接數,可以提高服務器性能並處理更多並髮用戶。 檢查當前Linux連接數限制 在更改設置之

SVG(可擴展的矢量圖形)文件是徽標和插圖的理想選擇,因為它們的可重複性而沒有質量損失。 但是,PNG(便攜式網絡圖形)格式通常可以更好地與網站和應用程序兼容。本指南d

Livecode:跨平台發展革命 LiveCode是一種編程語言,於1993年首次亮相,簡化了每個人的應用程序開發。 它的高級,類似英語的語法和動態鍵入使得可以輕鬆地創建強大的應用程序

本指南提供了一個分步過程,用於通過Linux命令行重置故障USB設備。 使用這些命令簡化了對無響應或斷開USB驅動器的故障排除。 步驟1:識別您的USB設備 首先,我

在Linux上暫時設置靜態IP地址對於網絡故障排除或特定的會話配置是無價的。 本指南詳細介紹瞭如何使用命令行工具來實現此目的,並指出更改並非跨重啟

Linux以其強大的命令行工具集而聞名,這些工具允許用戶高效地與系統交互。雖然許多Linux用戶熟悉諸如ls、cd或grep之類的常用命令,但還有一些鮮為人知但極其有用的命令和快捷方式可以簡化並提高生產力。 我們很高興分享我們關於“鮮為人知的Linux命令”的最新五篇文章,其中包含50多個你可能不知道的命令。 您可能也喜歡: 11個鮮為人知的實用Linux命令——第一部分 10個鮮為人知的Linux命令——第二部分 10個鮮為人知的Linux命令——第三部分 10個鮮為人知的有效Linux命令


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器