8
votes

Comment forcer les espaces au lieu d'onglets indépendamment du mode majeur?

Je veux que tous les onglets soient 4 espaces. J'ai ce qui suit dans .emacs xxx

mais cela est écrasé par certains des thèmes de mode majeurs que je peux utiliser. Existe-t-il un moyen de forcer cette question via mon fichier .emacs ?


2 commentaires

Êtes-vous sûr de vraiment le vouloir? Certains formats de fichier (E.G. MakeFiles) ont besoin d'onglets pour fonctionner correctement.


Vous pouvez toujours utiliser c-q onglet pour insérer des onglets littéraux.


3 Réponses :


6
votes

Essayez ceci pour écraser n'importe quel mode majeur écrase:

(add-hook 'after-change-major-mode-hook 
          '(lambda () 
             (setq-default indent-tabs-mode nil)
             (setq c-basic-indent 4)
             (setq tab-width 4)))


0 commentaires

0
votes

J'ai "résolu" ce problème avec un hack particulièrement laid. Plutôt que d'essayer de comprendre comment obtenir les bons crochets de mode majeurs en place, je viens de faire ce qui suit:

;; restore the original save function for makefiles
(add-hook 'makefile-mode-hook
  (lambda ()
    (define-key makefile-mode-map "\C-x\C-s" 'save-buffer)))

;; restore the original save function for python files
(add-hook 'python-mode-hook
  (lambda () (define-key python-mode-map "\C-x\C-s" 'save-buffer)))


0 commentaires

2
votes

Déclarer une référence par défaut C Style d'indentation C , plutôt que de déclarer des paramètres de style spécifiques.

(setq c-default-style "k&r2")  ;; or whatever your preference is
(set-default 'indent-tabs-mode nil)


0 commentaires