大家的 Emacs 配置是如何适配 多系统/多设备 的呢?

我看了一下源码文件,变动很大, 可以给我他的函数名么,我挺想知道他怎么实现的

可以参考 Centaur Emacs中的方式,简单直接,用 system-type 判断下系统就行了。

其实就是各种变量,我是windows,使用到了system-type, system-name, w32-version如下:

(cond
 ;; home
 ((and (string-equal system-type "windows-nt")
       (string-equal "WIN-6PRFQIFSB6O" (system-name))
       (equal (list 6 1 7601) (w32-version)) ;; win7 64
       )
  (setq org-directory "D:/autosync/autosync/org"))
 ;; work
 ((and (string-equal system-type "windows-nt")
       (string-equal "DESKTOP-9JD2LQI" (system-name))
       (equal (list 10 0 19044) (w32-version)) ;; win10
       )
  (setq org-directory "H:/doc/autosync/autosync/org")))
1 个赞

你这还区分Windows版本?是有什么特殊的需求?

嗯嗯,有点多余了,以前保留的

如何像我一样emacs启动时把窗口的位置固定写死,分辨率相同的屏幕,同样的设置在不同的windows版本上会有些细微区别,要微调,可以用区分windows版本的办法,不过我现在也没这个需求了

不同电脑,屏幕尺寸差不多,但是分辨率差异太大,相同的字体字号就没法看,不知道咋自动适配。

看看这个 display-monitor-attributes-list,能计算出ppi

1 个赞

我还没有自动适配的需求,就一笔记本和一台式机,两台显示器,参数写死就够用了,估计未来几年或更久都不会换,也不会在非常用电脑使用emacs,偶尔在非常用电脑上有文本编辑需求时会用notepad或者装notepad++