Sort from within vi.
- July 21st, 2008
- Write comment
Source: http://www.ale.org/archive/ale/ale-2005-05/msg00214.html
For the whole file try:
Goto to line one: 1G
Sort from current line to end of file: !Gsort
Or if you want to think of it as one command: 1G!Gsort
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
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.