我正在计划以下步骤来获得问题的输出。
(缓冲列表)fn输出非常混乱。它表现得像 (#...)
我不明白#<和*代表。
答案 0 :(得分:4)
buffer-list
的输出是缓冲区对象的列表。
处理特定缓冲区的函数通常会接受缓冲区对象作为参数:
(buffer-name (car (buffer-list)))
此处解释了#<...>
语法:
M - : (info "(elisp) Printed Representation")
RET
我无法想象你为什么要修改所有缓冲区(记住这包括迷你缓冲区,可能是一些内部使用缓冲区,其他各种类似* Help *,* Messages *和也许是一些只读缓冲区),但您可以使用以下内容作为基础:
(let ((buffers (buffer-list)))
(while (car buffers)
(set-buffer (car buffers))
(let ((contents (save-restriction (widen) (buffer-string))))
[do something with contents] )
(setq buffers (cdr buffers))))