Wednesday, March 4, 2015

Re: How to cancel [count] prefix?


On Mar 4, 2015 6:34 AM, "Alexey Muranov" <alexey.muranov@gmail.com> wrote:
>
> On 4 mars 2015, at 11:44, Jürgen Krämer <jottkaerr@googlemail.com> wrote:
>
> >> Say, i've typed '42' before a motion key, but then changed my mind and decided to use a different motion or a different count.  How do i cancel '42' if i am in Visual mode?  (In Normal mode i can press <Esc>, but in Visual mode this would also cancel the selection.)
> >>
> >> The only solution for Visual mode i've found so far is to press '@_'.  Is there a better way?
> >>
> >> What if i've typed a wrong count in Operator-pending mode, like 'd42'?
> >
> > after you've started typing a count you can remove the last digit of the
> > count by pressing <Delete> (NOT <Backspace>), e.g., after you have typed
> > 42 as a count, pressing <Delete> twice will completely remove the count
> > and you are back in Visual mode.
> >
> > This behaviour is documented in the last sentence at ":help count".
>
> Thanks Jürgen, i haven't thought of this.
>
> In any case, if i need to cancel a count in a `vnoremap <expr> ...` mapping, for example, i do not see a better option than '@_'.
>
> For Normal and Visual modes, i plan however to remap my `<Esc>` key using something like this:
>
>     function s:NVMapExpr_EscKey()
>       if v:count
>         return '@_'
>       else
>         return "\<Esc>"
>       endif
>     endfunction
>     nnoremap <expr> <Esc> <SID>NVMapExpr_EscKey()
>     vnoremap <expr> <Esc> <SID>NVMapExpr_EscKey()

Remapping esc is a bad idea.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: