2014-03-31 90 views
0

我是emacs的新成員...所以我試圖安裝ya-snippets 首先我下載了​​ya-snippet tar文件,然後將其壓縮並保存.emacs .D /包/ ,然後下面的代碼添加到我的.emacs文件在emacs 23中安裝ya-snippet 23 manualy

;; yasnippet                  
(add-to-list 'load-path               
      "~/.emacs.d/packages/yasnippet")         
(require 'yasnippet) 
(yas-global-mode 1) 

,但我得到以下錯誤...

Warning (initialization): An error occurred while loading `/home/nitesh/.emacs': 

Symbol's function definition is void: yas-global-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. 

請告訴我的錯誤,因爲我是新到emacs,請告訴每一行正在做我的.emacs文件寫入conf igure yasnippet? 請告訴我爲ya -snippet添加.emacs文件以使用默認的所有c/C++片段?

+0

當Emacs拋出一個錯誤,例如「Symbol的函數定義爲void」時,通常意味着包(包含該函數)尚未正確加載。所以你需要首先驗證你在'〜/ .emacs.d/packages/yasnippet/yasnippet.el'的位置有一個名爲'yasnippet.el'的文件,並驗證該文件是否包含一行代碼(通常在底部):'(提供'yasnippet)'也許你的'yasnippet.el'文件位於不同的文件夾中(例如,一個文件夾更深)? – lawlist

+0

是這兩個東西都存在..我在〜/ .emacs.d/packages/yasnippet中有yasnippet.el,它的最後一行是(提供'yasnippet),然後是該行後面的一些註釋(用於結束)! – user3091069

+0

如何嘗試'M-x加載庫RET yasnippet RET'?如果它加載(帶有消息*加載yasnippet ... done *),則嘗試'M-x yas-minor-mode'。如果這兩個步驟都起作用,那麼我的下一個猜測是,您的'.emacs'文件(或者'.emacs'文件調用的另一個庫)中有一個錯誤,並且您的'.emacs'文件沒有完全加載啓動Emacs。在這種情況下,當啓動Emacs時,你應該看看你的'* Messages *'緩衝區中是否有其他錯誤信息。 – lawlist

回答

0

第一步:將以下兩行靠近你.emacs文件的頂部,並重新啓動Emacs的:

(require 'package) 
(package-initialize) 

第二步M-x list-packages

第三步:選擇Yasnippet與單擊鼠標左鍵,然後單擊「Install」,然後單擊「Yes」。

第四步:打開你的.emacs文件,並將此之下package-initialize

(require 'yasnippet) 

(yas-global-mode 1) 

第五步:重新啓動Emacs和有樂趣的編碼。該次要模式處於活動狀態時,模式行將顯示yas

+0

我沒有package.el文件在〜/ .emacs.d文件夾,我沒有任何包管理器..好嗎? 那就是爲什麼我必須手動安裝它! – user3091069

+0

這是內置於Emacs的標準版本 - 在您的計算機上的某個地方應該有一個文件夾「.../lisp/...」,其中存儲了所有庫存文件。 – lawlist

+0

我有emacs版本23.3.1 ..它沒有任何默認的包管理器! 請指導我通過包管理器的安裝嗎? – user3091069