unu*_*tbu 19 emacs insert-image
如果我放置
(insert-image (create-image "/tmp/test.png"))
Run Code Online (Sandbox Code Playgroud)
在缓冲区中,将光标放在最后一个括号后面并用它进行评估C-x C-e,然后图像/tmp/test.png显示在缓冲区中:

很简约.但,
(insert-image ...)完全隐藏文本?(insert-image ...)仅包含文本,而不包含图像.我对此很满意,但是有没有办法告诉emacs (insert-image ...)通过相应的图像(文件打开后)自动替换所有表达式,而不必C-x C-e在每个之后输入?ffe*_*tte 29
根据您想要实现的目标,您可以尝试以下想法:
1.使用org-mode作为缓冲的主要模式.然后,您可以访问org-mode格式化的所有功能,包括链接到图像文件并显示它们:
an image without description
[[file:/tmp/image.png]]
an image with description
[[file:/tmp/image.png][my description]]
Run Code Online (Sandbox Code Playgroud)
然后你可以调用org-toggle-inline-images(C-c C-x C-v)在缓冲区中显示图像(没有前缀参数,它只显示没有描述的图像;如果你给出一个前缀参数,它将显示所有图像)
2.编写自己的elisp代码,将图像插入到所需的位置,并将其放在eval本地伪变量中,以便在打开文件时调用它.例如:
foo
<HERE>
bar
# Local Variables:
# eval: (progn (beginning-of-buffer)(search-forward "<HERE>")(insert-image (create-image "/tmp/image.png")))
# End:
Run Code Online (Sandbox Code Playgroud)
你当然可以将elisp代码包装成一个简洁的函数,只需从eval局部变量中调用它(更干净,但强制你将函数定义放在其他地方,远离你的文件)
hua*_*uan 27
看看iimage-mode内嵌图像次要模式.它包含在Emacs-23,IIRC之后.
M-xiimage-mode