Quelle est la différence entre setq et set-variable dans emacs lisp. Quand devrais-je utiliser setq et quand devrais-je définir-variable.Quelle est la différence entre setq et set-variable dans emacs?
Répondre
set-variable
est une commande interactive, ce qui signifie que vous pouvez taper M-x ensemble variable RET être invité de manière interactive pour un nom et une valeur variable. setq
n'est pas une commande interactive, ce qui signifie qu'elle ne convient que pour l'écriture dans le code Lisp d'Emacs. Personnellement, je n'utilise jamais set-variable
dans mon code Lisp, seulement interactivement, quand je veux donner une valeur à une variable qui a un effet immédiat sur mon édition de texte, comme (par exemple) indent-tabs-mode
à t
ou nil
.
Une autre différence est que setq
peut définir plusieurs variables à la fois. Par exemple, dans mon fichier .emacs sur OS X Je:
(setq mac-command-modifier 'meta
mac-option-modifier 'super)
set-variable
ne peut pas le faire.
setq
est special form, tandis que set-variable
est une fonction interactive.
De the docs:
Pour moi, la principale utilisation de la commande
set-variable
est de proposer les variables que je pourrais vouloir mettre en mon dossier.emacs
. Il y a maintenant plus de que de telles variables - beaucoup trop à mémoriser. Heureusement, vous pouvez appuyer sur<TAB>
après avoir appelé la commandeM-x set-variable
pour voir la liste des variables .
Outre ce qui a été dit ci-dessus, pour set-variable
, comme la chaîne de doc dit:
VARIABLE should be a user option variable name, a Lisp variable meant to be customized by users.
setq
applique à toute variable, que ce soit ou non est une option utilisateur.
- 1. quelle est la différence entre:.! et: r !?
- 2. Quelle est la différence entre = et: =
- 3. Quelle est la différence entre dict() et {}?
- 4. Quelle est la différence entre find-grep et grep-find?
- 5. Quelle est la différence entre "$^N" et "$ +"?
- 6. Quelle est la différence entre ~ et! opérateur?
- 7. Quelle est la différence entre `-key` global-set et` define-key global map` dans Emacs
- 8. Quelle est la différence entre 'M-x load-file' et 'M-x load-library' dans emacs?
- 9. Quelle est la différence entre% Q et% {} dans ruby?
- 10. Quelle est la différence entre // et /// dans Visual Studio?
- 11. Quelle est la différence entre undefined et window.undefined dans JavaScript?
- 12. Quelle est la différence entre - et NOT opérateur dans Lucene?
- 13. Quelle est la différence entre target et currenttarget dans flex?
- 14. Quelle est la différence entre -I et -L dans makefile?
- 15. Quelle est la différence entre memset et memcpy dans C
- 16. Quelle est la différence entre latin1_general_ci et utf8_bin dans MYSQL
- 17. Quelle est la différence entre HttpContext.Current.User et Thread.CurrentPrincipal dans asp.net?
- 18. Quelle est la différence entre send() et sendAndLoad() dans flash?
- 19. Quelle est la différence entre Toggle et slideToggle dans jQuery?
- 20. Quelle est la différence entre * .tpl et * .html dans smarty?
- 21. Quelle est la différence entre $ {...} et! {...} dans Spark View Engine?
- 22. Quelle est la différence entre Int et Integer dans Scala?
- 23. Quelle est la différence entre bcc32 et bcc32ide dans Borland?
- 24. Quelle est la différence entre utf8_general_ci et utf8_unicode_ci dans MySql?
- 25. Quelle est la différence entre SetFocus() et Focus() dans ASP.NET?
- 26. Quelle est la différence entre class et id dans jQuery?
- 27. Quelle est la différence entre IDelegateEvent et IEvent dans F #?
- 28. Quelle est la différence entre: = et = dans MySQL?
- 29. Quelle est la différence entre `=` et `<-` dans R?
- 30. Quelle est la différence entre Partiel et Slot dans Symfony?