Wednesday, March 4, 2015

Re: How to cancel [count] prefix?

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()

Alexey.

--
--
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:

Post a Comment