How do I restrict keyword completion to current buffer, windows, buffers, and tags for predictable results?
Default keyword completion can feel noisy in large projects because Vim may scan extra sources you do not care about in the moment.
category:
config
tags:
#config
#completion
#insert-mode
#performance
#tags
How do I preview a fuzzy tag match in the preview window without immediately switching buffers?
When a symbol name is ambiguous, jumping directly with :tag can bounce you around the codebase and disrupt your working context.
category:
navigation
tags:
#navigation
#tags
#windows
#code-navigation
#command-line
How do I jump to a tag matching a partial name or pattern when I don't know the exact tag name?
:tjump is a smarter variant of :tag.
category:
navigation
tags:
#navigation
#tags
#search
How do I configure Vim to find a tags file by searching up through parent directories automatically?
By default, Vim only looks for a tags file in the current directory.
category:
config
tags:
#config
#tags
#navigation
#ex-commands
How do I customize which patterns Vim considers a definition for [d and ]d jump commands?
Vim's [d, ]d, [D, and ]D commands search for the "definition" of the keyword under the cursor.
category:
config
tags:
#config
#navigation
#search
#tags
#ex-commands
How do I jump to a tag in Vim and automatically choose if there is only one match?
Vim's :tjump is the smarter sibling of :tag and :tselect.
category:
navigation
tags:
#navigation
#tags
#ctags
#search
How do I jump to a tag in a new split window showing all matching tags?
g] splits the window and then runs :tselect for the identifier under the cursor, displaying a numbered list of all matching tags so you can pick the exact defin
category:
buffers-windows
tags:
#navigation
#buffers
#windows
#tags
How do I jump to a tag and get an interactive list when multiple definitions exist in Vim?
:tjump {identifier} is the smart tag-jumping command: it jumps directly when there is only one matching tag, but shows an interactive numbered list when multipl
category:
navigation
tags:
#navigation
#tags
#buffers-windows
How do I jump to a tag definition in a new split window instead of the current buffer?
Pressing g jumps to the definition of the tag under the cursor — just like — but opens the destination in a new horizontal split window.
category:
buffers-windows
tags:
#navigation
#buffers
#windows
#tags
How do I peek at a function definition without leaving my current window?
:ptag {identifier} opens a small preview window showing the definition of the given tag, while keeping your cursor in the original window.
category:
navigation
tags:
#navigation
#tags
#windows
How do I choose between multiple tag definitions when jumping to a symbol in Vim?
When a symbol (function, class, variable) is defined in multiple places, CTRL-] blindly jumps to the first match.
category:
navigation
tags:
#navigation
#tags
#normal-mode
How do I pick from multiple tag matches instead of jumping to the first one?
g] is the disambiguation-aware alternative to .
category:
navigation
tags:
#navigation
#tags
How do I preview a tag definition in a preview window using :ptag?
The :ptag command opens a tag definition in a small preview window at the top of the screen, letting you read the definition without losing your place in the cu
category:
buffers-windows
tags:
#buffers
#windows
#tags
#preview
#navigation
How do I navigate back through the tag stack after jumping to definitions?
When you jump to a tag definition with , Vim pushes your location onto a tag stack.
category:
navigation
tags:
#navigation
#tags
#tag-stack
#code-navigation
How do you select text inside HTML/XML tags?
Press vit to select the inner content of the nearest HTML/XML tag.
category:
visual-mode
tags:
#visual
#select
#tags
How do I navigate through code using tags and the tag stack?
The command jumps to the definition of the keyword under the cursor using a tags file, and jumps back.
category:
navigation
tags:
#navigation
#tags
#code-navigation
#ctags
How do I wrap text with an HTML tag using vim-surround?
The vim-surround plugin makes wrapping text in HTML or XML tags effortless.
category:
plugins
tags:
#plugins
#surround
#html
#editing
#tags
How do I change the content between HTML tags without manually selecting it?
The cit command deletes everything between the nearest pair of HTML/XML tags and drops you into insert mode, ready to type the replacement.
category:
editing
tags:
#editing
#text-objects
#normal-mode
#html
#tags