How do you select a whole column in visual block mode?

G goes to the last line, but moves the cursor to the first non-blank position if the startofline or compatible (which enables startofline) options are set. If you want to keep the same column, set nosol before going into visual block mode, and then hit G.

From the manual entry for startofline:

When "on" the commands listed below move the cursor to the first non-blank of the line. When off the cursor is kept in the same column (if possible). This applies to the commands: CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G", "H", "M", "L", gg, and to the commands "d", "<<" and ">>" with a linewise operator, with "%" with a count and to buffer changing commands (CTRL-^, :bnext, :bNext, etc.).


CTRL-V enters block selection mode (allowing you to select rectangular blocks of text). In gvim this conflicts with Windows' paste shortcut, so you can use CTRL-Q instead.

Unfortunately, CTRL-Q [G] doesn't do what you'd like since the [G] motion moves linearly through the file, so you still need to rely on a using a counted [j] motion. You can avoid having to know exactly how big the file is by using an obscenely large count, like 9999. So the full command is CTRL-Q [9999j].

Alas I don't know of way that will avoid the ugly count hack offhand.

EDIT: Oh, I read your question too fast and missed that you already mentioned that you new about the visual block mode. I guess this is a pretty useless answer, then, sorry!

Tags:

Vim