How do you use the expression register to evaluate Vimscript?
<C-r>=expand('%:t')<CR>
In insert mode, = opens the expression register.
<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.
<C-r>{reg} in command line
While on the : command line, pressing followed by a register name inserts that register's contents.
"+yy
The "+yy command yanks the current line directly to the system clipboard register, making it available for pasting in other applications.
"# register
The # register contains the name of the alternate file — the previously edited file in the current window.
:let @b = @a
The :let @b = @a command copies the contents of register a into register b.
"adiw
The "adiw command deletes the inner word under the cursor and stores it in register a.
Paste with "ap and execute keys manually
To debug a macro, paste its contents into the buffer, read each keystroke, and execute them one at a time to find where the macro goes wrong.
qaciw"<C-r>""<Esc>wq
This macro wraps the current word in double quotes by changing the word, inserting quotes around the original content, and moving to the next word.
:redir @a | command | redir END
The :redir command redirects Vim's command output to a register, file, or variable.
"+y and "+p
The "+ register is linked to the system clipboard.
:reg a
The :reg a command shows the contents of register a, which reveals the keystrokes stored in the macro.
"/ register
The / register contains the most recent search pattern.
"1p through "9p
Registers 1-9 contain the last 9 deletions or changes that are at least one line long.
:let @a = "Iprefix: \<Esc>"
The :let @a = ".
".
The .