A Neovim plugin that displays whitespace characters only in visual mode, mimicking VSCode's renderWhitespace: selection feature.
visual-whitespace.nvim is a Neovim plugin that imitates Visual Studio Code's 'renderWhitespace: selection' feature. It displays whitespace characters (spaces, tabs, newlines) only when text is visually selected, helping developers inspect formatting without permanent visual clutter. The plugin supports multiple visual modes and file formats, providing enhanced whitespace visibility compared to native Vim/Neovim functionality.
Neovim users who frequently work with formatted text, code with strict whitespace requirements, or are transitioning from VSCode and miss its selective whitespace rendering feature.
Developers choose this plugin because it offers precise, on-demand whitespace visualization without cluttering the editor view, includes fileformat-aware newline display that even VSCode lacks, and provides customizable characters for different whitespace types with performance optimizations for modern Neovim versions.
Imitate VSCode's "Render Whitespace" feature in visual mode
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Mimics VSCode's 'renderWhitespace: selection' by displaying whitespace only during visual selections, avoiding permanent screen clutter while allowing precise inspection when needed.
Shows distinct characters for Unix, Mac, and DOS newlines, a feature not available in VSCode and enhanced beyond Vim/Neovim's native support, as highlighted in the README.
Allows configuration of display characters for each whitespace type and toggling of specific match types via plugin options, providing flexibility for different workflows.
For Neovim ≥0.11, it uses redraw-time, viewport-specific rendering to maintain editor responsiveness, as noted in the versions table and feature descriptions.
The compat-v10 branch for Neovim <0.11 supports only charwise and linewise modes with basic characters, is slower, and is not actively developed, limiting functionality for older versions.
Purely a visual aid; it does not provide linting, correction, or other whitespace management features, making it insufficient for automated or corrective workflows.
While default settings work, fine-tuning display characters and match types requires manual setup via opts or global variables, which can be tedious for quick adoption.
visual-whitespace.nvim is an open-source alternative to the following products: