vim - 删除选项卡之间的所有内容

Dav*_*ill 3 vim

我有一个文件,其中包含制表符分隔数据.我需要删除2列.那么,我可以使用哪些命令删除从当前选项卡到下一个选项卡的所有内容?

Ben*_*oit 5

要删除第4列和第5列:

:%s/^\(.\{-}\t\)\{3}\zs.\{-}\t.\{-}\t//
Run Code Online (Sandbox Code Playgroud)

说明:

^  => start of line

.\{?} => as few characters as possible
\( .\{-}\t \)\{3} => three times as few characters as possible followed with a tab

\zs => start of match
Run Code Online (Sandbox Code Playgroud)

\v交换机可以更清楚:

:%s/\v^(.{-}\t){3}\zs.{-}\t.{-}\t//
Run Code Online (Sandbox Code Playgroud)