vim文本替换

vim替换格式:

:[range]s/from/to/[flags]
  • range:搜索范围,如果没有指定范围,则作用于但前行。

    • :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换;
    • :10s/from/to/ 表示只在第10行搜索替换;
    • :%s/from/to/ 表示在所有行中搜索替换;
    • 1,$s/from/to/ 同上。
  • flags 有如下四个选项:

    • c confirm,每次替换前询问;
    • e error, 不显示错误;
    • g globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;
    • i ignore,忽略大小写。
  • 替换变量

    • 在正则式中以(和)括起来的正则表达式,在后面使用的时候可以用\1、\2等变量来访问(和)中的内容。
  • 例子

    • 删除行尾空格::%s/\s+$//g
    • 删除行首多余空格:%s/^\s*// 或者 %s/^ *//
    • 删除沒有內容的空行:%s/^$// 或者 g/^$/d
    • 删除包含有空格组成的空行:%s/^\s$// 或者 g/^\s$/d
    • 删除以空格或TAB开头到结尾的空行:%s/^[ |\t]$// 或者 g/^[ |\t]$/d
    • 把文中的所有字符串“abc……xyz”替换为“xyz……abc”可以有下列写法
    :%s/abc\(.*\)xyz/xyz\1abc/g
    :%s/\(abc\)\(.*\)\(xyz\)/\3\2\1/g
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 例子 将dos文本变为unix文本 用法 替换当前行中的内容::s/from/to/ (s即substitude)...
    wildsre阅读 954评论 0 0
  • 目录(?)[-] 关于Vim 1 Vim的几种模式 启动Vim 文档操作 光标的移动 1 基本移动 2 翻屏 3 ...
    SunnyLeong阅读 8,733评论 0 32
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,157评论 3 53
  • 3-2沟通了解其现阶段工作规划 3-4目前团队工具的介绍使用 gitlab账号以及使用介绍 trello关...
    黄彻彻阅读 281评论 0 2