Искали способ поиска и замены в вашем проекте, как в VSCode? Или ищете альтернативы существующему рабочему процессу? Вот несколько способов найти текст и заменить его в своем проекте в Neovim.
Телескоп + cdo
Если у вас уже есть Telescope в качестве плагина, вам не нужны дополнительные плагины, чтобы эта опция работала на вас.
Если у вас не установлен Telescope, вот ссылка, чтобы проверить его:
После того, как вы установили Telescope, откройте Telescope, чтобы найти файлы или найти строку или что-то еще, что вы ищете.
Получив результаты, откройте список в списке быстрых исправлений.
Вот моя раскладка для открытия find_files:
local builtin = require('telescope.builtin') vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = "Find Files"})
Раскладка по умолчанию для этого в Telescope — Ctrl+Q.
Теперь вы должны увидеть эти результаты, доступные в вашем списке быстрых исправлений, и выглядеть примерно так:
Теперь запустите команду :cdo, чтобы применить регулярное выражение к каждой записи в списке.
:cdo %s/TEXT/NEW_TEXT/gc
Нажмите Enter, и вы сможете подтвердить каждую замену в списке.
Опустите «c», если вы не хотите подтверждать каждый пункт.
Успех!
Другой вариант — использовать :cfdo вместо :cdo, что применит команду к каждому файлу, а не к каждому результату. Это приведет к меньшему количеству команд и повышению производительности при больших объемах поиска в вашем проекте.