z.lua 1.4.8 釋出,會學習你使用習慣的 cd 命令
z.lua 是一個會學習你使用習慣的 cd 命令,它會跟蹤你在 shell 下訪問過的路徑,通過一套稱為 Frecent 的機制(源自 Mozilla),經過一段簡短的學習之後,z.lua 會幫你跳轉到所有匹配正則關鍵字的路徑裡 Frecent 值最高的那條路徑去。
1.4.8 版本更新如下內容:
-
支援 PowerShell,FishShell
-
新增向後跳轉
-
新增 FZF 整合
基本使用:
cd 到一個包含 foo 的目錄:
z foo
cd 到一個以 foo 結尾的目錄:
z foo$
對長路徑使用多個關鍵字進行匹配:
假設路徑歷史資料庫(~/.zlua)中有兩條記錄:
10 /home/user/work/inbox
30 /home/user/mail/inbox
"z in" 將會跳轉到 /home/user/mail/inbox 因為它有更高的權重,同時你可以傳遞更多引數給 z.lua 來更加精確的指明,如 "z w in" 則會讓你跳到 /home/user/work/inbox。
互動選擇:
使用 -i 引數進行跳轉時, 如果有多個匹配結果,那麼 z.lua 會給你顯示一個列表:
$ z -i soft 3:0.25/home/data/software 2:3.75/home/skywind/tmp/comma/software 1:21/home/skywind/software > {游標位置}
然後你按照最前面的序號輸入你想要去的地方,比如輸入 3 就會進入 /home/data/software。如果你不輸入任何東西直接按回車,那麼將會直接退出而不進行任何跳轉。
PS:互動選擇同時支援 "-I" 引數(大寫 i),讓你可以使用 fzf 在多項結果進行快速選擇(如果系統裡面安裝了的話):
skywind@weilin0:~$ z vim > vim< 46/287 > 454~/software/vim 438/mnt/d/acm/github/vim/etc 30.5~/github/vim 24.5/mnt/d/acm/github/vim 18/mnt/d/acm/github/vim-init 8~/software/vim/src 6~/.vim 5/mnt/d/acm/github/vim/autoload 4.5~/.vim/vim 4.5/mnt/d/acm/github/vim/autoload/dash 3.75~/tmp/comma/software/vim 2~/.vim/vim/etc
快速回到父目錄:
"-b" 選項可以快速回到某一級父目錄,避免重複的輸入 "cd ../../..",一般把 "z -b" 別名成 "zb" 命令:
-
(沒有引數):cd 到專案根目錄,尋找父目錄中包含 (.git/.svn/.hg) 的地方,並且跳轉過去。
-
(單個引數):cd 到最近一級包含關鍵字父目錄中。
-
(兩個引數):對當前目錄進行字串替換,然後 cd 過去。
使用舉例:
# 一直向上退到專案根目錄(就是裡面有一個 .git 目錄的地方) ~/github/lorem/src/public$ zb => cd ~/github/lorem # cd 到第一個以 g 開頭的父目錄 ~/github/vimium/src/public$ zb g => cd ~/github # 將 jekyll 替換為 ghost ~/github/jekyll/test$ zb jekyll ghost => cd ~/github/ghost/test