Shell shell vi 删除空行

laofo · 发布于 2017年3月16日 · 最后由 laofo 回复于 2017年3月16日 · 322 次阅读
4

Delete all blank lines (^ is start of line; \s* is zero or more whitespace characters; $ is end of line)

删除所有空白行(是行的开始,\s*是零个或者多个空白字符;$是行尾)


:g/^\s*$/d

共收到 1 条回复
4
laofo · #1 · 2017年3月16日

vim的匹配删除

VIM的匹配删除主要是在一些配置文件中,删除空行,注释行(#号开头等),删除含有特定字符的行等等。

1.删除含有“#”开头的行 :% g/#/d 匹配删除含有特定字符的行就去掉“”,也可以匹配结尾“$”

2.删除空行 :% g/$/d

3.删除不含该字符串的行 :% v/pattern/d 还有另一中方法: :% g!/pattern/d

4.如何对每行只保留匹配内容而删除这一行中的其它内容,这个有点技术含量 :%s/.(pattern).$/\1/g

5.删除包含特定字符串的行,这也就是第一条一样的。 :g/pattern/d

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

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

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册