From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26796 invoked by alias); 10 Aug 2015 12:41:38 -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: 36044 Received: (qmail 9738 invoked from network); 10 Aug 2015 12:41:37 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1439210094; bh=eBOmshAQ+U1uQ8UYup6PRYWrAQWmvENTNAUfyWb9egc=; h=In-reply-to:From:References:To:Subject:Date:From:Subject; b=IWqhVPLQVH6XD51beYB94NMu4dcx6efi7yf3JqO5aERJ9ikv561vZuEK6vkqZjFXTRvKMcGJ65aiKGRpfjl+96lh03LUW5Ep24zGCDka/qyvrwaECFKEcRH4Z9+SBsmNyVgNqyUS5qFpNhj+V9gAQxetWI9ok4SBZQcGnamLYAWyqz1r7eb87N5RmSvSL9LjCLNcY8N7wS+fvQ3am6YB3qG2iADfHT76iN6EMxNA2BpH1r62jV1+ur1KHw6Px64rfQyyKREmq0ao3/ehh/YRFNe2ZtKggnmM9L1MxUz1IPeUqH0sgbF6vvjWMJggc54DnlIr+Y9GwEbvUxDBsRzTPw== X-Yahoo-Newman-Id: 715645.62999.bm@smtp105.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: ffvBsSAVM1lZAuknrW4LAi3Nao7jhwijA1DnKiM22qZJV0L n_1wjKKibUPe9yB7KEHT9bOJwoPXt0vSUvO3rU6aFNmhcvtEcE7jBufMukTa U_bemeK6YU4rv.dO6oQQ1gVhkciONZaM9Ai_FDeP6lyMJYmtivYsu9GErLiz 6aj359YRnskkHo7No.DVUw68mjsLXUx9KIH._NH.lYmYks0OnsVOcJIQkmvI bmsAWj_yCi2WNpX0lOVC3Y8Byk.ZncqdGEUR_ikKKze7Sx.qpF4aCxCJ6au4 7c8UF1oWXAnmNAE_xsjqQxHScXiTPB3YQuWhRNcNihEWzKc10sstD_Ggbstp SMiG7NvIT0qdMOQINFsk9VyghNwylISqGsUxGpvkDQk3hY8TwKqO_QUmNuPU aQY.UtvFnIGiusMTi05koHZygdsdWrGiCI7Sj2mVNb6JM_tM.QW1JicuXtMm 3MRGL_14U3synvUTMlpdMVc_LnX0cNoRICY6sxqYsEa1ORZIAVUDiGwdTW7r T_7.fjAxaBspEXrE8S4sC_hpBCqKGnw-- X-Yahoo-SMTP: opAkk_CswBAce_kJ3nIPlH80cJI- In-reply-to: <150729082244.ZM10238@torch.brasslantern.com> From: Oliver Kiddle References: <5d9984411ba10dee4321a408e2763317@riseup.net> <9361.1438161965@thecus.kiddle.eu> <150729082244.ZM10238@torch.brasslantern.com> To: zsh-workers@zsh.org Subject: Re: Vimode problem (key press dropping) MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <21839.1439210093.1@thecus.kiddle.eu> Date: Mon, 10 Aug 2015 14:34:53 +0200 Message-ID: <21840.1439210093@thecus.kiddle.eu> On 29 Jul, Bart wrote: > } > } I also have escape bound to set REGION_ACTIVE=0 from the > } visual keymap which should perhaps also be default behaviour (vim does > } that). > > This seems reasonable to me. This patch does that then, using deactivate-region as the name for the new widget. I searched emacs documentation to see if it has something similar, mainly to ensure consistent naming. It seems in emacs you have to use Ctrl-G which is a more general command for aborting things. Also note that set-mark-command with a negative argument will deactivate the region but I don't think it is possible to bind to that directly. Oliver diff --git a/Src/Zle/iwidgets.list b/Src/Zle/iwidgets.list index 657e4ef..2b2654c 100644 --- a/Src/Zle/iwidgets.list +++ b/Src/Zle/iwidgets.list @@ -35,6 +35,7 @@ "copy-prev-word", copyprevword, ZLE_KEEPSUFFIX "copy-prev-shell-word", copyprevshellword, ZLE_KEEPSUFFIX "copy-region-as-kill", copyregionaskill, ZLE_KEEPSUFFIX +"deactivate-region", deactivateregion, 0 "delete-char", deletechar, ZLE_KEEPSUFFIX "delete-char-or-list", deletecharorlist, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_ISCOMP "delete-word", deleteword, ZLE_KEEPSUFFIX diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c index d355f41..c16e32e 100644 --- a/Src/Zle/zle_keymap.c +++ b/Src/Zle/zle_keymap.c @@ -1363,6 +1363,7 @@ default_bindings(void) } /* escape in operator pending cancels the operation */ bindkey(oppmap, "\33", refthingy(t_vicmdmode), NULL); + bindkey(vismap, "\33", refthingy(t_deactivateregion), NULL); bindkey(vismap, "o", refthingy(t_exchangepointandmark), NULL); bindkey(vismap, "p", refthingy(t_putreplaceselection), NULL); bindkey(vismap, "x", refthingy(t_videlete), NULL); diff --git a/Src/Zle/zle_move.c b/Src/Zle/zle_move.c index d751c43..cf8f345 100644 --- a/Src/Zle/zle_move.c +++ b/Src/Zle/zle_move.c @@ -555,6 +555,13 @@ visuallinemode(UNUSED(char **args)) return 0; } +/**/ +int +deactivateregion(UNUSED(char **args)) +{ + region_active = 0; + return 0; +} /**/ int