TL; DR
Перш ніж встановити будь-яку змінну, ви повинні знати, як цю інтерпретацію слід інтерпретувати. Аналогічно, перед тим, як викликати будь-яку функцію (включаючи ті, які використовуються для перемикання другорядних режимів), ви повинні знати, як інтерпретуються аргументи цієї функції.
Використовуйте C-hfта C-hvперегляньте документацію щодо функції чи змінної. У ньому слід вказати значення, які очікуються.
"Нуль" означає буквально все, що ні nil
. Сюди входять 0
і від’ємні числа.
Незначні режими
Візьмемо конкретний приклад. Введіть C-hfblink-cursor-mode
та натисніть, RETщоб переглянути документацію щодо функцій для blink-cursor-mode
:
(режим моргання курсору та необов'язковий ARG)
Увімкніть миготливий курсор (режим блимання курсору). За допомогою аргументу префікса ARG увімкніть режим Blink Cursor, якщо ARG позитивний, і відключіть його інакше. Якщо дзвонить з Lisp, увімкніть режим, якщо ARG опущено або нульове.
Увімкнути режим блимання курсору можна будь-яким із наступних способів:
(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)
Зауважте, що аргумент t
буде працювати, навіть якщо рядок doc його спеціально не згадував. Хоча це часто буває, найбезпечнішою вашою ставкою є використання того, що вказує рядок doc, що в цьому випадку є позитивним значенням.
Також зауважте, що аргумент nil
волі працює. Я настійно рекомендую не проти nil
цього, оскільки це робить ваш намір неясним. Якби я переглянув ваш код lisp і побачив nil
аргумент, я б припустив, що ви хочете вимкнути другорядний режим.
Ми також можемо відключити blink-cursor-mode
наступними способами:
(blink-cursor-mode 0) ; Non-positive argument
(blink-cursor-mode -1) ; Negative argument
Знову зауважте, що nil
це не один із способів відключення цього другорядного режиму. Це стосується майже будь-якого другорядного режиму, з яким ви зіткнетесь.
Змінні
Тепер розглянемо приклад змінної. Введіть C-hvtruncate-lines
та натисніть, RETщоб переглянути документацію змінної truncate-lines
:
truncate-lines - це змінна, визначена у `С вихідному коді '.
Нульові засоби не відображають лінії продовження. Натомість дайте кожному рядку тексту лише один рядок екрана.
Ви можете ввімкнути усічення будь-яким із наступних способів:
(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)
Можливо, ви здивуєте, що 0
і -1
воля спрацює. Знову я б рекомендував не використовувати їх, оскільки це робить ваші наміри незрозумілими.
Єдиний спосіб відключити усічення:
(setq truncate-lines nil) ; nil value
Іншими словами, ви можете встановити truncate-lines
рівні цифри, літери, рядки, списки чи будь-що інше, доки він не оцінить nil
це дозволить усікати. (Але ви дійсно повинні дотримуватися t
або 1
).