(请先参阅 本配置支持的平台.)
假设你的机器上有 名为 shynur 的用户, 他将 Emacs 安装在 c:/Users/shynur/bin/
目录下
(对于 GNU/Linux, 他将 Emacs 等二进制文件放在了 PATH
中的某处).
将 本仓库 解压至 c:/Users/shynur/
(或 类似 c:/Users/shynur/.config/
的 XDG-兼容 位置, see How Emacs Finds Your Init File),
确保能看到 c:/Users/shynur/.emacs.d/INSTALL.rst
(this file).
(如果 安装在 XDG-compatible 位置, 则需要修改目录名, 确保存在类似 c:/Users/shynur/.config/emacs/INSTALL.rst
的路径.)
(下文所有提及的相对路径, 都是基于 c:/Users/shynur/.emacs.d/
目录.)
也可以直接下载我本地编译好的配置, 见 README.org. 但是会小概率出现不兼容现象, 并且我不会及时更新它.
将 site-lisp/
下的所有文件及子目录移动到 c:/Users/shynur/bin/emacs-VERSION/share/emacs/site-lisp/
(在 GNU-like 系统上, 是像 /usr/local/share/emacs/site-lisp/
的目录).
如果有重复文件, 请自行判断是否要‘替换’或‘跳过’, 总之不影响结果.
编辑 etc/shynur-custom.el
文件进行本地化配置.
(这应当不需要 Emacs Lisp 知识.)
(假设你将该文件中的 变量 shynur/c:appdata/
的值设为 ~/.emacs.d/.appdata/
.)
README.org 中列出了依赖项目, 其中, 字体 是 必须 的 (其中部分字体是 OS 自带的).
在 MS-Windows 上, 需要显式地指出用户的 HOME 目录 (see Where do I put my init file?):
设置 -> 系统信息 -> 高级系统设置 -> 环境变量 -> 新建 (shynur 的用户变量),
将变量 HOME
设为 C:/Users/shynur/
.
从各类 ELPA 网站上获取 Emacs packages, 请确保你有正常的网络环境.
执行如下命令:
PS C:\Users\shynur> ./bin/emacs-VERSION/bin/emacs.exe --kill
等到 Emacs 正常退出后, 应该能看到类似 .appdata/package-user-directory/
的路径, 该目录下是编译好的 package.
有些配置文件也可以编译 (反正我懒得编译), see .dir-locals.el.
在 .emacs.d/modules/src/
下有名如 shynur-*.c
的 C 文件, 参见 modules/src/shynur-hello.c 中提示的编译指令.
编译后会在 modules/
下生成动态链接库, 例如 modules/shynur-hello.dll
(其中的模块函数演示了一个简化的柯里化概念, 可以编译下来玩玩).
执行如下命令:
PS C:\Users\shynur> ./bin/emacs-VERSION/bin/emacsclientw.exe ` --server-file=c:/Users/shynur/.emacs.d/.appdata/server-auth-dir/server-name.txt ` --alternate-editor= ` --quiet ` --create-frame
或 (在 GNU/Linux 上):
shynur:~$ emacsclient \ --server-file=/home/shynur/.emacs.d/.appdata/server-auth-dir/server-name.txt \ --alternate-editor= \ --quiet \ --create-frame
此时 Emacs 首先在后台创建了一个 daemon (see 如何运行 Emacs 作为后台服务进程?),
然后 (耐心点) 会弹出一个窗口, 默认会打开 *scratch*
buffer.
将当前窗口关闭, 再次运行上一节提到的命令, Emacs 会瞬间 (在我的电脑上是 0.7s) 启动. 这是因为关闭窗口并没有结束 Emacs 的进程, Emacs 将会一直驻留在后台.
基本上没有需要清理的中间文件. 但如果你想从头开始安装的话, 请:
~/.emacs.d $ make clean # Makefile 暂时没有写完.