terminal entry niceness

arrow keys - when entering a command in terminal, arrow through and fix typed input

tab completion - when entering a file path - when entering a command that is in history - when entering arguments to a command, ie. git co{TAB} expands to git config

git alias & related - tired of typing out the full url to clone - should be able to clone one of my own repos without typing my own name - git clone fiug-beta versus git clone crosshj/fiug-beta - depends on user.name being set in git config

automatic git config messages - like github & github desktop does when only one file changed - based on previous commit messages?