
Published at Aug 23, 2025
My favorite Neovim plugins - Part 2
Intro
This is the second part of my favorite Neovim plugins series. While the first part covered my absolute essentials, this part covers plugins that considerably improve my workflow and make Neovim even more powerful and fun to use.
Without further ado, let’s get right into it!
AI and Autocompletion
I use 3 AI-related plugins in my Neovim setup, each serving a different purpose:
1. code-bridge
I use claude code in the terminal usually in a tmux floating window I can toggle-view quickly, together with code-bridge. This plugin just allows me to send context from Neovim to my claude session, making it easy to share some specific code if needed. The video demonstrates adding a file path to the claude context, but sending specific lines in visual mode is also possible.
Note: I forked the plugin to make it work with tmux-floax. The original plugin assumes you have a tmux window open within the current session running claude code.
2. gp.nvim
Mostly used for standalone chats or in-editor completions (I use this with a key binding in i3 to quickly open a floating chat window from anywhere on my system). I love the fact that I can chat with ChatGPT using neovim modes. render-markdown.nvim makes it even better by rendering the responses in a nice way.
3. copilot.vim
I don’t really rely on Copilot for coding, but I do use it for some quick suggestions and code snippets. It is mostly a convenience plugin for me, just to have some quick access to AI-generated code suggestions or inspiration while I work.
Documentation and Navigation
vim-doge
This plugin helps you generate and manage documentation for your code. It supports various programming languages and provides a simple way to keep your code well-documented.
vimwiki
This is a personal wiki plugin for Neovim that allows you to create and manage notes, documentation, and other text-based content. It provides a simple and efficient way to organize your thoughts and ideas. I prefer this kind of simple markdown note-taking over sophisticated documentation apps like Obsidian or Notion. It also has tons of helper commands for navigating, modifying, and generating markdown.
render-markdown.nvim
This plugin allows you to render Markdown files directly in Neovim. I just love the way this plugin brings Markdown files to life in Neovim.
Quality of Life
indent-blankline.nvim
This plugin provides visual indentation guides in Neovim, making it easier to read and understand the structure of your code. It enhances code readability and helps maintain consistent indentation.
neoscroll.nvim
This plugin enhances scrolling in Neovim, providing smooth and customizable scrolling behavior. It improves the overall user experience by making navigation through long files more pleasant.
nvim-bqf
This plugin enhances the quickfix window in Neovim, providing a better user interface and additional features for managing search results and errors. It makes it easier to navigate through search results and fix issues in your code.
diffview.nvim
This plugin provides a powerful interface for viewing and managing diffs in Neovim. It allows you to compare changes in your code, view commit history, and more, all within the editor.
I usually prefer to use git
in the terminal for most git operations, but this plugin is super useful when I want to quickly review changes or copy old changes.
I personally use 3 main commands from this plugin:
-- DiffviewOpen: Opens a diff view for the current changes in the working directory.
keymap('n', '<leader>do', ':DiffviewOpen<CR>', opts)
-- DiffviewFileHistory: Shows the file history for past commits in the current working directory.
keymap('n', '<leader>dh', ':DiffviewFileHistory<CR>', opts)
-- DiffviewFileHistory %: Shows the file history for the current file.
keymap('n', '<leader>df', ':DiffviewFileHistory %<CR>', opts)
-- DiffviewClose: Closes diffview.
keymap('n', '<leader>dc', ':DiffviewClose<CR>', opts)
kulala.nvim
This is one of my favorite plugins (for a very specific use case). It is a minimal REST-Client interface for Neovim. This is another amazing example of an extremely powerful declarative plugin that allows you to interact with REST APIs directly from Neovim. It supports various HTTP methods, headers, and body formats, making it easy to test and interact with APIs without leaving the editor.
nvim-lint
This plugin provides linting capabilities for Neovim, allowing you to check your code for errors and style issues. It supports various programming languages and integrates with popular linting tools.
tiny-glimmer.nvim
This plugin adds simple highlighting animations for standard Neovim operations like yanking, pasting, and deleting text. This is especially useful when you yank text objects, as it provides a visual confirmation of the action.
Database and SQL
vim-dadbod
This plugin provides a powerful interface for managing databases in Neovim. It supports various database systems and allows you to run queries, view results, and manage your database directly from the editor.