Пытаясь воспроизвести описанное вами поведение, я построил следующий контрольный пример.Он включает в себя два идентичных файла, созданных с помощью команды
$ echo -e "skip\npat\npat" | tee tmp1 >tmp2
и открытых в Vim без какой-либо инициализации, кроме получения файла, содержащего реализацию команды :QFDo
:
$ vim -u NONE -S qfdo.vim
или
$ gvim -u NONE -U NONE -S qfdo.vim
При поиске шаблона в этих двух файлах
:vimgrep /pat/ tmp{1,2}
заполняет содержимое окна быстрого исправления, которое можно использовать для запуска рассматриваемой команды,
:QFDo v/skip/s/pat/rep/gce
Прерывание этой команды с помощью Ctrl + C после первой замены, которая содержится в файле tmp1
, завершает всю команду :QFDo
и, следовательно, файлtmp2
остается нетронутым.Этот факт означает, что поведение, которое вы пытаетесь преодолеть, вызвано некоторой .vimrc
настройкой или плагином.Чтобы определить фактическую конфигурацию, нарушающую поведение Ctrl + C , отключите все плагины и попробуйте включить их один за другим, каждый раз выполняя приведенный выше тестовый пример.