aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/vim_diff.txt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc/vim_diff.txt')
-rw-r--r--runtime/doc/vim_diff.txt53
1 files changed, 36 insertions, 17 deletions
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index 7f1e5ce543..c92fcd8994 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -6,11 +6,10 @@
Differences between Nvim and Vim *vim-differences*
-Throughout the help files, differences between Nvim and Vim are indicated via
-the "{Nvim}" tag. This document is a complete and centralized list of all
-these differences.
+Nvim differs from Vim in many ways, big and small. This document is
+a complete and centralized reference of those differences.
- Type <M-]> to see the table of contents.
+ Type |gO| to see the table of contents.
==============================================================================
1. Configuration *nvim-configuration*
@@ -72,12 +71,18 @@ Clipboard integration |provider-clipboard|
USER EXPERIENCE ~
-Working intuitively and consistently is a major goal of Nvim. Examples:
+Working intuitively and consistently is a major goal of Nvim.
-- Nvim does not have `-X`, a platform-specific option "sometimes" available in
- Vim (with potential surprises: http://stackoverflow.com/q/14635295). Nvim
- avoids features that cannot be provided on all platforms--instead that is
- delegated to external plugins/extensions.
+ *feature-compile*
+- Nvim always includes ALL features, in contrast to Vim (which ships with
+ various combinations of 100+ optional features). Think of it as a leaner
+ version of Vim's "HUGE" build. This reduces surface area for bugs, and
+ removes a common source of confusion and friction for users.
+
+- Nvim avoids features that cannot be provided on all platforms; instead that
+ is delegated to external plugins/extensions. E.g. the `-X` platform-specific
+ option is "sometimes" available in Vim (with potential surprises:
+ http://stackoverflow.com/q/14635295).
- Vim's internal test functions (test_autochdir(), test_settime(), etc.) are
not exposed (nor implemented); instead Nvim has a robust API.
@@ -95,7 +100,7 @@ by Nvim developers.
FEATURES ~
-"Outline": Type <M-]> in |:Man| and |:help| pages to see a document outline.
+"Outline": Type |gO| in |:Man| and |:help| pages to see a document outline.
|META| (ALT) chords are recognized, even in the terminal. Any |<M-| mapping
will work. Some examples: <M-1>, <M-2>, <M-BS>, <M-Del>, <M-Ins>, <M-/>,
@@ -122,14 +127,13 @@ Variables:
|v:windowid| is always available (for use by external UIs)
Commands:
- |:CheckHealth|
+ |:checkhealth|
|:drop| is available on all platforms
|:Man| is available by default, with many improvements such as completion
Functions:
|dictwatcheradd()| notifies a callback whenever a |Dict| is modified
|dictwatcherdel()|
- |execute()| works with |:redir|
|menu_get()|
|msgpackdump()|, |msgpackparse()| provide msgpack de/serialization
@@ -147,6 +151,14 @@ Highlight groups:
|hl-TermCursorNC|
|hl-Whitespace| highlights 'listchars' whitespace
+UI:
+ *E5408* *E5409* *g:Nvim_color_expr* *g:Nvim_color_cmdline*
+ Command-line coloring is supported. Only |input()| and |inputdialog()| may
+ be colored. For testing purposes expressions (e.g. |i_CTRL-R_=|) and regular
+ command-line (|:|) are colored by callbacks defined in `g:Nvim_color_expr`
+ and `g:Nvim_color_cmdline` respectively (these callbacks are for testing
+ only, and will be removed in a future version).
+
==============================================================================
4. Changed features *nvim-features-changed*
@@ -174,6 +186,8 @@ one. It does not attempt to mix data from the two.
|system()| does not support writing/reading "backgrounded" commands. |E5677|
+|:redir| nested in |execute()| works.
+
Nvim may throttle (skip) messages from shell commands (|:!|, |:grep|, |:make|)
if there is too much output. No data is lost, this only affects display and
makes things faster. |:terminal| output is never throttled.
@@ -259,19 +273,24 @@ Lua interface (|if_lua.txt|):
- Lua has direct access to Nvim |API| via `vim.api`.
- Lua package.path and package.cpath are automatically updated according to
'runtimepath': |lua-require|.
-- Currently, most legacy Vim features are missing.
-|input()| and |inputdialog()| gained support for each other’s features (return
-on cancel and completion respectively) via dictionary argument (replaces all
+|input()| and |inputdialog()| support for each other’s features (return on
+cancel and completion respectively) via dictionary argument (replaces all
other arguments if used).
+|input()| and |inputdialog()| support user-defined cmdline highlighting.
+
+Highlight groups:
+ |hl-ColorColumn|, |hl-CursorColumn| are lower priority than most other
+ groups
+
==============================================================================
5. Missing legacy features *nvim-features-missing*
Some legacy Vim features are not implemented:
- |if_py|: vim.bindeval() and vim.Function() are not supported
-- |if_lua|: the `vim` object currently only supports `vim.api`
+- |if_lua|: the `vim` object is missing most legacy methods
- *if_perl*
- *if_mzscheme*
- *if_tcl*
@@ -279,7 +298,7 @@ Some legacy Vim features are not implemented:
==============================================================================
6. Removed features *nvim-features-removed*
-These features are in Vim, but have been intentionally removed from Nvim.
+These Vim features were intentionally removed from Nvim.
*'cp'* *'nocompatible'* *'nocp'* *'compatible'*
Nvim is always "non-compatible" with Vi.