2014-09-19 27 views
0

我在mac os上運行x。 我在/Users/Max/.emacs本中的文件:爲什麼我的GNU Emacs沒有使用tuareg模式進行初始化?

(add-to-list 'load-path 「/Users/Max/emacs/tuareg-mode/」)
(load "tuareg-mode-startup」)

我在/用戶/最大/ emacs的/圖阿雷格模式/有這些文件裏面這是我從圖阿雷格2.0有有一個文件夾0.6和提取我的「圖阿雷格模式」文件夾:

>Makefile 
ocamldebug.el 
README 
tuareg-pkg.el 
tuareg.el 

編輯:在我的「圖阿雷格模式」文件夾中得到了2.0.7文件,而不是,它們是:

>Makefile 
ocamldebug.el 
README 
tuareg-pkg.el 
tuareg.el 
tuareg-site-file.el 

的我打開emacs時遇到的錯誤是這樣的:

Warning (initialization): An error occurred while loading `/Users/Max/.emacs':

Symbol's value as variable is void: 「/Users/Max/emacs/tuareg-mode/」

To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the `--debug-init' option to view a complete error backtrace.

與--debug-init選項啓動Emacs給我:

Debugger entered--Lisp error: (void-variable 「/Users/Max/emacs/tuareg-mode/」) (add-to-list (quote load-path) 「/Users/Max/emacs/tuareg-mode/」) eval-buffer(# nil "/Users/Max/.emacs" nil t) ; Reading at buffer position 57
load-with-code-conversion("/Users/Max/.emacs" "/Users/Max/.emacs" t t) load("~/.emacs" t t) #[0 "\205\262 \306=\203\307\310Q\202; \311=\204\307\312Q\202;\313\307\314\315#\203*\316\202;\313\307\314\317#\203:\320\nB\321\202;\316\322\323\322\211#\210\322=\203a\324\325\326\307\327Q!\"\323\322\211#\210\322=\203 \210\203\243\330!\331\232\203\243\332!\211\333P\334!\203}\211\202\210\334!\203\207\202\210\314\262\203\241\335\"\203\237\336\337#\210\340\341!\210\266\f?\205\260\314\323\342\322\211#)\262\207" [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs" directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" (initialization " _emacs' init file is deprecated, please use `.emacs'") "~/_emacs" t load expand-file-name "init" file-name-as-directory "/.emacs.d" file-name-extension "elc" file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer than %s" sit-for 1 "default"] 7 "\n\n(fn)"]() command-line() normal-top-level()

我是新的Mac OS和完全新的OCaml的。我不明白我做錯了什麼。爲什麼它不能加載路徑?

非常感謝。

+0

也許你想'(加載「/Users/Max/emacs/tuareg-mode/tuareg-mode-startup.el」) - 小心雙引號! – 2014-09-19 11:25:06

+0

我應該在哪裏找到這個tuareg-mode-startup.el文件?我在2.0.6包中下載的所有文件都在我的問題中列出如上 – Silent 2014-09-19 11:33:37

+0

從'load-path'的路徑中刪除尾部的反斜槓。 – Dan 2014-09-19 11:35:33

回答

4

您沒有正確的引號。

字符串必須被簡單的ascii「quotes包圍。

否則,lisp讀者會很樂意將它們作爲符號名稱的一部分,這就是爲什麼它將「/Users/Max/emacs/tuareg-mode/」作爲變量處理。

此:

(add-to-list 'load-path "/Users/Max/emacs/tuareg-mode/") 
(load "tuareg-mode-startup") 

不:

(add-to-list 'load-path 「/Users/Max/emacs/tuareg-mode/」) 
(load "tuareg-mode-startup」) 
+0

這使得它更清晰,謝謝。現在,當我嘗試在tuareg中運行ocaml時,它說它無法找到它。我假設我需要設置路徑或其他東西,但我不知道它們在哪裏?我認爲我的ocaml被保存到「usr/...」的東西,但我甚至找不到我的驅動器上的文件夾。 – Silent 2014-09-19 12:15:17

+0

兩者有什麼區別? – 2016-05-13 02:37:29

+0

嗯,一個是ascii字符34 - ''' - 對elisp reader來說,它表示字符串文字的開始或結束,並且當您在鍵盤上鍵入'''鍵時生成。另一個是一個unicode字符 - '「' - 它對elisp根本沒有特別的意義。如果你的意思是你不能*看到*兩者之間的差異,那麼這是你的網頁瀏覽器或你選擇的字體的問題。 – phils 2016-05-13 03:04:29

1

如果你有最近的Emacs的版本,我強烈建議使用package.el安裝軟件包。它會照顧把東西放在適合你的地方。 package.el附帶Emacs 24,並有a version that you can install for Emacs 23

一旦你安裝了package.el,你可以使用M-x package-list-packagesM-x package-install來安裝軟件包。從前者找到您想要安裝的軟件包,將其標記爲i,然後將其標記爲x

開箱即用,package.el只允許您訪問GNU ELPA(Emacs Lisp包存檔),它沒有很多軟件包。但是有第三方存儲庫包含更多。我推薦使用MELPA stable,其中does provide tuareg。像這樣的東西應該讓你開始:

(require 'package) 
(package-initialize) 

(add-to-list 'package-archives 
      '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/") t) 

還有其他一些很酷的東西,你可以用package.el做的一樣好。如果您有興趣,我建議特別檢查use-package

請參閱EmacsWiki瞭解更多信息。

相關問題