forked from neovim/neovim.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
charter.html
69 lines (54 loc) · 2.37 KB
/
charter.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
---
layout: default
title: About
---
{% include nav.html active='About' %}
<div class="container">
<h1>Vision</h1>
<p>
Neovim is a refactor—and sometimes redactor—in the tradition of Vim, which
itself derives from <a href="https://en.wikipedia.org/wiki/Stevie_%28text_editor%29">Stevie</a>.
It is not a rewrite, but a <em>continuation</em> and extension of Vim. Many
rewrites, clones, emulators and imitators exist; some are very clever, but none
are Vim. Neovim strives to be a superset of Vim, notwithstanding some
intentionally removed misfeatures; excepting those few and carefully-considered
excisions, Neovim <em>is</em> Vim. It is built for users who want the good
parts of Vim, without compromise, and more.
</p>
<p>This project statement serves to clarify priorities and guide decisions.</p>
<h2>Project Goals</h2>
<ul>
<li>Provide a flexible, extensible Vim with a first-class, fast scripting alternative (luajit)</li>
<li>Provide a consistent user experience across supported (G)UIs and platforms</li>
<li>Leverage ongoing Vim development: harmony</li>
<li>Maintain feature parity with Vim; avoid regressions</li>
<li>Continue the Vim tradition of backwards compatibility, with few exceptions</li>
<li>Keep the core small, fast, and extensible</li>
<li>Target all platforms supported by libuv</li>
<li>Optimize <em>out of the box</em>, for new users but especially regular users</li>
<li>Delegate to plugins, but preserve the utility of the nvim core</li>
<li>Ship Luajit as first-class scripting alternative</li>
</ul>
<h2>Project Non-Goals</h2>
<ul>
<li> Turn Vim into an IDE</li>
<li> Limit third-party applications (such as IDEs) built with Neovim</li>
<li> Deprecate VimL</li>
<li>Vi-compatibility</li>
</ul>
<h2>Guiding Principles</h2>
<ul>
<li> <strong>Do Not Regress From Origin</strong></li>
<li> Decide outcomes by weighing cost and benefit</li>
<li> Use automation to solve problems</li>
<li> Enable new contributors: remove barriers to entry</li>
<li> Unblock third parties and plugin authors: allow progress</li>
<li> In matters of taste or ambiguity, favor tradition/compatibility...</li>
<li> ...But prefer usability over tradition if the benefits are overwhelming</li>
<li> Give usability a chance™</li>
</ul>
<h2>Long-term Goals</h2>
<ul>
<li>Implement a POSIX Vi clone via the Neovim API</li>
</ul>
</div>