From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19131 invoked by alias); 12 Feb 2012 21:34:09 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 16755 Received: (qmail 27854 invoked from network); 12 Feb 2012 21:33:57 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at bewatermyfriend.org does not designate permitted sender hosts) From: Frank Terbeck To: Javier Marcet Cc: zsh-users@zsh.org Subject: Re: Cursor position in shell history In-Reply-To: (Javier Marcet's message of "Sun, 12 Feb 2012 17:21:55 +0000 (UTC)") References: User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.91 (gnu/linux) Date: Sun, 12 Feb 2012 22:27:44 +0100 Message-ID: <87bop3agj3.fsf@ft.bewatermyfriend.org> MIME-Version: 1.0 Content-Type: text/plain X-Df-Sender: [pbs]MDExNTM1 Javier Marcet wrote: > Last month I set up an Ubuntu based system, where I use zsh, as in all > the unix systems I manage. There is one thing which is driving me mad. > When I use the 'up arrow' to move through shell's history, the cursor is > placed at the start of the line instead of at the end. This only happens > in Ubuntu. Yes. Ubuntu basically uses the package from debian, which causes this. > I use the same .zsh folder with my settings and neither the global profile > nor the global zsh settings (/etc/zsh) contain anything which me causing > it. Oh but it does. It's the global zshrc: [...] [[ -z "$terminfo[cuu1]" ]] || bindkey -M viins "$terminfo[cuu1]" vi-up-line-or-history [[ -z "$terminfo[kcuu1]" ]] || bindkey -M viins "$terminfo[kcuu1]" vi-up-line-or-history [...] There is more of this stuff in there. Change it to your liking. FWIW, there is a bug about this in Debian's BTS: The position of the maintenance team so far is: It was changed to more vi-ish, and up to that point *two* people bothered to tell the maintainer. So it stays. My current view is this (/me puts his debian hat on): Move to a proper way based on $terminfo entirely to setup keys. That way everything below the "ncurses fogyatekos" comment can go away, too. Because it's really not the fault of ncurses that some value may be off here (but that's not relevant here - so I'll drop that thought). Such a move will probably cause some breakage, but is the right thing to do. And since we'll break something anyway, I think we should get rid of those bindings, as well, and let the user decide whether or not he wants them or not. Regards, Frank