Links
Comment on page

Line Discipline in Unix/Linux Machines

Line discipline handles things like backspace and also generates various signals for special characters like Ctrl + C/Z etc.
stty -a will display all these settings. To know more do man ssty.

Demo

Other than Ctrl+c and Ctrl+z which you already know about. Here are some other tricks.
Fire up your terminal. And start typing....
Keyboard Shortcut
Description
Ctrl+?
Delete the last input character, Basically Backspace (See what I am talking about, ^? can be used in terminals which may not support the backspace key
Ctrl+q
Erase line, works like carriage return /r
Ctrl+a
Moves cursor to beginning of line
Ctrl+e
Moves cursor to end of line
Ctrl+w
Delete the last input "word"
Ctrl+k
Erase line to the end, from current cursor position
Ctrl+y
Paste the last erased text
Apart from these line input specific keyboard shortcuts. We also have ...

Multiline Input

Use / for continuing the multiline input.
bhupesh@dev: hello my name\
is\
bhupesh\
check\
> my boi\
> hoooo\
>
A better version
#!/bin/bash
echo -e "Enter Commit Message (Ctrl+d to stop) : "
commit_message=$(</dev/stdin)
echo -e "\n\n$commit_message"
Make it executable and run.
Enter Commit Message (Ctrl+d to stop) :
- fixed bug #454
- Increase reponse time
- style fixes
- fixed bug #454
- Increase reponse time
- style fixes
All of this is controlled by the tty driver

Resources