Home Explore Blog CI



neovim

5th chunk of `runtime/doc/vim_diff.txt`
70ce8c60bc80c44ee105d95ffcefe71e85e4a678049be3c40000000100000fad
 |inputdialog()| support custom highlighting.
  |input()-highlight|
- (Experimental) *g:Nvim_color_cmdline* Command-line (|:|) is colored by
  callback defined in `g:Nvim_color_cmdline` (this callback is for testing
  only, and will be removed in the future).

Commands:
- |:checkhealth|
- |:drop| is always available
- |:Man| is available by default, with many improvements such as completion
- |:match| can be invoked before highlight group is defined
- |:source| works with Lua
  User commands can support |:command-preview| to show results as you type
- |:write| with "++p" flag creates parent directories.

Events (autocommands):
- Fixed inconsistent behavior in execution of nested autocommands #23368
- |RecordingEnter|
- |RecordingLeave|
- |SearchWrapped|
- |Signal|
- |TabNewEntered|
- |TermClose|
- |TermOpen|
- |TermResponse| is fired for any OSC sequence received from the terminal,
  instead of the Primary Device Attributes response. |v:termresponse|
- |UIEnter|
- |UILeave|

Functions:
- |dictwatcheradd()| notifies a callback whenever a |Dict| is modified
- |dictwatcherdel()|
- |menu_get()|
- |msgpackdump()|, |msgpackparse()| provide msgpack de/serialization
- |stdpath()|
- |system()|, |systemlist()| can run {cmd} directly (without 'shell')
- |matchadd()| can be called before highlight group is defined
- |tempname()| tries to recover if the Nvim |tempdir| disappears.
- |writefile()| with "p" flag creates parent directories.
- |searchcount()|'s maximal value is raised from 99 to 999.

Highlight groups:
- |highlight-blend| controls blend level for a highlight group
- |expr-highlight| highlight groups (prefixed with "Nvim")
- |hl-NormalFloat| highlights floating window
- |hl-FloatBorder| highlights border of a floating window
- |hl-FloatTitle| highlights title of a floating window
- |hl-FloatFooter| highlights footer of a floating window
- |hl-NormalNC| highlights non-current windows
- |hl-MsgArea| highlights messages/cmdline area
- |hl-MsgSeparator| highlights separator for scrolled messages
- |hl-Substitute|
- |hl-TermCursor|
- |hl-WinSeparator| highlights window separators
- |hl-Whitespace| highlights 'listchars' whitespace
- |hl-WinBar| highlights 'winbar'
- |hl-WinBarNC| highlights non-current window 'winbar'

Input/Mappings:
- ALT (|META|) chords always work (even in the |TUI|). Map |<M-| with any key:
  <M-1>, <M-BS>, <M-Del>, <M-Ins>, <M-/>, <M-\>, <M-Space>, <M-Enter>, etc.
  - Case-sensitive: <M-a> and <M-A> are two different keycodes.
- ALT may behave like <Esc> if not mapped. |i_ALT| |v_ALT| |c_ALT|

Normal commands:
- |gO| shows a filetype-defined "outline" of the current buffer.
- |Q| replays the last recorded macro instead of switching to Ex mode (|gQ|).

Options:

- `:set {option}<` removes local value for all |global-local| options.
- `:setlocal {option}<` copies global value to local value for all options.
- 'ambiwidth'   cannot be set to empty.
- 'autoread'    works in the terminal (if it supports "focus" events)
- 'background'  cannot be set to empty.
- 'cpoptions'   flags: |cpo-_|
- 'eadirection' cannot be set to empty.
- 'exrc'        searches for ".nvim.lua", ".nvimrc", or ".exrc" files. The
                user is prompted whether to trust the file.
- 'fileformat'  cannot be set to empty.
- 'fillchars'   flags: "msgsep", "horiz", "horizup", "horizdown",
                "vertleft", "vertright", "verthoriz"
- 'foldcolumn'  supports up to 9 dynamic/fixed columns
- 'guicursor'   works in the terminal (TUI)
- 'inccommand'  shows interactive results for |:substitute|-like commands
                and |:command-preview| commands
- 'jumpoptions'
    - "view" tries to restore |mark-view| when moving through the jumplist.
    - "clean" removes unloaded buffers from the jumplist.
- the |jumplist|, |changelist|, |alternate-file| or using |mark-motions|.
- 'laststatus'  global statusline support
- 'mousemodel'  cannot be set to empty.
- 'mousescroll' amount to scroll by when scrolling with a mouse
- 'pumblend'    pseudo-transparent

Title: Nvim Features: Commands, Events, Functions, Highlights, Input, and Options
Summary
This section details various Nvim features, including highlighting for input and command lines, commands like `:checkhealth`, `:drop`, `:Man`, `:match`, and `:source`, and events (autocommands) such as RecordingEnter, RecordingLeave, SearchWrapped, Signal, TabNewEntered, TermClose, TermOpen, TermResponse, UIEnter, and UILeave. It also lists functions like dictwatcheradd(), menu_get(), msgpackdump(), stdpath(), system(), matchadd(), tempname(), and writefile(). The section describes new highlight groups, input mappings with ALT chords, normal commands like gO, and various options like 'ambiwidth', 'autoread', 'background', 'cpoptions', 'eadirection', 'exrc', 'fileformat', 'fillchars', 'foldcolumn', 'guicursor', 'inccommand', 'jumpoptions', 'laststatus', 'mousemodel', 'mousescroll', and 'pumblend'.