TL; DR
Sebelum Anda mengatur variabel apa pun, Anda harus tahu bagaimana variabel itu harus ditafsirkan. Demikian pula, sebelum Anda memanggil fungsi apa pun (termasuk yang digunakan untuk beralih mode kecil), Anda harus tahu bagaimana argumen dari fungsi itu ditafsirkan.
Gunakan C-hfdan C-hvuntuk melihat dokumentasi untuk fungsi atau variabel yang dimaksud. Ini harus menentukan nilai-nilai yang diharapkan.
"Non-nil" secara harfiah berarti segala sesuatu yang bukan nil
. Ini termasuk 0
dan angka negatif.
Mode Kecil
Mari kita ambil contoh spesifik. Ketik C-hfblink-cursor-mode
dan tekan RETuntuk melihat dokumentasi fungsi untuk blink-cursor-mode
:
(blink-cursor-mode & ARG opsional)
Toggle cursor blinking (mode Blink Cursor). Dengan argumen awalan ARG, aktifkan mode Blink Cursor jika ARG positif, dan nonaktifkan sebaliknya. Jika dipanggil dari Lisp, aktifkan mode jika ARG dihilangkan atau nihil.
Kami dapat mengaktifkan mode Blink Cursor dengan salah satu cara berikut:
(blink-cursor-mode) ; Omitted argument
(blink-cursor-mode 1) ; Positive argument
(blink-cursor-mode t) ; True argument
(blink-cursor-mode nil) ; nil argument (don't use this)
Perhatikan bahwa argumen t
kehendak bekerja, meskipun string doc tidak secara khusus menyebutkannya. Meskipun ini sering terjadi, taruhan teraman Anda adalah menggunakan apa yang dikatakan oleh string doc agar Anda gunakan, yang dalam hal ini adalah nilai positif.
Juga, perhatikan bahwa argumen nil
akan berhasil. Saya akan sangat menyarankan tidak nil
dengan cara ini karena itu membuat niat Anda tidak jelas. Jika saya membaca kode cadel Anda dan melihat nil
argumen, saya akan berasumsi bahwa Anda ingin menonaktifkan mode minor.
Kami juga dapat menonaktifkan blink-cursor-mode
dengan cara berikut:
(blink-cursor-mode 0) ; Non-positive argument
(blink-cursor-mode -1) ; Negative argument
Perhatikan lagi bahwa nil
ini bukan salah satu cara untuk menonaktifkan mode minor ini. Ini berlaku untuk hampir semua mode minor yang akan Anda temui.
Variabel
Sekarang mari kita lihat contoh variabel. Ketik C-hvtruncate-lines
dan tekan RETuntuk melihat dokumentasi untuk variabel truncate-lines
:
truncate-lines adalah variabel yang didefinisikan dalam `C source code '.
Non-nil berarti tidak menampilkan garis kelanjutan. Sebaliknya, beri setiap baris teks hanya satu baris layar.
Anda dapat mengaktifkan pemotongan dengan salah satu cara berikut:
(setq truncate-lines t) ; Boolean true value (non-nil)
(setq truncate-lines 1) ; Positive value (non-nil)
(setq truncate-lines 0) ; Zero value (non-nil)
(setq truncate-lines -1) ; Negative value (non-nil)
Mungkin mengejutkan Anda bahwa 0
dan -1
akan berhasil. Sekali lagi, saya akan merekomendasikan untuk tidak menggunakannya karena niat Anda tidak jelas.
Satu-satunya cara untuk menonaktifkan pemotongan adalah ini:
(setq truncate-lines nil) ; nil value
Dengan kata lain Anda dapat mengatur truncate-lines
sama dengan angka, huruf, string, daftar, atau apa pun yang Anda inginkan, selama tidak dievaluasi nil
maka akan memungkinkan pemotongan. (Tapi Anda harus tetap dengan t
atau 1
).