Ответ 1
Одно решение:
:%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
После:
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|