From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10541 invoked from network); 1 Jul 2004 09:55:21 -0000 Received: from odin.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.85) by ns1.primenet.com.au with SMTP; 1 Jul 2004 09:55:21 -0000 Received: (qmail 24838 invoked from network); 1 Jul 2004 11:06:50 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 1 Jul 2004 11:06:50 -0000 Received: (qmail 64 invoked by alias); 1 Jul 2004 09:54:34 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7646 Received: (qmail 54 invoked from network); 1 Jul 2004 09:54:33 -0000 Received: from odin.dotsrc.org (HELO a.mx.sunsite.dk) (qmailr@130.225.247.85) by sunsite.dk with SMTP; 1 Jul 2004 09:54:33 -0000 Received: (qmail 23951 invoked from network); 1 Jul 2004 11:06:24 -0000 Received: from lhuumrelay3.lnd.ops.eu.uu.net (62.189.58.19) by a.mx.sunsite.dk with SMTP; 1 Jul 2004 11:06:17 -0000 Received: from MAILSWEEPER01.csr.com (mailhost1.csr.com [62.189.183.235]) by lhuumrelay3.lnd.ops.eu.uu.net (8.11.0/8.11.0) with ESMTP id i619rwv16544 for ; Thu, 1 Jul 2004 09:53:58 GMT Received: from EXCHANGE02.csr.com (unverified [192.168.137.45]) by MAILSWEEPER01.csr.com (Content Technologies SMTPRS 4.3.12) with ESMTP id for ; Thu, 1 Jul 2004 10:53:18 +0100 Received: from news01.csr.com ([192.168.143.38]) by EXCHANGE02.csr.com with Microsoft SMTPSVC(5.0.2195.6713); Thu, 1 Jul 2004 10:54:40 +0100 Received: from news01.csr.com (localhost.localdomain [127.0.0.1]) by news01.csr.com (8.12.11/8.12.11) with ESMTP id i619rvm9010244 for ; Thu, 1 Jul 2004 10:53:57 +0100 Received: from csr.com (pws@localhost) by news01.csr.com (8.12.11/8.12.11/Submit) with ESMTP id i619rvBb010241 for ; Thu, 1 Jul 2004 10:53:57 +0100 Message-Id: <200407010953.i619rvBb010241@news01.csr.com> X-Authentication-Warning: news01.csr.com: pws owned process doing -bs To: zsh-users@sunsite.dk Subject: Re: Return to the prompt In-reply-to: "Oliver Kiddle"'s message of "Thu, 01 Jul 2004 11:04:17 +0200." <21161.1088672657@trentino.logica.co.uk> Date: Thu, 01 Jul 2004 10:53:57 +0100 From: Peter Stephenson X-OriginalArrivalTime: 01 Jul 2004 09:54:40.0224 (UTC) FILETIME=[6D329E00:01C45F51] X-Spam-Checker-Version: SpamAssassin 2.63 on a.mx.sunsite.dk X-Spam-Level: ** X-Spam-Status: No, hits=2.1 required=6.0 tests=BAYES_90 autolearn=no version=2.63 X-Spam-Hits: 2.1 Oliver Kiddle wrote: > Philippe Troin wrote: > > listdir() { ls -l; zle redisplay } > > Problem with that is the beginning of the ls listing can get a little > mixed up with what is currently on the command line. > > I would use: > bindkey -s '^V' $'\eqls -l\n' > > Note that that relies on my also having: > bindkey '^[q' push-input > > Oliver The following widget seems to give a reasonable combination of features. The difference between zle -R and zle redisplay isn't that obvious. You use zle -R to make editing changes visible, and zle redisplay when it's necessary to reshow everything completely. listdir() { zle push-input # Save the input for later zle -R # Show new line with no input print # Clear the line with the prompt ls -l # Show the listing zle redisplay # Redisplay the entire line zle get-line # Get back the input } (It doesn't seem to beep if there's no input to push and get back, but I have so many guards to stop the damn thing beeping that I can't be sure. If it does, extra protection of the form (( ${#BUFFER} )) is necessary.) -- Peter Stephenson Software Engineer CSR Ltd., Science Park, Milton Road, Cambridge, CB4 0WH, UK Tel: +44 (0)1223 692070 ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. www.mimesweeper.com **********************************************************************