Emcas配置過程所遇問題

2022-03-11 11:36:37 字數 1902 閱讀 8146

折騰了幾天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...