显示行号

:set nu

效果:

  1       o   o
  2     o   o   o
  3     o       o
  4      o     o
  5        o o

多行行首插入指定字符串

:2,4 s/^/System.out.println("
:3,$ s/^/System.out.println(" #注:此为3行至尾行
:% s/^/System.out.println(" #注:此为所有行

效果:

  1       o   o
  2 System.out.println("    o   o   o
  3 System.out.println("    o       o
  4 System.out.println("     o     o
  5        o o
#-------------------------------------
  1       o   o
  2     o   o   o
  3 System.out.println("    o       o
  4 System.out.println("     o     o
  5 System.out.println("       o o
#-------------------------------------
  1 System.out.println("      o   o
  2 System.out.println("    o   o   o
  3 System.out.println("    o       o
  4 System.out.println("     o     o
  5 System.out.println("       o o

多行行尾插入指定字符串

:2,4 s/$/");
:3,$ s/$/");   #注:此为3行至尾行
:% s/$/");     #注:此为所有行

效果:

  1       o   o
  2 System.out.println("    o   o   o");
  3 System.out.println("    o       o");
  4 System.out.println("     o     o");
  5        o o
#-------------------------------------
  1       o   o
  2     o   o   o
  3 System.out.println("    o       o");
  4 System.out.println("     o     o");
  5 System.out.println("       o o");
#-------------------------------------
  1 System.out.println("      o   o");
  2 System.out.println("    o   o   o");
  3 System.out.println("    o       o");
  4 System.out.println("     o     o");
  5 System.out.println("       o o");

删除多行行首指定字符串

:2,4 s/^.\{20\}    #删掉前20个字符
:3,$ s/^.\{20\}
:% s/^.\{20\}
#或
:2,4 s/System.out.println("/
:3,$ s/System.out.println("/
:% s/System.out.println("/

效果:

      o   o");
    o   o   o");
    o       o");
     o     o");
       o o");

删除多行行尾指定字符串

:2,4 s/");$//g
:3,$ s/");$//g
:% s/");$//g
#% 指匹配整个文件,s 是置换的意思,$ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换
#或
:2,4 s/");/
:3,$ s/");/
:% s/");/

效果:

  1       o   o
  2     o   o   o
  3     o       o
  4      o     o
  5        o o
THE END
最后修改:2020 年 01 月 19 日 14 : 00
本文链接:https://www.j000e.com/linux/viskills1.html
版权声明:本文『vi中如何在多行行首或行尾插入删除指定字符串』为『Joe』原创。著作权归作者所有。
转载说明:vi中如何在多行行首或行尾插入删除指定字符串 || Joe's Blog』转载许可类型见文末右下角标识。允许规范转载时,转载文章需注明原文出处及地址。
Last modification:January 19, 2020