zoukankan      html  css  js  c++  java
  • vim中选择匹配文本删除技巧

    试举几例如下:

    1. 如何只保留匹配内容行而删除其他行?

    :v/pattern/d
    :help :v

    1. 如何对每行只保留匹配内容而删除这一行中的其它内容
      :%s/^.pattern.$/1/g

    2. 删除包含特定字符串的行
      :g/pattern/d

    3. 删除包含特定字符串的行,每次删除前都提示
      :%s/^.pattern. //c

    4. 处理字符串: /123/456/789/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ?
      0dte
      解释:0 到行首
      dte 删到第一个e

    5. 处理字符串: /123/456/789/ef/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ?
      $T/d0
      解释:$ 到行尾
      T/ 从后往前搜到第一个/
      d0 删到行首
      d/ex然后回车

    解释:d 删除
    /ex 搜到第一个ex

    整行匹配删除

    假如这些特定行的特征开头字符串为“datetime”,那么批量删除这此行的方法是,用 vim 打开日志文件,在命令模式下,键盘输入:

    :0,%s/^datetime.* //g
    在正常模式下(按ESC进入)按键v进入可视化模式,然后按键盘左右键或h,l键即可实现文本的选择。
    其它相关命令:
    v:按字符选择。经常使用的模式,所以亲自尝试一下它。
    V:按行选择。这在你想拷贝或者移动很多行的文本的时候特别有用。

    CTRL+v:按块选择。非常强大,只在很少的编辑器中才有这样的功能。你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮。

    值得注意的是如果VIM中使用自动换行,那么直到你按ENTER换行前,VIM都会将你之前输入的内容视为一行而不是你看到的好几行,按块选择时就会按VIM中的行来选择块。

    在选择模式的时候使用上面所述的方向键和命令(motion)。比如,vwww,会高亮光标后面的三个词。Vjj 将会高亮当前行以及下面两行。

    全选的方法

    v + G + $ 选定全部,不过前提是光标在首行的第一个字母才可以,而使用ggVG就不用光标定位在首行了

  • 相关阅读:
    将自己数据转化为cifar10支持的lmdb
    python实现cifar10数据集的可视化
    Python OS 文件/目录方法
    象棋AI算法(二)
    象棋AI算法(一)
    围棋人机大战中阿尔法狗原理解析,左右互搏,青出于蓝而胜于蓝?
    电脑开机停留在主板设置界面,进不了系统
    哪一种编程语言适合人工智能?
    BIOS设置图解教程-看完就没有不明白的了
    关于AndroidStudio的打包数字签名以及多渠道发布
  • 原文地址:https://www.cnblogs.com/colder219/p/6015174.html
Copyright © 2011-2022 走看看