Tutorials and blogs about AI, Linux, dev stuff and tech in general


blog banner

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.