Thursday, September 13, 2012

Re: [Help] How to ONLY sort part of a file and keep the format?



On Fri, Sep 14, 2012 at 10:56 AM, ping <songpingemail@gmail.com> wrote:
On 9/13/2012 3:21 PM, Christian Brabandt wrote:
Hi William!

On Fr, 14 Sep 2012, William Fugh wrote:

Hi folks,

As the title. How to sort only the non-TAB-beginning line(s) of a TAB-Based
file like the below and keep the format? thanks!
#
------------------------------------------------------------------------------
Origin:
#
------------------------------------------------------------------------------
for openers
want out
a load of old cobblers
want for
         5. one
         6. two
         7. three
muck about
muck around
         20. one
         21. two
         22. three
bottom on
         24. one
         25. two
         26. three
lark around
lark about
darkred
         29. one
         30. two
         31. three
#
------------------------------------------------------------------------------
Expect to see after sorting:
#
------------------------------------------------------------------------------
a load of old cobblers
for openers
want for
want out
         5. one
         6. two
         7. three
muck about
muck around
         20. one
         21. two
         22. three
bottom on
         24. one
         25. two
         26. three
darkred
lark about
lark around
         29. one
         30. two
         31. three
#
------------------------------------------------------------------------------

I think, this will do:
:v/^^I/.,/^^I/-sort

where ^I is a literal tab.


regards,
Christian


interestingly, I tested it, this doesn't give the expected result.

//screen capture (that ^I is ctrl-v ctrl-i)
try to press <TAB> key directly in command line. it does work fine. :-)
    1 for openers
    2 want out
    3 a load of old cobblers
    4 want for
    5         5. one
    6         6. two
    7         7. three
    8 muck about
    9 muck around
   10         20. one
   11         21. two
   12         22. three
   13 bottom on
   14         24. one
   15         25. two
   16         26. three
   17 lark around
   18 lark about
   19 darkred
   20         29. one
   21         30. two
   22         31. three
  ~
  ~
  ~
  ~
  ~
:v/^^I/.,/^^I/-sort

maybe we need that range-end (/^^I/) to be one line back? 

--
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 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

No comments: