Saturday, January 18, 2020

Re: substitute() regex trim last newline from register ?

Tony, hi

I ended up using getregtype("*") along with the @*=substitute() to get a perfect solution for my use.
Thank you again for this info.

take care,
-m

On Wednesday, January 15, 2020 at 11:53:24 PM UTC-5, Tony Mechelynck wrote:
On Thu, Jan 16, 2020 at 3:08 AM M Kelly <mckel...@gmail.com> wrote:
>
> Tony, hi
>
> ok, thanks.  I can use 0 v $ y.  But V y is handy/quick ...
> Inside of vim its all great, V works perfectly - its just I wanted to automatically remove the last newline from "* if possible,
> so that a V y and then outside of vim paste doesn't have the extra newline.
> I just wondered if I could regex trim the last newline of "* or of "a and put it into "*
>
> thanks always for your help,
> -m

What's wrong with
    :call setreg('*', getreg('*'), 'c')
(see "see also" at he end of my previous message)?

Best regards,
Tony.
>
> On Wednesday, January 15, 2020 at 8:44:44 PM UTC-5, Tony Mechelynck wrote:
>>
>> On Thu, Jan 16, 2020 at 2:29 AM M Kelly <mckel...@gmail.com> wrote:
>> >
>> > Hi,
>> >
>> > In visual-line mode when I yank to the * register and then outside of vim paste - I am getting a newline at the end of the selection.
>> > This does not happen in visual block or char mode.
>> > Does anyone know of a way to load into * reg the same selection but have the last newline trimmed off ?
>> > ie something like:
>> > let @* = substitute(@a, "\(.*\)\\n/\1/", "", "")
>> >
>> > thx for everything vim,
>> > -m
>>
>> When yanking linewise, what you get is lines, and each of them has a
>> proper end-of-line. This way, when you paste it, it will be pasted
>> linewise, with line breaks between it and whatever happens before and
>> after it.
>>
>> To yank without an end-of-line at the end, yank characterwise from the
>> first character of the first desired line (or from the first character
>> you want to yank even if it is in the middle of a line) to the last
>> character you want to yank. This way, if you paste in the middle of a
>> line, you won't get line breaks before and after the pasted text.
>>
>> See also :help setreg()
>>
>> Best regards,
>> Tony.
>
> --
> --
> 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...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/9b5f482a-1037-4c4d-8ed3-252cf2f2b501%40googlegroups.com.

--
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/df776c0a-bee4-4171-a456-0fa3cfff06fa%40googlegroups.com.

No comments: