cache-path-from-shell: 只加載環(huán)境變量一次

在Mac下用Emacs最悲傷的事就是, 所有插件都加載完畢以后, 插件一直抱怨找不到各種執(zhí)行文件.
這些在Linux下都完全不用考慮的, 直接加載就可以用.

因?yàn)镸ac默認(rèn)只會讓Emacs使用系統(tǒng)默認(rèn)的環(huán)境變量, 而不會像在終端那樣把所有的環(huán)境變量都加載進(jìn)來.
這樣就導(dǎo)致很多Emacs插件在執(zhí)行外部命令時, 無法在 $PATH 環(huán)境變量中找到期望的二進(jìn)制文件.

解決方案很簡單, 使用 Steve Purcell 開發(fā)的 exec-path-from-shell 即可解決.
一般直接用下面的代碼就可以了:

(when (featurep 'cocoa)
  (require 'exec-path-from-shell)
  (exec-path-from-shell-initialize))

因?yàn)?exec-path-from-shell 這個插件工作的非常好, 我開發(fā)的所有Emacs插件都會在插件開頭寫上這段代碼保證能夠正確調(diào)用外部命令.

Emacs作為一個永遠(yuǎn)都可以折騰下去的邪惡操作系統(tǒng), exec-path-from-shell 又衍生出另外一個問題:

exec-path-from-shell-initialize 命令要從 shell rc 文件中讀取環(huán)境變量
shell rc 文件越大, 讀取越慢.

想象十幾個Emacs插件啟動的時候都需要執(zhí)行一次
exec-path-from-shell-initialize 命令,
每次你都會感受到一種明顯的頓挫感.

這樣是不是很不爽? 其實(shí) exec-path-from-shell-initialize 命令在最開始執(zhí)行一次就行了, 不用每次都執(zhí)行.
但是我們也不能控制其他Emacs插件的作者, 大家協(xié)調(diào)一致只調(diào)用一次, 他們可能想調(diào)用多少次都是他們的自由.

為了解決這個問題, 我寫了一個新的插件 cache-path-from-shell
這個插件會針對 exec-path-from-shell-initialize 命令建立一個緩存機(jī)制, 確保 exec-path-from-shell-initialize 命令只能執(zhí)行一次,
從而避免多個Emacs插件調(diào)用 exec-path-from-shell-initialize 命令而疊加的延時和不爽.

安裝

先安裝 exec-path-from-shell

再從 cache-path-from-shell 下載 cache-path-from-shell.el
然后在 ~/.emacs 的最開頭的位置加上(注意一定是最開頭的位置)

(require 'cache-path-from-shell)

That's all.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坯辩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子台谊,更是在濱河造成了極大的恐慌锋拖,老刑警劉巖堤框,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贰逾,死亡現(xiàn)場離奇詭異欣硼,居然都是意外死亡锅棕,警方通過查閱死者的電腦和手機(jī)纳像,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門荆烈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竟趾,你說我怎么就攤上這事憔购。” “怎么了岔帽?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵玫鸟,是天一觀的道長。 經(jīng)常有香客問我犀勒,道長屎飘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任贾费,我火速辦了婚禮钦购,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘褂萧。我一直安慰自己押桃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布导犹。 她就那樣靜靜地躺著唱凯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锡足。 梳的紋絲不亂的頭發(fā)上波丰,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機(jī)與錄音舶得,去河邊找鬼掰烟。 笑死,一個胖子當(dāng)著我的面吹牛沐批,可吹牛的內(nèi)容都是我干的纫骑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼九孩,長吁一口氣:“原來是場噩夢啊……” “哼先馆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起躺彬,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤煤墙,失蹤者是張志新(化名)和其女友劉穎梅惯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仿野,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡铣减,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了脚作。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葫哗。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖球涛,靈堂內(nèi)的尸體忽然破棺而出劣针,到底是詐尸還是另有隱情,我是刑警寧澤亿扁,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布捺典,位于F島的核電站,受9級特大地震影響从祝,放射性物質(zhì)發(fā)生泄漏辣苏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一哄褒、第九天 我趴在偏房一處隱蔽的房頂上張望稀蟋。 院中可真熱鬧,春花似錦呐赡、人聲如沸退客。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萌狂。三九已至,卻和暖如春怀泊,著一層夾襖步出監(jiān)牢的瞬間茫藏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工霹琼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留务傲,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓枣申,卻偏偏與公主長得像售葡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子忠藤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345