ess-mode
est “Emacs parle des statistiques.” Ce mode est utile pour éditer des programmes pour R ou Splus (deux packages statistiques distincts).
Dans mon tampon, quand je tape _
le caractère est remplacé par <-
, ce qui est très frustrant. Existe-t-il une instruction emacs lisp pour désactiver ce comportement?
emacs: 22.1.1 version ess-mode (inconnue)
A partir du manuel de ESS (regardez sous “Modifications / Nouvelles fonctionnalités dans 5.2.0”):
ESS [S]: appuyer sur le trait de soulignement (“_”) une fois insère “<-" (comme avant); appuyer deux fois sur le trait de soulignement insère un trait de soulignement littéral. Pour arrêter ce comportement intelligent, ajoutez "(ess-toggle-underscore nil)" à votre fichier .emacs après le chargement de ess-site
Depuis http://www.r-bloggers.com/a-small-customization-of-ess/ et Comment changer la clé d’affectation intelligente (“_” à “<-") dans ESS
Pour assigner “:” à “<-" et arrêter l'affectation du trait de soulignement (underbar) "_" à "<-" mettez ce qui suit dans .emacs (oui, la ligne répétée est correcte)
(setq ess-smart-S-assign-key ":") (ess-toggle-S-assign nil) (ess-toggle-S-assign nil) (ess-toggle-underscore nil) ; leave underscore key alone!
Depuis la fonctionnalité est utile. Vous pouvez l’assigner à une autre clé moins utilisée par vous dans R, elle la désassignera automatiquement du trait de soulignement. Je l’assigne personnellement à ";"
en ajoutant la ligne suivante dans le fichier .emacs.
(setq ess-smart-S-assign-key ";")
Ma version d’emacs est le fichier d’installation tout-en-un 24.3 de Vincent Goulet (installé sur Windows 7)
J’espère que cela t’aides
Modifier Dans emacs 25.2 ci-dessus, ne pas travailler à la place, append les étapes suivantes dans le fichier .emacs
(setq ess-smart-S-assign-key ";") (ess-toggle-S-assign nil) (ess-toggle-S-assign nil)
Une version plus récente qui a semblé fonctionner pour moi et qui est beaucoup moins verbeuse (vous gardez essentiellement des caractères de soulignement normaux, mais vous pouvez définir votre propre clé pour ce comportement intelligent!):
(global-set-key (kbd "C-;") (lambda () (interactive) (insert " <- "))) (ess-toggle-underscore nil)
Insérez votre choix de raccourci au lieu de C-;
.
Comme Michał Marczyk et la liste de diffusion suggérée, ajoutez cette ligne à ~/.emacs
:
(ess-toggle-underscore nil)
Ensuite, rechargez-le avec Mx load-file
et tapez ~/.emacs
.
Mais si vous chargez à nouveau le fichier, par exemple si vous ajoutez une autre personnalisation, il retourne à l’état d’origine. Donc, basculez-le deux fois, le premier le forçant à la valeur par défaut:
(ess-toggle-underscore t) (ess-toggle-underscore nil)
Cela étant dit, j’aime mieux la solution de Drummermean, mais elle revient également à la valeur par défaut si vous l’ajoutez à ~/.emacs
et la chargez deux fois. Donc, forcer une bascule à la valeur par défaut avant:
(ess-toggle-underscore t) (global-set-key (kbd "M--") (lambda () (interactive) (insert " <- "))) (ess-toggle-underscore nil)
J'ai lié l'affectation intelligente à Opt-[minus]
comme RStudio
(sur un Mac).