Skip to content

[plugins] Suggested complementary plugins: nvim-surround, oil.nvim, nvim-dap #129

@stanfish06

Description

@stanfish06

What

Three plugins that complement the existing setup without adding bloat.

1. nvim-surround (kylechui/nvim-surround)

The config already uses nvim-treesitter-textobjects for navigation (]f/[f, ]c/[c etc.) and vim-sneak for two-char targeting. The missing operation is surrounding delimiter pairs. nvim-surround adds ys{motion}{char} (add), ds{char} (delete), cs{old}{new} (change) and integrates with treesitter textobjects so ysaf" (surround a function with quotes) works out of the box. No config required for basic use; treesitter integration is automatic when nvim-treesitter is present.

2. oil.nvim (stevearc/oil.nvim)

Currently \ opens netrw. oil.nvim (by the same author as the already-installed conform.nvim) replaces netrw with a buffer-based explorer: filesystem entries appear as editable lines, so dd/yy/p/r perform file operations and :w commits them. This complements the fzf-lua + fff.nvim search workflow — oil.nvim for tree navigation/mutation, fzf for fuzzy jump. The existing \ binding can map directly to :Oil.

3. nvim-dap + nvim-dap-ui (mfussenegger/nvim-dap + rcarriga/nvim-dap-ui)

The config enables 8 LSP servers (Python, Go, Rust, TypeScript, C/C++, Lua, Swift, plus pyrefly). With language support that wide, a debug adapter fills the one missing gap. nvim-dap provides the Debug Adapter Protocol client; nvim-dap-ui adds a floating pane UI for variables, call stack, and console. Language adapters install separately via the system package manager (debugpy for Python, delve for Go, codelldb for Rust/C++), matching the existing pattern for LSP server installation.

Where

lua/config/plugins.lua — package list; lua/config/plugin_config.lua — configuration.

Why it matters

All three fill gaps in the current editing workflow: surround for structural text editing, oil.nvim for file management, dap for debugging. Each is by a well-maintained author (kylechui, stevearc, mfussenegger) with no external runtime dependencies beyond what is already present.

Recommended action

Evaluate based on workflow priority. nvim-surround has the lowest setup cost (zero config, no new dependencies). oil.nvim is a drop-in replacement for the existing \ → netrw binding. nvim-dap is higher investment but completes the LSP-first development workflow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions