如何编写一个elisp函数,以字符串形式返回文件的内容



好吧,标题已经包含了一切;)。当然,我可以创建一个新的缓冲区,将insert-file-contents放入其中,然后将其放入一个变量中,终止缓冲区并返回该变量——但这似乎有点过头了。有没有更好的办法?

NB。我的用例是smtpmail-auth-credentials.emacs声明-我在一些文件中有我的密码,并且不想再把它放在.emacs中。

我相信没有一种简单的方法可以在不涉及缓冲区的情况下做你想做的事情。我将使用这样的临时缓冲区:

(defun file-contents (filename)
  (interactive "fFind file: ")
  (with-temp-buffer
    (insert-file-contents filename)
    (buffer-substring-no-properties (point-min) (point-max))))

虽然你可能想使用insert-file-contents-literally,如果你不想格式解码,自动解压缩等

相关内容

  • 没有找到相关文章

最新更新