配置是直接复制 emacs-也很美 里的那部分配置。出现如下报错:
这个issue内有个一样的错误,但是我看了回答,发现我不是因为源地址写错导致的。
init.el文件内容:
(when (>= emacs-major-version 24)
(require 'package)
(package-initialize)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t))
;; cl - Common Lisp Extension
(require 'cl)
;; Add Packages
(defvar my/packages '(
;; --- Auto-completion ---
company
;; --- Better Editor ---
hungry-delete
swiper
counsel
smartparens
;; --- Major Mode ---
js2-mode
;; --- Minor Mode ---
nodejs-repl
exec-path-from-shell
;; --- Themes ---
monokai-theme
;; solarized-theme
) "Default packages")
(setq package-selected-packages my/packages)
(defun my/packages-installed-p ()
(loop for pkg in my/packages
when (not (package-installed-p pkg)) do (return nil)
finally (return t)))
(unless (my/packages-installed-p)
(message "%s" "Refreshing package database...")
(package-refresh-contents)
(dolist (pkg my/packages)
(when (not (package-installed-p pkg))
(package-install pkg))))
;; Find Executable Path on OS X
(when (memq window-system '(mac ns))
(exec-path-from-shell-initialize))
这种情况我回去 diff 下他们的区别,通常情况下都是自己打错了
首先楼上说用我的配置没问题,所以我就排除了 Melpa 源的问题。
好的,我会在下一个 PR 中将在第一天插件安装的部分添加 popkit 的使用说明。
重装 Emacs 中。。。。转了半天装了个命令行版本的
我现在全部使用你的配置。出现一个错误 is void: define-advice
这是什么原因?
define-advice
是 Emacs 25 新加入的宏
1 个赞
如果你还没有安装 Emacs 可以在 Mac OS X 安装链接以及 Window 安装链接找到它。本文我们使用的为 Emacs 25.0.x Pretest 版本,一些配置在 Emacs 24 中可能并不适用。
http://book.emacs-china.org/
提示信息说:hungry-delete
这个包找不到。可能原因有很多:archives 过期了、你的电脑跟 melpa 之间的连接有问题、melpa 自己的服务器出毛病了(最近确实有这样问题 [1],不确定有没有完全解决好)诸如此类的。
1: Failed to download melpa archive · Issue #3833 · melpa/melpa · GitHub
最后的横杠是用来写版本号的,因为不清楚版本就留空了。
1 个赞
ok. 目前有碰过一个melpa自身的包管理问题。有一些版本在stable中是没有的,切换到stable时出现错误。
建议对25新特性加个版本判断: 例如init-helper.el
中define-advice
(when (>= emacs-major-version 25)
(define-advice show-paren-function (:around (fn) fix-show-paren-function)
"Highlight enclosing parens."
(cond ((looking-at-p "\\s(") (funcall fn))
(t (save-excursion
(ignore-errors (backward-up-list))
(funcall fn)))))
)
2 个赞
我不是特别清楚这个是不是唯一的 emacs 25 配置,还有没有其他的呢?可能还需要做 GUI 和命令行的判断比如 scroll-bar 命令行 Emacs 就没有。刚刚也遇到这个问题了。
目前我的这边没报错了。 版本是emacs-plus 24.5
1 个赞
理论上有些配置也需要兼容命令行,但是作为初学者,一开始没有必要整,太麻烦。
我大概在第 9 天的视频中会把之前我们学习的配置转到 prelude starter kit 上面去。
没有必要自己写全部的配置。
1 个赞
可以先做个判断,比如这样
(when (fboundp 'tool-bar-mode)
(tool-bar-mode -1))
(when (fboundp 'scroll-bar-mode)
(scroll-bar-mode -1))
或者
(when (display-graphic-p)
(tool-bar-mode -1)
(scroll-bar-mode -1))
1 个赞