簡評:做爲工程師,你在命令行下最常打的命令無非就是 cd 與 ls。這些年你浪費了多少時間? 做爲一個程序員或者在 shell 中花費大量時間的人,你可能會常常以一種低效率的方式在目錄中來回移動,特別是天天常常訪問相同目錄。git
好比像這樣:程序員
固然你可能用的稍微熟練點了,用 Tab 能省很多事,像這樣:shell
不錯!你大約節省了 20 次的輸入,值得稱讚。你也會使用 mkdir 建立新目錄並直接進入新建目錄(cd !$),你也能記住 project 的目錄,你就不用老 ls 來尋找文件。不過現實問題,人不是電腦,咱們能記住一兩個,但不可能記住所有,咱們的效率不夠高。bash
有沒有想過這種方式?工具
如今只須要 j d(或者 j dev、j develop)就能夠跳轉到 ~/Develop 目錄,j p 就能夠跳轉單 ~/Develop/project。效率大幅提升。操作系統
看看對比:命令行
這是如何實現的?3d
用 AutoJump 能夠作到。(GitHub 地址:wting/autojump)code
根據官方介紹,它能以更快的方式瀏覽系統文件,這並不許確,或者說很謙虛。據我徹底估計,用 AutoJump 至少讓我省了 100 個小時,最起碼省了這麼多。blog
Autojump 是如何工做的?
看看這兩個命令:
它們的做用相同。AutoJump 會記住 cd 命令並用 j 來進入全部的目錄。更重要的是 AutoJump 能夠模糊匹配。意味着只須要提供一個字母,就能夠匹配到以前訪問過的該首字母的目錄。
若是有兩個以 p 爲開頭的目錄怎麼辦?
這就是有趣的地方。
當你第一次輸入 cd directory_name,AutoJump 會記錄該目錄併成爲絕對路徑,並將其指定權重爲 10.0 分。
舉個例子:
而後輸入 j -s 命令能夠看到(s 表明統計信息):
若是你再次 cd/var 後,j -s,看看會發生什麼?
對,這個路徑的權重增長了。好比看看我電腦上的 j -s,我平時都在幹什麼你就會一目瞭然:
我第一個campus 和第四個 SodeSchool 都包含字母 c,那麼 AutoJump 應該縣跳轉到哪一個目錄呢?
因爲 campus 權重低,因此會 j c 會跳到 CodeSchool 目錄,若是重複 j c 命令,就會跳轉到 campus 目錄。
若是你不喜歡 AutoJump 自動設置的路徑,你能夠本身設置匹配:
你能夠設置後面的數字, j c _4 就是 j c 跳轉到第四個目錄。
高級功能
**安裝 AutoJump **
AutoJump 支持:
你能夠經過許多 Linux 軟件包安裝器來安裝。對於 MacOS 我推薦 Homebrew 的 brew install autojump,真的超簡單方便。
把 Autojump 放在.bash_profile 或者 .szhrc 下,輸入命令行:
[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
它會自動檢查腳本是否可用並加載到 shell 中。
你也能夠克隆 git 倉庫,手動安裝。無論怎麼說,它都是一個很是簡單的、穩定的工具。
我用了它的這些年裏,歷來沒有後悔過。
下載地址:wting/autojump(GitHub)