【发布时间】:2017-07-15 01:30:55
【问题描述】:
我对使用 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 的新手,我不知道如何访问列表、它们的属性,或者......嗯......任何东西。介意帮帮我吗?
【问题讨论】:
标签: list emacs lisp elisp list-comprehension