萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

vi 多行註解技巧:一鍵批次加上/移除 # 號

場景:幾百行程式碼需快速註解/取消註解

逐行輸入 # 極其低效。vi 的 :s(substitute)指令配合範圍操作,可秒級完成。

批次加上註解

:.,+499s/^/#/
  • .:當前行
  • +499:往後 499 行(共 500 行)
  • s/^/#/:將行首 ^ 替換為 #

若需指定絕對行號:

:10,50s/^/#/

批次移除註解

:.,+499s/^#//

僅移除行首第一個 #。若行首可能有空白:

:.,+499s/^\s*#//

切換註解狀態(智慧切換)

在 vim 中可定義函數/映射:

" ~/.vimrc
function! ToggleComment()
    if getline('.') =~ '^\s*#'
        silent execute ".,+499s/^\\s*#//"
    else
        silent execute ".,+499s/^/\\#/"
    endif
endfunction
nnoremap c :call ToggleComment()<CR>

正常模式下按 \c(預設 Leader 鍵為反斜線)即可在 500 行範圍內切換註解。

視覺模式配合:

  1. V 進入視覺行模式
  2. j/k 選取範圍
  3. :'<,'>s/^/#/ 對選取範圍加註解
  4. :'<,'>s/^#// 移除

其他語言註解符號對應

語言單行註解vim 設定建議
Python#同本文
C/C++/Java/JS//:s|^|//|
HTML/XML<!-- -->需成對,建議用插件
SQL--:s|^|--|

結語

掌握 :range s/^/#/ 與視覺模式配合,讓大段程式碼註解/取消註解成為指尖輕鬆之事。搭配 vim 映射或插件(如 vim-commentary、NERDCommenter),更能一鍵搞定多語言專案。

copyright © 萬盛學電腦網 all rights reserved