forked from neovim/neovim.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcharter.html
70 lines (55 loc) · 2.52 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
70
---
layout: default
title: About
---
{% include nav.html active='About' %}
<div class="container">
<h1>Project Charter</h1>
<p>Neovim is not a rewrite of Vim; it 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>.</p>
<p>Neovim is a continuation and extension of Vim. Many rewrites, clones,
emulators and imitators exist; some are very clever; none are Vim. Neovim
strives to be a superset of Vim, notwithstanding some intentionally removed
misfeatures; thus insofar as one accepts those few and carefully-considered
excisions, Neovim <em>is</em> Vim. The project is built for users who want the good
parts of Vim, without compromise, plus some new good parts.</p>
<p>The design of Neovim is informed by established industry principles such as
modularity, isolation, well-defined interfaces, in order to:</p>
<ul>
<li> Simplify maintenance and comprehension</li>
<li> Encourage contributions, scale development work</li>
<li> Enable new applications (remote plugins, integrations) and frontends (UIs)</li>
</ul>
<p>This purpose of this charter is to clarify priorities and to guide
decisions.</p>
<h2>Project Goals</h2>
<ul>
<li> Leverage existing and ongoing Vim development development</li>
<li> Maintain feature parity with Vim and avoid regressions</li>
<li> Continue the Vim tradition of backwards compatibility</li>
<li> Keep the core small and fast</li>
<li> Make the core more extensible</li>
<li> Target all platforms supported by libuv</li>
<li> Optimize "out of the box", for new users but especially regular users</li>
<li> Delegate functionality 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 applications (such as IDEs) built with Neovim</li>
<li> Deprecate VimL</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> Prefer usability over tradition if the benefit greatly outweighs the cost</li>
<li> In matters of taste or ambiguity, favor tradition/compatibility</li>
<li> Unblock contributors and plugin authors; allow progress</li>
<li> Give usability a chance</li>
</ul>
</div>