文本替换
s:替换;g:=global,全部。如果不加g则只会替换每行第一个word1
:1,20s/hello/helloworld/g
将1,20行中的 hello 替换为 helloworld
统计字符串出现次数
:%s/pattern//gn
参数说明:
% - 指明操作区间,%表示全文本;可以使用1,$或者行区间代替
s – substitute,表示替换
pattern - 要查找的字符串
// - 替代文本应该放在这里,两个斜杠中间没有任何字符表示无替代文本
g – Replace all occurences in the line. Without this argument, replacement occurs only for the first occurence in each line.
n – Report the number of matches, and do not actually substitute. 这是核心功能,同时也说明为什么//之间可以添加任意字符。
示例:
(1) :k,ls/pattern//gn
统计k行到l行出现pattern的次数
(2) :%s/pattern//gn
freshair_cn’s Blog
Vim统计字符串出现次数
关键命令:
:%s/pattern//gn
参数说明:
% - 指明操作区间,%表示全文本;可以使用1,$或者行区间代替
s – substitute,表示替换
pattern - 要查找的字符串
// - 替代文本应该放在这里,两个斜杠中间没有任何字符表示无替代文本
g – Replace all occurences in the line. Without this argument, replacement occurs only for the first occurence in each line.
n – Report the number of matches, and do not actually substitute. 这是核心功能,同时也说明为什么//之间可以添加任意字符。
一些引申出的应用:
(1) :k,ls/pattern//gn
统计k行到l行出现pattern的次数
(2) :%s/pattern//gn
统计在当前编辑文本出现的次数
显示行号
:set su
取消行号
:set nosu