我正在使用Sed脚本只查看比..字符更少或更长的行 该脚本不能同时使用(当我想查看的行少于p.e.80个字符,长度超过70个字符时)。
有没有人知道Vim中是否有一个简单的解决方案只能查看这些行并清空(不删除)所有其他行
体育课。
a)仅查看小于75个字符的行
数
b)仅查看长度超过80个字符的行
b)仅查看小于75个字符且长于65个字符的行
答案 0 :(得分:3)
您可以使用vimgrep
命令:
:vimgrep /\v^.{65,75}$/ %
它将提取当前文件中包含65~75
个字符的行。
{,74} => less than 75
{81,} => great than 80
{66,74} => between 65 and 75 (exclusively)
<强>更新强>
您可以使用此命令清空不匹配的行:
:v/\v^.{65,75}$/s/.*//
它会排空包含0~64
或76~+∞
个字符的行。
答案 1 :(得分:2)
与ZyX的答案类似,这折叠了不包含65~75个字符的行。
:set foldmethod=expr foldexpr=getline(v:lnum)!~'\\v^.{65,75}$' foldlevel=0
答案 2 :(得分:1)
http://www.catonmat.net/blog/sed-one-liners-explained-part-two/有命令行版本(61和62 ......)