org图片大小控制必须要手动eval


#1

代码是 (setq-default org-image-actual-width 100) ,但该代码放在init.el里无效,必须要打开org图片后,手动eval一下该代码才生效。 怀疑是因为初始加载 init.el 时,命令 org-toggle-inline-images 还没有启动。但如何改就不知道了,with-eval-after-load 后面跟的貌似必须是 mode,各位有什么建议吗?


#2

(with-eval-after-load org …


#3

还是不行,而且我在一开头就写了 (require 'org),应该不是这个原因。


#4

init加入了配置但是没有手动eval的时候,org-image-actual-width的值是什么?


#5

@casouri 十分抱歉,回晚了。值是 821… 好奇葩的数字,难道是有什么插件给自己改了?然后我把这行命令放到了 init.el 的最后一行,仍旧是 821。


#6

挺奇怪的,默认值是t,你看看是不是你的配置改了?emacs -Q不加载配置再看看值是多少。

找不到可以用二分法,注释掉一半的配置然后看看问题有没有出现,然后不断二分有问题的那一半配置。


#7

会自动加载啊,我就是像下面这样设置的:

;; (image-type-available-p 'imagemagick)    ;; t
(setq org-image-actual-width (/ (display-pixel-width) 3))
;; (setq org-image-actual-width 800)
;; it's okay now, to exec command like 'org-toggle-inline-images' but not toggle 'iimage-mode'

如果,不生效,那就曲线解决,写一个自执行函数,如下:

(add-hook 'after-init-hook
	  (lambda ()
	    "Active it."
	    (setq-default org-image-actual-width 100)))

#8

@casouri 破案了…在自己的 init.el 里检查了半天也没发现,后来才发现原来问题是在系统默认那个 init.el 里,清清楚楚的在 custom-set-variables 里写着 '(org-image-actual-width 821) :joy::joy: 我估计是刚用 emacs 时,在 customize-xxx 里瞎改改出来的(太丢人了 :scream: