threads / discuss / 38469

CTRL+Arrow keys don't work with Git Bash for Windows?

Subject: CTRL+Arrow keys don't work with Git Bash for Windows?

## tl;dr

2 messages between Jan 29, 2015 and Feb 12, 2015.

replies: 1people: 2as markdown or json

Kevin· Jan 29, 2015, 15:18 UTC · lore

Hello, I'm trying to set up some navigation shortcuts I have become accustomed to using in Windows environments, as well as KDE Konsole. I would like to bind CTRL+Left to "backward-word" and CTRL+Right to "forward-word" (there are more, but this is a start). I can enable this behavior by adding something like "\e[D": forward-word to my ./inputrc file, but this also overwrites the "forward-char" sequence that comes from a "Right Arrow" press without the CTRL key. For some reason, when I use the Git Bash shell the key sequence for "CTRL+Right" and "Right" (\e[C) are the same -- same with "CTRL+Left" and "Left" (\e[D).

Most of the solutions I have come across only address adding things to the ".inputrc" file, but in this case that is not the problem. The problem is that the CTRL+Arrow keys are not sending any unique sequences. These sequences are distinct and can be bound as I am describing when using the "mintty.exe" xterm terminal emulator. So why are they not working when I start up Git Bash (which I believe has no emulator, it just uses windows cmd.exe?). I also see this problem when I use the "bash.exe --login -l" that was installed with MinGW/MSys.

Thanks for any suggestions on how to enable this behavior.
Kevin
Sebastian Schuberth· Feb 12, 2015, 08:27 UTC · re: Kevin · lore

Re: CTRL+Arrow keys don't work with Git Bash for Windows?

Kevin <kevin071586 <at> yahoo.com> writes:
> that the CTRL+Arrow keys are not sending any unique sequences.  These
> sequences are distinct and can be bound as I am describing when using the
> "mintty.exe" xterm terminal emulator.  So why are they not working when I

Note that mintty does not work properly with (interactive) native Windows applications (i.e. applications that do not link against msys-1.0.dll or cygwin1.dll) like git.exe from Git for Windows, see [1].

> start up Git Bash (which I believe has no emulator, it just uses windows
> cmd.exe?).  I also see this problem when I use the "bash.exe --login -l"
> that was installed with MinGW/MSys.

There you have you answer: Git for Windows runs bash.exe (not cmd.exe) from the MinGW/MSys package. So if you have this issue in vanilla MinGW/MSys, you'll have it in Git for Windows, too. That said, it probably makes sense for you to discuss this on the MinGW/MSys mailing list, or even file a bug with them.

[1] https://code.google.com/p/mintty/issues/detail?id=56

Regards, Sebastian

← back to recent threads