[ale] vi sort question

Greg Freemyer greg.freemyer at gmail.com
Wed May 11 17:58:59 EDT 2005


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
-- 
Greg Freemyer
The Norcross Group
Forensics for the 21st Century



More information about the Ale mailing list