When replacing a word with another in a buffer in command-line mode, :%s/verylongword/newword/g
, is there a way to word-complete 'verylongword' somewhow from the contents of the buffer ?
Failing that, is there a way of copy-pasting 'verylongword' from the buffer when typing :%s/verylongword/newword/g
?
While typing the command press Ctrl F to open the command-line window, see :h c_CTRL-f
.
In the command-line window you can use all the usual vim commands to edit your command line.
To paste from a buffer in command-line mode press Ctrl R followed by the register name.
For example press Ctrl R 0 to paste from register 0
to paste the last yanked text.
See :h c_CTRL-R
for more info.
Ctrl R also allows the following completions (quoted from vim help):
CTRL-R CTRL-F c_CTRL-R_CTRL-F c_<C-R>_<C-F>
CTRL-R CTRL-P c_CTRL-R_CTRL-P c_<C-R>_<C-P>
CTRL-R CTRL-W c_CTRL-R_CTRL-W c_<C-R>_<C-W>
CTRL-R CTRL-A c_CTRL-R_CTRL-A c_<C-R>_<C-A>
Insert the object under the cursor:
CTRL-F the Filename under the cursor
CTRL-P the Filename under the cursor, expanded with
'path' as in gf
CTRL-W the Word under the cursor
CTRL-A the WORD under the cursor; see WORD
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.