How do I insert all command-line completion matches at once without pressing Tab repeatedly?
Pressing on the command line expands all current completion matches into the command at once, rather than cycling through them one at a time with .
category:
command-line
tags:
#command-line
#completion
#ex-commands
How do you format (rewrap) a visual selection to textwidth?
Select text with v or V, then press gq to format the selection according to textwidth.
category:
visual-mode
tags:
#visual
#format
#wrap
How do I restrict a search to a specific line-number window without selecting text first?
Vim's search engine can constrain matches by line number, which is useful when you want to scan a known section without touching the rest of the buffer.
category:
search
tags:
#search
#patterns
#regex
#navigation
#advanced
How do I open a new empty buffer in a horizontal split without opening any file?
n creates a new empty buffer and opens it in a horizontal split above the current window.
category:
buffers-windows
tags:
#buffers-windows
#editing
How do I run a normal mode command on every line in a visual selection?
After making a visual selection, :norm {commands} executes normal-mode keystrokes on every line in the range.
category:
visual-mode
tags:
#visual-mode
#editing
#ex-commands
#normal-mode
How do I paste the contents of a register as a new line below the cursor regardless of the register type in Vim?
The :put Ex command always inserts a register's content as a new line below the current line, regardless of whether the register holds characterwise, linewise,
category:
editing
tags:
#registers
#editing
#paste
#ex-commands
#normal-mode
How do I open a fuzzy buffer picker in Neovim with Telescope?
:Telescope buffers opens a fuzzy-searchable list of all open buffers.
category:
plugins
tags:
#telescope
#buffers
#fuzzy-find
#neovim
How do I create a temporary scratch buffer for quick notes without saving a file?
:enew | setlocal buftype=nofile bufhidden=wipe noswapfile
A scratch buffer is a temporary, unnamed buffer that exists only in memory — it won't prompt you to save when you close it and leaves no trace on disk.
category:
buffers-windows
tags:
#buffers
#editing
#ex-commands
#productivity
#workflow
How do I open a Telescope picker result in a split or new tab instead of the current window?
<C-x> / <C-v> / <C-t> (in Telescope)
When browsing results in a Telescope picker, you are not limited to opening selections in the current window.
category:
plugins
tags:
#navigation
#buffers-windows
#tabs
#plugins
How do I open any file in a project by partial name without a fuzzy-finder plugin?
By adding to Vim's path option, you enable recursive directory search — which makes :find with tab completion a lightweight project-wide fuzzy finder, no plug
category:
navigation
tags:
#navigation
#ex-commands
#config
#buffers
How do I make Vim's built-in file explorer display files as a tree rather than a flat list?
Vim ships with a built-in file browser called netrw, opened with :Explore (or :Ex).
category:
config
tags:
#config
#navigation
#netrw
#buffers
How do you unload a buffer while keeping it in the list?
Use :bunload or :bun to unload the current buffer from memory while keeping it in the buffer list.
category:
buffers-windows
tags:
#buffers
#unload
#memory
How do I configure :make to run the current file as a script with a specific interpreter?
Setting makeprg to include % lets :make always execute the file you're currently editing.
category:
config
tags:
#config
#makeprg
#workflow
#quickfix
How do I apply a normal mode command to every line in a range at once?
:normal (abbreviated :norm) executes a sequence of normal-mode keystrokes on each line of an address range.
category:
command-line
tags:
#ex-commands
#editing
#normal-mode
#macros
How do I transform register contents using Vimscript functions?
:put =map(getreg('a', 1, 1), 'toupper(v:val)')
By using getreg() with the list flag and applying map(), you can transform register contents with any Vimscript function before pasting.
category:
registers
tags:
#registers
#transform
#vimscript
#map-function
How do I call a Lua function or evaluate a Lua expression from within Vimscript in Neovim?
luaeval('lua_expression')
When you have existing Vimscript code that needs to reach into Neovim's Lua ecosystem, luaeval() is the bridge.
category:
config
tags:
#neovim
#config
#vimscript
#lua
How do I write a Vim regex lookahead that doesn't consume a capture group slot?
Vim's lookahead assertion \@= confirms that the current position is followed by a pattern — without including those characters in the match.
category:
search
tags:
#search
#regex
#lookahead
#patterns
#normal-mode
How do I append text to a register instead of replacing it?
The "Ayy command appends the current line to register a instead of overwriting it.
category:
registers
tags:
#registers
#yank
#editing
#normal-mode
How do I jump to the top of a file without creating a new jumplist entry?
Sometimes you need to make a quick structural move (for example, jump to top, inspect context, then return) without polluting jump navigation history.
category:
navigation
tags:
#navigation
#jumplist
#command-line
#workflow
How do I open any file in a project by partial name without a fuzzy finder plugin in Vim?
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
category:
navigation
tags:
#navigation
#ex-commands
#buffers
#completion