vim使用心得(持续更新)
!统计符合条件的行数方法1
:g/<匹配条件>/d
查看影响行数,然后按u恢复。
!统计符合条件的行数方法2
:let numb=0
:g/<匹配条件>/let numb+=1
:echo numb
!批量将手机号中间四位改为xxxx的命令
:%s/\(^I[0-9]\{3\}\)\([0-9]\{4\}\)/\1xxxx/g
!插入行号
:g/^/exe ":s/^/".line(".")
! ^M的输入方法是CTRL+v CTRL+m
! 编辑状态输入^r= 可进行简单数值计算并输出结果
! .vimrc中的设置如果有中文,则需要将此文件编码设为gbk后保存。
:e ~/.vimrc
:set fenc=gbk
:w
! 正则匹配换行为\n,而替换中使用换行则为\r
! 改变大小写
~ 将光标下的字母改变大小写
g~~ 改变当前行字母的大小写
U 将可视模式下选择的字母全改成大写字母
u 将可视模式下选择的字母全改成小写
! global命令简介
格式1
:[范围]g/{匹配式}/[ex 命令]
在[范围]界定的匹配模式{匹配式}的文本行上执行Ex命令,多个命令以"|"分隔。(缺省是 "p")。
格式2
:[范围]g!/{匹配式}/[ex 命令]
或
:[范围]v/{匹配式}/[ex 命令]
与格式1唯一的不同就是反向匹配{匹配式}的文本。
要执行非Ex命令,可以使用normal命令,例如:
:g/^/normal jdd
隔行删除文本行。
global 命令先匹配符合条件的行并标记,然后对每个标记的行执行命令。如果一行被删除,其标记也自动消失。
(lykyl原创,转载请注明出处)