Text editors
Vim, Sublime Text and VS Code are my favorite editors. Helix has nice ideas.
Vim for its text editing and the vim language and VS code for giving me the best of both worlds. The awesome Vim plugin and the amazing IDE like features. And Sublime Text for its speed and the awesome vim emulation.
CodeMirror, Tiptap & ProseMirror are nice web editors. Zed seems promising. Lexical has many great features too.
I like Notion style block editing. BlockNote is nice library to make these kinds of editors.
Lezer Parser System seems powerful.
Interesting editors
- Aurora Editor - IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS. (Code)
- Oni2 - Native, lightweight modal code editor. (HN)
- CodeMirror - In-browser code editor. (Code)
- CodeMirror 6 - Next generation of the CodeMirror in-browser editor. (Code)
- Awesome Online IDE
- Iota - Terminal-based text editor written in Rust.
- SubEthaEdit - General purpose plain text editor for macOS. Widely known for its live collaboration feature.
- Kakoune - Code editor that implements Vi’s "keystrokes as a text editing language" model. (HN) (kak-lsp - Kakoune Language Server Protocol Client.) (plug.kak - Plugin manager for Kakoune) (The first two hours of Kakoune in two minutes) (Web) (HN) (Pykak)
- Lamdu - Open source live programming environment. Typed pure functional programming made easy, learnable, and efficient. (Web)
- Kibi - Text editor in ≤1024 lines of code, written in Rust.
- Monaco Editor - Code editor that powers VS Code. (Code)
- Monaco Editor React (Web)
- Monaco Editor React 2
- Loop - Text editor built in Rust.
- o - Small, fast and limited text editor.
- RichEditorView - Rich Text Editor in Swift.
- Lite - Lightweight text editor written in Lua. (Plugins) (Implementation Overview) (Cached Software Rendering) (HN)
- Blockly - Web-based, visual programming editor.
- Micro - Modern and intuitive terminal-based text editor. (HN) (Web) (HN) (HN)
- Lime Text - Powerful and elegant text editor primarily developed in Go.
- Geany - Fast and lightweight IDE. (Code) (HN)
- Xi Editor - Modern editor with a backend written in Rust. (Web) (Lobsters)
- Xi Editor macOS - macOS client for Xi text editing backend.
- Kiro - Terminal UTF-8 text editor written in Rust.
- TextMate - Graphical text editor for macOS 10.12 or later. (Web)
- Acme - Powerful text editor, development environment and textual-user-interface platform.
- Nova - Native Mac code editor. (HN) (Lobsters) (Docs) (HN)
- Trix - Compose beautifully formatted text in your web application. (Web)
- Ox - Fast text editor that runs in your terminal. (HN)
- Barliman - Prototype "smart editor" that performs real-time program synthesis.
- Sapling - Highly experimental code editor where you edit code, not text.
- Code Browser - Folding Text Editor. (HN)
- Scribble - Experimental terminal text-editor written in Rust.
- Uivonim - Fork of the Veonim Neovim GUI.
- novelWriter - Markdown-like text editor designed for writing novels and larger projects of many smaller plain text documents. (Web) (HN)
- AX Editor - Code editor with syntax highlighting that runs in your terminal written completely in Swift.
- ghostwriter - Cross-platform, aesthetic, distraction-free Markdown editor. (Code)
- sam - Updated version of the sam text editor.
- Firepad - Collaborative Text Editor Powered by Firebase.
- Noteworthy - Markdown editor with bidirectional links and excellent math support, powered by ProseMirror. (Code)
- Texture - Visual editor for research.
- Amp - Complete text editor for your terminal. (Code)
- Atlas - Hopefully better engineering IDE. (HN)
- Noto - Beautiful and simple plain text editor for macOS written in Swift.
- Helix - Post-modern modal text editor. (Web) (HN) (HN) (HN)
- Tofu - Exploration in fluid code editing. (Code)
- ReVi - Vim inspired text editor.
- vis - Vi-like editor based on Plan 9's structural regular expressions.
- Led - Simple console-based text editor, written in Rust and using Ropey as its text buffer.
- react-tapable-editor - Pluginable, intuitive medium/notion like rich text editor.
- focus - Low-latency text editor in Zig.
- Lite XL - Lightweight text editor written in Lua. (Web) (HN) (HN)
- Plain web text editor
- Opus - Minimal note-taking app.
- React Oxide - open source ReactJS code editor with tabs, files & webDAV. (HN)
- Tincta - Free text editor for Mac with focus on speed, stability and ease of use.
- Zee - Modern text editor for the terminal written in Rust. (HN)
- Glyph - Personal code editor built with Rust + OpenGL.
- freja - Self-modifiable text editor implemented in Janet.
- Lapce - Open source code editor inspired by Xi-editor. (HN) (Reddit) (Web) (Reddit) (HN)
- Zed - Lightning-fast, collaborative code editor written in Rust (Atom team). (HN) (GitHub) (Feedback)
- MarkupEditor - WYSIWYG editing for SwiftUI and UIKit apps.
- cl-editor - Lightweight text editor built with svelte, TypeScript.
- Ved - 1 MB text editor written in V with hardware accelerated text rendering. Compiles in <1s.
- Molecule - Lightweight Web IDE UI framework which is built with React.js and inspired by the VSCode.
- react-codemirror - CodeMirror 6 component for React.
- rodemirror - React component for CodeMirror 6.
- React Textarea Code Editor - Simple code editor with syntax highlighting.
- PanWriter - Markdown editor with pandoc integration and paginated preview. (Code)
- lyranos - Code editor based on druid and tree-sitter.
- Stylo - Another kind of rich text editor.
- Yank Note - Hackable Markdown Note Application for Programmers.
- Ledit - Simple, GPU-rendered, text editor. (Lobsters) (HN)
- Graviton Editor - Code Editor, for Desktop or as server service. (Code)
- Monaco Editor Components - Lit components for Monaco Editor.
- Smith - Simple text editor written in Rust.
- Kisa - Hackable and batteries-included text editor of the new world.
- Zas Editor (HN)
- Pepper - Simple and opinionated modal code editor for your terminal.
- CudaText - Open-source, cross-platform text editor, written in Lazarus. (HN)
- Editor - Custom language grammar tokenizer and theming/syntax highlighter with integrated editor written in Swift, designed for use in both macOS and iOS.
- aretext - Minimalist text editor with vim-compatible key bindings. (Code)
- Klonk - Text editor with an sort-of-unusual undo/redo algorithm.
- Simple code editor made with Freya
- Mininotes - Tiny notetaking app, to explain text layout for text editors.
- Ecode - Minimalist and fast open-source code editor. (HN)
- CodePerfect 95 - Fast, lightweight IDE for Go.
Web
- ProseMirror - Toolkit for building rich-text editors on the web. (Code) (Developer Tools for ProseMirror) (View Component) (Utils library for ProseMirror) (prosemirror-markdown) (ProseMirror Examples) (ProseMirror now a TS project)
- Typist - Mighty Tiptap-based rich-text editor that powers Doist products.
- Pragmatic ProseMirror guide
- rich-markdown-editor - React and Prosemirror based editor that powers Outline and can also be used for displaying content in a read-only fashion.
- Remirror - ProseMirror toolkit for React. (Web) (Discord)
- draft.js - React framework for building text editors.
- Draftail - Configurable rich text editor built with Draft.js.
- Eclipse Theia - Extensible platform to develop multi-language Cloud & Desktop IDEs with state-of-the-art web technologies. (Code) (HN)
- Typewriter - Rich text editor based off of Quill.js and Ultradom, and using Svelte for UI.
- CodeJar - Micro code editor.
- TipTap - Headless editor framework for web artisans. (Code) (Overview) (Awesome) (HN)
- Marky Marked - Lightweight in-browser content editor combining Markdown with the typical WYSIWYG toolbar.
- yace - Yet another code editor for browser.
- Slate - Completely customizable framework for building rich text editors.
- TinyMCE - Advanced WYSIWYG HTML Editor.
- ReactQuill - Quill component for React. (Web)
- Quill - Powerful rich text editor. (Code) (Awesome Quill)
- react-codemirror2 - Codemirror integrated components for React.
- react-simple-code-editor - Simple no-frills code editor with syntax highlighting.
- React SimpleMDE - React wrapper for SimpleMDE markdown editor.
- SharePad.io - Collaborative code editor and compiler.
- Math Writer - Rich Text Math Editing on the Web. (Code)
- Plastic Editor - Block-based editor, just like Roam Research. (Code)
- Plastic - Block-based bi-directional note app. Works locally.
- Ace - High Performance Code Editor for the Web. (Code)
- Copenhagen - Free, lightweight and hackable open source code editor for the web.
- Milkdown - WYSIWYG markdown editor. (Plugins)
- Rustpad - Efficient and minimal collaborative text editor, self-hosted, no database required. (Web) (HN)
- ProseMirror + React + TypeScript example editor
- deepnotes-editor - Workflowy like editor built with draft-js.
- Nib - Wysiwyg / Text editor components built using React and Prosemirror. (Web)
- React Monaco Editor
- rust-monaco - Rust WASM bindings for the Monaco Editor.
- codemirror-blocks - Library for building language-specific, CodeMirror-friendly editors that are a11y-friendly.
- DraftJS Plugins - High quality plugins with great UX on top of DraftJS.
- Megadraft - Rich Text editor built on top of Facebook's Draft.JS featuring a nice default base of components and extensibility.
- CodeMirror Search - Search functionality for the CodeMirror code editor.
- Monaco TailwindCSS - TailwindCSS intellisense support in Monaco editor.
- Rich Text Helpers - Companion packages for GraphCMS's Rich Text Field.
- Lexical - Extensible text editor framework that provides excellent reliability, accessibility and performance. (HN) (Reddit) ([Should we use Lexical to edit our legal graph? (Playground) (HN) ](https://medium.com/doctrine/should-we-use-lexical-to-edit-our-legal-graph-61aa9cfab096))
- CodeMirror Basic Setup - Example configuration for the CodeMirror code editor.
- ProseMirror Elements - ProseMirror plugin for adding user-defined 'elements' containing arbitrary fields to a document.
- Slate-yjs - Goto collaboration solution for slate.
- monaco-vim - VIM keybindings for monaco editor.
- Mira - JavaScript & Markdown live editor on your browser.
- Textarea Markdown - UI headless simple markdown editor using only textarea.
- CodeMirror View - DOM view component for the CodeMirror code editor.
- highlighted-code - Textarea builtin extend to automatically provide code highlights based on one of the languages available via highlight.js.
- Verbum - Fully flexible text editor based on lexical framework. (HN)
- Svelte Lexical - Rich text editor for Svelte based on lexical.
- Lexical Vue - Extensible Vue 3 web text-editor based on Lexical.
- Blocky Editor - Editor which supports the concept of blocks. Can help you to build an editor like Notion.
- Monaco Collaborative Extensions - Adds collaborative editing capabilities to the Monaco Editor.
- Dante - Medium clone built on top of ProseMirror's / TipTap.
- monaco-unified - Get warnings and error messages in monaco editor based on a unified processor.
- notitap - Pro version of Notion like editor built on top of Tiptap.
- Monaco Editor Wrapper
- lighter - Syntax highlighter used by Code Hike.
- VZCode - Multiplayer code editor system.
- HTML5 Text Editor - Text editor build on the Native File System APIs.
- Wideboard - Text editor experiment.
- monaco-editor/loader - Utility to easy setup monaco-editor into your browser.
- canvas-editor - Rich text editor by canvas/svg.
- Editable - Extensible rich text editor framework that uses custom renderers for rendering.
- Tiptap markdown - Markdown extension for Tiptap editor.
- MDX Editor - Open source rich text React component for markdown editing. (Web)
- BlockSuite - Block-based editor built on top of a framework designed for general-purpose collaborative applications. (Web)
- Jodit Editor - WYSIWYG Editor.
Notes
Links
- ycmd - Code-completion & comprehension server.
- Open source collaborative text editors (2019) (HN)
- Vixi - A vim like client for the xi backend.
- Hecto: Build your own text editor in Rust (2019) (HN)
- Kite - AI assistant giving developers superpowers. (VS Code plugin) (Going OSS) (HN)
- Diff Match and Patch libraries - Offer robust algorithms to perform the operations required for synchronizing plain text.
- Debug Adapter Protocol - Defines a common protocol for debug adapters. (Code)
- Linenoise - Small self-contained alternative to readline and libedit.
- Xi-Editor Retrospective (2020) (HN) (Reddit)
- Three Architectures for a Responsive IDE (2020)
- Syntax highlighting is a waste of an information channel (2020) (Lobsters) (HN)
- Tired of note-taking apps (2020) (HN)
- Inside a Collaborative Text Editor (2020)
- I wrote the world's worst text editor (so you don't have to) (2020)
- My thoughts about editors in 2020 (HN)
- From Vim to Ed (2020) (Lobsters)
- My Text Editor Journey: Vim, Spacemacs, Atom and Sublime Text (2017)
- Which color scheme is better? (2020) (Lobsters) (HN)
- What you could steal from the Kakoune code editor right now, and get away with it (2020) (Lobsters) (HN)
- Kakoune, a punk-rock text editor (2020) (Lobsters)
- Auto Base16 Theme - Automatically generate a base16 color set for syntax highlighting based on the colors in an image.
- Monaco Languages - Colorization and configuration supports for multiple languages for the Monaco Editor.
- Why an IDE? (2020)
- SyntaxEnvy - Procedurally generated syntax highlighting themes.
- Universal Ctags - Generates an index (or tag) file of language objects found in source files for many popular programming languages.
- Build Your Own Text Editor (Code) (In Zig)
- The values of Emacs, the Neovim revolution, and the VSCode gorilla (2021) (HN)
- editorconfig-checker - Tool to verify that your files are in harmony with your .editorconfig. (Web)
- dprint - Pluggable and configurable code formatting platform written in Rust. (Code)
- dprint-node - Node API for the dprint TypeScript and JavaScript code formatter. Faster Prettier.
- Building a High Performance Text Editor (2021)
- Editors, IDEs; O Gods, What If Microsoft Was Right All Along? (2021)
- Chroma - General purpose syntax highlighter in pure Go.
- My 4 Favorite Cloud IDEs for 2021
- Text Editing Hates You Too (2019) (HN)
- monaco-editor-auto-typings - Automatically load declaration files while typing in monaco editor instances.
- Kaolinite - Rust crate to assist in the creation of TUI text editors.
- bangle.dev - Collection of components for building powerful editing experiences for the web. (Code)
- Tylr - Interactive demonstration of tile-based editing. (Code) (Tweet) (HN) (HN)
- Elastic tabstops - a better way to indent and align code
- Yi - Haskell-Scriptable Editor.
- Plate - Plugin framework for building rich text editors with slate. (Web)
- Monaco language client - NPM module to connect Monaco editor with language servers.
- Code blocks, but better (2021)
- Which editor/IDE does Bisqwit use? Answers & some history. (2019)
- Thoughts on Structured Editing: Breaking Away from Syntax (2020)
- Subtext - Text-based, block-oriented hypertext format.
- Vite Plugin Monaco Editor - Plugin to simplify loading the Monaco Editor with vite.
- prisma/text-editors - Exports a bunch of batteries-included code editors for Typescript, JSON, SQL & Prisma Schemas.
- prosemirror-dev-toolkit - Injectable developer tools for ProseMirror rich-text editors implemented in Svelte and TypeScript.
- IDEs and Macros (2021)
- ProseMirror + CodeMirror 6
- codemirror/autocomplete - Autocompletion for the CodeMirror code editor.
- What's the Future of IDEs? (2021) (HN)
- use-prosemirror - ProseMirror + React made easy.
- JetBrains Fleet - The Next-Generation IDE by JetBrains. (HN)
- On the design of text editors (2020) (Tweet)
- List of structural editors
- Outline - Extensible text editor library that does things differently. (Tweet)
- Rosé Pine themes (Code)
- Case Study: Inline Editing (2021)
- Aura Theme
- Ask HN: How to learn about text editor architectures and implementations?
- parley - Rich text layout engine backed by the swash crate and implementing the piet text API.
- Ace, CodeMirror, and Monaco: A Comparison of the Code Editors You Use in the Browser (2021) (HN)
- An adventure in realtime collaborative editing (2022)
- Editor Protocol - Open standard for building a rich text editor.
- SwiftyMonaco - Wrapper for Monaco Editor from Microsoft.
- OpenSumi - Framework helps you quickly build Cloud or Desktop IDE products.
- Betting on CodeMirror (2022)
- Portable Text Spec - JSON based rich text specification for modern content editing platforms.
- Bear App - Private Markdown Editor for iPhone, iPad and Mac. (Bear Power Pack)
- Ask HN: Editing remote code locally: Best practices? (2022)
- Creating a Rich Text Editor using Rust and React (2022)
- TextEditor - Backbone for text editors. No rendering, no input, but everything else. In Zig.
- My Experience Building an Editor in Rust (Lobsters)
- WalkThru - Better way of explaining code on the web. (Code)
- Ask HN: More “experimental” UIs for editing/writing code? (2022)
- John Carmack: Best Programming Setup and IDE (2022) (HN)
- CodeEditTextView - Code editor view written in Swift powered by tree-sitter.
- rs-code-visualizer - Turns your code into one large PNG.
- Reviewing some new Rust text editors (2022) (Lobsters)
- LiveCodes - Code playground that runs in the browser. (Code)
- Template for Catppuccin ports
- Catppuccin Palettes - Soothing pastel theme to use within your projects.
- Bike: Innovative Rich Text Editing (2022) (HN)
- Codux - Visual IDE for React.
- Gem - Add images, audio notes, drawings and more in any text editor.
- TypeScript-TmLanguage - TextMate grammar files for TypeScript for VS Code, Sublime Text.
- Monaco tree-sitter - Highlight your Monaco Editor with tree-sitter grammar.
- Embrace the Chaos: How to Write a Code Editor from Scratch in 4 Months (2023) (HN)
- Create TipTap Extension - Create a new TipTap extension in seconds.
- monaco-types - Type-only exports of Monaco editor.
- What's your editor setup? (2023)
- text.management - Experimental Live Code Editor.
- tui-textarea - Simple yet powerful multi-line text editor widget for tui-rs and ratatui.
- Wordcraft - LLM-powered text editor with an emphasis on short story writing.
- Even more hindsight on Vim, Helix and Kakoune (2023) (Lobsters)
- Awesome Editor.js - Curated list of awesome Editor.js tools, libraries and resources.
- Novel - Notion-style WYSIWYG editor with AI-powered autocompletions. (Code) (HN)
- Rich text editors and rendering engines (HN)
- Nucleus - Text editor made with Tauri.
- Matrix Rich Text Editor - Cross-platform rich text editor intended for use in Matrix clients including the Element clients.
- ProseKit - Editor framework based on ProseMirror.
- Cursor - AI-first Code Editor.
- Building a collaborative text editor in Go (2023)
- Yoopta Editor - Notion-like editor with similar behavior.