Искали способ поиска и замены в вашем проекте, как в 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, что применит команду к каждому файлу, а не к каждому результату. Это приведет к меньшему количеству команд и повышению производительности при больших объемах поиска в вашем проекте.

Нвим-Спектр