I’m trying to figure out the syntax of the mapping commands, like onoremap, in vim.
Specially, I am confused over this line in the manual, regarding the use of <C-U>:
The CTRL-U (
<C-U>) is used to remove the range that Vim may insert.
Can someone explain this?
That isn’t part of the syntax for the
onoremapcommand, that is explaining what a particular mapping does. That mapping is:So, when the
Fkey is used while an operator is pending vim will replace that with the bits in the next argument to theonoremapcommand. That starts with a:to begin anexmode command. If there is a visual selection when the mapping is used, vim will automatically insert the range'<,'>so that the followingexcommand will apply to the visual selection, leaving the command line looking like:The
<C-U>in the mapping tells vim that after the:is entered the Control+U combination should be used to clear the command line, eliminating the automatically inserted range leaving the command line looking like:Then the remainder of the mapping is used.
You can see this for yourself by using V to begin a line-wise visual selection, then : to start entering a command. The range will show up, you can then use Control+U to clear it just as the example mapping does.
The portion of vim help that contains that mapping explains the remainder of it.