How do I run a quickfix-wide replace without changing jumps or search history?
:cdo keepjumps keeppatterns %s/\<OldSymbol\>/NewSymbol/ge | update
When you run :cdo over a large quickfix list, Vim can leave your jump list noisy and your last search pattern overwritten.
category:
command-line
tags:
#quickfix
#ex-commands
#search
#editing
#refactoring
How do I configure quickfix parsing for grep output with file, line, and column?
:set grepformat=%f:%l:%c:%m
When :grep output does not land cleanly in quickfix, the parser format is usually the missing piece.
category:
config
tags:
#config
#quickfix
#grep
#ex-commands
How do I run an interactive replacement across quickfix entries and only save changed files?
:cdo keeppatterns s/\<foo\>/bar/gec | update
When quickfix already contains precise targets, :cdo gives you a safer multi-file replace loop than broad project substitutions.
category:
command-line
tags:
#command-line
#quickfix
#substitute
#refactoring
How do I run a literal project-wide vimgrep for the word under my cursor?
:vimgrep /\V<C-r><C-w>/gj **/*
When you need a project-wide search for the exact word under your cursor, this pattern avoids regex surprises and immediately populates quickfix.
category:
search
tags:
#search
#quickfix
#command-line
#project-workflow
How do I enable :Cfilter and :Lfilter commands without a plugin manager?
Vim ships with useful optional runtime plugins that many users never load.
category:
plugins
tags:
#plugins
#quickfix
#location-list
#search
#command-line
How do I keep project search results window-local with a location list?
:lvimgrep /TODO/j **/* | lopen
When you are working in split-heavy sessions, global quickfix results can become noisy because every window shares the same list.
category:
search
tags:
#search
#quickfix
#buffers
#windows
#command-line
How do I add another project-wide pattern search without replacing my current quickfix results?
:vimgrepadd /pattern/j **/*<CR>
When you are investigating code, you often need to collect several related patterns before deciding what to edit.
category:
search
tags:
#search
#quickfix
#command-line
#navigation
How do I fill quickfix from ripgrep output without leaving Vim?
:cexpr system('rg --vimgrep "TODO"')
When you already know you want an external search tool, :cexpr lets you import results directly into quickfix without opening a terminal buffer or shelling out
category:
command-line
tags:
#command-line
#quickfix
#search
#workflow
How do I make jumps reuse open windows first and fall back to a new tab when needed?
:set switchbuf=useopen,usetab,newtab
When jump commands open files (:tag, quickfix navigation, location list jumps), Vim may split your layout in ways that break flow.
category:
buffers-windows
tags:
#buffers
#windows
#tabs
#quickfix
#config
How do I gather all matches from the current file into a location list without moving the cursor?
When you want a searchable list of matches without leaving your current editing context, :lvimgrep is a strong alternative to regular / navigation.
category:
search
tags:
#search
#quickfix
#location-list
#ex-commands
How do I open quickfix at the bottom with a fixed height and keep cursor focus in my editing window?
:botright copen 8 | wincmd p
Quickfix is powerful, but opening it can disrupt window layout and yank focus away from your current editing context.
category:
buffers-windows
tags:
#buffers
#windows
#quickfix
#command-line
How do I configure :grep to use ripgrep with quickfix output and include hidden files?
:set grepprg=rg\ --vimgrep\ --smart-case\ --hidden\ --glob\ !.git
Vim's :grep becomes much more useful when grepprg is tuned for ripgrep and quickfix-compatible output.
category:
config
tags:
#config
#search
#command-line
#quickfix
How do I temporarily narrow quickfix entries by pattern using the cfilter plugin?
:packadd cfilter | Cfilter /ERROR/
Quickfix lists can get noisy in large projects, especially when one grep or compiler run mixes several classes of issues.
category:
plugins
tags:
#plugins
#quickfix
#search
#ex-commands
How do I append another pattern search to the current quickfix results?
:vimgrepadd /FIXME/j **/*.go
When you are triaging a codebase, one pattern is rarely enough.
category:
search
tags:
#search
#quickfix
#project-workflow
#ex-commands
How do I run a recorded macro on every quickfix match without touching unrelated lines?
When a refactor target spans many files but only specific matches matter, running a macro globally is risky.
category:
macros
tags:
#macros
#quickfix
#automation
#ex-commands
How to navigate between buffers, quickfix entries, and location list items using bracket pairs with vim-unimpaired?
The vim-unimpaired plugin by Tim Pope adds symmetric [ and ] bracket mappings for navigating common Vim lists.
category:
plugins
tags:
#navigation
#buffers
#quickfix
#plugins
#normal-mode
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 clear all entries from the quickfix list in Vim?
After a :grep, :make, or :vimgrep run, the quickfix list fills with results.
category:
command-line
tags:
#command-line
#buffers-windows
#quickfix
#ex-commands
How do I make Vim reuse an already-open window or tab when jumping to a quickfix entry?
:set switchbuf=useopen,usetab
By default, Vim opens a new window (or reloads the buffer in the current window) whenever you navigate to a quickfix entry, tag, or :buffer command — even if
category:
buffers-windows
tags:
#buffers-windows
#quickfix
#options
#config
How do I filter the quickfix list to only show entries matching a pattern?
Vim ships with an optional built-in package called cfilter that adds :Cfilter and :Lfilter commands for narrowing down quickfix and location list entries by pat
category:
command-line
tags:
#ex-commands
#quickfix
#search
#command-line