Saya punya pertanyaan tentang Emacs Lisp. Apa perbedaan antara setq dan setq-default ?
Tutorial mengatakan setq berlaku di buffer lokal sementara setq-default memengaruhi semua buffer.
Misalnya, jika saya menulis (setq a-var a-vars-value) di init.el , saya temukan setelah memulai Emacs dan membuka buffer baru, a-var juga ada di sana dan nilainya adalah nilai -vars . Saya pikir itu tidak seharusnya ada di sana. Sepertinya tidak ada perbedaan antara setq dan setq-default .
Apakah ada yang salah dengan pemahaman saya?
Sebagai contoh:
Saya menulis (setq halo 123) di file init.el , dan saya menjalankan emacs abuffer di shell, lalu saya memasukkan "hello Cx Ce" , itu menunjukkan "123". Hal yang sama terjadi ketika saya menjalankan ini di semua buffer baru.
Saya menulis (setq tab-width 4) di file init.el. Ketika saya menjalankan Cx Ce lebar-tab , itu menunjukkan "8" (Mode saat ini adalah 'Teks'). Namun, ketika saya menggunakan (setq-default tab-width 4) , itu menunjukkan "4". Saya tidak bisa menjelaskan fenomena ini.