9

我需要将一个字符串(不属于缓冲区)附加到一个特殊文件中,但是由于我希望此操作花费尽可能少的时间,所以我不想作为缓冲区打开。SFF

AFAIK,emacs 中有一个名为 的内置函数write-region,但这需要将内容写入F其中一个缓冲区(而在我的情况下,不能保证S应该是这样的字符串)。我怎样才能做到?

4

3 回答 3

21

(write-region <STRING> nil <FILENAME> 'append)

于 2013-06-29T15:18:55.997 回答
6

你为什么不尝试类似的东西:

(defun my-append-string-to-file (s filename)
  (with-temp-buffer
    (insert s)
    (write-region (point-min) (point-max) filename t)))

编辑:显然,正如@Stefan 回答的那样,write-region能够将字符串附加到文件中,所以我建议改用他的答案。

于 2013-06-29T04:49:58.977 回答
1

不确定您想要实现的确切目标,但这样的事情可能会奏效……您可以将要附加到的文件的路径放在 /path/to/F 的位置。

(defun interactive-append (something)
  (interactive "sAppend S to F:")
  (shell-command (format "echo '%s' >> /path/to/F" something)))
于 2013-06-29T05:21:19.060 回答