簡體   English   中英

使用emacs C代碼自動換行符的結構格式

[英]Format of structs using emacs c code auto-newline

我最近開始使用emacs來編輯C源代碼,並且一直在使用cc-mode的自動換行功能(c-toggle-auto-newline)。 這對於諸如函數和if / else語句之類的構造效果很好,但是當在右括號后加分號時,似乎表現得很奇怪。

在GNU Emacs 23.3中使用自動換行符,我得到:

struct foo
{
    int x;
}
    ;

char int[2] =
  {
    0, 1
  }
  ;

我想得到:

struct foo {
    int x;
};

char int[2] = { 0, 1 };

我怎樣才能使結束分號保持與結束括號在同一行?

我認為啟用自動換行功能無法解決此問題。 這不是一個經過深思熟慮的功能,它只是在某些字符( ;{等)之后插入換行符。 但是說真的,按和輸入鍵有多難? 任何自動化總是容易出錯的。

打開自動換行符后,您可以自定義“清除”行為。 這由c-cleanup-list變量的內容控制。 (通過輸入Ch v c-cleanup-list在Emacs中查看有關此問題的幫助。

具體來說,將defun-close-semi添加到c-cleanup-list將解決您的問題。

如果您已經在~/.emacs文件中定義了自定義樣式,則可能可以找出方法。 否則,更改此設置的最簡單方法是通過Customize 在幫助緩沖區(運行Ch v c-cleanup-list )中,最后一行將具有自定義此變量的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM