2010-10-06 13 views
8

मैं पाइथन और सी मोड के साथ स्वचालित रूप से लिनम मोड (एम-एक्स लिनम-मोड) चालू करना चाहता हूं। मैं निम्नलिखित कोड को .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) 

क्या गलत हो सकता है?

उत्तर

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) 
+0

दुर्भाग्यवश, यह परिवर्तन के बाद काम नहीं करता है। क्या गलत हो सकता है डीबग करने का कोई तरीका है? – prosseek

+0

हुक नाम से आम को हटा दें। मैंने ऊपर दिए गए कोड को ठीक किया है। – Starkey

+0

धन्यवाद। यह अच्छा काम करता है। – prosseek

14

तुम भी विश्व स्तर पर 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) 
0

सुनिश्चित नहीं हैं कि हुक सी-मोड का उपयोग करने (इस्तेमाल कभी नहीं माना जाता है सी मोड), लेकिन यह वही करना चाहिए जो आप चाहते हैं:

(dolist (hook '(python-mode-hook 
      c-mode-common-hook)) 
    (add-hook hook (lambda() (linum-mode t)))) 
संबंधित मुद्दे