我想通过Python和C模式自动打开Linum模式(MX 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)

可能怎么了?

有帮助吗?

解决方案

line-number-modelinum-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)

不确定应该使用什么挂钩C模式(从未使用过C模式),但这应该做您想要的事情:

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

编程语言的所有主要模式均来自prog模式,因此(add-hook 'prog-mode-hook 'linum-mode) 将为所有编程模式启用Linum模式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top