2013-02-17 36 views
5

पायथन के लिए पीईपी 8 शैली मार्गदर्शिका में, यह अनुशंसा की जाती है कि इनलाइन टिप्पणियों को two spaces द्वारा शेष पंक्ति से अलग किया जाता है। हालांकि, Emacs में डिफ़ॉल्ट यह है कि चल रहा है comment-dwim या indent-for-comment लाइन के अंत और टिप्पणी के बीच केवल एक स्थान रखता है। क्या emacs में इस डिफ़ॉल्ट व्यवहार को बदलने का कोई तरीका है?Emacs इनलाइन (लाइन के अंत) टिप्पणियों के लिए रिक्ति सेट

मैं Emacs 23.3.1 चला रहा हूँ

उत्तर

5

यह आप क्या चाहते हैं करना चाहिए:

(add-hook 'python-mode-hook 
     (lambda() (set (make-local-variable 'comment-inline-offset) 2))) 
1

comment-start" # " (एक अंतरिक्ष से पहले, एक afters) सेट करके देखें।

M-x set-variable comment-start " # " 
+0

यह काम करता है _somewhat_, लेकिन दो समस्याएं हैं: सबसे पहले, यह सब लाइनों (ताकि जब मैं एक लाइन बाहर टिप्पणी, वे एक अतिरिक्त स्थान के साथ टिप्पणी की हो के लिए टिप्पणी वाक्य रचना में परिवर्तन , उन्हें बाकी पाठ के साथ संरेखित कर रहे हैं)। दूसरा, अगर मैं इनलाइन टिप्पणी के साथ लाइन पर 'टिप्पणी-dwim' चलाता हूं, तो यह केवल एक स्थान होने के लिए इनलाइन टिप्पणी को फिर से संरेखित करता है। – rottweiler

+0

हाँ, मैं समझता हूं। मैंने कल रात स्रोत के माध्यम से खुदाई शुरू कर दी थी, यह पता लगाने की कोशिश कर रहा था कि पहली जगह कहां डाली गई है, लेकिन समय से बाहर हो गई। – derekv

1

मुझे लगता है कि यह है कि तुम क्या चाहते हो सकता है:

(defun my-comment-indent() 
    (interactive) 
    (end-of-line) 
    (let ((comment-column (+ 2 (current-column)))) 
    (comment-indent))) 
1

आप C-h v RET comment-inline-offset द्वारा Emacs के दस्तावेज़ की जाँच कर सकते, तो आप पाएंगे @ और कहा के रूप में जवाब।

यहाँ एक सरलीकृत संस्करण है:

(add-hook 'python-mode-hook 
    (lambda() (setq-local comment-inline-offset 2)))