From: Hani <hib...@gm...> - 2007-07-10 10:57:40
|
Hi, I installed msys 1.10 on my XP machine and if I want to use the history function (arrow up/down) in the console I do not get the desired result: I get "[A" or "[B" resp. This behavior appear with and without rxvt. On the normal cmd-shell the history function works properly. I have Msys 1.10 running on a different machine without this malfunction. What is wrong? Thanks in advance for assistance. Hani |
From: Keith M. <kei...@to...> - 2007-07-10 11:45:38
|
Hani wrote: > I installed msys 1.10 on my XP machine and if I want to use the history > function (arrow up/down) in the console I do not get the desired result: > I get "[A" or "[B" resp. This behavior appear with and without rxvt. On > the normal cmd-shell the history function works properly. ESC-[A and ESC-[B are the keyboard scan code sequences for `cursor-up' and `cursor-down', respectively. IIRC, they are not mapped to anything in the standard readline configuration, (which defines keyboard actions for recalling command history). In my $HOME/.profile, I've added:-- bind '"\e[A":history-search-backward' bind '"\e[B":history-search-forward' to make these work as I like them: (type a few characters, then cursor-up to recall the last command with that starting sequence). The standard readline setup uses Ctrl-R for backward-search-history, Ctrl-S for forward-search-history, Ctrl-P for previous-history and Ctrl-N for next-history. You can use `bind -p | less' to see other mappings. Also see: http://mingw.org/MinGWiki/index.php/FAQ (Usability Issues). HTH, Keith. |
From: Hani <hib...@gm...> - 2007-07-11 10:53:02
|
Keith MARSHALL schrieb: > ESC-[A and ESC-[B are the keyboard scan code sequences for `cursor-up' > and `cursor-down', respectively. IIRC, they are not mapped to anything > in the standard readline configuration, (which defines keyboard actions > for recalling command history). > > In my $HOME/.profile, I've added:-- > > bind '"\e[A":history-search-backward' > bind '"\e[B":history-search-forward' > > to make these work as I like them: (type a few characters, then cursor-up > to recall the last command with that starting sequence). > > The standard readline setup uses Ctrl-R for backward-search-history, Ctrl-S > for forward-search-history, Ctrl-P for previous-history and Ctrl-N for > next-history. You can use `bind -p | less' to see other mappings. > > Also see: http://mingw.org/MinGWiki/index.php/FAQ (Usability Issues). Dear Keith, Thank you very much for your prompt reply. I tried your solution (~/.profile) and I advanced the solution on the MinGW faq site (~/.inputrc) with your hints. Unfortunately nothing worked on my XP machine. DEL, POS1, END do not work either despite of .inputrc. Ctrl-R/S and Ctrl-N/P are working well. Otherwise the example for VIM (~/.vimrc) on the faq do what I expected. I am blank. It is weird that it work on the other machine out-of-the-box. I downloaded the MSYS package again, deinstalled MSYS completely and reinstalled it. I tried version 1.11 .... no success. Best regards, Hani |
From: Greg C. <chi...@co...> - 2007-07-11 11:35:30
|
On 2007-07-11 10:50Z, Hani wrote: > > Thank you very much for your prompt reply. I tried your solution > (~/.profile) and I advanced the solution on the MinGW faq site > (~/.inputrc) with your hints. Unfortunately nothing worked on my XP > machine. DEL, POS1, END do not work either despite of .inputrc. Maybe something is overriding what you do in '~/.inputrc'. Do you have an 'INPUTRC' variable set in the environment? Do you have other initialization files like '/etc/inputrc'? Do you have stray characters like carriage return in any of these files? > I am blank. It is weird that it work on the other machine out-of-the-box. Try comparing all the files in '~' and '/etc' between the two machines. |
From: Hani <hib...@gm...> - 2007-07-11 15:27:53
|
Greg Chicares schrieb: > On 2007-07-11 10:50Z, Hani wrote: >> I am blank. It is weird that it work on the other machine out-of-the-box. > > Try comparing all the files in '~' and '/etc' between the > two machines. Thanks Greg, I will do this. But I am sure that I have not changed the configuration of the other machine. Anyway - we will see. Hani |
From: Hani <hib...@gm...> - 2007-07-12 12:54:54
|
Greg Chicares schrieb: > Try comparing all the files in '~' and '/etc' between the > two machines. As I posted to Keith: I copied the configure files (in /etc, ~) from my "well-working" machine to this one. Nothing changed. I guess that the problem is not located in the configure files. I believe it is Windows-related :-( Regards, Hani |
From: Keith M. <kei...@us...> - 2007-07-11 18:43:58
|
On Wednesday 11 July 2007 11:50, Hani wrote: > > In my $HOME/.profile, I've added:-- > > > > =A0 bind '"\e[A":history-search-backward' > > =A0 bind '"\e[B":history-search-forward' > > Thank you very much for your prompt reply. I tried your solution > (~/.profile) and I advanced the solution on the MinGW faq site > (~/.inputrc) with your hints. Unfortunately nothing worked on my XP > machine. DEL, POS1, END do not work either despite of .inputrc. Presumably, you did source the ~/.profile, or start a new MSYS session, after you added the new bindings? And forced a reload of ~/.inputrc, after you modified it? > Ctrl-R/S and Ctrl-N/P are working well. That's something, I guess, but IIRC these are default bindings anyway; you should get them, even if you don't configure anything. What does $ bind -P | grep history say? On this GNU/Linux box, I see:-- $ bind -P | grep history beginning-of-history can be found on "\M-<". dynamic-complete-history is not bound to any keys end-of-history can be found on "\M->". forward-search-history can be found on "\C-s". history-and-alias-expand-line is not bound to any keys history-expand-line can be found on "\M-^". history-search-backward can be found on "\M-[A", ... history-search-forward can be found on "\M-[B", ... next-history can be found on "\C-n", "\M-OB". non-incremental-forward-search-history can be found on "\M-n". non-incremental-forward-search-history-again is not bound to any keys non-incremental-reverse-search-history can be found on "\M-p". non-incremental-reverse-search-history-again is not bound to any keys previous-history can be found on "\C-p", "\M-OA". reverse-search-history can be found on "\C-r". vi-fetch-history is not bound to any keys > I downloaded the MSYS package again, deinstalled MSYS completely and > reinstalled it. I tried version 1.11 .... no success. I really don't know what else to suggest. It's not unusual to have to=20 configure readline, to suit personal preferences, but once that's done,=20 it has always just worked for me. If you don't know what readline functions may be mapped, `bind -l' will=20 list them all. To see what key sequences are mapped to each function,=20 use `bind -P', or `bind -p' to see the mappings in inputrc format. If you need to identify the key scan code sequences you may map, you can=20 use `cat -v' thus:-- $ cat -v > scancode.txt cursor-up is <cursor-up><enter> cursor-down is <cursor-down><enter> : : <ctrl-d> (where the entities in angle brackets represent a single press of the=20 named key, or key combination). On my GNU/Linux box, (which is likely=20 to differ in encoding from MSYS), this gives me something like:-- $ cat scancode.txt cursor-up is ^[[A cursor-down is ^[[B cursor-left is ^[[D cursor-right is ^[[C insert is ^[[2~ delete is ^[[3~ home is ^[[H end is ^[[F page-up is ^[[5~ page-down is ^[[6~ HTH, Keith. |
From: Hani <hib...@gm...> - 2007-07-12 12:51:23
|
Keith Marshall schrieb: > Presumably, you did source the ~/.profile, or start a new MSYS session, > after you added the new bindings? And forced a reload of ~/.inputrc, > after you modified it? Yes I did. After each modification I restarted rxvt. >> Ctrl-R/S and Ctrl-N/P are working well. > > That's something, I guess, but IIRC these are default bindings anyway; > you should get them, even if you don't configure anything. What does > > $ bind -P | grep history My result: beginning-of-history can be found on "\e<". dynamic-complete-history can be found on "\e\C-i". end-of-history can be found on "\e>". forward-search-history can be found on "\C-s". history-and-alias-expand-line is not bound to any keys history-expand-line can be found on "\e^". history-search-backward is not bound to any keys history-search-forward is not bound to any keys next-history can be found on "\C-n", "\eOB". non-incremental-forward-search-history can be found on "\en". non-incremental-forward-search-history-again is not bound to any keys non-incremental-reverse-search-history can be found on "\ep". non-incremental-reverse-search-history-again is not bound to any keys previous-history can be found on "\C-p", "\eOA". reverse-search-history can be found on "\C-r". vi-fetch-history is not bound to any keys history-search-forward/backward are not bounded?! > [...] > If you don't know what readline functions may be mapped, `bind -l' will > list them all. To see what key sequences are mapped to each function, > use `bind -P', or `bind -p' to see the mappings in inputrc format. Only if you feel like it, you find the results of "bind" here: bind -p : http://home.arcor.de/hibr/tmpdir/bind-p.txt bind -P : http://home.arcor.de/hibr/tmpdir/bind_P.txt bind -l : http://home.arcor.de/hibr/tmpdir/bind-l.txt .profile: http://home.arcor.de/hibr/tmpdir/.profile .inputrc: http://home.arcor.de/hibr/tmpdir/.inputrc > > If you need to identify the key scan code sequences you may map, you can > use `cat -v' thus:-- > > $ cat -v > scancode.txt > cursor-up is <cursor-up><enter> > cursor-down is <cursor-down><enter> > : > : > <ctrl-d> > > (where the entities in angle brackets represent a single press of the > named key, or key combination). On my GNU/Linux box, (which is likely > to differ in encoding from MSYS), this gives me something like:-- > > $ cat scancode.txt > cursor-up is ^[[A > cursor-down is ^[[B > cursor-left is ^[[D > cursor-right is ^[[C > > insert is ^[[2~ > delete is ^[[3~ > home is ^[[H > end is ^[[F > page-up is ^[[5~ > page-down is ^[[6~ I got the same, except of: home is ^[[7~ end is ^[[8~ Another issue: I copied the configure files ( in /etc, ~) from my "well-working" machine to this one. Nothing changed. I guess that the problem is not located in the configure files. I believe it is Windows-related :-( Ctrl-P/N is a acceptable workaround for history browsing, but the missing DEL/HOME/END/</> functionality still hurts. Again, thank you very much. I appreciate your efforts. Hani |