linux emacs配置文件,[z]使用.emacs.d目录管理Emacs配置文件
第一啟動emacs會在~目錄下創建.emacs.d目錄
使用.emacs.d目錄管理Emacs配置文件
參考:Declaring .emacs Bankruptcy
Emacs的默認配置文件是.emacs,Emacs啟動時會讀取并執行.emacs中的LISP代碼,用戶使用.emacs達到自己的Emacs初始化配置目的。
不過單獨使用.emacs有一個問題,因為時間一久,Emacs的初始化配置會變得很多很亂,各種mode的配置都放在.emacs中,.emacs文件中的代
碼就變得很長,不利于管理、更改和閱讀。其實Emacs建議了另外一種管理初始化配置的方式,我們新安裝的Emacs都有一個.emacs.d目錄,
就是利用這個目錄實現按分類逐個加載初始配置文件來管理Emacs初始配置的方式。
使用.emacs.d目錄管理Emacs初始化配置文件,如下設置:
在默認配置文件.emacs中使用:add-to-list,將自己的配置文件路徑,通常就使用.emacs.d,加入到load-path,并使用:require,加入配
置文件提供的特性(Feature),一般來說將配置文件名和其提供的Feature命名相同。例如,下面的.emacs配置文件:
1
;; This is the main Emacs initialization file - .emacs.
2
3
(add-to-list 'load-path (expand-file-name "~/.emacs.d"))
4
(require 'feature_1)
5
(require 'feature_2)
6
(require 'feature_3)
在.emacs中加入的load-path配置文件路徑中,即上面的.emacs.d目錄,放入自己的配置文件。這些配置文件可以按照功能分類組織,例如,
在.emacs.d中放入:feature_1.el、feature_2.el、feature_3.el。注意:要在每個配置文件中使用provide定義其提供的Feature,比如:
feature_1.el這個配置文件,它提供feature_1特性,即是.emacs中使用require命令要求的feature_1特性,那么要在feature_1.el中加入
provide,則feature_1.el內容如下:
1
;; This is my Emacs customization file feature_1.el providing
feature_1.
2
3
(provide 'feature_1)
4
5
;; customization code ...
這樣按功能分類組織Emacs的初始化配置文件就清晰多了,原來的默認配置文件.emacs現在只是一個調入其它配置文件的入口,它的內容也少
多了,更容易擴展和管理。關于Feature、require、provide的詳細功能參考Emacs的GNU官方文檔:15.7
Features。
另外提一句,目前很多Linux下的開源的軟件都支持這種:.xxx.d目錄的方式管理配置文件,其中xxx是軟件相關的名字。
2010/7/2 Limp_T
emacs-23.exe解壓該文件,解壓后進入相應的文件夾,文件夾下包含以下子文件夾:bin、data、etc、info、leim、lisp、lock、site-lisp、
var.bin文件夾中是一些可執行程序,info文件夾中是幫助信息,site-lisp文件夾中是一些擴展的包(Emacs的插件一般都是一個以el為后綴名
的文件).
在bin文件夾中,運行addpm.exe,注冊系統變量ComSpec,在我的電腦圖標上點擊右鍵,選擇"屬性",然后選擇"高級"選項卡,在"高級"選項卡
下面選擇"環境變量",在"系統變量"欄中可以看到有一個變量叫做"ComSpec",它的值為C:\WINDOWS\system32\cmd.exe(和%SystemRoot%
\system32\cmd.exe一樣).該變量的作用是指示emacs調用系統的shell,在windows下一般用的都是cmd,當然也可以使用cgywin等其它的shell,
使用cgywin等作為emacs默認的shell時可能會需要一些其它的設置,這些可以參考emacs的在線幫助.運行addpm.exe后,會給emacs添加開始菜
單.運行runemacs.exe可以啟動emacs。
emacs安裝好了以后應該對它進行配置,只有經過一些必要的配置,它才配得上"能煮咖啡"這個稱號.
首先在“環境變量”中添加“HOME”變量,例如值為“E:\ erlang” (erlang工程);
接著在“HOME”變量的路徑下的目錄建立一個文件名為".emacs"的文件(如果不設置HOME變量,可以在根目錄C:\目錄下建立這
個".emacs"文件),如果直接在windows下建立一個".emacs"文件,windows會提示請輸入文件名,建立不成功,我們最好直接就用emacs來建立這
個文件,在emacs下通過菜單File->Visit New
File...來建立一個文件,文件名就是".emacs".".emacs"文件是emacs的配置文件,emacs在啟動
的時候會從".emacs"文件中讀取配置信息,來打開或者關閉各種功能,初始化擴展包或者配置界面上的一些顯示(去掉菜單欄,工具欄,改變背景
顏色等).
最后創建一個Emacs的快捷方式,放在桌面或者任務欄快速啟動,右擊快捷方式選“屬性”,將“起始位置”設為"E:
\erlang“或"%HOME% "(HOME環境變量)。這樣Emacs啟動后可以直接定位到erlang工程的目錄。
Windows下設置Emacs的HOME目錄
總的來說,Emacs的默認配置文件放在變量HOME所指的路徑下,所以,只要我們把.emacs扔到HOME所指向的目錄就可以了,下面就簡單介紹一
下在Windows下設置home目錄的幾種方法,并進行簡單的對比。
第一種方法,改變home環境變量的值。
這種方法,改變了$home變量,也會影響Cygwin或是其他一些應用程序,因為有一些程序會根據Windows的home環境變量來尋找數據存放的路
徑。
第二種方法,不改變Windows默認的home值,設置默認的.emacs文件讀取你自己的Emacs配置文件,并重新設定Emacs的home目錄。
你可以在Emacs中輸入C-x
C-f,然后打開路徑~(即當前的home環境變量所指的路徑,一般來說是這樣的路徑:C:/Documents and
Settings/water/Application Data)。
看看顯示的是哪個目錄,如果此目錄下沒有.emacs,可以創建一個.emacs或_emacs,然后在這個.emacs文件里,加入如下語句:
?View Code LISP
(load-file "E:/water/.emacs")
文件 E:/water/.emacs
才是我們真正的Emacs配置文件,我們可以在這個真正的配置文件里用如下語句設置我們的home目錄:
?View Code LISP
1
2
3
4
5
(setenv "HOME" "E:/water")
(setenv "PATH" "E:/water")
;;set the default file path
(setq default-directory "~/")
(add-to-list 'load-path "~/emacs/site-lisp")
這個方法的優點是比較簡單同樣也方便對.emacs文件備份,不會對其它應用程序產生任何影響。
第三種方法,修改注冊表,在注冊表中進行如下設置:
HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs\HOME=%emacs_dir%
以上三種方法都可以設置好Emacs的Home目錄,但是,系統是按什么順序來解析它們的呢?大體上的順序是這樣的:
如果設置了環境變量HOME,則使用HOME指定的目錄。
如果設置了注冊表里的值HKCU\SOFTWARE\GNU\Emacs\HOME,則使用這個值所指定的目錄作為home目錄。并不是太推薦使用這種方法,因為會
導致用戶共享一個home目錄。
如果 C:\.emacs 文件存在,則使用 C:\.emacs
這個文件。這個是為了向低版本的Emacs兼容,因為低版本的Emacs就是默認用這個文件作為
配置文件。
把用戶的AppData目錄作為home目錄(通常來說,就是類似這樣的目錄 C:/Documents and
Settings/water/Application Data ),這個用戶
的數據目錄根據Windows版本的不同而有所不同。
我個人比較喜歡用第二種方法,即簡單又方便備份。
其實,如果你只是想要Emacs能找到你的.emacs的話,也可以不用管HOME目錄的,寫個批處理文件emacs.bat:
path-of-emacs.exe -q -l path-of-your.emacs
以后執行這個批處理文件就可以用你的配置打開Emacs了。
5、加載.el文件
lisp目錄下存放著lisp源文件(*.el)和已編譯的lisp文件(*.elc),以后你也可以將自己的.el文件放在這個目錄下,然后還要在.emacs文件插入相關語句。比如你有一個文件叫做abcd.el,將它復制到lisp目錄下,然后打開.emacs文件插入一句(require
'abcd)就可以了(包括圓括號,不需要擴展名.el)。
如果你不喜歡lisp文件夾,也可以自己新建一個,比如在home目錄下建一個文件夾叫做xyz,然后把abcd.el放在xyz目錄下,在.emacs文件插入以下兩句:
(setq load-path (cons "~/xyz" load-path))
(require 'abcd)
第一句告訴emacs先加載你的xyz目錄,第二句再加載abcd.el。
總結
以上是生活随笔為你收集整理的linux emacs配置文件,[z]使用.emacs.d目录管理Emacs配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实拍广州黄浦龙卷风 屋顶被掀开建材纷飞:
- 下一篇: OPPO全新折叠屏曝光:120Hz小屏竖