On 2/6/06, Eric Blake <[EMAIL PROTECTED]> wrote: > > After installing the latest readline updates (that fixed the earlier > > prompt issue) I'm finding an issue with the vi command line interface. > > > > Basically, when I hit [ESC] then fwd slash (/) to search through the > > history, it throws my cursor back to get beginning of the line (on top > > of the prompt) and acts weird. This is in mrxvt, now if I do the same > > in the basic cygwin bash shell i get this: > > > > [EMAIL PROTECTED] ~> / > > ☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺ > > I could not reproduce this with a quick check (I normally > use set -o emacs, so I am practically clueless about > vi mode). Also, I normally use a multiline prompt, which > may be impacting things. I tried: > > $ echo $PS1 > \[\e]0;[EMAIL PROTECTED] \ \[\e[35m\](${PIPESTATUS[*]}) > \[\e[33m\]~\[\e[0m\]\n\$ > [EMAIL PROTECTED] (0) ~ > $ echo hi > hi > [EMAIL PROTECTED] (0) ~ > $ [ESC]/e[ENTER] # those four keystrokes rewrite this line as: > $ echo hi # with the cursor on the e > > > What is your PS1? What settings do you have in your ~/.inputrc? > > One other thing to be aware of - readline 5.1 official patch 2 > was released this weekend, so I need to make a 5.1-3 cygwin > release soon to incorporate it (it dealt with initialization issues > with line-wrapping). I don't know if your bug would have been > fixed by official patch 2, or whether I should spend more time > investigating this first. > > -- > Eric Blake > volunteer cygwin readline maintainer > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Problem reports: http://cygwin.com/problems.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ > >
Eric, Basically, when using VI as the command line editor the [ESC] puts the line into command mode (just like pressing [ESC] within VI) then the / says search (again it's the same command within VI) for whatever you type next. So, "/ls" would return the latest command line that included the letters "ls" and i can then press "n" to get the next occurrence and "N" to move the opposite direction through the history, it's quite handy. Here is my PS1: echo $PS1 \[\e]61;[EMAIL PROTECTED]@\H \W> Here is my .inputrc (i've tried commenting out the whole thing, commenting out sections and uncommenting sections, nothing seems to make a difference except emacs/vi): # the following line is actually # equivalent to "\C-?": delete-char "\e[3~": delete-char # VT #"\e[1~": beginning-of-line #"\e[4~": end-of-line # kvt #"\e[H": beginning-of-line #"\e[F": end-of-line # rxvt and konsole (i.e. the KDE-app...) "\e[7~": beginning-of-line "\e[8~": end-of-line "\eOc": forward-word "\eOd": backward-word # VT220 #"\eOH": beginning-of-line #"\eOF": end-of-line set keymap vi set editing-mode vi # Allow 8-bit input/output set meta-flag on set convert-meta off set input-meta on set output-meta on $if Bash # Don't ring bell on completion set bell-style none # or, don't beep at me - show me set bell-style visible # Filename completion/expansion set completion-ignore-case on set show-all-if-ambiguous on # Expand homedir name set expand-tilde on # Append "/" to all dirnames set mark-directories on set mark-symlinked-directories on # Match all files set match-hidden-files on $endif