How do you access the last executed command in Vim?
:@:
The : register stores the last command-line command.
Search Vim Tricks
Searching...:@:
The : register stores the last command-line command.
<C-r>.
In insert mode, .
"0p vs "1p
Register 0 always contains the last yanked text.
"a]p
Use ]p after specifying a register to paste with adjusted indentation.
<C-r>%
In insert mode, % inserts the current filename.
:echo getreg('a')
Use getreg('a') to get the contents of register a as a string.
<C-r>a
In insert mode, press followed by the register name.
<C-r>=expand('%:t')<CR>
In insert mode, = opens the expression register.
"adiw then move, "aP and diw
Delete the first word into register a with "adiw, move to the second word, paste register a before with "aP, then delete the remaining original.
<C-r>=42*7<CR>
In insert mode, press = to access the expression register, type a math expression like 42*7, and press Enter to insert the result (294).
:let @a = toupper(@a)
Use Vimscript functions toupper() or tolower() with :let @a = toupper(@a) to convert the case of the entire register contents.
<C-r>#
The # register holds the alternate (previously edited) filename.
"_dd
Use the black hole register " before a delete command.
qaciWmyFunc(<C-r>")<Esc>q
Record a macro that changes the inner word, types the function name with opening paren, pastes the original word from the register, and closes the paren.
qaq:g/pattern/normal "Ayy
Clear register a with qaq, then use :g/pattern/normal "Ayy to append all matching lines to register a.
qaddpq
Record a macro that deletes the current line with dd and pastes it below the next line with p.
qagUlwq
Record a macro that uppercases the first letter of the current word with gUl, then moves to the next word with w.
qa/true\|false\ncgn<C-r>=@"=='true'?'false':'true'\n<Esc>q
Record a macro using cgn with an expression register to toggle between true and false.
:let @a='...' in vimrc
Add let @a='macro-keystrokes' to your vimrc file to have the macro available in every Vim session.
qavip:sort\n}jq
Record a macro that visually selects the inner paragraph, sorts its lines, then moves to the next paragraph.