我需要追加字符串S
(属于无缓冲区)到特殊文件F
,但是因为我希望此操作尽可能少花时间我不希望F
作为缓冲区打开。
AFAIK,在emacs中有一个名为write-region
的内置函数,但这需要将内容写入其中一个缓冲区内的F
(在我的情况下,不能保证S
应该是这样的字符串)。我该怎么做?
答案 0 :(得分:16)
(write-region <STRING> nil <FILENAME> 'append)
答案 1 :(得分: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
能够将字符串附加到文件中,所以我建议改为使用他的答案。
答案 2 :(得分:1)
不确定你想要实现什么,但是这样的事情可能会起作用......你可以把路径放到你要追加的文件上代替/ path / to / F.
(defun interactive-append (something)
(interactive "sAppend S to F:")
(shell-command (format "echo '%s' >> /path/to/F" something)))