Home Explore Blog CI



neovim

3rd chunk of `runtime/doc/vim_diff.txt`
69b11c7e63de5a6c4a7682f0d8f01acd4632d0fd476efd250000000100000fa6
 config by simply removing the mapping, e.g. ":unmap Y". If
you never want any default mappings, call |:mapclear| early in your config.

- Y |Y-default|
- <C-U> |i_CTRL-U-default|
- <C-W> |i_CTRL-W-default|
- <C-L> |CTRL-L-default|
- & |&-default|
- Q |v_Q-default|
- @ |v_@-default|
- # |v_#-default|
- * |v_star-default|
- gc |gc-default| |v_gc-default| |o_gc-default|
- gcc |gcc-default|
- gr prefix |gr-default|
  - |grn|
  - |grr|
  - |gra|
  - |gri|
  - |gO|
- <C-S> |i_CTRL-S|
- ]d |]d-default|
- [d |[d-default|
- [D |[D-default|
- ]D |]D-default|
- <C-W>d |CTRL-W_d-default|
- |[q|, |]q|, |[Q|, |]Q|, |[CTRL-Q|, |]CTRL-Q|
- |[l|, |]l|, |[L|, |]L|, |[CTRL-L|, |]CTRL-L|
- |[t|, |]t|, |[T|, |]T|, |[CTRL-T|, |]CTRL-T|
- |[a|, |]a|, |[A|, |]A|
- |[b|, |]b|, |[B|, |]B|
- |[<Space>|, |]<Space>|
- Nvim LSP client defaults |lsp-defaults|
  - K |K-lsp-default|

DEFAULT AUTOCOMMANDS
                                                        *default-autocmds*
Default autocommands exist in the following groups. Use ":autocmd! {group}" to
remove them and ":autocmd {group}" to see how they're defined.

nvim.terminal:
- BufReadCmd: Treats "term://" buffers as |terminal| buffers. |terminal-start|
- TermClose: A |terminal| buffer started with no arguments (which thus uses
  'shell') and which exits with no error is closed automatically.
- TermRequest: The terminal emulator responds to OSC background and foreground
  requests, indicating (1) a black background and white foreground when Nvim
  option 'background' is "dark" or (2) a white background and black foreground
  when 'background' is "light". While this may not reflect the actual
  foreground/background color, it permits 'background' to be retained for a
  nested Nvim instance running in the terminal emulator.
- TermRequest: Nvim will create extmarks for shells which
  annotate their prompts with OSC 133 escape sequences, enabling users to
  quickly navigate between prompts using |[[| and |]]|.
- TermOpen: Sets default options and mappings for |terminal| buffers:
    - 'nomodifiable'
    - 'undolevels' set to -1
    - 'textwidth' set to 0
    - 'nowrap'
    - 'nolist'
    - 'nonumber'
    - 'norelativenumber'
    - 'signcolumn' set to "no"
    - 'foldcolumn' set to "0"
    - 'winhighlight' uses |hl-StatusLineTerm| and |hl-StatusLineTermNC| in
      place of |hl-StatusLine| and |hl-StatusLineNC|
    - |[[| and |]]| to navigate between shell prompts

nvim.cmdwin:
- CmdwinEnter: Limits syntax sync to maxlines=1 in the |cmdwin|.

nvim.swapfile:
- SwapExists: Skips the swapfile prompt (sets |v:swapchoice| to "e") when the
  swapfile is owned by a running Nvim process. Shows |W325| "Ignoring
  swapfile…" message.

nvim.find_exrc:
- VimEnter: Extend 'exrc' to also search for project-local configuration files
  in all parent directories.

==============================================================================
New Features                                                   *nvim-features*

MAJOR COMPONENTS

- API                             |API|
- Job control                     |job-control|
- LSP framework                   |lsp|
- Lua scripting                   |lua|
- Parsing engine                  |treesitter|
- Providers
  - Clipboard                     |provider-clipboard|
  - Node.js plugins               |provider-nodejs|
  - Python plugins                |provider-python|
  - Ruby plugins                  |provider-ruby|
- Remote plugins                  |remote-plugin|
- Shared data                     |shada|
- Terminal emulator               |terminal|
- UI                              |ui| |--listen| |--server|
- Vimscript parser                |nvim_parse_expression()|
- XDG base directories            |xdg|

USER EXPERIENCE

Working intuitively and consistently is a major goal of Nvim.

                                                        *feature-compile*
- Nvim always includes ALL features, in contrast to Vim (which ships various
  combinations of 100+ optional features).

Title: Nvim Default Mappings, Autocommands, and New Features
Summary
This section lists the default mappings created by Nvim at startup and explains how to disable or remove them. It then describes the default autocommands present in various groups such as nvim.terminal, nvim.cmdwin, nvim.swapfile, and nvim.find_exrc, along with instructions on how to remove or view their definitions. Finally, it outlines the major new features in Nvim, including API, job control, LSP framework, Lua scripting, parsing engine, providers (clipboard, Node.js, Python, Ruby), remote plugins, shared data, terminal emulator, UI, Vimscript parser, and XDG base directories.