У меня есть много (~ 30) буферов, чьи имена начинаются с одной и той же подстроки. Есть ли способ передать регулярное выражение команде kill buffer, чтобы я мог убить всех из них за один раз?
В emacs, как я могу убить несколько буферов, не открывая их отдельно
Ответ 1
Команда, которую я искал M-x kill-matching-buffers
.
Ответ 2
Более интерактивный и универсальный подход с helm-list-buffers
:
- Введите то, что вы хотите сопоставить.
- Выберите все совпадения с помощью M-m (
helm-toggle-all-marks
). - Дополнительно, уточните свой выбор с помощью C-SPC (
helm-toggle-visible-marks
), используя C-n/C-p для навигации. - Нажмите TAB, выберите "kill buffers" из доступных параметров. Другие варианты: query-replace/origin/grep/revert, а также множество других.
Ответ 3
- Запустите M-x ibuffer (встроенная команда).
- В каждой строке с буфером, который вы хотите удалить, нажмите "d".
- По завершении нажмите "x", чтобы зафиксировать изменения.
Ответ 4
Использование руля:
- Откройте рулевой с помощью
helm-mini
. В моем случае я сопоставил его с C-2 - Прокрутите список и отметьте те, которые хотите удалить, с помощью C-Space
- И выберите все, что вы хотите, нажмите M-S-d/M-D
Это удаляет все выбранные буферы и закрывает шлем.
Ответ 5
C-x C-b
, чтобы перечислить все буферы k
для отметки буферов для kill (D появляется рядом с буфером) x
выполнить kill