It seems you're using the backspace key in insert mode to delete the comments. As you found out, this will not really work at all in visual block mode.
Instead, you can simply use the
d commands to delete a visual selection. See
If you want to delete multiple comment characters, you can make your visual block take up "n" columns to cover all the comment characters.
For example, if your comments are
// and you have a blank space after the comments (so 3 characters total), then you can:
- Move to the
// on the first line where you want comments removed.
- Use Ctrl+V to enter Visual Block mode.
- Move to the
// on the last line where you want comments removed. You'll have a
n x 1 block, with "n" lines and one column.
- Move to the blank right after the
//, with a command such as 2l or fSpace, now you'll have a
n x 3 visual block.
- Use x or d. This will remove the contents of the visual block, with the comments.
You might also want to consider adopting a plug-in to help inserting, removing or toggling comments. I can recommend vim-commentary which does a great job. This (and similar plug-ins) are typically also able to figure out which style of comments you need for the language you're using, so they typically require zero configuration other than having your plug-in manager install and enable them.