Shell shell vi 删除空行

laofo · 2017年03月16日 · 最后由 laofo521@gmail.com 回复于 2017年03月16日 · 13 次阅读

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

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


:g/^\s*$/d

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

需要 登录 后方可回复。