How do I define a custom Ex command that forwards arguments with file completion?
:command! -nargs=* -complete=file W w <args>
When you repeatedly type a long Ex command with filenames, define a user command that keeps the behavior but shortens the keystrokes.
category:
command-line
tags:
#command-line
#ex-commands
#completion
#workflow
How do I enable syntax-based completion without plugins using completefunc?
:set completefunc=syntaxcomplete#Complete
If omnifunc is unavailable for a filetype, Vim can still offer meaningful completion by using syntax groups.
category:
config
tags:
#config
#completion
#insert-mode
#filetype
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 make Vim completion menu appear without auto-inserting a candidate?
:set completeopt=menuone,noinsert,noselect
When completion inserts text too early, you lose control over what gets committed and where undo breakpoints land.
category:
config
tags:
#config
#completion
#insert-mode
#options
How do I hide noisy completion messages in Vim's command line?
Insert-mode completion can spam the command line with status text like "match 1 of N" and related prompts.
category:
config
tags:
#config
#completion
#command-line
#options
#insert-mode
How do I configure command-line tab completion to show the longest match first then cycle?
:set wildmode=longest:full,full
The wildmode option controls what happens when you press in the command line.
category:
config
tags:
#command-line
#completion
#config
How do I make the completion popup menu semi-transparent in Neovim?
Neovim supports pseudo-transparency for the completion popup menu via pumblend and for floating windows via winblend.
category:
config
tags:
#config
#completion
#neovim
How do I enable fuzzy matching for insert mode completion in Neovim 0.11?
Neovim 0.
category:
config
tags:
#completion
#config
#insert-mode
How do I set up blink.cmp as a faster, Rust-powered completion engine in Neovim?
blink.
category:
plugins
tags:
#completion
#plugins
#lsp
#insert-mode
How do I enable native LSP-powered completion in Neovim without installing nvim-cmp or other plugins?
vim.lsp.completion.enable()
Neovim 0.
category:
plugins
tags:
#completion
#insert-mode
#editing
How do I use Neovim's built-in native snippet support to expand snippets without a plugin?
Neovim 0.
category:
plugins
tags:
#editing
#completion
#insert-mode
How do I complete keywords using only the current buffer as the source?
triggers keyword completion that searches only the current buffer for matches, scanning forward from the cursor.
category:
editing
tags:
#completion
#insert-mode
#editing
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 I view all the files Vim would search when resolving include-based completions and lookups?
:checkpath! recursively walks through every file reachable via Vim's include path and displays the full include tree.
category:
navigation
tags:
#navigation
#include
#completion
#ex-commands
How do I make Tab and Enter behave differently when the completion popup menu is open?
The pumvisible() function returns 1 when the insert-mode completion popup menu (pum) is visible, and 0 otherwise.
category:
config
tags:
#config
#insert-mode
#completion
How do I safely run Neovim API calls from inside a fast callback or loop without causing errors?
vim.
category:
config
tags:
#ex-commands
#vimscript
#config
#completion
How do I use Neovim's built-in default LSP keymaps for rename, references, and code actions?
Neovim 0.
category:
plugins
tags:
#navigation
#completion
How do I configure Vim's command-line tab completion to show a list of matches?
:set wildmode=longest,list
By default, Vim's command-line completion just cycles through matches one at a time.
category:
config
tags:
#config
#ex-commands
#completion
#command-line
How do I enable LSP inlay hints to show types and parameter names inline in Neovim?
:lua vim.lsp.inlay_hint.enable()
Neovim 0.
category:
plugins
tags:
#lsp
#neovim
#inlay-hints
#plugins
#completion
How do I show documentation for the selected completion item in a popup window?
Adding popup to completeopt makes Vim display extra information — such as function signatures or documentation — for the currently highlighted completion it
category:
config
tags:
#completion
#insert-mode
#config
#editing