30 open-source projects similar to epwalsh/obsidian.nvim, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Obsidian.nvim alternative.
QOwnNotes is a desktop note editor that stores each note as a plain-text Markdown file on the local filesystem, avoiding proprietary formats and enabling direct file access. It functions as a Nextcloud Notes client, syncing notes and metadata with Nextcloud or ownCloud servers through a companion API service for versioning and sharing. The application also integrates with AI providers and exposes a local MCP server for external agents to search and fetch notes, and includes a companion browser extension for capturing web content, bookmarks, and screenshots. The editor distinguishes itself thr
TagSpaces is an offline-first file tagging and organization platform that lets you manage local files with portable metadata stored directly in filenames or sidecar JSON files, eliminating the need for a central database. It functions as a full-text file search engine, a Kanban board file organizer, a local AI file assistant, an S3-compatible cloud file manager, and a web clipper and bookmark manager, all within a single application. The project distinguishes itself through a local-first architecture where all file operations, indexing, and AI processing run entirely on the device, with cloud
Blinko is a personal knowledge management system and an LLM-powered knowledge base that enables users to capture and organize thoughts through a bi-directional knowledge graph. It functions as a RAG-enabled note-taking application and a self-hosted Markdown editor, allowing for the creation of permanent documentation and fleeting notes. The project distinguishes itself by integrating retrieval-augmented generation to provide conversational querying and AI-powered analysis of private document libraries. It supports both cloud-based and local AI model integration, enabling users to perform sema
Dendron is a markdown knowledge management system designed for organizing linked files into a hierarchical personal knowledge base. It functions as a git-backed note manager that stores data as plaintext markdown files to ensure data persistence and ownership. The system distinguishes itself through schema-based organization, which applies structural templates and autocomplete hints to maintain consistency across large sets of documents. It also provides bi-directional linking and an interactive graph view to visualize relationships between notes, alongside a static site generator that export
Vimwiki is a personal wiki plugin and text editor extension for Vim that organizes interconnected text files. It functions as a Markdown knowledge base and a Zettelkasten note system, allowing for the creation of a networked system of notes and documentation. The project provides tools for wiki administration, enabling users to create, rename, and navigate between linked documents via internal linking. It supports various markup formats, including Markdown and MediaWiki, and can transform this content into HTML for web publishing. The system covers personal knowledge management through globa
Blossom is a self-hosted, containerized note-taking application designed for private knowledge management. It functions as a centralized repository for personal documentation, allowing users to maintain full ownership of their data by hosting the platform on their own server infrastructure. The application centers on a markdown-based productivity workflow that synchronizes plain-text files across multiple devices. By utilizing a local-first state management model, it ensures immediate interaction with files while asynchronously reconciling changes through a private server backend. This approa
Org-roam is an Emacs-based note-taking system that builds a bidirectional network of plain-text notes, functioning as a personal knowledge base manager. It maintains both forward and backlink references in a SQLite database, automatically updated on file save, and uses persistent unique identifiers for notes instead of file paths to enable stable links across renames and moves. The system integrates directly with Emacs through custom interactive commands and hooks that access the database and buffer state, and it generates static graphs of note interconnections using Graphviz to reveal relati
This project provides an integration of Tree-sitter into the Neovim editor to enable structural code analysis. It serves as a framework for structural code navigation, context-aware syntax highlighting, and the management of language-specific parsers. The system distinguishes itself through a multi-language injection handler that identifies and parses embedded languages within a single document. It uses a dedicated parser manager to install, update, and remove grammar definitions and their associated query files. The tool covers several capability areas including incremental text selection,
Neovim Orgmode is a task management and note-taking environment for Neovim that functions as a plain-text task manager and personal information manager. It uses hierarchical outlining, status states, and tags within simple text files to organize projects and personal workflows. The system incorporates a Tree-Sitter document parser to enable precise manipulation of document hierarchies. The project distinguishes itself through a modular Lua editor extension architecture that provides programmatic interfaces for automating document workflows. It features state-based agenda generation to aggrega
TakeNote is a containerized web application designed as a markdown notes manager for developers. It provides a structured environment for storing technical documentation and plain text snippets using categories and favorites. The application functions as a specialized markdown text editor featuring multi-cursor support and keyboard shortcuts for high-efficiency text manipulation. It includes a live preview mode that renders markdown with syntax highlighting for code blocks. The system covers note organization and management through category-based filtering, bulk collection actions, and a dra
This is a code folding plugin for Neovim that manages foldable code blocks to reduce visual clutter and organize long source files. It functions as a folding provider and visualizer that leverages Language Server Protocol data and indentation patterns to identify and hide logical code sections. The plugin distinguishes itself through the ability to preview collapsed content in floating windows without expanding the fold. It also provides extensive visual customization for folded regions, including the use of virtual text indicators and custom markers to replace default ellipsis. The tool cov
Neorg is a knowledge management framework for Neovim designed for organizing notes, tasks, and structured data using a custom hierarchical text format. It functions as a personal knowledge base and a system for generating structured text documents. The framework integrates project management and time tracking directly into the editor environment. It enables the creation of typeset documents and professional slideshow presentations by converting raw structured text into formatted visual layouts. The system covers a broad range of productivity capabilities, including personal knowledge managem
opencode.nvim is a Neovim plugin that integrates large language model capabilities for code generation, refactoring, and automated diagnostic analysis. It connects the editor to local or remote AI servers to execute coding tasks and manage conversation history. The system features a side-by-side diff interface for reviewing and accepting AI-generated code changes and a prompt builder that injects real-time editor data, such as buffer contents and selections, into instructions. It also functions as an extension to explain code diagnostics and trigger editor actions via a backend server. The p
kanagawa.nvim is a Lua-based colorscheme for NeoVim that provides a high-contrast visual theme based on a traditional Japanese art color palette. It functions as a comprehensive styling system for the editor, applying semantic syntax highlighting to code structures and plugins. The project features a system for switching between different lighting variants, such as warm, deep dark, and light modes. It includes utilities for customizing specific palette colors and highlight groups, as well as the ability to export color definitions to external terminal emulators and shells for cross-applicatio
This project is a configuration framework for Neovim that acts as a client for the Language Server Protocol. It bridges the gap between the text editor and external language analysis tools, enabling the integration of real-time diagnostics, intelligent code completion, and automated refactoring directly into the development environment. The framework provides a standardized interface for managing the lifecycle of external language servers as independent background processes. By utilizing a Lua-based configuration layer, it allows users to define server-specific settings and initialization opt
Nvim-colorizer.lua is a Neovim plugin that provides real-time syntax highlighting for color definitions directly within the text editor. It renders color codes, such as hex and RGB values, as visual backgrounds or text colors, allowing developers to preview design tokens and style definitions without leaving their source files. The plugin distinguishes itself through a performance-oriented architecture that offloads text scanning to background processes, ensuring the editor interface remains responsive. It utilizes the editor's internal decoration system to overlay highlights without modifyin
todo-comments.nvim is a Neovim plugin and codebase task navigator that highlights and manages task keywords within code comments. It functions as a Lua-based highlighter and workflow extension that aggregates pending work and notes from source code into a searchable project list. The plugin provides visual tracking of task comments using custom syntax highlighting and allows for jumping between these markers within a file. It enables project-wide task management by searching for tagged comments across multiple files to organize a development roadmap.
snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core functionality of Neovim. It serves as a multi-purpose toolkit providing a UI framework, navigation enhancements, and integrations with external services. The project distinguishes itself by combining a wide array of specialized tools into a single suite, including a picker-based file explorer, a deep GitHub integration for managing issues and pull requests, and a set of development utilities for profiling Lua performance and inspecting code execution. Its broader capability surface
nvim-surround is a Lua-based extension for Neovim designed to add, change, and delete surrounding delimiter pairs around text and code. It functions as a text object manipulator that wraps or removes brackets, quotes, and tags using motions and selections. The plugin integrates with Tree-sitter to identify structural code nodes, allowing for the precise surrounding of syntax elements based on the structural syntax tree. It also supports custom surround definitions, enabling users to define specialized delimiter pairs and aliases. The core capability surface covers basic surrounding operation
Hardtime.nvim is a Neovim plugin designed to improve editing proficiency by monitoring keystrokes and enforcing constraints on inefficient navigation patterns. It functions as a training tool that intercepts input to identify suboptimal workflows, helping users transition from repetitive manual cursor movements to more advanced text manipulation commands. The plugin distinguishes itself by combining real-time feedback with active input restriction. It employs stateful rate limiting and blocks excessive identical keystrokes to discourage reliance on inefficient sequences. When suboptimal patte
noice.nvim is a Neovim UI enhancement plugin that replaces the editor's default command-line, notification, and popup-menu interfaces with a modern, customizable floating-window system. It provides a command-line popup menu, an LSP progress viewer, a message routing framework, and a notification display system with configurable layouts and severity-based styling. The plugin routes Neovim messages to different visual containers based on event type, kind, or content, and displays notifications with customizable layouts, icons, and severity-based styling in floating windows. It visualizes ongoin
jrnl is a command-line journaling tool used for recording dated entries and managing personal journals directly from a terminal. It functions as an encrypted plain-text journal system that protects private entries through encryption and integration with native system keychains. The project includes a calendar-based activity tracker that visualizes entry frequency and patterns using a heatmap layout. It also serves as a data utility for exporting journal entries into formats such as Markdown, JSON, YAML, and XML. The system supports multi-journal management for different life areas and provid
toggleterm.nvim is a Lua-based terminal manager and session orchestrator for Neovim. It provides a system for opening, hiding, and organizing multiple persistent terminal windows, allowing shell sessions to be integrated directly within the text editor. The plugin distinguishes itself by offering a floating terminal interface and the ability to define custom terminal classes. These classes allow for specialized instances with dedicated commands and environment variables, while named terminal selection enables users to focus specific sessions using descriptive labels rather than numeric identi
GitJournal is a mobile-first note-taking application and self-hosted manager for creating a structured markdown knowledge base. It functions as a git-synced notebook, allowing users to organize long-term information and notes as markdown files with metadata. The system ensures data portability and ownership by storing notes in a private version control repository. This approach enables cross-device synchronization and consistency through the use of git operations. The application supports digital note migration by importing data from third-party services into a local markdown format. It furt
windsurf.vim is an AI-driven development tool for Vim and Neovim that integrates AI-powered code completion, a conversational coding assistant, and autonomous agent orchestration. It enables users to receive real-time code suggestions and perform complex refactoring via natural language instructions directly within the editor. The project provides a system for dispatching and monitoring multiple AI agents to execute engineering tasks across local and cloud environments. It includes context-aware project analysis by indexing the local codebase and supports shared workspace management to mainta
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
Vim-clap is a high-performance fuzzy selection interface and command palette designed for Vim and NeoVim. It functions as an extensible plugin that enables rapid navigation of files, buffers, and project resources by offloading heavy search and filtering computations to an external background process. The project distinguishes itself through a pluggable provider architecture that allows developers to define custom search sources using external scripts or binaries. By decoupling the selection interface from the underlying fuzzy matching logic, it supports both built-in algorithms and high-perf
This project is a native C++ desktop application for personal knowledge management. It functions as a local-first markdown note-taking tool and knowledge base, ensuring data is stored directly on the local device for offline access and user ownership. The application distinguishes itself by transforming markdown task lists into interactive kanban boards for visual workflow tracking. It also emphasizes keyboard-driven productivity, utilizing system-wide hotkeys to summon the application to the foreground and navigate its interface without a mouse. The software provides hierarchical content or
yn is a markdown text editor and knowledge management tool designed as an interactive document canvas. It functions as a networked note-taking system for organizing information via wiki-links, hashtags, and local file repositories, while integrating an AI writing assistant for automated text generation and completion. The project is distinguished by its multi-engine diagramming capabilities, which render text-based syntax into visuals using Mermaid, PlantUML, and ECharts. It employs an extensible plugin framework that allows for the addition of custom UI elements and features through JavaScri
MiaoYan is a local Markdown editor and personal knowledge management tool. It functions as a system for writing and organizing documents stored as local files, supporting the creation of a connected information network through bidirectional links and backlinks. The project includes a specialized tool for converting Markdown documents into slide-based presentations by using specific content separators. It also provides a command-line interface for managing files, allowing users to create, search, and open documents without a graphical file explorer. The editor features a side-by-side live pre