NeovimConf speaker applications, render-markdown.nvim, telescope-frecency.nvim, smart-open.nvim, avante.nvim
Email Newsletter
Sign up with your email address to receive an email when a new issue of This Week in Neovim is available
Introduction
I've been away for more than a month due to vacation, travel and work, but excited to be back with a big update filled with new additions to Neovim core and several new plugins from the community!
NeovimConf 2024 has started accepting applications for speakers!
Hope you enjoy the issue!
Neovim core
Updates of Neovim itself, which are available on Neovim nightly.
- @neovim on Twitter
- Neovim news
:h news.txt
updates in Neovim directly- PR's on GitHub
Neovim Core Commits
- feat(fs.lua): add vim.fs.rm()
- refactor!: rename 'jumpoptions' flag "unload" to "clean" (#30418)
- feat(tui): builtin UI (TUI) sets client info #30397
- feat(vim.ui): configurable "gx" / vim.ui.open() tool
- feat(log): use "ui" as default name for TUI client #30345
- fix(lua): revert vim.tbl_extend behavior change and document it
- feat(defaults): popupmenu "Open in browser", "Go to definition" #30261
- fix(lua): allows tables with integer keys to be merged in tbl_deep_extend
- feat(startup): validate --listen address
- docs: misc #28970
- feat(mbyte): support extended grapheme clusters including more emoji
- feat(lsp): export diagnostic conversion functions (#30064)
- feat(lsp): completion opts support custom item conversion (#30060)
- feat(term): support OSC 8 hyperlinks in :terminal (#30050)
- feat(term): enable reflow by default (#21124)
Neovim Plugin Community
Neovim is full of active plugins. This section is about the community and what is going on.
Resources & articles
NeovimConf 2024 speaker applications open
New plugins
MeanderingProgrammer/render-markdown.nvim
Plugin to improve viewing Markdown files in Neovim
render-markdown improves viewing Markdown files in Neovim by rendering various Markdown components with customizable options.
nvim-telescope/telescope-frecency.nvim
A telescope.nvim extension that offers intelligent prioritization when selecting files from your editing history.
telescope-frecency.nvim prioritizes files based on Mozilla's Frecency algorithm in Telescope.nvim, enhancing file selection efficiency. With workspace filters for improved search results, it supports lazy loading and flexible configurations for tailored usage.
danielfalk/smart-open.nvim
Neovim plugin for fast file-finding
smart-open.nvim is a Telescope extension that improves file search suggestions by considering factors like file paths, recency, and frecency. It adapts to your usage over time.
yetone/avante.nvim
Use your Neovim like using Cursor AI IDE!
avante.nvim emulates AI behavior, offering AI-generated code suggestions that can be applied directly to code files. It supports one-click application of intelligent code modifications.
stevearc/quicker.nvim
Improved UI and workflow for the Neovim quickfix
quicker.nvim improves Neovim's quickfix UI and workflow with enhanced styling, context lines, and an editable buffer, along with API helpers for toggling the quickfix.
OXY2DEV/helpview.nvim
Decorations for vimdoc/help files in Neovim
Helpview.nvim provides decorations for vimdoc/help files, including titles, headings, tags, links, and code blocks. It features a hybrid mode for previewing and editing, high performance on large files, and dynamic highlight groups. Installation requires Neovim 0.10.0+, and treesitter parser for vimdoc. The plugin offers various commands for toggling, enabling, and disabling functionality. Check the help files to learn more. Highlight groups for code blocks, headings, horizontal rules, and others are also included for easy configuration.
tsakirist/telescope-lazy.nvim
Telescope extension that provides handy functionality about plugins installed via lazy.nvim
telescope-lazy.nvim is a Telescope extension that enhances functionality for lazy-loaded plugins managed by lazy.nvim
, offering convenient actions like opening repositories in a browser, using a file browser, finding files, live grep, and changing directories.
nvim-java/nvim-java
Painless Java in Neovim
nvim-java: Enables Java development in Neovim with features such as Spring Boot tools, diagnostics, code actions, and automatic debug configuration. Efficient setup using nvim-lspconfig for jdtls integration and real-time server settings updates with neoconf.
monkoose/neocodeium
free AI completion plugin for neovim
Neocodeium is an AI completion tool powered by Codeium, offering flicker-free suggestions, repeatable completion acceptance, and performance improvements through cache techniques.
michaelrommel/nvim-silicon
neovim plugin to create code images using the external silicon tool.
nvim-silicon creates code images using the external tool silicon. It supports various options, including watermarking, line ranges, highlighting, colors, padding, and language options. It now offers support for setting multiple destinations for output. The plugin includes Lua keybindings for creating code images with default settings, saving images to a file, and copying images to the clipboard.
folke/drop.nvim
π Fun little plugin that can be used as a screensaver and on your dashboard
drop.nvim is a plugin that can be used for a screensaver on Neovim dashboards, featuring automatic theme switching based on holidays and various playful themes like arcade, coffee, and space. It comes with default themes and configuration options for customization.
brenton-leighton/multiple-cursors.nvim
A multi-cursor plugin for Neovim that works in normal, insert/replace, or visual modes, and with almost every command
multiple-cursors.nvim enhances cursor functionality in various modes by enabling multiple cursors for efficient editing tasks.
IogaMaster/neocord
Discord Rich Presence for Neovim (Fork of presence.nvim)
Neocord is a Discord Rich Presence integration for productivity software. It allows users to display their activities on Discord through icon customization and configuration options.
kassio/neoterm
Wrapper of some vim/neovim's :terminal functions.
neoterm provides terminal helper functions/commands, REPL support, and multiple terminal windows in Vim. It allows sending commands to a neoterm window and supports various REPLs like Python, R, JavaScript, and more. Installation is possible through popular plugin managers or manually. Troubleshooting tips for detecting filetypes are provided.
julienvincent/hunk.nvim
A tool for splitting diffs in Neovim
hunk.nvim splits and edits diffs in two directories, enabling selective line and hunk modifications to produce new partial diffs.
mawkler/demicolon.nvim
Overloaded ; and , keys in Neovim
demicolon.nvim repeats motions like t/T/f/F, diagnostic jumps, and nvim-treesitter-textobjects jumps using ; and , keys. It integrates with gitsigns.nvim and offers customizable keymaps and configurations.
MoaidHathot/dotnet.nvim
.NET Neovim plugin for improving the .NET dev experience in Neovim, written completely in Lua
dotnet.nvim is a Lua-based tool for .NET development in Neovim, enabling tasks like managing Nuget packages, project references, and creating new project files. It requires Neovim 0.8+ and Telescope. Installation via Lazy.nvim or Packer.nvim is supported, with configurable options for project initialization and file path display settings. Various commands are available for adding/removing Nuget packages, project references, and bootstrapping new C# files.
OXY2DEV/foldtext.nvim
Dynamic & stylized foldtext for Neovim
foldtext.nvim is a plugin that enhances code folding in text with dynamic customizations. It allows per-buffer and per-window customization of foldtext, including different configurations based on file types, buffer types, and conditions. Users can create custom foldtext with various parts such as raw text, fold size indicators, indentation, and custom handlers. The plugin offers flexibility in designing foldtext based on specific criteria, improving code readability and organization.
debugloop/layers.nvim
craft temporary keymap overlays and layered modes with ease :flags:
layers.nvim provides a Lua library for creating temporary keymap overlays and layered modes in Neovim. It offers functionality to save and restore mappings, enabling customization of key bindings without affecting the original mappings. The plugin is designed for enhancing existing plugins and configurations, with thorough documentation and Lua type annotations for easy setup and usage.
killitar/obscure.nvim
A dark Neovim theme written in Lua, with support for LSP, Tree-sitter and lots of plugins.
obscure.nvim is a dark Neovim theme written in Lua, inspired by the mellow.nvim palette. It supports the latest Neovim features, terminal colors, and major plugins. Installation is easy using package managers. Customization options and color palettes for other plugins are available.
yorik1984/newpaper.nvim
π¨ Newpaper colorscheme for NeoVim written in Lua with built-in support for native LSP, TreeSitter and many more plugins
newpaper.nvim is a fork of material.nvim, offering a fast and modern colorscheme for Neovim. It supports various language syntax highlights, extends Treesitter queries, and provides extra color configurations for terminal-based and GUI applications. The plugin includes features like live theme switching, Lualine theme support, and asynchronous highlight loading, making it efficient and versatile. It also supports a wide range of popular Neovim plugins for a comprehensive development experience.
alexpasmantier/pymple.nvim
Refactor Python imports on file move/rename in Neovim
pymple.nvim adds Python IDE features to handle imports, including automatic updates on file/directory moves/renames and import resolution.
mawkler/refjump.nvim
Jump to next/previous LSP reference for item under cursor with ]r/[r
refjump.nvim enables jumping to next/previous LSP references in Neovim buffers, with additional features for repeating jumps and customizable keymappings.
Dan7h3x/chatter.nvim
A simple/functional automated plugin to chat with local LLMs
chatter.nvim provides an AI-powered chat interface allowing seamless interaction within code in Neovim.
catgoose/templ-goto-definition
Fixes golang templ goto definition to open .templ file instead of generated .go file
templ-goto-definition enhances the Neovim gopls LSP goto definition for templ templates by opening the correct templ file at the function definition. It requires the templ treesitter grammar for locating function names and falls back on a text search strategy when treesitter is unavailable.
paulo-granthon/hyper.nvim
A high-contrast, saturated, minimalist colorscheme for Neovim.
hyper.nvim is a Lua port of the Hyper.vim theme with high contrast and saturated colors, offering customization options and compatibility with various Neovim configurations.
SCJangra/table-nvim
A markdown table editor for Neovim that formats the table as you type.
table-nvim is a markdown table editor that formats tables in real-time. It depends on nvim-treesitter and offers various key mappings for table editing.
brianhuster/live-preview.nvim
A Live Preview Plugin for Neovim that allows you to view Markdown or HTML (along with CSS, JavaScript) files in a web browser with live updates.
live-preview.nvim allows live viewing of Markdown, HTML, and AsciiDoc files in a web browser with automatic updates, using only Lua and Neovim functions.
ptdewey/pendulum-nvim
Track time spent coding in Neovim
pendulum-nvim logs coding activity, tracks time spent on projects, and generates reports. It offers privacy-focused time tracking within Neovim, storing data locally and providing customizable options.
brianhuster/autosave.nvim
A simple Neovim plugin to autosave
autosave.nvim allows automatic saving, toggling, and checking status. It features customizable options for command names and arguments.
rootiest/nvim-updater.nvim
A plugin for building and updating neovim from source within neovim.
nvim-updater.nvim is a tool that simplifies updating Neovim from the source directly within Neovim, with customizable options for source directory, build type, and branch tracking. It offers keybindings, statusline integration, and commands for updating, removing source, and checking for new commits.
aliqyan-21/runTA.nvim
An advanced and easy to use and configurable code runner for neovim!
runTA.nvim enables code execution inside a floating terminal window within your editor. It supports various programming languages and offers customization options for the terminal layout. You can seamlessly run code, reopen previous output, and interact with the output window using Vim bindings. Contributions to enhance language support or features are encouraged.
Styzex/RandTheme.nvim
RandTheme is a Neovim plugin that automatically sets a new theme every day, adding variety to your coding experience.
RandTheme.nvim automatically changes the theme daily to enhance coding experience, with options for customization.
nabekou29/open-by-http.nvim
A plugin to open files in Neovim via HTTP requests.
open-by-http.nvim allows for opening files in Neovim via HTTP requests using specific commands and options for installation and usage.
qaptoR-nvim/chocolatier.nvim
Espresso-, Kimbie-, Grivbox- inspired Neovim Colorscheme
chocolatier.nvim is a Lua-based theme for Neovim with treesitter and semantic highlight support. It offers light and dark modes, and allows customization of colors and highlight groups. The plugin requires Neovim 0.8.0+ and can be easily installed using popular package managers.
paulo-granthon/agitate.nvim
π« Agitate your git workflow in NeoVim with complex command abstractions over Git and GitHub. Enables even faster creation of branches and repositories, both remotely and locally, simultaneously.
Agitate provides advanced Git and GitHub abstractions for performing repository and branch operations directly from Neovim. It offers commands for creating GitHub repositories, initializing local repositories, and managing branches. The plugin requires setup with GitHub credentials for authentication.
LmanTW/themify.nvim
A colorscheme manager and switcher designed for Neovim.
themify.nvim is a colorscheme manager and switcher designed with Lua, allowing easy installation and management of colorschemes in Neovim, with features like quick switching and lazy-loaded colorschemes for optimized startup time.
d7omdev/nuget.nvim
NuGet Gallery for neovim.
nuget.nvim provides commands for managing NuGet packages in .NET projects, enabling package installation and removal using Telescope for an interactive interface.
ryoppippi/nvim-pnpm-catalog-lens
A Neovim plugin to show versions as diagnostics for PNPM catalog: field.
nvim-pnpm-catalog-lens displays versions as diagnostics for PNPM catalog field used in PNPM projects.
ryoppippi/nvim-reset
a Neovim plugin that allows you to disable all default keymaps in Neovim with a single command.
nvim-reset allows the user to disable all default keymaps in Neovim with customization options to exclude specific keymaps.
GustavEikaas/code-playground.nvim
Code playground for neovim inspired by typescript playground
code-playground.nvim is a tool that allows you to run code in various languages within your editor and displays the output in real-time.
pnx/lualine-lsp-status
lualine-lsp-status displays connected LSP servers in lualine with configurable styling and icons.
samharju/serene.nvim
Mild colorscheme for Neovim
serene.nvim is a mild colorscheme inspired by various built-in Neovim colorschemes with support for plugins like vim-fugitive, gitsigns.nvim, and nvim-cmp.
adigitoleo/haunt.nvim
[MIRROR] Floating windows for terminals, man pages and help buffers
haunt.nvim provides floating windows for terminals, man pages, and help buffers. It offers alternative commands to open these buffers in a floating window and suppresses default buffer navigation commands. Installation and setup instructions are provided, along with examples of usage. The plugin is actively maintained and has been tested on the latest version of NeoVim on Arch Linux.
aliqyan-21/wit.nvim
Plugin that allows you to perform web searches directly from within neovim!
wit.nvim simplifies web searches within Vim by offering direct search functionality and support for custom search engines. It also provides a Wikipedia search command and allows for visual mode searching of selected text. Installation and usage are straightforward, and customization options are available for search engine preferences and search commands. Contributions to the project are welcome.
atlj/Pixie.nvim
This NeoVim plugin generates β¨fancyβ¨ images from your code
Pixie.nvim generates images of highlighted code using puppeteer.
Aityz/cratesearch.nvim
Search crates.io from Neovim!
cratesearch.nvim allows users to search crates.io directly from the editor with easy configuration and usage.
fcancelinha/nordern.nvim
A carefully crafted NordβοΈ color scheme written in Lua for Neovim.
nordern.nvim is a colorscheme based on the Nord Palette with an emphasis on yellow highlighting important tokens. It supports various plugins and languages, with ongoing development to add documentation and language support. Installation is straightforward with popular package managers. Configuration options are available to customize the colorscheme.
StubbornVegeta/llm.nvim
Free large language model (LLM) support for Neovim, provides commands to interact with LLM (like ChatGPT, ChatGLM, kimi).
llm.nvim allows interaction with large language models within text editors. it enables conversation, code explanation, and quick translation. Users can customize LLMs and tools for effective task completion, with support for various free models like Cloudflare.
dam9000/kickstart-modular.nvim
A launch point for your personal nvim configuration
kickstart-modular.nvim is a small, modular, and well-documented configuration setup for quickly starting your Neovim environment.
neolooong/whichpy.nvim
Python interpreter selector for Neovim. Switch interpreters without restarting LSP.
whichpy.nvim is a Python interpreter selector for LSPs and dap-python in Neovim, enabling switching between interpreters without restarting. It supports common directory searches and config customization.
farias-hecdin/CSSVarViewer
π This plugin allows you to easily identify the value of a CSS variable from any other files.
CSSVarViewer displays CSS variables in a virtual text, aiding easy identification of their values across CSS files. It requires Neovim version 0.7+ and offers configurable settings. Keybindings and commands streamline variable tracking and insertion.
adoyle-h/one.nvim
All-in-one neovim config framework in Lua.
One.nvim is a Lua-based Neovim configuration framework with extensive customization options and a range of integrated plugins for enhanced functionality, including LSP support, UI enhancements, and various tools for improving the editing experience.
mayorbyrne/dart-checkForSdkUpdates.nvim
A neovim version of dartcode's checkForSdkUpdates option
dart-checkForSdkUpdates.nvim notifies users of new Dart SDK releases when working with Dart files in Neovim.
miroshQa/rittli.nvim
Revolutionary and Intuitive Terminal Tasks Launcher with tight telescope integration!β¨
rittli.nvim is a plugin for managing terminal tasks in Neovim. It integrates with Telescope, allowing users to create, preview, and launch tasks from Lua files. It offers features such as task auto-update, terminal improvements, local and global task definitions, and dynamic task creation. Users can easily launch, edit, and clone tasks using key bindings, making it a convenient tool for managing tasks within Neovim.
cenk1cenk2/scratch.nvim
Create scratch buffers in Neovim.
scratch.nvim allows users to create scratch buffers in a specified filetype and execute them efficiently. It utilizes autocommands for closing buffers and provides customization options.
EtiamNullam/fold-ribbon.nvim
Display depth of folds at a glance in statuscolumn
fold-ribbon.nvim controls the statuscolumn to show fold depths at a glance. It offers configuration options and the ability to customize highlight colors for fold levels.
3v0k4/exit.nvim
Prompt LLMs to write neovim commands
exit.nvim allows prompting large language models (LLMs) to generate Vim commands, making it easier to perform actions in Vim based on model-generated responses. It provides setup functions to configure the LLM model to be used and a prompt function to interact with the LLM. The plugin can be installed using various package managers and supports customization for different models.
cenk1cenk2/jq.nvim
Run jq and variants like yq or gojq in an interactive window in Neovim and process the current buffer.
jq.nvim allows running jq and variants like yq or gojq in an interactive window within your text editor. It enables processing the current buffer, copying the output, and writing the output back to a file, providing a convenient way to work with structured data.
BrunoCiccarino/gardenal
A plugin for vim and neovim that allows you to define keyboard shortcuts for switching between themes.
Gardenal creates keyboard shortcuts to change themes in Vim, with easy installation and configuration through various package managers or manually.
cenk1cenk2/yaml-companion.nvim
yaml-companion.nvim reloaded with custom matchers, Kubernetes and Kubernetes CRD definitions.
yaml-companion.nvim has been expanded to support multiple language servers and automatic Kubernetes CRD detection. Features include custom matchers, Kubernetes resource matching, dynamic matcher variables, and selection of multiple matchers for buffers. Installation and configuration details are provided for setup, language server extension, manual schemas, and custom matchers. Usage involves schema selection using Telescope picker, accessing the current schema in Lua, and integrating with lualine for displaying the buffer schema.
rlychrisg/truncateline.nvim
Show the start of long lines when scrolling way off to the right.
truncateline.nvim offers line truncation with configurable options and toggle functionality via keybindings.
ryoppippi/vim-svelte-inspector
vim-svelte-inspector is a tool for integrating Neovim with Svelte's inspector, requiring specific dependencies and configuration setup.
rlychrisg/keepcursor.nvim
A collection of functions to control how the screen is positioned around the cursor.
keepcursor.nvim provides functions for managing autocmds that adjust the screen around the cursor. It allows for keeping the cursor position at the top, middle, or bottom of the screen, as well as on the left or right side. The plugin can be customized with key mappings and integrated with Lualine for visual indication of active functions.
amirkarimi/open-github-action.nvim
Neovim plugin to open the GitHub action or reusable workflow source code in the browser.
open-github-action.nvim opens GitHub Action or reusable Workflow source code from Neovim. Useful for quickly examining workflow parameters and source code.
QuentinGruber/pomodoro.nvim
Use the Pomodoro Technique in Neovim with built-in session tracking and break reminders.
pomodoro.nvim allows Pomodoro Technique use in Neovim, featuring session tracking, break reminders.
lima1909/resty.nvim
An easy to use HTTP-Rest-Client plugin for neovim written in LUA
resty.nvim is an easy-to-use HTTP Rest Client for defining and executing requests within Neovim using *.http files or inline requests with variables, headers, query parameters, and response views.
SunnyTamang/pendulum.nvim
pendulum is a simple timer plugin for Neovim designed to assist competitive programmers or coders in general who wants to practice coding for interviews.
pendulum.nvim is a timer tool for coding practice, aiding in focus and productivity by setting, pausing, and restarting timers with customizable options.
julienvincent/clojure-test.nvim
Run clojure tests directly from neovim
clojure-test.nvim allows interactive running of Clojure tests from anywhere in the project, re-running previous or failing tests easily, human-readable interface for exceptions, and go-to-definition on test reports.
ksaito422/remote-line.nvim
neovim plugin that open the link of current line on github
remote-line.nvim: Allows opening current line on remote repository, copying remote repository URL for current line, opening currently selected line in blame mode on remote repository, and opening pull request for the last changed commit.
frvnzj/xJUSTEXx.nvim
Write, compile and stay edge with xJUSTEXx
xJUSTEXx.nvim facilitates creating LaTeX projects in Neovim with features like project templates, directory setup, and compilation commands for different LaTeX engines using Just. It also allows for customization of project directories and LaTeX templates.
Kurama622/llm.nvim
Free large language model (LLM) support for Neovim, provides commands to interact with LLM (like ChatGPT, ChatGLM, kimi).
llm.nvim is a versatile tool enabling interactions with various language models in a Neovim environment. Users can chat, translate text, and explain code using customizable LLMs and tools for efficient task completion. Free models from Cloudflare and others can also be utilized.
farias-hecdin/CSSVarHighlight
π A plugin that will help you easily identify the colors defined in CSS variables
CSSVarHighlight identifies CSS color variables in files for easy visualization, utilizing keyword patterns and key mappings for quick access and updates.
Updated plugins
Contributing
Add your plugin to Dotfyle through this form to be featured in This Week in Neovim
Contribute to the development of Dotfyle: