TL; DR
Prima di impostare qualsiasi variabile, è necessario sapere come interpretare tale variabile. Allo stesso modo, prima di chiamare qualsiasi funzione (comprese quelle utilizzate per attivare / disattivare le modalità secondarie), è necessario sapere come vengono interpretati gli argomenti di quella funzione.
Utilizzare C-hfe C-hvper consultare la documentazione per la funzione o la variabile in questione. Dovrebbe specificare i valori previsti.
"Non-zero" significa letteralmente tutto ciò che non lo è nil
. Ciò include 0
e numeri negativi.
Modalità minori
Facciamo un esempio specifico. Digita C-hfblink-cursor-mode
e premi RETper vedere la documentazione della funzione per blink-cursor-mode
:
(modalità cursore lampeggiante e ARG opzionale)
Attiva / disattiva il cursore lampeggiante (modalità cursore lampeggiante). Con un argomento prefisso ARG, abilitare la modalità Cursore lampeggiante se ARG è positivo e disabilitarlo altrimenti. Se chiamato da Lisp, abilitare la modalità se ARG è omesso o nullo.
Possiamo abilitare la modalità Cursore lampeggiante in uno dei seguenti modi:
(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)
Si noti che un argomento di t
funzionerà, anche se la stringa di documenti non l'ha menzionata specificamente. Anche se questo è spesso il caso, la scommessa più sicura è usare ciò che la stringa di documenti ti dice di usare, che in questo caso è un valore positivo.
Inoltre, nota che un argomento di nil
funzionerà. Consiglio vivamente contro nil
in questo modo perché rende poco chiara la tua intenzione. Se sfiorassi il tuo codice lisp e vedessi un nil
argomento, suppongo che tu voglia disabilitare la modalità minore.
Possiamo anche disabilitare blink-cursor-mode
nei seguenti modi:
(blink-cursor-mode 0) ; Non-positive argument
(blink-cursor-mode -1) ; Negative argument
Notare di nuovo che nonnil
è uno dei modi per disabilitare questa modalità minore. Questo è vero per quasi tutte le modalità minori che incontrerai.
variabili
Ora diamo un'occhiata a un esempio di una variabile. Digita C-hvtruncate-lines
e premi RETper guardare la documentazione per la variabile truncate-lines
:
truncate-lines è una variabile definita in "codice sorgente C".
I valori diversi da zero non visualizzano le linee di continuazione. Invece, assegna a ciascuna riga di testo solo una riga dello schermo.
Puoi attivare il troncamento in uno dei seguenti modi:
(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)
Potrebbe sorprenderti che il 0
e il -1
funzionerà. Ancora una volta, consiglierei di non usarli perché rende le tue intenzioni poco chiare.
L'unico modo per disabilitare il troncamento è questo:
(setq truncate-lines nil) ; nil value
In altre parole è possibile impostare truncate-lines
uguale a numeri, lettere, stringhe, liste, o qualsiasi altra cosa che vuoi, a patto che non lo fa valutare da nil
esso consentirà troncamento. (Ma dovresti davvero restare con t
o 1
).