[英]Emacs c-mode fill-paragraph with Doxygen Comments
我有一個問題與Getting Emacs fill-paragraph非常相似,可以很好地使用類似javadoc的注釋 ,但我不確定我是否會在一年前的帖子中得到很多答案。
無論如何,我有一些C代碼有一些Doxygen評論,如下所示:
/**
* Description
*
* @param[in,out] var1 : <Long description that needs to be wrapped.>
* @param[in,out] var2 : <Description2>
*/
現在,當我在emacs中使用Mq時,我想要以下內容:
/**
* Description
*
* @param[in,out] var1 : <Long description that needs
* to be wrapped.>
* @param[in,out] var2 : <Description2>
*/
但是,目前我得到以下內容:
/**
* Description
*
* @param[in,out] var1 : <Long description that needs
* to be wrapped.> @param[in,out] var2 : <Description2>
*/
做一些研究,看起來我需要在emacs中設置paragraph-start變量來識別“@param”。 我發現了另一個關於堆棧溢出的問題( 讓Emacs fill-paragraph與javadoc類似的注釋很好 ),它有一個樣本正則表達式。 我修改了一下以符合我的要求,我在Search-> Regex Forward中測試了它,它正確地突出顯示了每個@param句子。
我使用了以下正則表達式"^\\s-*\\*\\s-*\\(@param\\).*$"
所以,我嘗試將給定的正則表達式設置為我的.emacs文件中的段落開頭(添加了elisp語法所需的)。 當我打開一個新的emacs窗口並嘗試使用Mq時,發生了同樣的錯誤。 有什么我想念的嗎? Mq在c模式下的使用方式不同嗎? 我應該檢查我的.emacs文件中是否有可能導致錯誤的內容嗎? 任何幫助,將不勝感激。
謝謝,瑞恩
關於你的問題,“Mq在c模式中使用的是不同的嗎?”, describe-key
(綁定到Ch k)是你的朋友。 在使用C文件訪問緩沖區時,鍵入Ch k Mq,它將准確告訴您Mq綁定的函數。 在這種情況下,它是c-fill-paragraph
,最終使用paragraph-start
,即你在另一個問題中找到的變量。
我發現這個用作paragraph-start
正則表達式將換行並將每個@param視為一個新段落:
"^[ ]*\\\\(//+\\\\|\\\\**\\\\)[ ]*\\\\([ ]*$\\\\|@param\\\\)\\\\|^\\f"
但是,它不會根據需要縮進包裹線。 它會使您的示例如下所示:
/**
* Description
*
* @param[in,out] var1 : <Long description that needs
* to be wrapped.>
* @param[in,out] var2 : <Description2>
*/
我希望它對你來說仍然有效。 如果你弄清楚縮進,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.