科技

【z.lua 第四彈:華麗的補全,快速回到最近訪問目錄】

有人問我為啥春節都不好好過,反覆更新這個破指令碼幹嘛?我只能說,知我者謂我心憂,不知我者謂我何求?想要打通工作效率的任督二脈,那麼解決 cd 問題就是其中的任脈。所以繼續總結平時操作終端任務時比較低效的地方,固化成為指令碼。

本次更新引入的兩個功能讓 z.lua 比 autojump/z/fasd 等競爭者一下子方便好用了很多:

更新1:補全系統升級

然後你在 bash 中,輸入部分關鍵字後按 tab,就能把匹配的路徑列出來:

有了 fzf 的幫助,bash 下補全也非常方便了。注意看左邊的權重,fzf 搜尋過濾的順序是有講究的,Frecent 權重越高的越靠前,不是亂排序的,更不是簡單的按字串字母排序。這裡完全保證權重越高的路徑越靠前。

注意,該功能在初始化 z.lua 之前,會檢測 $PATH 中是否有 fzf 這個程式,有的話才啟用。

更新2:MRU

那麼當我們在命令列敲入 zh 時,就可以用 fzf 選擇最近呆過的路徑了:

第一列資料代表該路徑多少秒以前訪問過,越是最近訪問過的越靠前,第二列是路徑名稱。此時,你可以試著敲幾個字母,用 fzf 的字串模糊匹配進行定位,或者用游標鍵的上和下(CTRL+J/K 也可以)來上下移動,最後按回車 cd 過去,或者 ESC 放棄。

注意:最好把增強匹配模式開啟,這樣檢視歷史路徑時可以把當前路徑過濾掉。

關於別名

很多人喜歡用書籤或者別名來做路徑切換,這個問題我思考過,結論是,書籤或者別名會增加額外的負擔,就像你背個單詞還要同時背一個法語單詞,看著類似,其實是兩個東西,除了記憶負擔外,你還有管理負擔,需要對書籤或者別名進行增刪改查。

而使用歷史路徑關鍵字模糊匹配的方式,卻更符合人的直覺,我不一定記得全名,也不一定記得一個專案到底放哪裡了,但是隻需要部分名稱 z.lua 總能帶你過去,不需要額外的維護任何別名或者書籤。

往期回顧:

--

PS:春節期間收錄了 PowerShell 的 PR,如今 z.lua 完美支援 PowerShell 了。想起以前用 ps 時,想找個 z.sh 的克隆版,找半天都是一些實現不完整的半成品,如今在 PowerShell 下使用 z.lua 可以獲得和 bash/zsh 下面完全一致的體驗。

PS2:春節期間 z.lua 上了 Hacker News 熱版,24h 內增加了 500+ 星,成 github 上 lua 類和 shell 類 trending 的 top1。

Reference:科技日報

看更多!請加入我們的粉絲團

轉載請附文章網址

不可錯過的話題