From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6919 invoked by alias); 22 Jan 2011 19:25:47 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 28641 Received: (qmail 11994 invoked from network); 22 Jan 2011 19:25:45 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) 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 autolearn=ham version=3.3.1 Received-SPF: none (ns1.primenet.com.au: domain at closedmail.com does not designate permitted sender hosts) From: Bart Schaefer Message-id: <110122112509.ZM32715@torch.brasslantern.com> Date: Sat, 22 Jan 2011 11:25:09 -0800 In-reply-to: <20110122035548.GB18277@andrew.cmu.edu> Comments: In reply to gi1242+zsh@gmail.com "menuselect: Different keymap for interactive mode" (Jan 21, 10:55pm) References: <20110122035548.GB18277@andrew.cmu.edu> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: menuselect: Different keymap for interactive mode MIME-version: 1.0 Content-type: text/plain; charset=us-ascii On Jan 21, 10:55pm, gi1242+zsh@gmail.com wrote: } } Is it possible for me to navigate menus with VI keys *AND* disable this } when I'm in interactive mode? Unfortunately, no. The special keymaps like menuselect and isearch are not implemented like real keymaps that invoke widgets. Instead they are implemented as simple hardwired indirect lookups that happen to use the set of builtin widget names as the indirection layer between the typed key and the action, so that bindings can be faked using the same code that implements real keymaps. There's no "alternate keymap" available to switch to in this situation; most of the completion code, including the menu system, was written by inveterate emacs-mode users, and doubling the work to support vi-like interaction as well was impractical at the time (and has yet to become practical, given the trouble we have finding C-coder volunteers for shell work in general).