會盲打的人,在 shell 環境裡如果能找到方便的 tool 來幫助自己,操作速度甚至可以超過滑鼠 + GUI。

舉二個例子:

  1. 在 prompt 上列出前一指令的 return code 和 VCS 資訊。

  2. 用 tig 來操作 git。

在 shell 下,最常做的操作的就是找目錄、切目錄、找檔案、開檔案了。但是 cd 要到的目錄的路徑以及 vim 要開的檔案的位置在哪裡,一直都是個痛。就算記得,有時候路徑很深,光是打完就要老半天。

以下介紹三個可以減輕日常路徑操作負擔的工具:

bd

bd 是轉目用來替代 cd .. 的工具。當所在的目錄很深,想要切回某一層 parent folder 時,以往總是要 cd ../../..,並自己算相對路徑的層數。有一些套件或是 alias 可以讓這個操作由 cd ../..減化成 cd ...,少打了 ./ 二個字,但是仍然要去算層數。

bd 可以讓我們直接打要去的那一層的目錄名稱就切過去,懶得打的話也可以靠 tab 補完,非常實用。

fzf auto-completion

fzf 是一套很強大的 fuzzy search 引擎。它不只是引擎強,附加的補完也是殺手級的好用。一下子找不到好的 demo,只好請大家看看官方手冊意會。

fzf 不只可以用在 cd,還可以用在 vimkill 指令及 Ctrl-R 熱鍵等,是非常強大的工具。

fz

fzfzfz 二位大將合體下的產物。z 是一套支援只打部分目錄名稱就切到曾經去過的目錄的工具。

相信 fz 的作者一定是位帥哥,居然能想到把 fzf 的 interactive fuzzy search 裝在 z 身上,打造出這把神兵利器。

enhancd

enhancd 的設計理念也很棒,不過很可惜它目前沒有 tab completion。沒有 tab completion 就必須另外綁熱鍵,如此就破壞了使用習慣。

qfc

qfc 跟 enhancd 類似,不過它的 completion 不是綁 tab,比較可惜一點。

zsh-interactive-cd

加碼一套工具。zsh-interactive-cdfish 的 cd 互動式補完帶入了 zsh。算是一套短小精悍卻又不可或缺的工具,可惜目前只支援 zsh,還沒有 Bash 的版本。不過作者很有可能是帥哥是無庸置疑的。