命令列上快速定位檔案與目錄
會盲打的人,在 shell 環境裡如果能找到方便的 tool 來幫助自己,操作速度甚至可以超過滑鼠 + GUI。
舉二個例子:
在 prompt 上列出前一指令的 return code 和 VCS 資訊。
用 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
,還可以用在 vim
、kill
指令及 Ctrl-R
熱鍵等,是非常強大的工具。
fz
fz 是 fzf 和 z 二位大將合體下的產物。z 是一套支援只打部分目錄名稱就切到曾經去過的目錄的工具。
相信 fz 的作者一定是位帥哥,居然能想到把 fzf 的 interactive fuzzy search 裝在 z 身上,打造出這把神兵利器。
enhancd
enhancd 的設計理念也很棒,不過很可惜它目前沒有 tab completion。沒有 tab completion 就必須另外綁熱鍵,如此就破壞了使用習慣。
qfc
qfc 跟 enhancd 類似,不過它的 completion 不是綁 tab,比較可惜一點。
zsh-interactive-cd
加碼一套工具。zsh-interactive-cd 將 fish 的 cd 互動式補完帶入了 zsh。算是一套短小精悍卻又不可或缺的工具,可惜目前只支援 zsh,還沒有 Bash 的版本。不過作者很有可能是帥哥是無庸置疑的。