gpt4 book ai didi

列出与文件关联的缓冲区?

转载 作者:太空宇宙 更新时间:2023-11-03 18:46:04 25 4
gpt4 key购买 nike

我是 lisp 的新手,如果这是一个微不足道的问题,我很抱歉。经过一段时间的谷歌搜索后,我一直无法找到解决方案,但我确信这是我的错。

所以。我正在尝试编写一个命令来恢复所有打开的缓冲区。简单的。我就是这样

(setq revert-without-query (buffer-list))
(mapc 'revert-buffer (buffer-list))`

不幸的是,如果有任何缓冲区不与文件关联——也就是说,总是这样,这最终会失败。

对列表缓冲区执行 C-x C-b 会打印类似的内容

CRM   Buffer        Size  Mode            File
init.el 300 Emacs-lisp ~/.spacemacs.d/init.el
%scratch% 30 Test

好的。很容易。如果允许我混合使用 lisp 和 python,我会做类似的事情

(setq revert-without-query [b for b in buffer-list if b.File != ""])
;; Or would I test for nil? Decisions, decisions...

经过一些挖掘,我发现存在remove-if。不幸的是,作为 lisp 的新手,我不知道如何访问列表、它们的属性,或者……好吧……任何东西。介意帮帮我吗?

最佳答案

一种可能是检查 buffer-file-name 如果缓冲区没有访问文件,它将返回 nil,例如。

(cl-loop for buf in (buffer-list)
if (buffer-file-name buf)
collect buf)

(cl-remove-if-not 'buffer-file-name (buffer-list))

关于列出与文件关联的缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45113598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com