Vim 中可用块选择模式(Ctrl+v)高效多行注释/取消注释:先块选行首位置,Shift+I输入注释符后Esc生效,或x/d删除;亦可配置快捷键或使用vim-commentary插件。

在 Vim 中,用块选择模式(Visual Block)配合快捷键可以高效地实现多行代码的同时注释与取消注释,关键在于精准选中每行开头的空白位置,再统一插入或删除注释符。
进入块选择模式并选中多行起始位置
将光标移到第一行要注释的代码行首(或缩进后第一个非空字符前),按 Ctrl + v 进入可视块模式;然后用 j 或 k 向下/向上选中目标行(保持光标列位置不变);最后按 > 可右移选区、< 左移,确保选区覆盖到每行准备插入注释符的位置(通常是行首或缩进后)。
批量插入注释符(如 //、#、/*)
选中完成后,按 Shift + I(大写 i),进入“插入前缀”模式;输入注释符号(例如 // 或 # );按 Esc,Vim 会自动将该内容插入到每一行的选中列位置。注意:输入后必须按 Esc 才能生效,且光标需仍在块选区内。
批量删除注释符(取消注释)
同样用 Ctrl + v 选中所有行对应注释符所在列(比如第 1–3 列);按 x 或 d 即可一次性删除这些字符。若注释符长度不一致(如混用 // 和 /*),建议先用 /^[/#] 定位行首注释,再结合 Ctrl + v 精确选中删除。
更灵活的替代方案:使用插件或映射
手动块选适合临时操作,长期使用可配置快捷键:
- 在 ~/.vimrc 中添加:
vnoremap <C-/> :s/^/# /e<CR><C-c>:noh<CR>
vnoremap <C-_> :s/^# &/&/e<CR><C-c>:noh<CR>
- 选中多行后按 Ctrl + / 注释,Ctrl + _ 取消注释(适用于类 C/Python 文件)。也可用 tpope/vim-commentary 插件一键完成,支持不同语言语法。

















