最近在公司需要处理一些脚本,才感觉自己的vi太次了,在这里搞个备份,以备查阅: 1. 如何只保留匹配内容行而删除其他行? :v/pattern/d :help :v 2. 如何对每行只保留匹配内容而删除这一行中的其它内容 :%s/^.*\(pattern\).*$/\1/g 3. 删除包含特定字符串的行 :g/pattern/d 4. 删除包含特定字符串的行,每次删除前都提示 :%s/^.*pattern.*\n//c 5. 处理字符串: /123/456/789/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ? 0dte 解释:0 到行首 dte 删到第一个e 6. 处理字符串: /123/456/789/ef/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ? $T/d0 解释:$ 到行尾 T/ 从后往前搜到第一个/ d0 删到行首 d/ex然后回车 解释:d 删除 /ex 搜到第一个ex 7 删除不包含字符串‘dd’的行 :g!/^dd/d