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.
:vimgrepadd /pattern/j **/*<CR>
When you are investigating code, you often need to collect several related patterns before deciding what to edit.
:keepjumps normal! gg
Sometimes you need to make a quick structural move (for example, jump to top, inspect context, then return) without polluting jump navigation history.
:set jumpoptions=stack,view
By default, jump navigation can feel lossy in long files: you jump back, but folds, topline, and viewport context do not always match what you were looking at b
nzzzv
When you are stepping through many matches, plain n often lands with poor context and can hide the match inside a closed fold.
:Lexplore %:p:h
When you are editing deep in a project, opening netrw from the working directory often puts you in the wrong place.
''
When you jump around a file, Vim tracks prior locations.
navigation #navigation #motions #marks #jumplist #normal-mode
:packadd matchit<CR>
The default % motion is great for simple delimiters, but many code structures use semantic pairs like if/else/endif, try/catch, or HTML tags.
:set shada
Neovim's ShaDa (Shared Data) file replaces Vim's viminfo and persists session state across restarts — marks, registers, command history, search history, jump
:Gitsigns stage_hunk
gitsigns.
[b and ]b
The vim-unimpaired plugin by Tim Pope adds symmetric [ and ] bracket mappings for navigating common Vim lists.
plugins #navigation #buffers #quickfix #plugins #normal-mode
{count}n
Like most Vim motions, the n and N search repeat commands accept a count prefix.
gm
The gm command moves the cursor horizontally to the middle of the current screen width on the current line.
`0
Vim automatically saves your cursor position when you exit, storing it as the 0 mark in the viminfo file (or shada file in Neovim).
:set winheight=999 winminheight=5
Setting winheight to a very large number forces Vim to always try to make the focused window as tall as possible.
:find {filename}
:find searches for a file in all directories listed in the path option and opens it in the current window.
g^ and g$
When wrap is on, long lines wrap visually across multiple screen lines.
stevearc/oil.nvim
oil.
folke/snacks.nvim
snacks.
flash.nvim
flash.
vim.diagnostic.jump({count=1})
Neovim 0.