2014-10-15 3 views

ответ

2

Применяется ко всем линиям:

:%s/\v^(\s*\S+\s+\S+).+/\1/ 
+0

Благодарим за такой быстрый ответ! Это толстый :) –

+0

Что означает '\ v' в начале? –

+0

@AvinashRaj: ': help \ v' –

0

Как об использовании макроса:

<ESC>gg 
qa2wDj0 
q 

и повторять это с помощью

@a 

Вы можете указать количество, говоря

[email protected] 
2

Вы можете использовать свою любимую :normal команду:

:%norm EElD 

или AWK:

:%!awk '{print $1, $2}' 

или замену, если реальный файл не похож на предоставленный образец:

:%s/\S\+\s\+\S\+\zs.* 
+0

: D Я тоже влюбился в это, но, пожалуйста, обратите внимание, что ваша первая строка оставляет первую строку в файле UNCHANGED! –

+0

Нет, это не так. – romainl

+0

EElD не работает, если некоторые строки содержат менее двух слов, просто работал над добавлением этого в мой ответ, но я не мог это исправить. –

Смежные вопросы