I use bash in Windows, both in Cygwin and in Git Bash (part of Git for Windows). In bash unlike in the Windows cmd.exe Esc does not clear the line, only Ctrl + U. How can I make clear the line also?

Thanks!

link|improve this question

50% accept rate
You may find that the console will interfere with any attempt to resolve this. – Ignacio Vazquez-Abrams Jun 16 '11 at 16:38
Try this. If it works, I'll post it as an answer. – emb1995 Jun 16 '11 at 16:58
feedback

1 Answer

I don't have a Cygwin or Git for Windows install handy to test this, but here's the Unix answer:

Create a file in your (cygwin) home directory named ".inputrc", and add this line to it:

Escape: unix-line-discard

On my favorite Unix variant, Control-u is mapped to unix-line-discard, which deletes everything before the cursor. If you want it to delete the whole input line, including anything that may be to the right of the cursor, use "kill-whole-line" instead of "unix-line-discard".

Note that your bash line editing mode might eat the Escape. Bash on my system defaults to vi-style line editing mode (set -o vi), and as you may know, vi is all about the Escape key, so when I try this I have to hit Escape twice because the first one gets eaten by the vi-style editing mode. I'm not an emacs guy so I don't know what the emacs-style line editing mode will do with an Escape keypress.

Note also that the .inputrc file is read when the shell starts, so after editing your ~/.inputrc, close your shell and open a new one to see if the changes worked.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.