You can use $PreRead to rewrite your input into the standard Mathematica input. In the form below, this means any 2x1 grid surrounded by parentheses in your code will be converted from a 2x1 matrix to a 2-vector when it is sent to the kernel for evaluation. You cannot enter a 2x1 matrix this way and have it be a 2x1 matrix. If you enter {{a}, {b}}, then that will stay a 2x1 matrix; since the input is not a grid, it will not be converted to a vector.
The unset, $PreRead =., stops the conversions and returns Mathematica to its default behavior of interpreting grid inputs as matrices.
Another way is to use MakeExpression[] to do the same thing:
I don't usually do this. I just get used to the Mathematica way. $PreRead is fiddly. Once you set it, it can affect every input. If you make a mistake in its code, then you might not be able to unset it. You usually can quit the kernel from the Evaluation menu, which resets everything. In the worst case, you might have to kill the Mathematica process externally (for instance, if you print something in an infinite loop) or it might crash for you (for instance, if you use up all your memory, which potentially could freeze up the whole computer). I can't always avoid doing something stupid, but I try to avoid practices that make stupid costly.
There is also the Notations package, which you could use to create your own input form.