Domanda

Secondo la pagina di informazioni di emacs, ecco come abilitare la modalità iswitchb:

  

Per abilitare la modalità Iswitchb, digitare M-x iswitchb-mode o personalizzare il   variabile iswitchb-mode in t

Quindi ho inserito quanto segue nel mio .emacs:

(setq iswitchb-mode t)

Tuttavia, questo non sembra funzionare. Dopo aver cercato nella wiki di emacs, ho scoperto che devo usare questo:

(iswitchb-mode 1)

Qualcuno potrebbe spiegare perché devo abilitarlo in questo modo? Mi piacerebbe avere una migliore comprensione di elisp piuttosto che semplicemente copiare e incollare cose da luoghi.

È stato utile?

Soluzione

In genere una modalità definisce sia una variabile che una funzione con lo stesso nome. La funzione imposterà correttamente la variabile quando viene chiamata, ma è la funzione che attiva la modalità, non solo la variabile (che traccia solo lo stato della modalità).

Nel tuo caso specifico, ti è stato detto di personalizzare la variabile, ma la hai semplicemente impostata. La differenza è che quando cambia il valore della variabile, custom sa fare qualcosa e `setq 'non ne sa nulla. Se cerchi l'aiuto per questa variabile (C-h v iswitchb-mode) otterrai:

iswitchb-mode is a variable defined in `iswitchb.el'.
Its value is t

Documentation:
Non-nil if Iswitchb mode is enabled.
See the command `iswitchb-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `iswitchb-mode'.

You can customize this variable.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top