Skip to content

mohammedbilalns/replace.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 replace.nvim

A powerful and interactive find-and-replace plugin for Neovim using Telescope.

✨ Features

  • 🔍 Project-wide search - Search across your entire codebase
  • 📄 Buffer search - Search within the current file
  • Multi-select - Choose exactly which matches to replace
  • 👀 Live preview - See all matches with file context
  • 🎯 Flexible matching - Case sensitive/insensitive, whole word, regex
  • Fast - Uses ripgrep for blazing-fast search
  • 🔄 Undo support - All replacements in one atomic undo

📋 Requirements

📦 Installation

Using lazy.nvim

{
  'your-username/replace.nvim',
  dependencies = { 'nvim-telescope/telescope.nvim' },
  config = function()
    require('replace').setup({
      ignore_patterns = { "node_modules", ".git", "*.min.js" },
    })
  end,
  keys = {
    { '<leader>sr', '<cmd>FindReplaceProject<cr>', desc = 'Search & Replace (Project)' },
    { '<leader>sb', '<cmd>FindReplaceBuffer<cr>', desc = 'Search & Replace (Buffer)' },
  }
}

🚀 Usage

Commands

  • :FindReplaceProject - Project-wide find & replace
  • :FindReplaceBuffer - Current buffer find & replace

Keybindings (in picker)

  • <CR> - Confirm and replace
  • <Tab> - Multi-select matches
  • <C-c> - Toggle case sensitivity
  • <C-w> - Toggle whole word
  • <C-r> - Toggle regex mode

Workflow

  1. Run :FindReplaceProject
  2. Enter search pattern
  3. Use <Tab> to select specific matches
  4. Enter replacement text
  5. Done! ✨

⚙️ Configuration

require('replace').setup({
  ignore_patterns = { "node_modules", ".git" },
  case_sensitive = false,
  whole_word = false,
  use_regex = false,
  mappings = {
    toggle_case = "<C-c>",
    toggle_word = "<C-w>",
    toggle_regex = "<C-r>",
  }
})

📝 License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published