Question

Is there any way to define and use snippets on the vim command-line? For example, when I want to select a portion of text I want to replace a string of text within, excluding the rest of the line, I have to change:

:'<,'>

to

:%s\%VsPat/rPat/g

which once in awhile might be alright, but lately I find myself performing this kind of s/S/R/ often enough to make it a PITA; yet still more efficient than making each change in the selection manually.

Actually there are quite a few regular editing command I use in VIM that would increase my efficiency if I could tie them to a snippet somehow. So is there any way to use snippets at vim command-line?

Was it helpful?

Solution

What about just going on with your substitution without changing anything?

:'<,'>s/\%VsPat/rPat/g

Or using a visual mode mapping?

xnoremap <key> :s/\%V/g<left><left>

OTHER TIPS

There is build-in feature cnoreabbrev it is simple replacement, so if you define it for example

:cnoreabbrev ss %s\%VsPat/rPat/g

then when you type :ss and press <space>, it will automatically replace ss with following

:%s\%VsPat/rPat/g

Check it out, it should solve at least half of your problems :-)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top