卡尼多隨筆

認識自我 • 感受世界 • 創造價值

0%

用 zsh-z 快速切換到曾經造訪過的目錄

簡單 share 給大家這個方便的酷工具~

為何想推 zsh-z?

試想個情境:

1
2
3
4
5
6
7
8
9
10
11
.
├── A
│   └── 123
│   └── abc
│   └── wow
│   └── wow.txt
└── B
└── 123
└── abc
└── hello
└── hello.txt

今天你的 working directory 位於 ./B/123/abc/hello/,如果想切換目錄到裡面有 wow.txt 的目錄底下,你會怎麼做呢?

可能是 cd ../../../../A/123/abc/wow/ ?這樣不是挺麻煩的嗎?

身為一個懶惰不斷尋找優化可能性的軟體工程師,怎能允許自己浪費寶貴的時間在這種事情上呢?

於是乎,在某種因緣際會之下,我認識了「zsh-z」這個酷工具,它可以解決問題!

安裝

首先,照著這個裝吧!

以 oh-my-zsh 的使用者為例:

  1. 打開 terminal,輸入:
    1
    git clone https://github.com/agkozak/zsh-z ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-z
  2. 編輯家目錄底下的 .zshrc:找到 plugins=(),將 zsh-z 加進 () 裡面,像 plugins=( git zsh-z ) 這樣
  3. 重開新的 terminal,或是 source ~/.zshrc 以後就可以用囉!

怎麼用?

超級方便,你只要輸入 z [一點線索],就可以跳到你之前造訪過的目錄!

以最一開始的情境為例:

1
2
3
4
5
6
7
8
9
10
11
.
├── A
│   └── 123
│   └── abc
│   └── wow
│   └── wow.txt
└── B
└── 123
└── abc
└── hello
└── hello.txt

你今天在 ./B/123/abc/hello/,想快速切換到曾經造訪過的 ./A/123/abc/wow/,你只要 z wow,神奇的事情就會發生在你眼前 🥳(你真的就會 wow)

啊如果想了解更多使用方式,像是怎麼移除掉之前造訪過目錄的紀錄,避免切換到一些你根本不想去的地方,可以下 z -h 來看它的使用說明~


是不是真的很方便呢?