Vim批量注释、替换和缩进

一. 批量添加注释

方法1:块选择

  1. 光标移动到行首,按 v 进入visual mode;
  2. Ctrl+v 转为按列选择;
  3. 选中想要添加注释的列;
  4. shift+i 进入插入模式;
  5. 输入注释,如#或//,按 Esc 退出便可在行首添加注释了;

方法2:替换

  1. 光标移动到当前行,输入 :.,+3s/^/#/g
  2. 回车,OK;

解释一下这里的替换命令,点**.表示当前行,,是分隔符,+3表示从当前行到它以后的3行,也就是一共4行要进行替换操做,s是正则替换的开始,g是正则替换的结束,^表示一行的开头,/是分隔符,表示把每一行的开头替换成为注释符号#。假如想要添加 // 这样的注释符,则分隔符要用#,这样就不须要对/**转义了,如 **:.,+3s#^#//#g就是把当前行和它下面的3行都添加//**注释。linux

二. 替换操做解析

上面已经简单介绍了替换操做的参数,实际它的参数能够是这样的: :8,23s/aa/bb/g ,表示对于第8到23行的aa字符都要替换为bb。若是采用这种写法则须要知道行号,能够参考下面这些命令:vim

命令 做用
set nu(或者set number) 显示行号
set nonu(或者set nonumber) 隐藏行号
set numberwidth=1 设置行号的宽度,为1就是紧贴在左边

下面是一些替换的例子:code

命令 做用
:s/aa/bb/g 将光标所在行出现的全部包含 aa 的字符串中的 aa 替换为 bb
:s/\<aa\>/bb/g 将光标所在行出现的全部 aa 替换为 bb, 仅替换 aa 这个单词
:%s/aa/bb/g 将文档中出现的全部包含 aa 的字符串中的 aa 替换为 bb
:12,23s/aa/bb/g 将从12行到23行中出现的全部包含 aa 的字符串中的 aa 替换为 bb
:12,23s/^/#/ 将从12行到23行的行首加入 # 字符
:%s= *$== 将全部行尾多余的空格删除
:g/^\s*$/d 将全部不包含字符(空格也不包含)的空行删除.

三. 缩进

自动对当前行缩进能够使用==命令,若是想对当前行及如下的n行自动缩进,使用n==命令,对全文自动缩进使用gg=G命令。在visual mode下,也能够选择想要自动缩进的行,而后按==ip

关于vim的一些使用还能够参考这篇博客文档

相关文章
相关标签/搜索