Le jeudi 23 avril 2015 09:34:43 UTC+2, av a écrit :
> Le jeudi 23 avril 2015 08:58:09 UTC+2, av a écrit :
> > Le vendredi 17 avril 2015 01:49:38 UTC+2, Tim Chase a écrit :
> > > On 2015-04-16 15:58, av wrote:
> > > > g,^\w,exe '.,.-1 join'
> > > >
> > > > Is it possible to achive the g,something,norm kJ but with ex
> > > > command instead, maybe it will work for me.
> > >
> > > A couple observations:
> > >
> > > - you're using :exe but don't really need to
> > >
> > > - your range is backwards
> > >
> > > I suspect that you can accomplish what you want with
> > >
> > > :g/^\w/-j
> > >
> > >
> > > where "-j" is the Ex command to, on the previous line ("-"), join it
> > > with the next line (":help :j").
> > >
> > > -tim
> >
> > Hi Tim,
> >
> > It is not working also. So I have this function with your -j method:
> >
> > fu! g:Gon()
> > bd! test.txt
> > exe 'split c:/temp/test.txt'
> > g, = ,-j
> > endfu
> >
> > And I have this test text here:
> >
> > --
> >
> > MySingleLineTextField = testalsdkflkasdf
> > MyMultilineTextField = alsdfjlasdjflksdjlf
> > asldjflaskdfjasdjflasjkdf
> > asdlkflaskdfjasdjfjasdkfjklsd
> > alsdflkasdfjksdjklf
> >
> > MySingleLineTextField = 2308230982309weofsf
> > MyMultilineTextField = asljf9u3f92jfj23fio32jfio3j2iojf23
> > asdfisdjafjs09fjsdf09sdj0f
> > as0dfj0asdj0fasd0j9fas09dfj09sdj0f9sdjf
> >
> > --
> >
> > Then I call using: call g:Gon()
> >
> > And the result is:
> >
> > --
> >
> > MySingleLineTextField = testalsdkflkasdf MyMultilineTextField =
> > alsdfjlasdjflksdjlf
> > asldjflaskdfjasdjflasjkdf
> > asdlkflaskdfjasdjfjasdkfjklsd
> > alsdflkasdfjksdjklf
> > MySingleLineTextField = 2308230982309weofsf MyMultilineTextField =
> > asljf9u3f92jfj23fio32jfio3j2iojf23
> > asdfisdjafjs09fjsdf09sdj0f
> > as0dfj0asdj0fasd0j9fas09dfj09sdj0f9sdjf
> >
> > --
> >
> > The expected results would be that all text that have not " = " would be
> > joined with the previous line with " = " in it, like this:
> >
> > --
> >
> > MySingleLineTextField = testalsdkflkasdf
> > MyMultilineTextField = alsdfjlasdjflksdjlf asldjflaskdfjasdjflasjkdf
> > asdlkflaskdfjasdjfjasdkfjklsd alsdflkasdfjksdjklf
> >
> > MySingleLineTextField = 2308230982309weofsf
> > MyMultilineTextField = asljf9u3f92jfj23fio32jfio3j2iojf23
> > asdfisdjafjs09fjsdf09sdj0f as0dfj0asdj0fasd0j9fas09dfj09sdj0f9sdjf
> >
> > --
> >
> > Do you obtain this result?
> >
> > Thank you,
> >
> > Alexandre
>
> Hi Tim,
>
> Sorry, it is working fine. I misused your command by inverting the match.
>
> Instead of what I wrote:
> g, = ,-j
> it should be
> g!, = ,-j
> which is working fine with the sample data. I still need to try it with the
> full data but other commands like the norm kJ didn't format the test data
> correctly when the file was close and reopened just before the command.
>
> But with your command it is working nice in the test function:
>
> fu! g:Gon()
> bd! test.txt
> exe 'split c:/temp/test.txt'
> g!, = ,-j
> endfu
>
> Many thanks Tim!!
>
> Alexandre
Hi,
Just another quick related question: the -j seems to work but still how could I
execute any other exe command inside the global. Something like g!/ = /exe
'mycommand' didn't work nor g!/ = /norm something. Actually the command ran but
the results where erroneous for me (gvim 7.3 on windows).
I ask this because this command construct would be very powerful to accomplish
many things.
Thank you,
Alexandre
--
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.