2013-06-04 68 views
0

我已經瀏覽了其他主題,但仍找不到解決方案。我試圖在Windows 7中爲Emacs安裝「nxhtml」插件。我已將「HOME」環境變量設置爲「C:\」。因此,我的.emacs.d文件夾在那裏,並且我把nxhtml放在那裏,並在我的「_emacs.d」文件中添加了以下行,如自述文件所示:在窗口上安裝emacs插件

(加載「C:\。emacs。 d \ nxhtml \ autostart.el「)

但它不加載。

我也試圖把: (添加到列表「負載路徑 「C:\ emacs.d \ nxhtml」)

(載 「autostart.el」)

但要無濟於事......任何人都可以在此點亮一些光明? TNX。

+0

爲什麼地球上你會把'HOME'設置爲'C:\'? (Windows 7是否有'C:\ Users \(用戶名)'爲此?)如果你的意思是你爲Windows自己的環境(而不是Cygwin或類似的)配置,那麼我認爲你問爲了問題。 – phils

+0

...除非Windows在默認情況下沒有'HOME'環境變量? (但即使是這樣,這似乎不是一個好主意。) – phils

回答

1

\是在(雙引號)的特殊閱讀字符串語法,如某些字符時反斜槓前綴(新的含義採取如\n是一個換行符,\t是一個標籤,\"是一個雙引用字符)。當以下字符與反斜槓結合使用時沒有任何特殊含義時,該字符將逐字使用,並且反斜槓將被忽略。

"C:\.emacs.d\nxhtml\autostart.el"實際上是字符串:

C:.emacs.d 
xhtml^Gutostart.el 

要包括你需要寫\\

然而,雖然會明白反斜槓字符串中\,Emacs是跨所有平臺時下一致允許/作爲目錄分隔符;所以只需做到這一點。

和陳舊的directory-sep-char變量已被完全刪除。

+0

嗨phils,是的,我知道雙反斜槓,我已經嘗試過,但無濟於事。也試着用正斜槓,並沒有工作。在我的emacs文件中,我改變了我的默認目錄,只使用正常的反斜槓,它正常工作。 – XVirtusX

1

多個點這裏:

首先,_emacs.d是不是你的init文件默認文件名,即Emacs會不會自動加載它。試試〜/ .emacs.d/init.el或〜/ .emacs。其次,Windows 7具有防止程序寫入某些系統目錄的功能,但爲了向後兼容許多執行此操作的舊程序,而不是導致它們失敗,它會靜靜地將寫入重定向到別處,一個應用程序特定目錄C:\是這些目錄之一,因此將您的HOME設置爲指向那裏是需要麻煩的。

第三,查看有關反斜槓是Lisp字符串中轉義字符的其他響應。

+0

XVirtusX:你應該檢查'ig''(emacs)Windows HOME''RET' – phils

+0

嗨,Phils ...是的,_emacs.d是Windows上可以接受的emacs init文件,因爲你不能創建一個以Explorer上的一個點。如果你想改變你的默認目錄(我的情況),我還讀過一些推薦的設置HOME環境變量(並且不,Windows上沒有默認的變量)。無論如何,問題是,我已經對emacs做了一些修改,並且工作正常。所以我想這不是引用文件或環境變量的問題...我還應該嘗試什麼?! – XVirtusX

+0

使用'* scratch *'緩衝區來檢查代碼的結果。評估'(file-exists -p「C:/。emacs.d/nxhtml/autostart.el」)'確保它返回't',然後'(加載「C:/。emacs.d/nxhtml/autostart.el「)'來檢查它是否會加載。在關閉後,'C-j'將在'* scratch *'中評估和打印。 – phils