2015-12-14 5 views
0

Можно ли зафиксировать количество нажатий «да» в заменяющей команде с подтверждением?Захват числа нажатий «да» в заменяющей команде с подтверждением?

p.e.

:%s/foo/bar/gc 
replace with bar (y/n/a/q/l/^E/^Y)? 

номер y щелчков =?

+0

Вы хотите знать номер, или ваш скрипт хочет узнать номер? – Kent

+0

Что вы хотите сделать с этой информацией? – romainl

+0

@Kent, я хочу узнать номер в скрипте. – Reman

ответ

3

Если вы хотите знать, как было сделано много замен (количество y), после того, как все случаи подтверждения спросили, вы увидите X substitutusions on Y lines, то X является то, что вы хотите.

Если вы пишете скрипт и хотите получить номер в своем скрипте. Вы можете либо реализовать этот счетчик в своей функции, либо до :s/../../gc, redir @x после того, как все подстановки были выполнены, redir END. Прочтите @x, возьмите последнюю строку, извлеките ^\d\+, это будет номер.

+0

спасибо Kent. Вы написали: «Вы можете либо реализовать этот счетчик в своей функции». Вы хотите захватить «подстановки X в Y-строках»? – Reman

+0

Нет, я имел в виду, что вы можете реализовать подстановку 'y/n' самостоятельно или позволить vim делать это за вас (': s /// gc') и извлекать 'X' из' X подстановок на Y-строках' line (через ': redir') @Reman – Kent