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 0e 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 tfunzionerà, 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 nilfunzionerà. Consiglio vivamente contro nilin questo modo perché rende poco chiara la tua intenzione. Se sfiorassi il tuo codice lisp e vedessi un nilargomento, suppongo che tu voglia disabilitare la modalità minore.
Possiamo anche disabilitare blink-cursor-modenei 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-linese 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 0e il -1funzionerà. 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-linesuguale a numeri, lettere, stringhe, liste, o qualsiasi altra cosa che vuoi, a patto che non lo fa valutare da nilesso consentirà troncamento. (Ma dovresti davvero restare con to 1).