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