[ale] vi sort question

Jim Popovitch jimpop at yahoo.com
Wed May 11 19:33:54 EDT 2005


Nice response Greg.  Thank you.

-Jim P.

On Wed, 2005-05-11 at 17:49 -0400, Greg Freemyer wrote:
> On 5/11/05, Jim Popovitch wrote:
> > Any one have some good examples of sorting from within vi for both a
> > range of lines as well as whole file?
> > 
> Okay dredging up old techniques.
> 
> For the whole file try:
> 
>     Goto to line one:    1G
>     Sort from current line to end of file:    !Gsort<cr>
>     Or if you want to think of it as one command:    1G!Gsort<cr>
> 
> Sort a range:
>     Move Cursor to last line to sort 
>     mark the line with mark 'a':   ma
>     move cursor to first line to sort
>     sort from current line to mark 'a':        !'asort<cr>
> 
> Now what does the special chars above mean.
> 
> '!'  is the vi filter command, it is followed by a movement command
> that says what is being filtered.  That is followed by the actual
> filter cmd.  The filter cmd can be any executable.  In this case sort.
>  Since vi does not know how long the filter command name is, you have
> to hit carriage return to initiate the filter.
> 
> G by itself means go to the end of the file
> 
> ma   means set mark a to this line.   (marks a-z exist)
> 
> 'a   means goto mark a.
> 
> You can use any movement command, but the above are what I normally use.
> 
> HTH
> Greg



More information about the Ale mailing list