[implementations-list] vimpulse interaction with cua increasing number feature
Fabian Braennstroem
f.braennstroem at gmx.de
Wed Mar 31 09:26:23 CEST 2010
Hi Vegard,
thanks for your help!
On 03/29/2010 10:31 PM, Vegard Øye wrote:
> Hi Fabian!
>
> Are you using the Subversion version of Vimpulse? You'll need to point
> your SVN client to the address below if you want the latest bugfixes
> before release.
>
> http://my-svn.assembla.com/svn/vimpulse
>
>>> I have a new problem with my traditional handling in dired mode.
>>> In dired mode, I am not able to split the window horizontally or
>>> vertically anymore using :sp or :vs !?
>
> Fixed in SVN revision 159.
Ok, I did that now... very nice :-)
>
>> [M-n] fills each line of the rectangle with increasing numbers using
>> a supplied format string (prompt)
>>
>> Does anyone have a hint, how I could get this cua-feature to work
>> with the new vimpulse? Maybe, there is already a vimpulse function,
>> which can do the same!?
>
> The Cua function will only work on Cua rectangles. However, since
> Vimpulse's block selections are rectangle compatible, an equivalent
> rectangle command can be written as follows:
>
> (require 'rect)
>
> (defun my-sequence-rectangle (first incr format)
> "Insert increasing numbers at beginning of each line."
> (interactive
> (list (if current-prefix-arg
> (prefix-numeric-value current-prefix-arg)
> (string-to-number
> (read-string "Start value: (0) " nil nil "0")))
> (string-to-number
> (read-string "Increment: (1) " nil nil "1"))
> (read-string "Format: (%d) ")))
> (when (= (length format) 0)
> (setq format "%d"))
> (apply-on-rectangle
> (lambda (start-col end-col count-var)
> (move-to-column start-col)
> (insert (format format (eval count-var)))
> (set count-var (+ (eval count-var) incr)))
> (region-beginning) (region-end) 'first)
> (vimpulse-visual-mode -1))
>
> (vimpulse-vmap (kbd "M-n") 'my-sequence-rectangle)
>
> If you compare it with `cua-sequence-rectangle', you'll see they are
> quite similar; the Cua function uses `cua--rectangle-operation' for
> applying a lambda function on each line, whereas this function uses
> `apply-on-rectangle' from rect.el.
This works quite well... thanks!
Best Regards!
Fabian
More information about the implementations-list
mailing list