Bash 是使用最廣泛的 Shell,Zsh 則是開發(fā)者圈里最受青睞的,但 Fish 往往被許多人忽視。
這絕非夸張之辭。Fish 的確是個備受忽視的 Shell,它對新手和資深的自由開源軟件用戶,都可能是極好的選擇。
Fish 提供了一系列吸引人的功能,使其具有鮮明優(yōu)勢。這其中包括了從語法高亮到縮寫(我個人最喜歡的部分),這里面充滿了種種新奇。
下面,我要和大家分享一些我最青睞的 Fish Shell 特性。
1、語法高亮
在錯誤的命令被執(zhí)行之前就識別出它們將大大節(jié)省你的時間,同時降低你的挫敗感。
現(xiàn)代的許多代碼編輯器都內(nèi)置了語法高亮功能,而 Fish 不僅將此功能內(nèi)置在了 Shell 中,而且對于 Linux 命令也同樣有效。
命令有誤?你會發(fā)現(xiàn)其被紅色高亮。同樣的,對于不符合上下文的參數(shù)和選項也是如此。
錯誤高亮為紅色
2、自動建議
當(dāng)你輸入命令時,F(xiàn)ish Shell 會自動推薦命令,然后你可以按照提示,使用Tab
鍵進行相應(yīng)的補全操作。
Fish 自動補全
隨著你的輸入,建議會以灰色顯示,使其更易于識別。如果整條建議都對你的胃口,你可以按右箭頭鍵來完成整個命令的補全。
3、命令選項的交互式手冊頁
這是一個炫酷的功能,你可以交互性地參考手冊頁完成命令選項的填寫。
首先,你需要先解析手冊頁,這可以通過以下命令來完成:
fish_update_completions
這會對手冊頁進行解析。
手冊頁解析
現(xiàn)在,如果你輸入一個命令,添加連字符作為選項,然后按下Tab
鍵,就能看到手冊頁給出的可能選項及其簡短描述:
Fish 手冊頁幫助
你可以通過滾動一覽這些選項,并在閱讀了作用說明后,從彈出的分頁器中進行選擇。
要比直接輸入command -h
更便利一些對吧。
4、縮寫優(yōu)于別名
在 Fish 里,縮寫的作用就如同文本擴展工具。你可以為一些常用的代碼設(shè)置易于調(diào)用的縮寫。
比如說,我把sch
設(shè)為pacman -Ss
的縮寫,用以搜索軟件包。
abbr -a sch pacman -Ss
于是,每次我輸入sch
并按空格鍵后,它就會被替換成pacman -Ss
。
Fish Shell 縮寫
你甚至可以把它寫入配置文件,讓其成為永久設(shè)置。