我想用python和c模式自动打开linum模式(M-x linum-mode)。 我在.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)
可能出现什么问题?
答案 0 :(得分:15)
您还可以选择全局设置linum-mode。
;; 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)
答案 1 :(得分:9)
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)
答案 2 :(得分:0)
不确定C-mode应该使用什么钩子(从未使用C模式),但这应该做你想要的:
(dolist (hook '(python-mode-hook
c-mode-common-hook))
(add-hook hook (lambda () (linum-mode t))))
答案 3 :(得分:0)
所有主要的编程语言模式都源自编模式,因此
(add-hook 'prog-mode-hook 'linum-mode)
将为所有编程模式启用linum-mode。