折騰了幾天emacs,配置過程實在是很繁瑣,對於乙個新手來說,lisp就已經是天文啦。
本來想放棄了,因為這個配置過程實在是浪費時間。
當回到windows下頻繁的滑鼠操作時,我想我還是繼續配置好了。
這裡主要記錄一下配置過程中我所遇到的問題吧。
平台:win7
軟體版本:emacs-23.2(windows)、cedet1.1、ecb-2.40
emacs的安裝過程遍地都是,cedet和ecb這兩個外掛程式的安裝與配置的說明文件也有很多。需要注意的是:
1、這個版本的emacs自帶cedet,所以安裝是先要刪除掉;2、還有就是,需要先安裝好cedet,才能安裝ecb。
具體步驟請參考:emacs中文網
。(根據這個介紹操作,但我的emacs就是無法顯示project,知道的請告訴我)
廢話少說,記錄下問題吧,以省他日之工夫。若能助人,甚慰。
q1:兩條路徑
兩條路徑指的是——預設配置檔案路徑 和 預設檔案開啟路徑。
配置檔案的路徑還是很好解決的,網上的方法也有多種。這裡說下修改登錄檔的方法吧。
首先找到路徑:hkey_current_user\software\gnu\emacs(如果沒有該路徑,則自行新增即可),
然後新建字串值home,賦值為你希望的路徑,即:「home」=」你希望的路徑」。
對於檔案開啟路徑的修改,網上的方法都是針對linux系統的,在windows下無效。在windows下
有效的修改方式是,
先把runemacs.exe傳送到桌面,然後通過「屬性」,修改「起始位置」到你的工作資料夾即可。
如果想通過開始選單啟動,那麼在設定後,點「附到起始選單」,這樣就不用滑鼠操作了。
q2:如何顯示行號
在emacs的option中有line numbers選項,但是勾上之後並沒有顯示行號(而且好像是預設的)。
所以只好從.emacs檔案進行配置。新增**如下:
;;顯示行號
(add-to-list 'load-path "~/lisp")
(require 'linum)
(global-linum-mode t)
q3:cedet和ecb的相容性
很遺憾,這裡的ecb雖然是最新版本,但也是2023年發布的,它預設是支援cedet1.0pre6的,
而我用的是cedet1.1,
毫無疑問是不能支援的。所以又得重新設定,網上有方法說,
把ecb裡的elc檔案全部刪掉重新編譯就可以解決這一問題。
可是,問題是
我的ecb包裡頭沒有乙個elc檔案。我的解決辦法是這樣的:
開啟ecb中的ecb-upgrade.el檔案,
找到ecb-check-requirement()函式,把「cedet-version-max 『(1 0 4 9)」
設定為「『(1 2 4 9)」。重新啟動emacs,這樣ecb就可以順利編譯了。
q4: 自動縮排
這個問題耗了我不少時間,我一直都在試我認同的一種方式(這裡
),然而無論如何都不能達到所期望的效果。
最後只能妥協,用了一種自己不是很懂的方式(這裡
),效果還不錯。
(如果用前一種方式解決了的,請麻煩告訴我,先謝過了。)
q5: 用起來更像vc
估計很多人和我一樣,最開始用的都是vc,它裡面的編譯除錯快捷鍵,我們可能早已經熟悉。
為了達到手感上的相容性,還是在網上找到了一種配置方法,這裡
。經過這次emacs的折騰,我想到了自己身上一直存在的乙個東西——完美主義心理。這種心理會促使我們
把事情做到極致做到卓越,而不是足夠好。其實我倒是覺得這種心理是有害處的,因為它的存在,
很多時候會浪費掉我們很多時間,而事情的效果或者叫做好的程度,並沒有正比增加。
我想這也是做事效率不高的原因之一,所以必須學會去控制。
面試所遇問題
一.python中元組合列表有什麼區別?python 的元組與列表類似,不同之處在於元組的元素不能修改,元組中的元素不能被刪除。元組使用小括號,列表使用方括號。二.c 中友元函式的作用?友元函式提供了不同類或物件的成員函式之間 類的成員函式和一般函式之間進行資料共享的機制。通俗的說,友元關係就是乙個...
工作所遇問題總結
入職後,單位給看的第乙個專案 是mfc程式,裡面利用cwintread類來生成乙個工作執行緒,而這個執行緒是可以接收訊息的,這讓我感覺很驚奇,居然還有這樣的技術?這個執行緒可以接收訊息,也可以利用postthreadmessage給主線程傳送訊息,真是讓我感覺新奇。我一定要弄明白,其中的道理!軟體狗...
Python學習所遇問題
print 遊戲開始 num input 猜數字 guess int num while guess 8 num input 猜錯啦請重新輸入 guess int num if guess 8 print 恭喜你猜對了 else if guess 8 print 偏大 else print 偏小 p...