emacs在其他电脑的移植问题

请问,如果我想把这台电脑的emacs 配置直接移植到其他未连网的电脑包括插件什么的,直接将.emacs .d复制就好了可以嘛?

好像不行,会报错,所以init.el是记录了啥信息吗?

或者.emacs .d里面哪个文件会记录这台电脑的相关信息吗?

这取决于你的emacs的版本和包管理器,比如 linux 到 linux,相同版本的 emacs。包管理是用的 package.el 那么就需要 .emacs.d 里面你自己写的那些 .el 文件和 elpa 这个目录。

windows下的话,别人是这样做的。

``` emacs-lisp
(defvar program-dir
  (replace-regexp-in-string "share/emacs.*/etc/$" "home/" data-directory :from-end))
(setenv "HOME" program-dir)
(load "~/.emacs.d/init.el")
```

将上述代码放在 emacs 目录/share/emacs/site-lisp/site-start.el 中即可,没有这个文件就新建 一个。然后在 emacs 目录中新建一个 home 文件夹来存放配置文件,就可以在启动 emacs 的时候读取了。

原理 data-directory 变量表示 emacs 文件夹下的 ect 文件夹地址,这里面含有 emacs 的地址。

这个没有统一的方式。需要看你具体配置,你是用的哪个大佬的配置吗?还是自己配置?还有你是什么操作系统使用?

我目前想把Windows 的配置转移到另外一台电脑的配置上。另外一台电脑由于种种原因无法联网

谢谢,我试试看。

按照上面的方法,把.emacs.d整个目录拷贝到新建的home目录即可。

请问,Windows 下的emacs 里面有share这个目录吗?需要我自己在.emacs .d里面创建这个目录对吗。

+ bin
+ etc
+ home -->新建
  - .emacs.d -->原来home目录下的emacs配置文件夹复制过来
+ include
+ lib
+ libexec
+ share
  - emacs -->程序自带
    - site-lisp  -->程序自带
     - site-start.el  -->文件要自己新建

share 目录是emacs自带的,我的emacs是在gnu官网下载的。

看您的目录树,这个是在Linux 下吗?我记得Windows 好像没有bin目录呀,原谅我有些地方可能理解地不是很到位。

这个是我在gnu/emacs下载的windows版的emacs。

把windows上的.emacs.d 文件夹拷贝到新电脑的同样位置即可(HOME位置)。如果新电脑直接安装新的Emacs,就不用拷贝emacs目录。
需要注意的是home 的位置,我是在环境变量直接创建HOME 为C:\Users\你的用户名\

哦哦,我明白了,谢谢你。

这个方法就是将emacs绿色化,,放在U盘里,插在电脑上就行。如果只是长期用的电脑 ,放在User目录就行。

好的谢谢,这个在emacs wiki上面有吗?我好像没有找到唉

好像不行。唉。

貌似这种.emacs .d里面记录了本电脑的一些信息。