在Vim中,如何在选择中的每一行的开头插入字符?
例如,假设我的语言的注释系统不允许像/* */这样的块注释,我想通过在每一行的开头预先添加//来注释掉一个代码块。我该怎么做呢?
在Vim中,如何在选择中的每一行的开头插入字符?
例如,假设我的语言的注释系统不允许像/* */这样的块注释,我想通过在每一行的开头预先添加//来注释掉一个代码块。我该怎么做呢?
当前回答
还有另一种方式:
移动到一行的开头 进入Visual Block模式(CTRL-v) 选择你想要的线(用j/k向上/向下移动,或者用[line]G跳转到一条线) 按I(大写I) 输入注释字符 按ESC
其他回答
在每行开头插入“ABC”:
进入命令模式 %定额I ABC
对于代码块的注释,我喜欢NERD的Commenter插件。
选择一些文本:
Shift-V
...select the lines of text you want to comment....
备注:
,cc
取消:
,cu
或者只是切换一行或块的注释状态:
,c<space>
它将每一行的开头替换为"//":
:%s!^!//!
它将每一行的开头(使用可视模式选择)替换为"//":
:'<,'>s!^!//!
注意,gv(在正常模式下)恢复最后的可视选择,这有时很方便。
将注释区域标记为可视块(<C-V)
然后执行c#<ESC>p
改为“#” 放回去
如果你经常这样做,在你的.vimrc中定义一个快捷方式(例如\q)
:vmap \q c#<ESC>p
按Esc进入“命令模式” 使用Ctrl+V进入可视块模式 向上/向下移动以选择所需行的文本列 发表评论。 然后按Shift+i,输入你想要插入的文本。 然后按Esc键,等待1秒,插入的文本将出现在每行。
欲了解更多信息和阅读,请查看Vim Tips Wiki中的“多行插入文本”。