Saya ingin agar mode spasi diaktifkan untuk semua buffer kecuali untuk mode-org. Sangat mudah untuk melakukan ini ketika emacs dimulai, tetapi karena saya menggunakan salinan emacs yang persisten dengan mode daemon emacs, saya tidak bisa begitu saja melakukannya.
Saya mencoba:
(require 'whitespace)
(setq whitespace-line-column 80)
(setq whitespace-style '(face lines-tail))
(global-whitespace-mode t)
(add-hook 'org-mode-hook
(lambda ()
(visual-line-mode 1)
(auto-fill-mode -1)
(setq whitespace-style nil)))
tetapi begitu saya mengunjungi buffer mode-org semua buffer masa depan saya tidak memiliki mode spasi putih lagi.
Saya berpikir untuk menambahkan pengait untuk mengaktifkan mode spasi putih untuk mode-mode besar lainnya, tapi itu sepertinya cara yang buruk karena saya tidak ingin menyebutkan semua mode lain yang mungkin.
Saya tahu bahwa ada mode spasi putih bersama dengan mode spasi global, tapi saya tidak yakin bagaimana saya bisa menggunakannya untuk membantu di sini juga.
Apakah ada cara lain untuk mencapai hal ini yang tidak saya pikirkan?
global-whitespace-mode
definisi dengan menambahkan(unless (eq major-mode 'org-mode) . . .)
. Atau, Anda dapat mengaktifkannya pada per mode-utama alih-alih secara global - yaitu, untuk setiap mode-besar, gunakan kail dan(whitespace-mode 1)
. Ide Anda juga dapat berfungsi jika Anda menggunakan(setq-local whitespace-style nil)
, tetapi secara teknis mode ini masih aktif hanya dengan nyali / umph yang dikeluarkan.lambda
sJawaban:
Lihat C-hv
whitespace-global-modes
RETsumber
Mungkin lebih mudah untuk mematikan mode spasi langsung, menggunakan
Juga,
whitespace-style
bukan variabel penyangga-lokal, sehingga dimodifikasi untuk semua penyangga lainnya juga. Coba sajasumber