2013-03-07 2 views
1

В Emacs я использую вещь под названием buffer-stack, чтобы видеть и просматривать мои открытые буферы, полезный, если я не знаю, к какому буферу я хочу перейти, но я просто хочу визуально видеть открытые буферы (фактический контент, а не имена файлов). У меня есть одно ключевое слово для buffer-stack-up и другое для buffer-stack-down, что позволяет мне прокручивать их влево и вправо.Как получить буферный стек Emacs для игнорирования определенных типов файлов?

Я хотел бы исключить определенные типы буферов из этого поведения. Я уже могу исключить конкретные буферы, указав полное имя буфера в переменной с именем buffer-stack-untracked, например. Я могу отметить *Messages* как нет следа.

Как я могу указать определенные буферы как не проверенные с помощью REGEXP? Например, я хотел бы исключить буферы, которые содержат REGEXP Help или .html, хотя я не могу предсказать полное имя файла.

Как это сделать? Если это невозможно сделать, используя buffer-stack, то какой пакет даст мне поведение, которое я хочу?

ответ

2

Я считаю, что это будет хорошей отправной точкой.

(defun buffer-stack-filter-regexp (buffer) 
    "Non-nil if buffer is in buffer-stack-tracked." 
    (not (or (string-match "Help\\|html" (buffer-name buffer)) 
      (member buffer buffer-stack-untracked)))) 
(setq buffer-stack-filter 'buffer-stack-filter-regexp) 
+0

Фактически это имело обратный эффект. Я обнаружил, что просматриваю буферы, такие как 'edit server',' Minibuf-0', 'Echo-area-1',' Echo-area-2' и 'code-conversion-work'. – incandescentman

+0

Отредактирован ответ, чтобы лучше соответствовать исходному поведению –

+0

Я получаю «конец файла во время разбора». – incandescentman

Смежные вопросы