Hi,

On Thu, May 7, 2009 at 2:09 PM, Erik Wognsen <[email protected]> wrote:
>
> Hi people!
>
> I'm programming some x86 assembly, where all my stack offsets are 4
> bytes. Once in a while, I'll want to change e.g.
>
> movl 4(%ebp), %eax
> into
> movl 8(%ebp), %eax
>
> Now CTRL-A four times or 4CTRL-A will do that. But being bent on
> optimization I wanted CTRL-A and CTRL-X to move in steps of four.
> First, I tried:
>
> noremap <c-a> 4<c-a>
>
> which works fine until I want to use it with a count, e.g. 2CTRL-A
> works like 24 increments instead of 8 and 3CTRL-A as 34 instead of 12
> and so on. Now, guided by the vim manual, I did:
>
> noremap <c-a> @='4<c-a>'<cr>
>
> This sends vim into recursion that is not stopped by maxmapdepth!
>
> Any ideas?
>

You can try using something along the lines of the following command:

nnoremap <c-a> :<c-u>exe 'norm! ' . <c-r>=v:count1*4<cr> . '<c-a>'<CR>

- Yegappan

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to