如何让Org-mode支持`insert-sliced-image`实现分片式图片显示?
在Org-mode中实现分片式内嵌大图显示
Org-mode里内嵌大尺寸图片时,图片会被当作单行内容处理,滚动时直接跳转到图片顶部或末尾,没法逐段查看细节。想要不用新开窗口调整缩放,直接在Org buffer里分片显示大图,实现滚动时逐段加载显示的效果(类似动图后半段的分片浏览模式)。
分片式图片显示是Emacs原生支持的功能,Emacs的Elisp手册中「Showing Images」章节有相关说明。
实现方案
添加以下代码到你的Emacs配置文件(如init.el),就能让Org-mode默认启用分片式图片显示:
(defun org-display-inline-images-with-slice () "让Org-mode内嵌图片启用分片显示" (interactive) (setq org-display-inline-images '((lambda (file link) (create-image file nil t :max-width (window-width) :slice t))))) (add-hook 'org-mode-hook #'org-display-inline-images-with-slice)
这段代码替换了Org-mode默认的图片渲染函数,给图片加上:slice t参数,Emacs会自动将超出当前窗口高度的图片切割成分片,滚动时逐步加载显示对应区域,不用再跳转式滚动。
内容的提问来源于stack exchange,提问作者gnupa
相关产品推荐
相关产品推荐

