Одно решение:
:%s!^\([^|]*|\)\{2\}\zs.*!!
Пояснение:
%
: в каждой строке
s
: подстановка
!
: начало паттерна
^
: начало строки
\(
: начало группы
[^|]*
: любое количество непотоковых символов
|
: за ним следует труба
\)
: конец группы
\{2\}
: сопоставить два счета этой группы
\zs
: начать сопоставление с шаблоном здесь
.*
: любые символы
!
: конец шаблона и начало замены
!
: конец замены
Это оставит линии с менее чем двумя трубами нетронутыми, а также будет иметь дело с линиями, которые имеют больше двух труб ...
До
id name things that I don't care no pipes
id|name things that I don't care one pipe
id|name|things that I don't care two pipes
id|name|things that I don't care extra pipe at line end|
id|name|things that I don't care | extra pipe mid-line
id|name|things that I don't| care| two extra pipes
name|things that I don't care missing first column and pipe
|name|things that I don't care missing first column
* После 1071 *:
id name things that I don't care no pipes
id|name things that I don't care one pipe
id|name|
id|name|
id|name|
id|name|
name|things that I don't care missing first column and pipe
|name|