2013-10-23 81 views
5

有沒有可能設置特定的顏色主題,或只是爲了掛鉤特定項目來運行自定義elisp?如何在Emacs中設置特定項目的主題(射彈)

所以這個想法是當我從一個特定的項目(路徑)打開文件時自動設置顏色主題或背景顏色?例如。我可以在不同的框架中處理多個項目,並立即知道我在哪裏。可能是這可以寫在.projectile文件莫名其妙嗎?

在這裏,我的意思是幀不僅僅是一個緩衝區。

+1

這會很棒。但是彈丸可能沒有任何東西。 – YuriAlbuquerque

+0

暗淡相關:http://stackoverflow.com/q/3927768/1309352 –

回答

3

您目前無法做到這一點,但此處有關於 Projectile issue list中的類似內容的討論。但是,您可以使用.dir-locals.el文件來完成此操作。我猜測一旦開發者決定使用.projectile文件,將會爲彈丸實施類似的操作。

dir-locals.el旨在爲特定目錄中的所有文件設置局部變量,您可以檢出文檔或詳細瞭解此blog post。這是不是特別設計來運行elisp代碼(設置一個主題是我相信的負載主題函數調用),這是有充分理由的。但是,您可以使用eval變量來解決此問題,emacs會詢問您是否運行代碼。

((nil . ((eval . (load-theme 'molokai 
         ) 
      )))) 

或者你可以根據主要模式做一些更奇特的事情。

((nil . ((indent-tabs-mode . t) 
      (tab-width . 4) 
      (fill-column . 80))) 
    ;; Warn about spaces used for indentation: 
    (haskell-mode . ((eval . (highlight-regexp "^ *")))) 
    (c-mode . ((c-file-style . "BSD"))) 
    (java-mode . ((c-file-style . "BSD"))) 
    ("src/imported" 
    . ((nil . ((change-log-default-name . "ChangeLog.local")))))) 
3

最新的彈(彈-20140716.416)現在支持項目開關後鉤住任意elisp的,elisp的如:

(load-theme 'zenburn t) 

,它利用鉤子的例子腳本是在這裏:http://github.com/jfeltz/projectile-load-settings

+0

這些都是好消息,請檢查一下! – mico

相關問題