Emacs 在python/c模式下打开linum模式

Emacs 在python/c模式下打开linum模式,emacs,python-mode,c-mode,Emacs,Python Mode,C Mode,我想用python和c模式自动打开linum模式(M-x linum模式)。 我在.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 'py

我想用python和c模式自动打开linum模式(M-x linum模式)。 我在.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)

可能有什么问题?

行号模式
linum模式
不一样

试试这个:

(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)
编辑: 在我的配置中,我有
全局linum模式
处于活动状态,并在某些主要模式下禁用它:

(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)

不确定C-mode应该使用什么挂钩(从未使用过C-mode),但这应该满足您的要求:

(dolist (hook '(python-mode-hook
            c-mode-common-hook))
  (add-hook hook (lambda () (linum-mode t))))

编程语言的所有主要模式都源于prog模式,因此
(添加hook'prog mode hook'linum mode)
将为所有编程模式启用linum模式。

不幸的是,更改后它不起作用。是否有任何方法可以调试可能出现的错误?请从钩子名称中删除公用项。我修正了上面的代码。