Я согласен с парадигмой «Vim is a IDE». Но бывают моменты, когда нет IDE. Вот что я использую в таких ситуациях:
: grep,: vimgrep,: Ag,: Ggrep
Рефакторинг, который больше связан с регулярными заменами. Я обычно использую : grep в моем дереве проекта, а затем записываю макрос , чтобы выполнить рефакторинг -: g и: s - нет Brainers. Обычно это позволяет мне быстро изменять большое количество файлов без особых усилий. Честно говоря, я использую этот метод больше, чем любой другой.
В зависимости от вашего рабочего процесса встроенные команды могут быть медленными / неудобными. Если вы используете git, то вы захотите использовать отличный плагин Fugitive и его команду :Ggrep
только для поиска файлов, отмеченных в git. Мне также нравится Silver Searcher за его скорость.
: argdo,: cdo и: bufdo
: cdo и : argdo удобны для выполнения команд vim над набором файлов.
командная строка
Когда с помощью * 1028 сложнее определить список файлов, которые необходимо изменить, я прибегаю к командам командной строки grep / find, чтобы более точно составлять список файлов, которые мне нужно реорганизовать. Сохраните список в текстовый файл и используйте :e
и набор макросов для внесения необходимых изменений.
Я считаю, что чем меньше ржавых у меня навыков записи макросов, тем более полезными я считаю Vim для рефакторинга: удобное сохранение / восстановление из регистров, увеличение / уменьшение переменных счетчика регистров, очистка / сохранение записей макросов в файл для последующего использования, и т.д.
Обновление
С момента написания этого видеофильма о методах, которые я описываю, были опубликованы на vimcasts.org (я призываю вас посмотреть ВСЕ Vimcasts! ). Для рефакторинга смотрите эти:
Vimgolf также отличный способ для практики.