On Mar 1, 3:31 pm, Marc Tfardy <m-t-o___CUT_...@web.de> wrote:
lakerhy schrieb:
> is there any method to get a non-continous selection?
>
> for example, if the text is as following:
>
> 123
> 456
> 789
>
> I want to select 1 5 9 which is not continous or in a rectangle. How
> this could be done?
Do you want select "1", then "5" and then "9" and then paste all
together at one shot "159"? This small and simple function do this:
(defun insert-collected-kill-ring (count)
"Collect COUNT items from kill-ring and insert into buffer."
(interactive "p")
(if (>= (length kill-ring) count)
(progn
(let ((n (- count 1))
(str ""))
(while (>= n 0)
(setq str (concat str (substring-no-properties (nth n
kill-ring))))
(setq n (1- n)))
(insert str)))
(error "No enough items in kill-ring")))
You must select n piece of text, for each one do "copy" (M-w) and then
call insert-collected-kill-ring with numeric argument. For your example:
C-u 3 M-x insert-collected-kill-ring.
Please note that this function inserts oldest first, but this is often
what one expect so you get "159" and not "951".
HTH
Thanks, this ring collection function do help at certain
circumstances. But most of time, I would like to kill the non-
continous at one stroke rather than one by one, just like the utility
provided by ctrl in Windows.