Включение режима linum в режиме python/c
Я хочу включить режим Linum (Mx linum-mode) автоматически с режимами Python и C. Я добавляю следующий код в.emacs, но он не работает.
(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)
Что может быть не так?
4 ответа
Решение
line-number-mode
а также linum-mode
не то же самое.
Попробуй это:
(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)
У вас также есть возможность установить режим Linum глобально.
;; In your .emacs
(global-linum-mode 1)
Изменить: в моей конфигурации у меня есть global-linum-mode
активировать и блокировать его для определенных основных режимов:
(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)
Все основные режимы для языков программирования происходят из прог-режима, поэтому(add-hook 'prog-mode-hook 'linum-mode)
включит режим Linum для всех режимов программирования.
Не уверен, какие ловушки должен использовать C-режим (никогда не использовал C-режим), но это должно делать то, что вы хотите:
(dolist (hook '(python-mode-hook
c-mode-common-hook))
(add-hook hook (lambda () (linum-mode t))))