2016-04-13 2 views

ответ

3

Попробуйте это. Сопоставьте все, что имеет идентификатор, за которым следует любой символ до конца. Замените его на соответствующую группу (совпадающую с круглыми скобками), которая в сегменте замены представлена ​​символом \ 1.

%s/\(id".*\)$/\1,/g 
+0

Что может быть причиной абсолютно ничего подкрепляются '(. *)'? _Pattern не найден: (. *) _, Это не сработает прямо сейчас, потому что я не получаю сопоставимых групп с тем, что я пытаюсь. (он работает на rubular.com) 'VIM-Vi IMproved 7.2' –

+0

ugh ... потому что он не был в кодовом блоке,' \\ 'не отображались. Получил это, чтобы работать. благодаря! –

3

Другой способ сделать это с помощью глобальной команды и обычной команды.

:g/"id":[0-9]/norm A, 

Глобальная команда запускает norm A, на каждой строке, которая соответствует "id":[0-9]. norm A, запускает A, в обычном режиме, который добавляет , в конце строки.

Посмотрите на :help :global и :h :normal