gpt4 book ai didi

emacs - 将图像插入文本缓冲区

转载 作者:行者123 更新时间:2023-12-03 01:22:13 24 4
gpt4 key购买 nike

如果我放置

(insert-image (create-image "/tmp/test.png"))

在缓冲区中,将光标放在最后一个括号后面并使用 C-x C-e 对其进行计算,然后图像 /tmp/test.png 显示在缓冲区中:

enter image description here

非常整洁。但是,

  1. 我必须将最后一个括号放在单独的行上,因此图像靠近缓冲区的左侧。有没有办法隐藏整个 (insert-image ...) 文本?
  2. 文本文件仅包含 (insert-image ...) 文本,而不包含图像。我对此很满意,但是有没有办法告诉 emacs自动将所有 (insert-image ...) 表达式替换为他们相应的图像(文件打开后),而我不必在之后输入 C-x C-e每一个?

最佳答案

根据您想要实现的具体目标,您可以尝试以下想法之一:

1.使用org-mode作为缓冲区的主要模式。然后,您就可以使用 org-mode 格式化的所有功能,其中包括链接到图像文件并显示它们:

an image without description
[[file:/tmp/image.png]]

an image with description
[[file:/tmp/image.png][my description]]

然后你可以调用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:

您当然可以将 elisp 代码包装成一个简洁的函数,然后简单地从 eval 局部变量调用它(这更干净,但迫使您将函数定义放在其他地方,远离您的文件)

关于emacs - 将图像插入文本缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com