簡(jiǎn)評(píng):作為工程師坝咐,你在命令行下最常打的命令無(wú)非就是 cd 與 ls解虱。這些年你浪費(fèi)了多少時(shí)間掐禁?
作為一個(gè)程序員或者在 shell 中花費(fèi)大量時(shí)間的人渐溶,你可能會(huì)經(jīng)常以一種低效率的方式在目錄中來(lái)回移動(dòng)辉浦,特別是每天經(jīng)常訪問(wèn)相同目錄。
比如像這樣:
當(dāng)然你可能用的稍微熟練點(diǎn)了茎辐,用 Tab 能省不少事宪郊,像這樣:
不錯(cuò)!你大約節(jié)省了 20 次的輸入拖陆,值得稱贊弛槐。你也會(huì)使用 mkdir 創(chuàng)建新目錄并直接進(jìn)入新建目錄(cd !$),你也能記住 project 的目錄依啰,你就不用老 ls 來(lái)尋找文件乎串。不過(guò)現(xiàn)實(shí)問(wèn)題,人不是電腦速警,我們能記住一兩個(gè)叹誉,但不可能記住全部鸯两,我們的效率不夠高。
有沒(méi)有想過(guò)這種方式长豁?
現(xiàn)在只需要 j d(或者 j dev钧唐、j develop)就可以跳轉(zhuǎn)到 ~/Develop 目錄,j p 就可以跳轉(zhuǎn)單 ~/Develop/project匠襟。效率大幅提高钝侠。
看看對(duì)比:
這是如何實(shí)現(xiàn)的?
用 AutoJump 可以做到酸舍。(GitHub 地址:wting/autojump)
根據(jù)官方介紹帅韧,它能以更快的方式瀏覽系統(tǒng)文件,這并不準(zhǔn)確啃勉,或者說(shuō)很謙虛忽舟。據(jù)我完全估計(jì),用 AutoJump 至少讓我省了 100 個(gè)小時(shí)璧亮,最起碼省了這么多萧诫。
Autojump 是如何工作的?
看看這兩個(gè)命令:
它們的作用相同枝嘶。AutoJump 會(huì)記住 cd 命令并用 j 來(lái)進(jìn)入所有的目錄。更重要的是 AutoJump 可以模糊匹配哑诊。意味著只需要提供一個(gè)字母群扶,就可以匹配到之前訪問(wèn)過(guò)的該首字母的目錄。
如果有兩個(gè)以 p 為開頭的目錄怎么辦镀裤?
這就是有趣的地方竞阐。
當(dāng)你第一次輸入 cd directory_name,AutoJump 會(huì)記錄該目錄并成為絕對(duì)路徑暑劝,并將其指定權(quán)重為 10.0 分骆莹。
舉個(gè)例子:
然后輸入 j -s 命令可以看到(s 代表統(tǒng)計(jì)信息):
如果你再次 cd/var 后,j -s担猛,看看會(huì)發(fā)生什么幕垦?
對(duì),這個(gè)路徑的權(quán)重增加了傅联。比如看看我電腦上的 j -s先改,我平時(shí)都在干什么你就會(huì)一目了然:
我第一個(gè)campus 和第四個(gè) SodeSchool 都包含字母 c,那么 AutoJump 應(yīng)該縣跳轉(zhuǎn)到哪個(gè)目錄呢蒸走?
由于 campus 權(quán)重低仇奶,所以會(huì) j c 會(huì)跳到 CodeSchool 目錄,如果重復(fù) j c 命令比驻,就會(huì)跳轉(zhuǎn)到 campus 目錄该溯。
如果你不喜歡 AutoJump 自動(dòng)設(shè)置的路徑岛抄,你可以自己設(shè)置匹配:
你可以設(shè)置后面的數(shù)字, j c _4 就是 j c 跳轉(zhuǎn)到第四個(gè)目錄狈茉。
高級(jí)功能
- jc(注意沒(méi)空格 不是上面的 j c)僅在子目錄下跳轉(zhuǎn)弦撩,非常適合尋找被嵌套的 log
- jo 會(huì)在操作系統(tǒng)下打開匹配的目錄。
- j -i 增加當(dāng)前目錄權(quán)重
- j -d 減少當(dāng)前目錄權(quán)重
- j --purge 消除所有的權(quán)重
安裝 AutoJump
AutoJump 支持:
- Python v2.6+(除了 3.2 版本)
- 支持的 shell:
- bash v4.0+
- zsh
- fish
- tcsh (experimental)
- clink (Windows, experimental)
你可以通過(guò)許多 Linux 軟件包安裝器來(lái)安裝论皆。對(duì)于 MacOS 我推薦 Homebrew 的 brew install autojump益楼,真的超簡(jiǎn)單方便。
把 Autojump 放在.bash_profile 或者 .szhrc 下点晴,輸入命令行:
[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
它會(huì)自動(dòng)檢查腳本是否可用并加載到 shell 中感凤。
你也可以克隆 git 倉(cāng)庫(kù),手動(dòng)安裝粒督。不管怎么說(shuō)陪竿,它都是一個(gè)非常簡(jiǎn)單的、穩(wěn)定的工具屠橄。
我用了它的這些年里族跛,從來(lái)沒(méi)有后悔過(guò)。
下載地址:wting/autojump(GitHub)
推薦閱讀:用 iPad Pro 作為我的主力工作電腦