Smart Beginning of Line

Moves the cursor generally to the beginning of the current line. It does one of the following:

If the cursor is in the middle of a line, move it to just before the first non-white space character on the line.

If the cursor is before the first non- white space character on the line, move it to the actual start of the line.

If the cursor is already at the start of the line, move to the start of the file.