【问题标题】:installing ya-snippet in emacs 23 manualy在 emacs 23 中手动安装 a-snippet
【发布时间】:2014-03-31 23:03:42
【问题描述】:

我是 emacs 的新手...所以我试图安装 ya-sn-ps 为此,我首先下载了 ya-sn-p tar 文件,然后将其解压缩,然后将其保留为 .emacs.d/packages/ 然后将以下代码添加到我的 .emacs 文件中

;; 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 新手,请告诉我为配置 yasn-p 编写的 .emacs 文件的每一行在做什么? 请告诉我要添加什么到 .emacs 文件中,以便 ya -sn-p 使用所有默认附带的 c/c++ sn-ps?

【问题讨论】:

  • 当 Emacs 抛出 Symbol's function definition is void 之类的错误时,通常意味着包(包含函数)没有被正确加载。所以你需要首先验证你在~/.emacs.d/packages/yasnippet/yasnippet.el 的位置有一个名为yasnippet.el 的文件,并验证该文件包含一行代码(通常在底部):(provide 'yasnippet) 也许你的yasnippet.el 文件在不同的文件夹(例如,更深的一个文件夹)?
  • 是的,这两件事都存在。我在 ~/.emacs.d/packages/yasn-p 中有 yasn-p.el,它的最后一行是 (provide 'yasn-p) 和然后在那一行之后的一些cmets(用于结束)!
  • 试试M-x load-library RET yasnippet RET怎么样?如果它加载(带有消息Loading yasn-p...done),然后尝试M-x yas-minor-mode。如果这两个步骤都有效,那么我的下一个猜测是您的.emacs 文件(或您的.emacs 文件调用的另一个库)中有错误,并且您的.emacs 文件在您启动Emacs 时没有完全加载。在这种情况下,您应该在启动 Emacs 时查看 *Messages* 缓冲区中是否还有其他错误消息。
  • 当我做 M-x load-library RET yasn-p RET 它说...无法打开加载文件:cl-lib
  • 啊哈。 . . .好吧,那是个问题,因为Yasnippet 需要调用其他相关库的cl 库——例如cl-lib。是时候将所有内容备份到安全的地方,然后将您的 Emacs 版本升级到全新的完整版本。听起来Yasnippet 安装本身和您的加载路径是正确的。

标签: emacs emacs23


【解决方案1】:

第一步:将以下两行放在您的 .emacs 文件顶部附近,然后重新启动 Emacs:

(require 'package)
(package-initialize)

第二步M-x list-packages

第三步:单击鼠标左键选择Yasnippet,然后单击Install,然后单击Yes

第四步:打开您的 .emacs 文件并将其放在 package-initialize 下方

(require 'yasnippet)

(yas-global-mode 1)

第五步:重新启动 Emacs 并享受编码的乐趣。当次要模式处于活动状态时,模式行将显示 yas

【讨论】:

  • 我在 ~/.emacs.d 文件夹中没有 package.el 文件,也就是说我没有任何包管理器..对吗?这就是为什么我必须手动安装它!
  • 标准版本的 Emacs 中内置了它——在您计算机的某处应该有一个文件夹 .../lisp/... 存储所有库存文件。
  • 我有 emacs 版本 23.3.1..它没有任何默认的包管理器!请指导我安装包管理器吗?
  • 对不起,我只有最新版本的 Emacs。也许这些论坛周围的其他人仍在使用旧版本,可以进一步指导您。或者,考虑升级您的 Emacs 版本。这里是 Yasn-p 的 Github 源代码的链接,它提供了一些基本的安装说明:github.com/capitaomorte/yasnippet
  • 我在安装时遵循了相同的说明!
猜你喜欢
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 2010-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多