显示行号

: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
Last modification:January 19, 2020