2016-01-10 64 views
2

我收到關於C Comment in Emacs - Linux Kernel Style的作品不錯,但C註釋在Emacs - Linux內核風格V2

enter image description here

的答案時,emacs的意見(comment-dwim)這是填充第二* long_function_name_vari和最後*/線與空間(前評論)而不是像我配置它的標籤。如何避免這種情況?

如何輕鬆地使用這種風格發表評論?

/* void main() 
    * { 
    * int i; 
    * int b; 
    * printf("format string"); 
    * } 
    */ 
+0

與其他標籤無關,只是關於emacs。 – Olaf

+0

@olaf,對。韓國社交協會。 –

+0

此問題已修補於[emacs-25](https://github.com/emacs-mirror/emacs/commit/016b3d5894b8c424eab262aeefc646c6cd03a70a)git分支:-D但是 –

回答

2

自定義變量comment-style在newcomment.el說 定義...

(extra-line t nil t t 
      "One comment for all lines, end on a line by itself") 

...

應提供想要的結果IIUC。

但是目前的實現是雙線,目前開放換行無證。請提交一份功能請求。 docu-bug報告。

+0

謝謝。我剛剛發送了一個錯誤報告。我認爲多線可以分爲三種新聞類型(線外線,線外線,額外線)。 –

0

那麼,尋求newcomment.el後,我可以理解如何調整該行爲。

(defun my-c-comment-dwim (tabify delete-trailing)  
    (interactive) 
    (let (beg end) 
    (if (region-active-p) 
     (progn 
      (setq beg (region-beginning) 
       end (region-end)) 
      (if (comment-only-p beg end) 
       (uncomment-region beg end) 
      (progn 
       (comment-region beg end) 
       (when (equal comment-style 'extra-line) 
       (save-excursion 
        (goto-char end) 
        (forward-line 2) 
        (setq end (line-end-position)))) 
       (when tabify 
       (tabify beg end)) 
       (when delete-trailing 
       (delete-trailing-whitespace beg end))))) 
     (comment-indent)))) 

(global-set-key [remap comment-dwim] (lambda() 
             (interactive) 
             (my-c-comment-dwim t t))) 
+0

恭喜。假設在下一行中優先使用前向線。 –

+0

@AndreasRöhler的確如此。改變了,謝謝。 –