Help

Nvim :help pages, generated from source using the tree-sitter-vimdoc parser.


NVIM - help k Move around: Use the cursor keys, or "h" to go left, h l "j" to go down, "k" to go up, "l" to go right. j Close this window: Use ":q<Enter>". Get out of Vim: Use ":qa!<Enter>" (careful, all changes are lost!).
Jump to a subject: Position the cursor on a tag (e.g. bars) and hit CTRL-]. With the mouse: Double-click the left mouse button on a tag, e.g. bars. Jump back: Type CTRL-O. Repeat to go further back.
Get specific help: It is possible to go directly to whatever you want help on, by giving an argument to the :help command. Prepend something to specify the context:
WHAT PREPEND EXAMPLE
Normal mode command :help x Visual mode command v_ :help v_u Insert mode command i_ :help i_<Esc> Command-line command : :help :quit Command-line editing c_ :help c_<Del> Vim command argument - :help -r Option ' :help 'textwidth' Regular expression / :help /[ See help-summary for more contexts and an explanation. See notation for an explanation of the help syntax.
Search for help: Type ":help word", then hit CTRL-D to see matching help entries for "word". Or use ":helpgrep word". :helpgrep
Getting started: Do the Vim tutor, a 30-minute interactive course for the basic commands, see vimtutor. Read the user manual from start to end: usr_01.txt
Vim stands for Vi IMproved. Most of Vim was made by Bram Moolenaar, but only through the help of many others. See credits.

NVIM DOCUMENTATION

news News since the previous release nvim Transitioning from Vim vim-differences Nvim compared to Vim faq Frequently Asked Questions user-manual User manual: How to accomplish editing tasks. quickref Overview of common commands tutor 30-minute interactive course for beginners copying About copyrights iccf Helping poor children in Uganda sponsor Sponsor Vim development, become a registered Vim user www Vim on the World Wide Web bugs Where to send bug reports support Supported platforms

GENERAL

intro Introduction to Vim; notation used in help files helphelp Using the :help files index Index of all commands tips Various tips on using Vim message.txt (Error) messages and explanations uganda.txt Vim distribution and what to do with your money

BASIC EDITING

starting Starting Vim, Vim command arguments, initialisation edit-files Editing and writing files motion.txt Commands for moving around scrolling Scrolling the text in the window insert.txt Insert and Replace mode change.txt Deleting and replacing text undo-redo Undo and Redo repeat.txt Repeating commands, Vim scripts and debugging visual-mode Using Visual mode (selecting text) various Various other commands crash-recovery Recovering from a crash

ADVANCED EDITING

cmdline Command-line editing options Description of all options pattern-searches Vim regexp patterns and search commands key-mapping Key mapping (shortcuts), abbreviations tags Tags and special searches windows Commands for using windows and buffers tabpage Commands for using tabpages spell Spell checking diff Comparing files folding Hide (fold) ranges of lines terminal Embedded terminal emulator

API (EXTENSIBILITY/SCRIPTING/PLUGINS)

api Nvim API via RPC, Lua and Vimscript ui Nvim UI protocol lua-guide Nvim Lua guide lua Lua API luaref Lua reference manual luvref Luv (vim.uv) reference manual autocmd Event handlers job-control Spawn and control multiple processes channel Nvim asynchronous IO vimscript Vimscript reference vimscript-functions Vimscript functions testing.txt Vimscript testing functions remote-plugin Nvim remote plugins health Health checking

PROGRAMMING LANGUAGE SUPPORT

lsp Language Server Protocol (LSP) diagnostic-api Diagnostic framework treesitter Incremental syntax parsing indent.txt automatic indenting for C and other languages syntax syntax highlighting filetype Settings for specific types of files quickfix Commands for a quick edit-compile-fix cycle ft_ada.txt Ada filetype plugin ft_hare.txt Filetype plugin for Hare ft_ps1.txt PowerShell filetype plugin ft_raku.txt Raku filetype plugin ft_rust.txt Rust filetype plugin ft_sql.txt SQL filetype plugin

UI

tui Builtin UI gui External (graphical) UIs signs Signs displayed as window decorations (the "gutter")

LANGUAGE SUPPORT

digraph List of available digraphs mbyte.txt Multibyte text support mlang.txt Non-English language support rileft.txt Right-to-left editing mode arabic.txt Arabic language support and editing hebrew.txt Hebrew language support and editing russian.txt Russian language support and editing vietnamese.txt Vietnamese language support and editing

INTEROP

provider Builtin remote plugin hosts if_perl Perl interface if_pyth Python interface if_ruby Ruby interface

VERSIONS

deprecated Deprecated features that will be removed vi-differences Differences between Vim and Vi

DEVELOPING NVIM

dev Development of Nvim dev-arch Internal architecture, modules, data structures dev-style Development style guidelines dev-theme Design guidelines (colorschemes etc.) dev-tools Tools and techniques for developing Nvim dev-vimpatch Merging patches from Vim
Standard plugins
standard-plugin-list
pi_gzip.txt Reading and writing compressed files pi_msgpack.txt msgpack utilities pi_netrw.txt Reading and writing files over a network pi_paren.txt Highlight matching parens pi_spec.txt Filetype plugin to work with rpm spec files pi_tar.txt Tar file explorer pi_zip.txt Zip archive explorer
Local additions

Bars example bars

Now that you've jumped here with CTRL-] or a double mouse click, you can use CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.
Note that tags are within | characters, but when highlighting is enabled these characters are hidden. That makes it easier to read a command.
You can use CTRL-] on any word (even if it is not within "|") and Nvim will try to find help for it. Especially for options in single quotes, e.g. 'hlsearch'.
Main
Commands index
Quick reference