What built-in LSP keymaps does Neovim 0.10+ provide automatically when a language server is attached?
grn, gra, grr, gri
Starting with Neovim 0.
grn, gra, grr, gri
Starting with Neovim 0.
:find **/*.py
Vim's built-in :find command supports recursive glob patterns, making it possible to locate and open files anywhere in a project without installing a fuzzy find
:update
The :update command (abbreviated :up) writes the buffer to disk only if it has been modified since the last save.
setqflist()
setqflist() lets you build the quickfix list from a Vimscript list of dictionaries rather than relying on compiler output or :vimgrep.
:diffget 2
When Vim's diff mode has three or more buffers open, :diffget (or do) without an argument is ambiguous — Vim cannot determine which buffer to pull from.
:diffsplit {file}
:diffsplit {file} opens a file in a horizontal split and immediately activates diff mode, highlighting the differences between both buffers.
:view {file}
:view opens a file with the readonly option set, preventing accidental writes.
mf and D (in netrw)
Vim's built-in file browser netrw (opened with :Explore or :Ex) supports a full file management workflow beyond simple navigation.
:ldo {cmd}
Vim maintains two parallel systems for collections of file positions: the quickfix list (global, one per Vim session) and the location list (local to each windo
:tabdo
The :tabdo {cmd} command executes an Ex command in each open tab page sequentially, visiting every tab and running the command there.
buffers-windows #tabs #buffers #ex-commands #buffers-windows
:set diffopt+=algorithm:histogram
Switches Vim's diff algorithm from the default Myers algorithm to histogram, which produces more semantically meaningful diffs by avoiding false matches between
:set splitkeep=screen
Controls how Neovim preserves the visual position of content when creating, closing, or resizing horizontal splits.
:e +{cmd} {file}
The :e +{cmd} {file} form opens a file and executes an Ex command immediately after loading it.
:split #
In Vim, # is a special filename that always refers to the alternate file — the most recently active buffer before the current one.
mA
Uppercase marks (A–Z) are global marks in Vim — they persist across files and even across sessions (when viminfo or shada is configured).
%:p:h
Vim's filename modifiers let you derive path components from the current file's name directly inside ex commands.
:filter /pattern/ {command}
:filter /pattern/ {command} runs any Ex command but suppresses every output line that does not match the pattern.
<C-w>g<C-]>
Pressing g jumps to the definition of the tag under the cursor — just like — but opens the destination in a new horizontal split window.
:set autochdir
The autochdir option tells Vim to automatically change the current working directory to the directory of the file in the active window whenever you switch buffe
:tab {cmd}
Most commands that open a new window (:help, :split, :new, :terminal) open a horizontal split by default.