Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. venn.nvim

venn.nvim

MITLua

A Neovim plugin for drawing ASCII diagrams directly in the editor using visual block mode.

GitHubGitHub
1.2k stars26 forks0 contributors

What is venn.nvim?

venn.nvim is a Neovim plugin designed for drawing ASCII diagrams directly inside the editor. It allows users to create boxes, lines, and arrows using visual block selections and custom key mappings, eliminating the need for external diagramming tools. The plugin solves the problem of quickly sketching technical diagrams or flowcharts while maintaining focus within Neovim.

Target Audience

Neovim users who frequently create documentation, notes, or technical diagrams and prefer a keyboard-centric workflow without switching applications.

Value Proposition

Developers choose venn.nvim for its seamless integration with Neovim, minimal setup, and efficiency in creating ASCII graphics. Its flexibility with modal keymapping systems and compatibility with other plugins like hydra.nvim offer a tailored diagramming experience directly in the editor.

Overview

Draw ASCII diagrams in Neovim

Use Cases

Best For

  • Creating quick ASCII flowcharts in Neovim
  • Drawing boxes and lines for technical documentation
  • Making simple diagrams in markdown or text files
  • Enhancing note-taking with visual elements
  • Building ASCII art or schematics directly in the editor
  • Integrating diagramming into a keyboard-driven Neovim workflow

Not Ideal For

  • Projects requiring graphical or high-fidelity diagrams beyond ASCII art
  • Teams needing real-time collaborative diagram editing with non-technical users
  • Users who prefer zero-configuration, GUI-based tools for diagram creation

Pros & Cons

Pros

Visual Block Drawing

Select a region in visual block mode and invoke :VBox to draw rectangles or lines, simplifying diagram creation directly in the buffer.

Keyboard-Driven Efficiency

Custom keymaps like HJKL allow rapid line drawing without leaving normal mode, enhancing speed for frequent diagrammers.

Plugin Integration Flexibility

Seamlessly works with modal systems like hydra.nvim and movers like mini.move, offering extended drawing and repositioning capabilities.

UTF-8 Character Support

Uses UTF characters for diagrams, providing enhanced visual representation over basic ASCII, as shown in the README examples.

Cons

Configuration Overhead

Setting up key mappings requires custom Lua code, such as the toggle function in the README, which can be complex for users not versed in Neovim configuration.

Limited Diagram Types

Primarily supports boxes and lines; lacks built-in support for advanced shapes or flowchart symbols without manual character input.

Dependency on External Plugins

For features like moving selections, it relies on plugins like mini.move, which have known issues like incorrect collision fixup, adding fragility.

Frequently Asked Questions

Quick Stats

Stars1,160
Forks26
Contributors0
Open Issues3
Last commit1 year ago
CreatedSince 2021

Tags

#editor-tool#keyboard-driven#neovim-plugin#ascii-art#note-taking#documentation#diagrams#neovim#ascii-graphics#nvim#diagramming

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 2 hours ago

Related Projects

neorgneorg

Modernity meets insane extensibility. The future of organizing your life in Neovim.

Stars7,289
Forks240
Last commit23 days ago
obsidian.nvimobsidian.nvim

Obsidian 🤝 Neovim (actively maintained version)

Stars1,825
Forks130
Last commit9 days ago
telekasten.nvimtelekasten.nvim

A Neovim (lua) plugin for working with a markdown zettelkasten / wiki and mixing it with a journal, based on telescope.nvim

Stars1,664
Forks107
Last commit1 month ago
zk-nvimzk-nvim

Neovim extension for zk

Stars820
Forks64
Last commit22 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub