vim C/C++注釋代碼

來源:互聯網
上載者:User

標籤:vim   命令   注釋   

需求

C99引入了“//”單行注釋方式,因此C和C++在注釋方式上並軌了!
對於程式猿經常在原始碼中進行“必要的”注釋. 以滿足特殊的需求,比如調試,代碼的增刪等等!在不添加外掛程式以及配置vim的情況下,以命令列的方式完成這項工作。因此,對於其他實現方式這裡就不再提及!

命令實現

說明:由於命令採用‘/‘分割符方式的可讀性較差,因此這裡同時給出採用‘:‘分割符命令作為補充,使用者根據偏好擇取。

1.單行注釋方式(//)注釋單行
  • 游標在當前行
    :s/.*/\/\/&/
    :s:.*://&:
  • 指定注釋行
    :n,n s/.*/\/\/&/
    :n,n s:.*://&:
    其中n是要注釋的行號。

補充說明
s - 替換命令
.* - 匹配一整行
\/\/ - “//“的轉義
& - 表示匹配的內容,這裡就是一整行

2.多行注釋方式(/**/)注釋單行
  • 游標在當前行
    :s//\/*&*\//
    :s:.:/&*/:
  • 指定注釋行
    :n, n s//\/*&*\//
    :n, n s:.:/&*/:
    其中n是要注釋的行號。

補充說明
s - 替換命令
.* - 匹配一整行
\/* - “/*“的轉義
& - 表示匹配的內容,這裡就是一整行
*\/ - “*/“的轉義

3.單行注釋方式(//)注釋代碼塊
  • 指定行區間
    :n, m s/.*/\/\/&/
    :n, m s:.*://&:
    全域區間1,$和%
  • 指定匹配區間
    • visual line模式下選擇需要注釋的代碼塊,然後執行
      :s/.*/\/\/&/
      :s:.*://&:
    • 以搜尋方式指定起始和結束位置
      :g/^void fun1/., /^int fun2/-1 s/.*/\/\/&/
      :g/^void fun1/., /^int fun2/-1 s:.*://&:

補充說明
/^void fun1/. - 將被注釋掉的函數起始點
/^int fun2/-1 -將被注釋掉的函數結束點,在fun2的減1行
後面同上替換操作同上
這裡fun*可以替換成對應的代碼塊的起始行首個word和結束行首個word

4.多行注釋方式(/**/)注釋代碼塊

單行注釋方式(//)注釋代碼塊方式在這裡同樣適用!只是將//替換成“/**/“這一點區別。不再贅述!但是如果在注釋掉的代碼塊中每一行都加上/**/,似乎不地道!下面就解決這個問題。

方法:將游標放到被注釋代碼的起始點,執行如下命令

  • :s:.*:/* &: | g/end/-1 s:.*:&*/:
    補充說明
    第一步:在當前行之首添加左注釋符”/*”
    通過管道方式,轉到第二步
    第二步:全域搜尋到被注釋代碼的結束點即end - 1文本行尾追加右注釋符”*/”
    第三步: : noh取消下vim的高顯!over! perfect!
    注意 :多行注釋不能嵌套!

vim C/C++注釋代碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.