# onivim/oni

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/onivim-oni).**

11,249 stars · 298 forks · TypeScript · MIT · archived

## Links

- GitHub: https://github.com/onivim/oni
- Homepage: https://www.onivim.io
- awesome-repositories: https://awesome-repositories.com/repository/onivim-oni.md

## Description

Oni is a modal code editor and integrated development environment that uses Neovim as its core editing engine. It combines the text manipulation and modal interaction model of Neovim with the capabilities of a full IDE, including a Language Server Protocol implementation for code intelligence, automatic completion, and error highlighting.

The editor is distinguished by its integrated web rendering, allowing users to view documentation, browse the web, and render live previews of code and unit tests directly within the interface. It also utilizes TextMate grammars for syntax highlighting.

The workspace includes tools for project file exploration, fuzzy symbol and file finding, and tabbed file management. Version control is handled through specialized buffer layers for diffing and merging, while a standardized debug protocol enables application code execution and inspection.

The environment is customizable through themes, keybindings, and a plugin system that supports external extensions and standard Vim configuration files.

## Tags

### Part of an Awesome List

- [LSP-Integrated Environments](https://awesome-repositories.com/f/awesome-lists/devtools/integrated-development-environments/lsp-integrated-environments.md) — Combines Neovim modal editing with a full IDE experience powered by the Language Server Protocol.
- [Code Editors and IDEs](https://awesome-repositories.com/f/awesome-lists/devtools/code-editors-and-ides.md) — Provides a comprehensive integrated development environment and text editor for programming.
- [Web Content Browsing](https://awesome-repositories.com/f/awesome-lists/productivity/web-content-browsing.md) — Allows viewing of documentation and web content directly inside the editor to maintain focus.
- [Live Preview](https://awesome-repositories.com/f/awesome-lists/devtools/live-preview.md) — Displays real-time visual updates for code and unit tests within the user interface. ([source](https://github.com/onivim/oni/wiki/Roadmap))
- [Vim Configuration](https://awesome-repositories.com/f/awesome-lists/devtools/vim-configuration.md) — Loads standard Vim configuration files and settings to customize the editor environment. ([source](https://github.com/onivim/oni/wiki/How-To:-Minimal-Oni-Configuration))
- [Integrated Development Environments](https://awesome-repositories.com/f/awesome-lists/devtools/integrated-development-environments.md) — Modal code editor combining Vim-like efficiency with modern productivity features.

### Development Tools & Productivity

- [Neovim Core Integrations](https://awesome-repositories.com/f/development-tools-productivity/neovim-core-integrations.md) — Uses Neovim as the core editing engine for text manipulation and modal interaction.
- [Code Intelligence](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-intelligence.md) — Provides contextual code suggestions, navigation, and real-time diagnostic analysis via Language Server Protocol integration. ([source](https://github.com/onivim/oni/blob/master/README.md))
- [Fuzzy-Finding Pickers](https://awesome-repositories.com/f/development-tools-productivity/editor-search-integrations/fuzzy-finding-pickers.md) — Provides interactive pickers for quickly filtering and selecting project files and symbols. ([source](https://github.com/onivim/oni/blob/master/README.md))
- [File Explorers](https://awesome-repositories.com/f/development-tools-productivity/file-explorers.md) — Includes a project sidebar for browsing file structures and performing global text searches. ([source](https://github.com/onivim/oni/wiki/Roadmap))
- [Fuzzy Search Interfaces](https://awesome-repositories.com/f/development-tools-productivity/fuzzy-search-interfaces.md) — Features a fuzzy-matching search interface for quickly locating and switching between project files. ([source](https://github.com/onivim/oni/wiki/Features))
- [Integrated Web Browsing](https://awesome-repositories.com/f/development-tools-productivity/integrated-web-browsing.md) — Renders web pages as buffers to allow navigation of documentation and sites without leaving the editor. ([source](https://github.com/onivim/oni/wiki/Features))
- [Modal Editors](https://awesome-repositories.com/f/development-tools-productivity/modal-editors.md) — Utilizes a modal interaction model that separates command input from text editing for higher efficiency.
- [Modal IDE Frameworks](https://awesome-repositories.com/f/development-tools-productivity/modal-ide-frameworks.md) — Combines Neovim's modal editing model with professional IDE features like file exploration and code intelligence.
- [LSP Clients](https://awesome-repositories.com/f/development-tools-productivity/neovim-plugins/lsp-clients.md) — Implements Language Server Protocol clients to provide real-time code completions and diagnostic highlighting.
- [Text Editing Modes](https://awesome-repositories.com/f/development-tools-productivity/text-editing-modes.md) — Implements distinct modes for navigation and command execution to accelerate text manipulation. ([source](https://github.com/onivim/oni#readme))
- [Neovim-Based Editors](https://awesome-repositories.com/f/development-tools-productivity/text-editors/neovim-based-editors.md) — Uses Neovim as the primary engine for advanced text manipulation and modal state management.
- [Code Completion](https://awesome-repositories.com/f/development-tools-productivity/code-completion.md) — Implements an advanced completion menu for keywords, text, and snippets to streamline code entry. ([source](https://github.com/onivim/oni/wiki/Features))
- [Code Snippet Engines](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations/code-snippet-engines.md) — Includes an engine to expand short text triggers into predefined reusable blocks of source code. ([source](https://github.com/onivim/oni/wiki/Features))
- [Command Palettes](https://awesome-repositories.com/f/development-tools-productivity/command-palettes.md) — Provides a keyboard-driven command palette to trigger editor actions and modify settings quickly. ([source](https://github.com/onivim/oni/wiki/Features))
- [Editor-Integrated Debugging](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/editor-integrated-debugging.md) — Provides integrated debugging tools to manage breakpoints and inspect application state directly within the editor. ([source](https://github.com/onivim/oni/wiki/Roadmap))
- [Debugging Protocols](https://awesome-repositories.com/f/development-tools-productivity/debugging-protocols.md) — Implements a standardized debugging protocol to decouple the editor interface from external debugger engines.
- [Workflow Optimization Tools](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/developer-productivity-utilities/developer-productivity/workflow-automation-frameworks/workflow-optimization-tools.md) — Reduces context switching by integrating code management, version control, and debugging in one interface.
- [IDE Integrated Tooling](https://awesome-repositories.com/f/development-tools-productivity/development-workflow-optimization/ide-integrated-tooling.md) — Combines code completion, syntax highlighting, and fast search tools into a unified IDE environment. ([source](https://github.com/onivim/oni#readme))
- [Plugin Management Systems](https://awesome-repositories.com/f/development-tools-productivity/plugin-management-systems.md) — Provides a system to install and toggle extensions from external ecosystems to add new capabilities. ([source](https://github.com/onivim/oni/wiki/Roadmap))
- [Type Hover Information](https://awesome-repositories.com/f/development-tools-productivity/type-hover-information.md) — Displays evaluated type and symbol information when the user hovers over code identifiers. ([source](https://github.com/onivim/oni/wiki/Features))

### User Interface & Experience

- [Integrated Web Browsers](https://awesome-repositories.com/f/user-interface-experience/embedded-browser-components/integrated-web-browsers.md) — Integrates a web browser engine to view documentation and render live previews directly within the editor.
- [Embedded Web Renderers](https://awesome-repositories.com/f/user-interface-experience/web-based-rendering-engines/embedded-web-renderers.md) — Integrates a web browser engine to render live previews and documentation directly within the interface.
- [Interaction Customization](https://awesome-repositories.com/f/user-interface-experience/editor-customization-tools/editor-appearance-customization/interaction-customization.md) — Allows customization of keybindings and interface elements to modify the workspace interaction model. ([source](https://github.com/onivim/oni/wiki/How-To:-Minimal-Oni-Configuration))
- [Syntax Highlighting](https://awesome-repositories.com/f/user-interface-experience/syntax-highlighting.md) — Implements syntax highlighting for improved visual parsing using TextMate grammar definitions. ([source](https://github.com/onivim/oni/wiki/Features))

### DevOps & Infrastructure

- [Version Control Integrations](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-integrations.md) — Integrates version control via specialized buffer layers for tracking changes, diffing, and merging. ([source](https://github.com/onivim/oni/wiki/Roadmap))

### Software Engineering & Architecture

- [Third-Party Plugins](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/third-party-plugins.md) — Supports third-party plugins to add custom themes, toolbars, and language-specific editing behaviors. ([source](https://github.com/onivim/oni#readme))
- [TextMate Parsers](https://awesome-repositories.com/f/software-engineering-architecture/trees/syntax-tree-construction/grammar-based-parsers/textmate-parsers.md) — Uses TextMate grammars to parse source code for visual rendering and syntax coloring.
