zoukankan      html  css  js  c++  java
  • vim与正则表达式

    看下面的例子:

    26 警告:vim-8.2.2380-1 已经为最新 -- 重新安装
     27 警告:gdb-10.1-4 已经为最新 -- 重新安装
     28 警告:cmake-3.19.4-1 已经为最新 -- 重新安装
     29 警告:blender-17:2.91.2-3 已经为最新 -- 重新安装
     30 警告:avidemux-qt-2.7.6-2 已经为最新 -- 重新安装
     31 警告:fontforge-20201107-1 已经为最新 -- 重新安装
     32 警告:gimp-2.10.22-1 已经为最新 -- 重新安装
     33 警告:digikam-7.1.0-7 已经为最新 -- 重新安装
     34 警告:inkscape-1.0.2-3 已经为最新 -- 重新安装
     35 警告:pdftricks-0.3.0-1 已经为最新 -- 重新安装
     36 警告:kontact-20.12.2-1 已经为最新 -- 重新安装
     37 警告:kodi-18.9-3 已经为最新 -- 重新安装
     38 警告:openshot-2.5.1-3 已经为最新 -- 重新安装
     39 警告:pitivi-2020.09.2-2 已经为最新 -- 重新安装
     40 警告:smplayer-21.1.0-1 已经为最新 -- 重新安装
     41 警告:simplescreenrecorder-0.4.3-1 已经为最新 -- 重新安装
     42 警告:deepin-screen-recorder-5.8.1-1 已经为最新 -- 重新安装
     43 警告:ardour-6.5-1 已经为最新 -- 重新安装
     44 警告:audacity-1:2.4.1-4 已经为最新 -- 重新安装
     45 警告:easytag-2.4.3-4 已经为最新 -- 重新安装
     46 警告:minuet-20.12.2-1 已经为最新 -- 重新安装
     47 警告:luppp-1.2.1-2 已经为最新 -- 重新安装
     48 警告:musescore-3.6.1-1 已经为最新 -- 重新安装
     49 警告:deepin-music-6.0.1.91-2 已经为最新 -- 重新安装
     50 警告:basket-2.49b-4 已经为最新 -- 重新安装
     51 警告:chromium-88.0.4324.150-1 已经为最新 -- 重新安装
     52 警告:kmail-20.12.2-1 已经为最新 -- 重新安装
     53 警告:kmymoney-5.1.1-1 已经为最新 -- 重新安装
     54 警告:kile-2.9.93-2 已经为最新 -- 重新安装
     55 警告:lokalize-20.12.2-1 已经为最新 -- 重新安装
     56 警告:pdfmixtool-0.6-1 已经为最新 -- 重新安装
     57 警告:retext-7.1.0-5 已经为最新 -- 重新安装
     58 警告:texstudio-3.0.4-1 已经为最新 -- 重新安装
     59 警告:texmaker-5.0.4-1 已经为最新 -- 重新安装
     60 警告:falkon-3.1.0-15 已经为最新 -- 重新安装
     61 警告:krdc-20.12.2-1 已经为最新 -- 重新安装
     62 警告:krfb-20.12.2-1 已经为最新 -- 重新安装
     63 警告:putty-0.74-1 已经为最新 -- 重新安装
     64 警告:gnuradio-3.8.2.0-3 已经为最新 -- 重新安装
     65 警告:ktouch-20.12.2-1 已经为最新 -- 重新安装
     66 警告:kturtle-20.12.2-1 已经为最新 -- 重新安装
     67 警告:rocs-20.12.2-1 已经为最新 -- 重新安装
     68 警告:r-4.0.3-2 已经为最新 -- 重新安装
     69 警告:step-20.12.2-1 已经为最新 -- 重新安装
     70 警告:wesnoth-1:1.14.15-1 已经为最新 -- 重新安装
     71 警告:chromium-bsu-0.9.16.1-1 已经为最新 -- 重新安装
     72 警告:extremetuxracer-0.8.0-1 已经为最新 -- 重新安装
     73 警告:ksudoku-20.12.2-1 已经为最新 -- 重新安装
     74 警告:supertux-0.6.2-3 已经为最新 -- 重新安装
     75 警告:sqlitebrowser-3.12.0-1 已经为最新 -- 重新安装
     76 警告:kalarm-20.12.2-1 已经为最新 -- 重新安装
     77 警告:knotes-20.12.2-1 已经为最新 -- 重新安装
     78 警告:okteta-1:0.26.5-1 已经为最新 -- 重新安装
     79 警告:qstardict-1.3-2 已经为最新 -- 重新安装
     80 警告:smb4k-3.0.7-1 已经为最新 -- 重新安装
     81 警告:terminator-2.0.1-1 已经为最新 -- 重新安装
     82 警告:zanshin-0.5.71-3 已经为最新 -- 重新安装
     83 警告:kcachegrind-20.12.2-1 已经为最新 -- 重新安装
     84 警告:kdbg-3.0.1-1 已经为最新 -- 重新安装
     85 警告:kdevelop-5.6.2-1 已经为最新 -- 重新安装
     86 警告:kdiff3-1.8.5-1 已经为最新 -- 重新安装
     87 警告:kde-dev-utils-20.12.2-1 已经为最新 -- 重新安装
     88 警告:qcachegrind-20.12.2-1 已经为最新 -- 重新安装
     89 警告:valgrind-3.16.1-4 已经为最新 -- 重新安装
     90 警告:indent-2.2.12-1 已经为最新 -- 重新安装
     91 警告:widelands-21-4 已经为最新 -- 重新安装
     92 警告:qtcreator-4.14.0-4 已经为最新 -- 重新安装
     93 警告:scratch-1.4.0.7-8 已经为最新 -- 重新安装
     94 警告:umbrello-20.12.2-1 已经为最新 -- 重新安装
     95 警告:gitg-1:3.32.1+17+gb4c8155f-2 已经为最新 -- 重新安装
     96 警告:ttf-dejavu-2.37+18+g9b5d1b2f-2 已经为最新 -- 重新安装
     97 警告:qt5-examples-5.15.2-1 已经为最新 -- 重新安装
     98 警告:qt5-doc-5.15.2-1 已经为最新 -- 重新安装
     99 警告:sl-5.02-6 已经为最新 -- 重新安装
    100 警告:rawtherapee-1:5.8-1 已经为最新 -- 重新安装
    101 警告:cool-retro-term-1.1.1-2 已经为最新 -- 重新安装
    102 警告:sakura-3.7.1-1 已经为最新 -- 重新安装
    103 警告:terminology-1.9.0-1 已经为最新 -- 重新安装
    104 警告:tilda-1.5.4-1 已经为最新 -- 重新安装
    105 警告:cowsay-3.04-2 已经为最新 -- 重新安装
    106 警告:cmatrix-2.0-2 已经为最新 -- 重新安装
    107 警告:wqy-microhei-lite-0.2.0_beta-10 已经为最新 -- 重新安装
    108 警告:kicad-5.1.9-1 已经为最新 -- 重新安装
    109 警告:kicad-library-5.1.9-1 已经为最新 -- 重新安装
    110 警告:kicad-library-3d-5.1.9-1 已经为最新 -- 重新安装
    111 警告:opencv-4.5.1-1 已经为最新 -- 重新安装
    112 警告:opencv-samples-4.5.1-1 已经为最新 -- 重新安装

      现在想1、把前面的“警告:”删除

          2、把软件的版本号删除

         3、把"已经为最新 -- 重新安装"删除

      在此充分利用vim的列编辑模式:

      先用:

        1、到达第26行

          26gg

        2、切换到列编辑模式

          C-v, 

        3、选中要编辑的行范围(26--112行)

          S-g

        4、选中要编辑的列范围(1--6列)

          2j

        5、删除选中的内容

          x

       2和3可以合二为一:

        6、实用正则表达式

          :'<,'>s/-[0-9].*$//

          :是vim底行模式标记

          '<,'>选中编辑的范围

          s替换操作的命令简写

          /替换命令与参数的分隔符,接着就是被替换的内容

          -.*$表示从-开始到行尾的内容

          /替换命令与参数的分隔符,接着就是替换的内容

          /替换结束,这里就是将-到每行的行尾的内容替换为空,也可以写成(我这里最后的_表示空格):

          :'<,'>s/-[0-9].*$/_ 

          不建议这样做

      结果为:

    vim
    gdb
    cmake
    blender
    avidemux-qt
    fontforge
    gimp
    digikam
    inkscape
    pdftricks
    kontact
    kodi
    openshot
    pitivi
    smplayer
    simplescreenrecorder
    deepin-screen-recorder
    ardour
    audacity
    easytag
    minuet
    luppp
    musescore
    deepin-music
    basket
    chromium
    kmail
    kmymoney
    kile
    lokalize
    pdfmixtool
    retext
    texstudio
    texmaker
    falkon
    krdc
    krfb
    putty
    gnuradio
    ktouch
    kturtle
    rocs
    r
    step
    wesnoth
    chromium-bsu
    extremetuxracer
    ksudoku
    supertux
    sqlitebrowser
    kalarm
    knotes
    okteta
    qstardict
    smb4k
    terminator
    zanshin
    kcachegrind
    kdbg
    kdevelop
    kdiff3
    kde-dev-utils
    qcachegrind
    valgrind
    indent
    widelands
    qtcreator
    scratch
    umbrello
    gitg
    ttf-dejavu
    qt5-examples
    qt5-doc
    sl
    rawtherapee
    cool-retro-term
    sakura
    terminology
    tilda
    cowsay
    cmatrix
    wqy-microhei-lite
    kicad
    kicad-library
    kicad-library
    opencv
    opencv-samples

         

                      

    人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。
  • 相关阅读:
    maven命令
    一个Maven项目在eclipse中正常,但在IDEA中启动时报错
    idea导入eclipse的普通web项目
    idea启动慢的解决办法
    如何在idea里切换项目不同分支
    定时任务
    springboot项目打成war包
    springboot配置信息
    Controller层方法传参和返回字符串
    [C#学习] popupControlContainer控件
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/14398595.html
Copyright © 2011-2022 走看看