- 安装emacs最新版251
- 编辑emacs配置文件
- 主目录的initel一定要添加 package-initialize否则spacemacs启动时间一次比一次长
- 安装spacemacs
- spacemacs真正的启动还需要很多设置步骤
- emacs和initel的区别
1. 安装emacs最新版25.1
步骤:
1. 下载emacs最新版
http://ftp.gnu.org/gnu/emacs/windows/
2. 解压并执行emacs安装目录的\bin\addpm.exe
下文的安装目录,是“D:/EDA-tools/emacs/emacs-25.1
”。
注意:是左斜杠/
,而不是右斜杠\
。emacs会认为右斜杠是转义符。
3. 下载emacs-25-x86_64-deps.zip,并解压缩到D:/EDA-tools/emacs/emacs-25.1
目录里;这一步骤很重要,是让windows支持更多的gnu库,比如使得org-mode可以显示png格式的图片等。
2. 编辑emacs配置文件
配置文件,默认是不存在的。配置文件生效的目录是windows主目录:
C:\Users\Administrator\AppData\Roaming\
- 1
配置文件的设置步骤:
- 保证
C:\Users\Administrator\AppData\Roaming
目录下没有.emacs文件。 - 建立
C:\Users\Administrator\AppData\Roaming\.emacs.d\init.el
文件;内容如下:
;; Without this comment emacs25 adds (package-initialize) here
;; (package-initialize)
(setenv "HOME" "D:/EDA-tools/emacs/emacs-25.1")
(setenv "PATH" "D:/EDA-tools/emacs/emacs-25.1")
(setq default-directory "~/")
(load-file "D:/EDA-tools/emacs/emacs-25.1/.emacs.d/init.el")
主目录的init.el一定要添加;; (package-initialize)
,否则spacemacs启动时间一次比一次长。
问题的表现是:
spacemacs启动,长时间白板显示,下方显示正在写入D:/EDA-tools/emacs/emacs-25.1/init.el
。
发现D:/EDA-tools/emacs/emacs-25.1/init.el
里串着几十个(package-initialize),把spacemacs启动过程搞得几乎瘫痪。
解决方法:
特别注意,package-initialize这一行,必须要添加,而且是注释,而且要放在系统主目录里,即C:\Users\Administrator\AppData\Roaming\.emacs.d\init.el
文件。否则,每次启动都会自动添加(package-initialize),早晚有一天,会发现启动spacemacs需要几分钟或者十几分钟。原因先不考虑,一定要加这段注释。
;; Without this comment emacs25 adds (package-initialize) here
;; (package-initialize)
3. 安装spacemacs
- 下载spacemacs
https://github.com/syl20bnr/spacemacs/archive/master.zip - 解压并改名为
.emacs.d
;放入目录D:/EDA-tools/emacs/emacs-25.1
- 启动
D:/EDA-tools/emacs/emacs-25.1/runemacs.exe
;可以设置为快捷键,方便以后启动emacs程序。
4. spacemacs真正的启动,还需要很多设置步骤。
个人经历:
一. emacs25.1版本,使用spacemacs的master分支时,会遇到很多error;最终下载使用的spacemacs版本是develop分支。https://codeload.github.com/syl20bnr/spacemacs/zip/develop
master版本和develop版本的区别,一个是稳定版(为了稳定,功能少一些),一个是开发版(更多功能,稳定性相对差一些)。
二. 根据个人需求,选择vim/spacemacs/等设置选项。
三. 由于spacemacs需要下载很多插件。由于插件源网络关系,下载极慢而且不稳定;所以修改插件源为清华服务器。实现方法如下:
在第一步骤开始下载插件的过程中,强制退出emacs。这时,D:/EDA-tools/emacs/emacs-25.1/.spacemacs出现。修改其中的代码:
(defun dotspacemacs/user-init ()
"Initialization function for user code.
It is called immediately after `dotspacemacs/init', before layer configuration
executes.
This function is mostly useful for variables that need to be set
before packages are loaded. If you are unsure, you should try in setting them in
`dotspacemacs/user-config' first."
(setq-default
configuration-layer--elpa-archives
'(("melpa-cn" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")
("gnu-cn" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
("org-cn" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/org/")))
)
最后一路顺利通关。
warning:spacemacs默认字体”Source Code Pro”不存在。解决方法如下:
dotspacemacs-default-font '("Courier New"
:size 13
:weight normal
:width normal
:powerline-scale 1.1)
最终,提供org显示png格式图片的界面效果:
补充:安装其它插件package的时候,也许会碰到一些问题。可以选择性exclude_package掉。
如果遇到下述问题:
Found 1 new package(s) to install...
--> refreshing package archive: marmalade... [5/5]
--> installing package: evil-unimpaired@spacemacs-evil... [1/1]
An error occurred while installing evil-unimpaired (error: (file-error Opening directory No such file or directory d:/EDA-tools/emacs/emacs-25.1/.emacs.d/.cache/quelpa/melpa/recipes))
解决办法:
把.cache清空以后挂个代理,确认能不能用github,启动以后应该能成功安装。还是不行就手动把https://github.com/melpa/melpa下载到~/.emacs.d/.cache/quelpa/melpa,然后重启。这个错误估计是因为要用melpa路径里面的资源编译el文件,但是因为在中国不能很好地用github下载所以无法完成编译。
.spacemacs文件中查找dotspacemacs-line-numbers。
默认配置为:
dotspacemacs-line-numbers nil
修改为:
dotspacemacs-line-numbers 'relative
配置pdf双向
首先在 `dotspacemacs/layers()`里面加入
Build command
A build command can be specified via the layer variable latex-build-command
.
If LatexMk
is specified, the appropriate LatexMk
configuration will be applied. (the default on systems with latexmk
in the path) This variable can be set to any of the entities in TeX-command-list
, including any custom entries you may have added there. To use the regular AucTeX
command set latex-build-command
to LaTeX
as shown below.
dotspacemacs-configuration-layers '( (latex :variables latex-build-command "LaTeX"))
Auto-fill
To enable auto-fill set the variable latex-enable-auto-fill
to t
.
The variable latex-nofill-env
provide the list of environment names where auto-fill-mode
will be inhibited.
dotspacemacs-configuration-layers '( (latex :variables latex-enable-auto-fill t))
Folding
Enable folding of text by setting latex-enable-folding
to t
. Default value is nil.
dotspacemacs-configuration-layers '( (latex :variables latex-enable-folding t))
然后在`dotspacemacs/user-config ()`里面加入(假设SumatraPDF装在下述的位置)
(add-hook 'doc-view-mode-hook 'auto-revert-mode)
(setq-default TeX-engine 'xetex)
(setq-default TeX-master nil)
(setq TeX-view-program-list
'(("Sumatra PDF" ("\"c:/Program Files/SumatraPDF/SumatraPDF.exe\" -reuse-instance"
(mode-io-correlate "-forward-search %b %n ") "%o"
)))
)
(eval-after-load 'tex
'(progn
(assq-delete-all 'output-pdf TeX-view-program-selection)
(add-to-list 'TeX-view-program-selection '(output-pdf "Sumatra PDF"))))
接下来,如果顺利的话就可以写LaTeX了,例如用C-c-c编译,C-c-v查看。
补充一下:打开Sumatra PDF的设置,加上这句话(假设emacsclient在下述的位置)
"C:\Program Files (x86)\emacs\bin\emacsclient.exe" --no-wait +%l "%f"
然后就可以双击PDF跳转回Emacs了。
稳重D;\XXX地址换成相应地址。