Mise sous tension de mode Linum-en mode python / c
-
28-09-2019 - |
Question
Je veux activer le mode Linum (M-x Linum mode) automatiquement en mode python et c. Ajouter le code suivant dans emacs, mais il ne semble pas fonctionner.
(defun my-c-mode-common-hook ()
(line-number-mode 1))
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
(defun my-python-mode-common-hook ()
(line-number-mode 1))
(add-hook 'python-mode-common-hook 'my-python-mode-common-hook)
Qu'est-ce qui pourrait être erroné?
La solution
line-number-mode
et linum-mode
ne sont pas les mêmes.
Essayez ceci:
(defun my-c-mode-hook ()
(linum-mode 1))
(add-hook 'c-mode-hook 'my-c-mode-hook)
(defun my-python-mode-hook ()
(linum-mode 1))
(add-hook 'python-mode-hook 'my-python-mode-hook)
Autres conseils
Vous avez également la possibilité de définir Linum mode dans le monde.
;; In your .emacs
(global-linum-mode 1)
Edit:
Dans ma configuration, j'ai global-linum-mode
active et l'inhiber pour certains modes majeurs:
(setq linum-mode-inhibit-modes-list '(eshell-mode
shell-mode
erc-mode
jabber-roster-mode
jabber-chat-mode
gnus-group-mode
gnus-summary-mode
gnus-article-mode))
(defadvice linum-on (around linum-on-inhibit-for-modes)
"Stop the load of linum-mode for some major modes."
(unless (member major-mode linum-mode-inhibit-modes-list)
ad-do-it))
(ad-activate 'linum-on)
Je ne sais pas ce que les crochets en mode C est censé utiliser (jamais utilisé en mode C), mais cela devrait faire ce que vous voulez:
(dolist (hook '(python-mode-hook
c-mode-common-hook))
(add-hook hook (lambda () (linum-mode t))))
Tous mode majeur pour les langages de programmation dérivent de prog-mode, donc
(add-hook 'prog-mode-hook 'linum-mode)
permettra en mode Linum pour tous les modes de programmation.