How do I enable the built-in matchit plugin to make % jump between matching HTML tags and keywords?
:packadd! matchit
Vim's % command jumps between matching brackets by default.
plugins #navigation #plugins #text-objects #matching #normal-mode
953 results for ":normal"
:packadd! matchit
Vim's % command jumps between matching brackets by default.
plugins #navigation #plugins #text-objects #matching #normal-mode
:[range]w !{cmd}
The :[range]w !{cmd} command writes a range of lines to the standard input of a shell command, leaving the buffer completely unchanged.
function! {name}#{funcname}() in autoload/{name}.vim
Vim's autoload mechanism lets you place functions in autoload/*.
:command
:command lets you define new Ex (colon-prefixed) commands with custom names, optional argument handling, and completion.
command-line #command-line #ex-commands #config #normal-mode
:[range]luado {lua-expr}
Neovim's :luado command runs a Lua expression on each line of a range, allowing you to transform text using the full power of Lua's string library.
[/
When editing code, you often need to navigate to the boundaries of multi-line block comments (/ .
:set cursorcolumn
:set cursorcolumn (or the short form set cuc) highlights the entire vertical column where the cursor sits, painting a visible strip from top to bottom of the wi
{count}J
The J command joins the current line with the line below, adding a space between them.
:set nomodifiable
:set nomodifiable locks a buffer so that no changes can be made at all — not even temporary ones.
qa0f:dwj0q
How it works When recording a macro that you plan to repeat across multiple lines, the key technique is to end the macro positioned on the next line, ready for
/\cpattern
How it works By default, Vim searches are case-sensitive: /Hello will not match hello or HELLO.
:set nrformats+=hex,bin
By default, Vim's and only increment and decrement decimal numbers.
:call setreg('"', @", 'l')
Vim registers carry not just their text content but also a type: charwise (c), linewise (l), or blockwise (b).
<C-v>{motion}~
Visual block mode () selects a rectangular column region, and pressing ~ at the end toggles the case of every character in that exact column range across all se
/pattern1\&pattern2
Vim's \& operator lets you intersect two patterns so the match must satisfy both simultaneously.
zr
zr ("reduce" fold level) decrements the global foldlevel option by 1, opening the next layer of folds across the entire file.
cgn
The cgn command combines the change operator with the gn motion to change the next occurrence of your last search pattern.
:nnoremap / :inoremap / :vnoremap
Vim has two types of key mappings: recursive (:map, :nmap, :imap) and non-recursive (:noremap, :nnoremap, :inoremap).
:'<,'>norm @q
When you visually select lines and then type a : command, Vim automatically inserts ' (the visual range marks) into the command line.
!{motion} {cmd}
The ! operator passes text selected by a motion through an external shell command, replacing it with the command's output.