emacs在其他电脑的移植问题

这取决于你的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里面记录了本电脑的一些信息。

会有一些的,你可以建立一个git仓库,添加.gitignore文件,过滤不需要的文件或者文件夹

操作系统一致,emacs版本一致,直接复制.emacs.d文件过去就可以了,会记录电脑信息,但只要不用desktop-save就没什么影响,我一直是这样在两台windows电脑使用emacs的。

复制麻烦,就用了syncthing自动同步两台电脑间的.emacs.d文件夹的全部内容。这样比较方便。 当然用git仓库来管理同步配置更好。

另外syncthing也有简单的版本控制功能,只是不如git,syncthing是可以自定义版本控制工具的,只是我一直不知道该怎么动手

这个方法是在本论坛看到的。