[EMAIL PROTECTED]:~> cat .inputrc "\e[3~": delete-char "\e[1~": beginning-of-line "\e[4~": end-of-line [EMAIL PROTECTED]:~> uptime 2:18PM up 527 days, 9:49, 3 users, load averages: 0.85, 0.97, 0.99 [EMAIL PROTECTED]:~>
Heh... just thought I would throw out the uptime. It's my longest uptime (freebsd 5.2.1 btw). cheers. On 4/9/06, viq <[EMAIL PROTECTED]> wrote: > On Sunday 12 February 2006 07:51, jared r r spiegel wrote: > > On Sat, Feb 11, 2006 at 05:17:29PM -0500, Nick Guenther wrote: > > > Yeah, it does that. I don't know why, I assume historical reasons, and > > > I would like to learn from someone here who does know. Use backspace > > > instead. > > > > > > On 2/11/06, Martin Schrvder <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > on my freshly installed 3.7 in bash the delete key sends an ~ > > > > instead of [del]. How can I fix this? > > > > it *is* sending del. rather, the characters sent when you strike the > > delete key are recognized by the shell and the shell executes the > > editing command "delete-char-backward". problem is it also sends > > a tilde after the sequence that the shell recognizes. > > > > ^[[3~ is what i get here if i just go to a normal console terminal > > and hit delete. that is one character more than my shell is listening > > for. > > > > i believe, at least with respect to ksh, bound keys are editing commands > > that are executed when the shell sees a a control character, which may > > be have a prefix-character in front of it, come across. > > the ksh manpage (/ for bind) describes it better than i do, > > but basically, look at it like this: > > > > ^[[3~ is three parts. ^[[, 3, and ~. ^[[ == ^X, 3 == 3, ~ == ~. > > > > when the shell sees that, it recognizes "^[[" as 'prefix-2', or ^X. > > ^X3 is (i think?) set to 'delete-char-backward'. at that point, the > > shell does that. the ~ was not part of the sequence of keys the shell > > recognized because it is too many chars. you get a "prefix" and a "control > > char", not a prefix and two control chars. if you type: > > > > blah > > > > and hit 'delete', usually you'll end up with > > > > bla~ > > > > because it did the delete-char-backward, which killed the 'h', but then > > the '~' showed up after any shell-recognition was done and so it made > > it out to the terminal as a normal character. > > > > a hackish way around that is to use '-m' and make it so > > that the shell substitutes "^[[3" with a control-X. eg: > > > > $ bind -m '^[[3'='^X' > > > > ( where '^X' isn't "<shift>-<6>, <shift>-<x>", but rather: > > "<control>-<v>, <control>-<x>". ) > > > > and then > > > > $ bind '^X~'=delete-char-backward > > > > which makes it to that when the shell sees '^[[3', it substitutes that > > for a real ^X. if i'm hitting <delete>, the ~ is also sent by my keypress, > > but at that point, the sequence has become '^X~', which then executes > > 'delete-char-backward'. > > > > perhaps bash is the same... > > > And what about the home and end keys? Any way to make them work? > > -- > viq > > ---------------------------------------------------------------------- > Poznaj Stefana! Zmien komunikator! >>> http://link.interia.pl/f1924