Neovim, an open-source terminal text editor based on Vim, designed to enable fast and efficient coding and known for its speed, flexibility, and extensive customization options, released its latest 0.10 version. The update contains many new features, improvements, and breaking changes, so let’s look at them.
What’s New in Neovim 0.10
Neovim 0.10 introduces a much-needed overhaul of its default color scheme, addressing accessibility and aesthetic concerns. The old colors, while nostalgic, posed accessibility issues. The new scheme aims to improve readability and aesthetics, especially when using Neovim as a diff viewer.
In addition, Neovim now includes built-in commenting functionality. This new feature offers mappings and operators for commenting and uncommenting text, supporting Tree-sitter for injected languages. This integration makes it easier to manage comments within mixed language files.
On top of that, Neovim 0.10 introduces several enhancements to its terminal user interface. Here are the most important:
- Synchronized Output: This reduces flickering and tearing by batching UI updates, improving the visual experience during rapid updates.
- System Clipboard Synchronization: Neovim can now read from and write to the system clipboard using the OSC 52 escape sequence, making clipboard operations seamless even in SSH sessions.
- Hyperlinks: With support for OSC 8, Neovim can now display clickable links within Markdown files, enhancing the editing experience by making references interactive.
- Automatic Truecolor Detection: Neovim now automatically detects if the terminal supports truecolor and enables the ‘termguicolors’ option, ensuring optimal color rendering.
The update also enhances the Language Server Protocol (LSP) experience by adding inlay hints, which provide type annotations directly in the editor, making code comprehension easier. The new version also introduces default mappings for LSP diagnostics, streamlining navigation and error handling within the code.
Other notable updates in Neovim 0.10 include:
- Enhanced terminal commands allow modifiers for better window management.
- Improved syntax highlighting, now defaulting to Tree-sitter for Lua, Vimdoc, and Tree-sitter queries.
- New key mappings for macro execution and compatibility with the Kitty keyboard protocol.
Lastly, Neovim continues to expand its Tree-sitter capabilities by adding a query editor. This new tool allows users to write and test Tree-sitter queries interactively, significantly simplifying creating and modifying queries. Combined with the existing Tree-sitter inspector, Neovim offers one of the best environments for working with syntax trees.
Check out the release announcement or visit the changelog for more details and the complete list of novelties in Neovim 0.10.