How do I replace a word under the cursor in Vim.
So instead of using dw
then i
then the word and then Esc
, is there a simpler combination to replace the word under the cursor?
How do I replace a word under the cursor in Vim.
So instead of using dw
then i
then the word and then Esc
, is there a simpler combination to replace the word under the cursor?
ciw
(change inner word) will change the whole word under the cursor. Compare with
cw
which will only change the word from the current cursor position. For more info see this SO question/answer.
cW
or ciW
(notice uppercase W) –
Schizogony I often find myself wanting to replace one word with another that I have yanked from elsewhere. The problem with the other solutions is that if you attempt to change a word, then your next paste will be that word that you deleted with cw
.
Try the following:
1 "This first word should overwrite the second"
yiw yank inner word (copy word under cursor, say "first").
... Move the cursor to another word (say "second").
viwp select "second", then replace it with "first".
Hope that's what you were looking for.
once
. If i have to replace couple of second' by
first` (in your example), copied word becomes second
after the first replacement. –
Biddie viw"0p
instead of just viwp
would help you if want to paste more than once. Basically, the same as viwp
but with "0
before pasting, which won't overwrite the buffer –
Pita ciw
c change
iw inner word
This will delete the word under the cursor (even if the cursor is somewhere in the middle of the word) and enter insert mode.
Also see Vim's documentation for reference:
:help c
:help text-objects
If you want to change a word with a previously yanked word, there's another solution to viwp
(once you have yanked the first word).
ciw
removes the previous word and puts you in insert mode where it was. But then you can use ctrl+r, 0
to insert the contents of register 0 (which contain the previously yanked word).
So:
yiw
[move to next word]
ciw
ctrl+r
0
This works better than viwp
because after the first usage you can then repeatedly perform the replacement with .
. It also doesn't switch into visual mode and highlight briefly.
viwp
) can be done several times with just one yanking. Thanks! –
Eigenfunction viwp
- even .
doesn't duplicate it. –
Moule .
with this is great! –
Guria To copy word under cursor press: bvey
To replace the word under cursor press: bvep
:%s!first!second!gc
–
Peta Try cw
- as in 'change word'.
Use http://linuxmoz.com/vi-commands-cheat-sheet/ or any other cheat sheet as a reference.
© 2022 - 2024 — McMap. All rights reserved.
/usr/bin/bash
or1222.333
)? It looks like vim interprets/
and.
as end of the word and won't select the entire string. – Metaphase