Oni - new kind of editor, powered by Neovim

  •        161

Oni is a new kind of editor, focused on maximizing productivity - combining modal editing with features you expect in modern editors. Oni is built with neovim, and inspired by VSCode, Atom, LightTable, and Emacs. The vision of Oni is to build an editor that allows you to go from thought to code as easily as possible - bringing together the raw editing power of Vim, the feature capabilities of Atom/VSCode, and a powerful and intuitive extensibility model - wrapped up in a beautiful package. This repository is under active development, and until 1.0 please consider everything unstable.

  • Modern UX - The Vim experience should not be compromised by terminal limitations.
  • Rich plugin development - using JavaScript, instead of VimL.
  • Cross-platform support - across Windows, OS X, and Linux.
  • Batteries included - rich features are available out of the box - minimal setup needed to be productive.
  • Performance - no compromises, Vim is fast, and Oni should be fast too.
  • Ease Learning Curve - without sacrificing the Vim experience.




Related Projects

NyaoVim - Web-enhanced Extensible Neovim Frontend

  •    TypeScript

This is a Neovim frontend built on Electron. The Neovim editor is composed as a Web Component and users can extend the UI with reusable Web Components, HTML, CSS and JavaScript. Use Vim as a component from a shell or in an IDE.

EverVim - A Modern, Powerful & Modular Vim Distribution

  •    Vim

EverVim is the ultimate vim distribution that supports NeoVim, Vim, GVim and MacVim. It ships with tons of powerful features through vim plugins, which makes it easy to get started for both newcomers and experienced users. The distribution is completely customizable using a ~/.EverVim.vimrc Vim config files.

vimr - Project VimR — Refined Neovim experience for macOS

  •    Swift

Project VimR is an attempt to refine the Neovim experience (or just YA Neovim GUI for mac OS). The goal is to build an editor that uses Neovim inside with many of the convenience GUI features similar to those present in modern editors. We mainly use Swift, but also use Objective-C when its C-nature helps. NvimView is VimR's Cocoa Framework which bundles everything, e.g. Neovim's runtime-files, needed to embed Neovim in a Cocoa App. See the wiki for more details.

SpaceVim - A community-driven vim distribution inspired by spacemacs

  •    Vim

SpaceVim is a community-driven vim distribution that supports vim and Neovim. SpaceVim manages collections of plugins in layers. Layers make it easy for you, the user, to enable a new language or feature by grouping all the related plugins together.

onedark.vim - A dark Vim/Neovim color scheme inspired by Atom's One Dark syntax theme.

  •    Vim

A dark Vim/Neovim color scheme for the GUI and 16/256/true-color terminals, based on FlatColor, with colors inspired by the excellent One Dark syntax theme for the Atom text editor. Note: GUI (non-terminal) Vim will always display 24-bit color regardless of the configuration done in this step.

ActualVim - Sublime Text 3 input mode using Neovim

  •    Python

Everything you like about using Sublime Text 3, and everything you like about typing in vim. Actual uses an embedded Neovim instance to accurately manipulate each Sublime Text buffer as though you were editing the text directly in vim, while the Sublime Text interface, features, and plugins continue to work (see end of README for caveats).

neoVim - Vim-fork focused on extensibility and agility.

  •    Linux

Neovim is a project that seeks to aggressively refactor Vim in order to enable the implementation of new/modern user interfaces without any modifications to the core source. Improve extensibility with a new plugin architecture, Automatic history merge between multiple editor instances, Asynchronous job control, MessagePack remote API, Pushdown Automation etc.


  •    C

Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.

ale - Asynchronous linting/fixing for Vim and Language Server Protocol (LSP) integration

  •    Vim

ALE (Asynchronous Lint Engine) is a plugin for providing linting in NeoVim 0.2.0+ and Vim 8 while you edit your text files, and acts as a Vim Language Server Protocol client. ALE makes use of NeoVim and Vim 8 job control functions and timers to run linters on the contents of text buffers and return errors as text is changed in Vim. This allows for displaying warnings and errors in files being edited in Vim before files have been saved back to a filesystem.

Visual Studio Code - Code editing. Redefined

  •    TypeScript

Visual Studio Code is a new type of tool that combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle. Code provides comprehensive editing and debugging support, an extensibility model, and lightweight integration with existing tools.

tmux-complete.vim - Vim plugin for insert mode completion of words in adjacent tmux panes

  •    Vim

You're happily editing your lovely files in Vim, when you notice you need to type a word that you can see in a different Tmux pane right next to Vim. This might be some secret key found in your REPL or the name of a failing test. Usually the interesting text is too short to warrant switching panes and going into Tmux' copy mode, so you end typing it out again.

targets.vim - Vim plugin that provides additional text objects

  •    Vim

Targets.vim is a Vim plugin that adds various text objects to give you more targets to operate on. It expands on the idea of simple commands like di' (delete inside the single quotes around the cursor) to give you more opportunities to craft powerful commands that can be repeated reliably. One major goal is to handle all corner cases correctly. The following examples are displayed as three lines each. The top line denotes cursor positions from where the presented command works. The middle line shows the contents of the example line that we're working on. The last line shows the part of the line that the command will operate on.

neovim-gtk - gtk ui for neovim

  •    Rust

GTK ui for neovim written in rust using gtk-rs bindings. With ligatures support.

vim - The official Vim repository

  •    C

Vim is a greatly improved version of the good old UNIX editor Vi. Many new features have been added: multi-level undo, syntax highlighting, command line history, on-line help, spell checking, filename completion, block operations, script language, etc. There is also a Graphical User Interface (GUI) available. Still, Vi compatibility is maintained, those who have Vi "in the fingers" will feel at home. See runtime/doc/vi_diff.txt for differences with Vi. This editor is very useful for editing programs and other plain text files. All commands are given with normal keyboard characters, so those who can type with ten fingers can work very fast. Additionally, function keys can be mapped to commands by the user, and the mouse can be used.

vim-galore - :mortar_board: All things Vim!

  •    Vim

Vim is a text editor with a long line of ancestors that goes back to qed. Bram Moolenaar released it in 1991. The project is hosted online at vim.org.

Alloy Editor - WYSIWYG editor based on CKEditor with completely rewritten UI

  •    Javascript

Alloy Editor is a modern WYSIWYG editor built on top of CKEditor, designed to create modern and gorgeous web content. It provides smart toolbars appear right near the selected text and offer different functionality based on context, Paste rich text from any web page and preserve its formatting, The full styling power of CKEditor and lot more.

neovim-dot-app - Mac OS X GUI for Neovim

  •    Objective-C++

Text editing, mouse support, tabs, clipboard, Mac menus, font selection, font size adjustments, confirm-on-close, multiple windows. See the list of issues.


  •    Perl

Padre is a Perl IDE, an Integrated Development environment, or in other words a text editor that is simple to use for new Perl programmers but also supports large multi-lingual and multi-technology projects.

Pide - A Framework for integrated development

  •    Python

PIDA is different from other IDEs in that it will use the tools you already have available rather than attempting to reinvent each one. PIDA is written in Python with the PyGTK toolkit, and although is designed to be used to program in any language, PIDA has fancy Python IDE features.

Boa Constructor - Python and wxPython GUI IDE

  •    Python

Boa Constructor is a cross platform Python IDE and wxPython GUI Builder. It offers visual frame creation and manipulation, an object inspector, many views on the source like object browsers, inheritance hierarchies, doc string generated html documentation, an advanced debugger and integrated help. Zope support: Object creation and editing. Cut, copy, paste, import and export. Property creation and editing in the Inspector and Python Script debugging.