Как полностью очистить буфер с помощью elisp?

20

Если я хочу удалить все в буфере с помощью elisp, как мне это сделать?

24HrRevengeTherapist
источник

Ответы:

23

Ты пробовал erase-buffer?

erase-buffer is an interactive built-in function in `C source code'.

(erase-buffer)


Delete the entire contents of the current buffer.
Any narrowing restriction in effect (see `narrow-to-region') is removed,
so the buffer is truly empty after this.

Как найти такую ​​функцию? M-x apropos buffer erase

Нарисовалась
источник
1
Есть несколько исключений, например, объекты наложения не удаляются, и могут быть некоторые другие вещи, с которыми я не знаком, которые продолжают присутствовать после erase-bufferвызова.
юрист
Да, вопрос не очень точный относительно « всего » и « в » буфере. Если вы хотите избавиться от всего, что связано с буфером, то kill-bufferэто ваш друг.
Дрю
7

Вы можете использовать немного setfмагии.

(setf (buffer-string) "")

Джордон Биондо
источник
0

Там также этот ответ :

C-x h + del клавиша очищает буфер

Примечание. Это необходимо transient-mark-modeвключить (по умолчанию).

Джошуа Голдберг
источник
Но это ключевая последовательность, тогда как ФП попросил ответить на вопрос Элиспа.
Стефан
К сожалению, опубликовано слишком быстро.
Джошуа Гольдберг,