0
我計劃按照以下步驟獲取問題的輸出。如何修改emacs lisp中所有活動緩衝區的內容
- 得到緩衝區的列表,並遍歷它
- 獲得使用步驟1中得到
- 變化的內容和覆蓋緩衝區的緩衝區名緩衝區的內容。
(緩衝區列表)fn輸出非常混亂。它顯示像 (#...)
我不明白什麼#<和*代表。
我計劃按照以下步驟獲取問題的輸出。如何修改emacs lisp中所有活動緩衝區的內容
(緩衝區列表)fn輸出非常混亂。它顯示像 (#...)
我不明白什麼#<和*代表。
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))))