[{"data":1,"prerenderedAt":129},["ShallowReactive",2],{"blog:\u002Fblog\u002F2016\u002F07\u002F06\u002Fvim-string-replace\u002F":3},{"id":4,"title":5,"body":6,"categories":114,"comments":116,"date":117,"description":118,"draft":119,"extension":120,"legacySlug":121,"meta":122,"navigation":116,"path":123,"seo":124,"stem":125,"tags":126,"updated":127,"__hash__":128},"blog\u002Fblog\u002F2016\u002F07\u002F06\u002Fvim-string-replace.md","在VIM中进行文本替换",{"type":7,"value":8,"toc":103},"minimark",[9,18,29,33,39,43,49,53,59,71,97],[10,11,13,14,17],"h3",{"id":12},"_1替换当前行中的内容-fromto-s即substitude","1.替换当前行中的内容：    ",[15,16],"s",{},"\u002Ffrom\u002Fto\u002F    （s即substitude）",[19,20,25],"pre",{"className":21,"code":23,"language":24},[22],"language-text","     :s\u002Ffrom\u002Fto\u002F     ：  将当前行中的第一个from，替换成to。如果当前行含有多个\n                         from，则只会替换其中的第一个。\n     :s\u002Ffrom\u002Fto\u002Fg    ：  将当前行中的所有from都替换成to。\n     :s\u002Ffrom\u002Fto\u002Fgc   ：  将当前行中的所有from都替换成to，但是每一次替换之前都\n                         会询问请求用户确认此操作。\n   \n   注意：这里的from和to都可以是任何字符串，其中from还可以是正则表达式。\n","text",[26,27,23],"code",{"__ignoreMap":28},"",[10,30,32],{"id":31},"_2替换某一行的内容-33sfromtog","2.替换某一行的内容：      :33s\u002Ffrom\u002Fto\u002Fg",[19,34,37],{"className":35,"code":36,"language":24},[22],"     :.s\u002Ffrom\u002Fto\u002Fg   ：  在当前行进行替换操作。\n     :33s\u002Ffrom\u002Fto\u002Fg  ：  在第33行进行替换操作。\n     :$s\u002Ffrom\u002Fto\u002Fg   ：  在最后一行进行替换操作。\n",[26,38,36],{"__ignoreMap":28},[10,40,42],{"id":41},"_3-替换某些行的内容-1020sfromtog","3. 替换某些行的内容：      :10,20s\u002Ffrom\u002Fto\u002Fg",[19,44,47],{"className":45,"code":46,"language":24},[22],"     :10,20s\u002Ffrom\u002Fto\u002Fg   ：  对第10行到第20行的内容进行替换。\n     :1,$s\u002Ffrom\u002Fto\u002Fg     ：  对第一行到最后一行的内容进行替换（即全部文本）。\n     :1,.s\u002Ffrom\u002Fto\u002Fg     ：  对第一行到当前行的内容进行替换。\n     :.,$s\u002Ffrom\u002Fto\u002Fg     ：  对当前行到最后一行的内容进行替换。\n     :'a,'bs\u002Ffrom\u002Fto\u002Fg   ：  对标记a和b之间的行（含a和b所在的行）进行替换。\n                             其中a和b是之前用m命令所做的标记。\n",[26,48,46],{"__ignoreMap":28},[10,50,52],{"id":51},"_4-替换所有行的内容-sfromtog","4. 替换所有行的内容：      :%s\u002Ffrom\u002Fto\u002Fg",[19,54,57],{"className":55,"code":56,"language":24},[22],"     :%s\u002Ffrom\u002Fto\u002Fg   ：  对所有行的内容进行替换。\n",[26,58,56],{"__ignoreMap":28},[10,60,62,63,67,68],{"id":61},"_5-替换命令的完整形式-rangesfromtoflags","5. 替换命令的完整形式：    :",[64,65,66],"span",{},"range","s\u002Ffrom\u002Fto\u002F",[64,69,70],{},"flags",[72,73,74,83,92],"ul",{},[75,76,67,77],"li",{},[19,78,81],{"className":79,"code":80,"language":24},[22],"把from指定的字符串替换成to指定的字符串，from可以是正则表达式。\n\n",[26,82,80],{"__ignoreMap":28},[75,84,85,86],{},"range\n有以下一些表示方法：",[19,87,90],{"className":88,"code":89,"language":24},[22],"不写range   ：  默认为光标所在的行。\n.           ：  光标所在的行。\n1           ：  第一行。\n$           ：  最后一行。\n33          ：  第33行。\n'a          ：  标记a所在的行（之前要使用ma做过标记）。\n.+1         ：  当前光标所在行的下面一行。\n$-1         ：  倒数第二行。（这里说明我们可以对某一行加减某个数值来\n                取得相对的行）。\n22,33       ：  第22～33行。\n1,$         ：  第1行 到 最后一行。\n1,.         ：  第1行 到 当前行。\n.,$         ：  当前行 到 最后一行。\n'a,'b       ：  标记a所在的行 到 标记b所在的行。\n   \n%           ：  所有行（与 1,$ 等价）。\n   \n?chapter?   ：  从当前位置向上搜索，找到的第一个chapter所在的行。（\n                其中chapter可以是任何字符串或者正则表达式。）\n\u002Fchapter\u002F   ：  从当前位置向下搜索，找到的第一个chapter所在的行。（\n                其中chapter可以是任何字符串或者正则表达式。）\n   \n注意，上面的所有用于range的表示方法都可以通过 +、- 操作来设置相对偏\n移量。\n",[26,91,89],{"__ignoreMap":28},[75,93,94,96],{},[64,95,70],{},"\n这里可用的flags有：",[19,98,101],{"className":99,"code":100,"language":24},[22],"无      ：  只对指定范围内的第一个匹配项进行替换。\ng       ：  对指定范围内的所有匹配项进行替换。\nc       ：  在替换前请求用户确认。\ne       ：  忽略执行过程中的错误。\n注意：上面的所有flags都可以组合起来使用，比如 gc 表示对指定范围内的所有匹配项进行替换，并且在每一次替换之前都会请用户确认。\n",[26,102,100],{"__ignoreMap":28},{"title":28,"searchDepth":104,"depth":104,"links":105},2,[106,109,110,111,112],{"id":12,"depth":107,"text":108},3,"1.替换当前行中的内容：    \u002Ffrom\u002Fto\u002F    （s即substitude）",{"id":31,"depth":107,"text":32},{"id":41,"depth":107,"text":42},{"id":51,"depth":107,"text":52},{"id":61,"depth":107,"text":113},"5. 替换命令的完整形式：    :ranges\u002Ffrom\u002Fto\u002Fflags",[115],"vim",true,"2016-07-06 22:53:13","1.替换当前行中的内容： :s\u002Ffrom\u002Fto\u002F （s即substitude） :s\u002Ffrom\u002Fto\u002F ： 将当前行中的第一个from，替换成to。如果当前行含有多个 from，则只会替换其中的第一个。 :s\u002Ffrom\u002Fto\u002Fg ： 将当前行中的所有from都替换成to。 :s\u002Ffrom\u002Fto\u002Fgc",false,"md","vim-string-replace",{},"\u002Fblog\u002F2016\u002F07\u002F06\u002Fvim-string-replace",{"title":5,"description":118},"blog\u002F2016\u002F07\u002F06\u002Fvim-string-replace",[115],null,"j3oX9GIMRGS9QiWhuMgJ6imvNlRVZaCdGvyJWHxMlys",1783807996125]