2014-10-19 183 views
4

如何在Emacs上獲得當前緩衝區的數量(不包括內部緩衝區)?得到Emacs中緩衝區的數量

我有這個,但它看起來令人費解

;; number of buffers excluding internal buffers         
(apply '+ (mapcar 
      (lambda (b) 
      (if (or (buffer-file-name b) 
        (not (string-equal (substring (buffer-name b) 0 1) " "))) 
       1 0)) 
      (buffer-list))) 

它的作用是計算,它們或者訪問一個文件或者其 名稱不以空格開始的緩衝區。

我只想添加幀標題的緩衝區數量。

回答

6

我不知道一個單一的功能,這是否的,但這裏是你的 代碼,簡化:

(cl-count-if 
(lambda (b) 
    (or (buffer-file-name b) 
     (not (string-match "^ " (buffer-name b))))) 
(buffer-list))