Bagaimana cara menghapus buffer sepenuhnya dengan elisp?

20

Jika saya ingin menghapus semua yang ada di buffer dengan elisp, bagaimana saya melakukannya?

24HrRevengeTherapist
sumber

Jawaban:

23

Sudahkah Anda mencoba 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.

Bagaimana menemukan fungsi seperti itu? M-x apropos buffer erase

Drew
sumber
1
Ada beberapa pengecualian, misalnya, objek overlay tidak dihapus, dan mungkin ada beberapa hal lain yang saya tidak kenal yang terus hadir setelah erase-bufferdipanggil.
lawlist
Ya, pertanyaannya adalah wrt " segalanya " dan " di " buffer tidak sangat tepat . Jika Anda ingin menyingkirkan semua yang terkait dengan buffer, maka itu kill-bufferadalah teman Anda.
Drew
7

Anda bisa menggunakan setfsihir.

(setf (buffer-string) "")

Jordon Biondo
sumber
0

Ada juga jawaban ini :

C-x h + del kunci membersihkan buffer

Catatan: Ini transient-mark-modeharus diaktifkan (yang secara default).

Joshua Goldberg
sumber
Tapi ini adalah urutan kunci, sedangkan OP meminta jawaban Elisp.
Stefan
Ups, diposting terlalu cepat.
Joshua Goldberg