Como limpo um buffer completamente com o elisp?

20

Se eu quiser excluir tudo em um buffer com elisp, como faço isso?

24HrRevengeTherapist
fonte

Respostas:

23

Você já tentou 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.

Como encontrar essa função? M-x apropos buffer erase

Desenhou
fonte
1
Existem algumas exceções, por exemplo, objetos de sobreposição não são excluídos e pode haver outras coisas com as quais não estou familiarizado que continuam presentes após a erase-bufferchamada.
lawlist
Sim, a questão não é muito precisa, escreva " tudo " e " in " no buffer. Se você quiser se livrar de tudo associado ao buffer, então kill-bufferé seu amigo.
Drew
7

Você pode usar um pouco de setfmágica.

(setf (buffer-string) "")

Jordon Biondo
fonte
0

Há também esta resposta :

C-x h + del tecla limpa o buffer

Nota: Isso precisa transient-mark-modeestar ativado (que é por padrão).

Joshua Goldberg
fonte
Mas essa é uma sequência importante, enquanto o OP solicitou uma resposta do Elisp.
Stefan
Opa, postado muito rapidamente.
19377 Joshua Goldberg