Désactivation du mode de retrait électrique pour un seul mode (mode latex) uniquement


11

Je n'aime pas le fonctionnement du mode de retrait électrique en mode latex. Partout ailleurs (du moins partout où j'utilise), c'est génial.

Comment puis-je désactiver définitivement le mode de retrait électrique pour le mode latex uniquement, mais le garder partout ailleurs?

Je suppose que c'est un hack lisp d'une ligne dans mon fichier de configuration, ou quelque chose comme ça, mais je suis horrible à lisp, donc je ne peux pas le comprendre.

Réponses:


8

La commande dont vous avez besoin est electric-indent-local-mode. Vous pouvez utiliser cette option pour désactiver-indent-mode électrique dans un tampon en appelant manuellement: M-x electric-indent-local-mode. Il s'agit d'une bascule, donc l'appeler à nouveau dans le même tampon le rallume.

Pour ce faire automatiquement à partir de votre fichier init, vous devez configurer un hook. Définissez d'abord le crochet:

(defun remove-electric-indent-mode ()
  (electric-indent-local-mode -1))

Ajoutez-le ensuite aux crochets de mode appropriés. Pour désactiver le mode de retrait électrique pour le mode LaTeX fourni par AUCTex, utilisez ceci:

(add-hook 'LaTeX-mode-hook 'remove-electric-indent-mode)

Pour le texmode par défaut, utilisez:

(add-hook 'tex-mode-hook 'remove-electric-indent-mode)

Le même schéma s'applique à tout autre mode pour lequel vous souhaitez désactiver l'indentation électrique.

Pour plus de détails sur les hooks de mode, consultez le nœud manuel Emacs intégré [(emacs) Hooks][1]. Vous pouvez vous y rendre depuis Emacs via C-h i r m Hooks <enter>: C-hpour obtenir de l'aide, ides informations, rpour lire le manuel, mpour un élément de menu et Hookspour sélectionner l'élément de menu. (ou vous pouvez suivre le lien ci-dessus pour voir la version html).


Vous n'avez pas besoin de définir une fonction supplémentaire: (add-hook 'LaTeX-mode-hook (lambda () (electric-indent-local-mode -1)))suffit.
Emil Jeřábek

Certes, mais si vous définissez une fonction, vous pouvez la réutiliser dans plusieurs hooks différents sans dupliquer le code. Il est également plus facile de supprimer une fonction définie qu'une fonction anonyme. Cela peut être utile lors du débogage
Tyler
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.