v
进入visual mode;Ctrl+v
转为按列选择;shift+i
进入插入模式;Esc
退出便可在行首添加注释了;:.,+3s/^/#/g
解释一下这里的替换命令,点**.
表示当前行,,
是分隔符,+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的一些使用还能够参考这篇博客。文档