Sunday, September 12, 2010

Autojump: Super-fast Directory Jump in Linux

這套小工具已經用了好久了,不得不說這實在太強大,尤其是我們source code的階層一多,一直要cd來cd去的,又跳上又跳下,有時候只是做件小事情,但光是要去那個目錄就要花好久...這個時候就要靠autojump來拯救世界了!!

Autojump: a cd command that learns
http://github.com/joelthelion/autojump/wiki


安裝方法很簡單,就像他wiki上說的,直接git clone下來之後執行install,然後記得要source他的profile就結束了。接下來他會記錄你每次cd到的地方,並偷偷的統計你常用的目錄。然後接著你就可以直接執行"j xxx"就會跳到那個目錄去...聽起來很神奇,這邊還是用個實際的例子示範一下:

假設我們目錄結構長這樣:


~/doc/pdf/
~/workspace/projects/efg/doc/
~/workspace/projects/abc/build
~/workspace/projects/cde/build


當你上面這些目錄都visit過(cd進去過)之後,autojump就會開始學習你這些常用的目錄,接著你只要打


$ j pdf


就會跳到~/doc/pdf,更神奇的是你還不用打全名,只要打開頭的字就好了,像是:


$ j p


就會跟上面的效果一樣,跳到~/doc/pdf。同樣的我們可以打這個目錄中任何一個子字串,像是我可以執行:


$ j efg


就會跳到~/workspace/projects/efg/下了。好了,雖然這樣很方便,但是如果有重覆的名字怎麼辦? 像是這邊我們有


~/workspace/projects/abc/build
~/workspace/projects/cde/build


這兩個目錄,他們都有build,如果我執行j build,那他會跳到那一個呢? 他實際上會跳到"比較常用"的那個,但是你如果想要有個選擇,只要打j build之後按tab,他就會出現數字讓你選擇...(這個很難用講的,實際上大家自己試試看就知道了)

總之,這個簡直就是Linux Shell狂人必裝!! 保證上手之後能節省你超多cd的時間啊!!

0 Comments: