使用indent命令協助排版原始碼

來源:互聯網
上載者:User

標籤:使用   strong   檔案   io   for   re   c   問題   

                 在寫代碼時候,特別是在vim中編輯代碼時候,你可能會不太注意代碼風格問題,比如‘{’符號放在行末還是下一行行首等等,

  這樣你把自己代碼與別人的代碼merge時候,就會出現代碼風格不一的問題,這裡就推薦一個命令用以調整代碼風格。

 

      linux下使用命令indent, 用於調整原始碼的排版風格,indent後面跟上參數就可以設定你喜歡的代碼風格:

 

        indent [參數選項][源檔案][-o目標檔案]  ;

        或者不指定目標檔案,那麼就直接更換源檔案: indent [參數選項][源檔案];

 

      關於參數:

       -bad或--blank-lines-after-declarations  在聲明區段或加上空白行。
         -bap或--blank-lines-after-procedures  在程式或加上空白行。
       -bbb或--blank-lines-after-block-comments  在注釋區段後加上空白行。
       -bc或--blank-lines-after-commas  在聲明區段中,若出現逗號即換行。
       -bl或--braces-after-if-line  if(或是else,for等等)與後面執行區段的"{"不同行,且"}"自成一行。
       -bli<縮排格數>或--brace-indent<縮排格數>  設定{ }縮排的格數。
       -br或--braces-on-if-line  if(或是else,for等等)與後面執行跛段的"{"不同行,且"}"自成一行。
       -bs或--blank-before-sizeof  在sizeof之後空一格。
       -c<欄數>或--comment-indentation<欄數>  將注釋置於程式碼右側指定的欄位。
       -cd<欄數>或--declaration-comment-column<欄數>  將注釋置於聲明右側指定的欄位。
       -cdb或--comment-delimiters-on-blank-lines  注釋符號自成一行。
       -ce或--cuddle-else  將else置於"}"(if執行區段的結尾)之後。
       -ci<縮排格數>或--continuation-indentation<縮排格數>  敘述過長而換行時,指定換行後縮排的格數。
       -cli<縮排格數>或--case-indentation-<縮排格數>  使用case時,switch縮排的格數。
       ......(其後省略上百條)

 

         你會發現,這麼多的參數,怎麼記住呢?我的方法是,根本不用記,學習linux核心的代碼風格就可以了,

       所以可以在linux下,開啟設定檔:/usr/src/kernels/XXX(核心版本)/scripts/Lindent

        找到PARAM變數,然後把它的值作為你的indent參數就可以使得你的代碼排版風格與核心代碼一樣了

        PARAM="-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1"(筆者主機開啟的內容)

 

      如果你每次使用indent然後還有加上這麼長一串參數,你會覺得很麻煩,我推薦你可以在.bashrc裡面,alias一個別名

      命令:(以我的習慣為例)

          alias myindent=‘indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1‘

 

      這樣以後,你直接使用myindent filename就可以協助你排版原始碼啦~~~

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.