Hello!
It's a standard practice of mine having to replace whole words with something else, very useful when coding. I have the following mapping in my vimrc:
nnoremap <Leader>s :%s/\<\(<C-r><C-w>\)\>//g<Left><Left>
which lets me just hit \+s and replace the current word under the cursor.
Now I've found myself needing more and more frequently to insert something in between a word. For example, say I have the word "getSomething" and I want to replace all occurrences with "getThisSomething", that is insert 'This' in between 'get' and 'Something'. I know how to do this by a hand-written regex but I wanted to create a mapping like the one above.
I was thinking that I would set the cursor where I need to insert the new word, as in "get#Something" where # represents the cursor and then I'd need to replace it like so:
s/\<\(left-of-cursor)\zs\ze(right-of-cursor)\>/whatever/g
but I haven't been able to find anything that lets me split the word under the cursor. It's probably not possible to do with such a simple mapping and I might need a function for it but my knowledge of vim-scripting is next to nothing so I thought you guys could help me figure this out.
Thank you very much!
-- Sycc90
No comments:
Post a Comment