Is there a way to edit a vertical block in a code without using the visual block mode selection?
What's so bad about blockwise visual mode?! There's no practical alternative to it.
:substitute
with atoms like \%>v
, \%<v
, \%>l
and \%<l
to limit the pattern match to a rectangular block, but that's very tedious.getline()
/ setline()
and String manipulation in Vimscript.In addition to Ingo's answer, I'll add this: Ex commands are line-wise by design. The nature of the visual mode doesn't matter: Ex commands will always use the first line and the last line of your selection as range by default anyway.
Because it's not line-wise, visual-block mode and block "thinking" doesn't really align with Ex commands.
You can do something similar to this recent answer: https://stackoverflow.com/a/22238813/3130080
For example,
:%s/\%6c/x/
will insert "x" before the 6'th character in each line, and
:1,2s/\%>1c\%<4c.//g
will delete characters 2 and 3 in lines 1 and 2.
:help /\%c