Сортування блоку тексту (стиль Vi)

Вам напевне доводитиметься редагувати файл, який містить список імен. На приклад, список об'єктних файлів.

Приклад:

    version.o       
    pch.o           
    getopt.o        
    util.o          
    getopt1.o       
    inp.o           
    patch.o         
    backupfile.o

Цей список доволі симпатично виглядав би відсортованим в алфавітному порядку. Або ж хоча б у послідовності ASCII. Для сортування за алфавітом введіть наступні команди:

Команди Пояснення
1.   Перемістіть курсор на перший рядок блоку тексту, який Ви збираєтеся відсортувати.
2. ma Відмітьте перший рядок, як а.
3.   Перейти вниз сортованого тексту.
4. !'asort Команда ! вказує Vim пропустити текст через UNIX команду. 'a вказує редактору на те, що потрібно ділянку із поточного рядка до відмітки a. Сортування здійснюється по команді sort.

Результат:

    backupfile.o
    getopt.o
    getopt1.o
    inp.o
    patch.o
    pch.o
    util.o
    version.o

ПОПЕРЕДЖЕННЯ

На практиці у більшості мейкфайлів (makafiles) такий список більше схожий на:

OBJS = \
    version.o       \
    pch.o           \
    getopt.o        \
    util.o          \
    getopt1.o       \
    inp.o           \
    patch.o         \
    backupfile.o

Зверніть увагу на те, що зворотній слеш () використовується для позначення кінця рядка. Після сортування список матиме наступний вигляд:

OBJS = \
    backupfile.o
    getopt.o        \
    getopt1.o       \
    inp.o           \
    patch.o         \
    pch.o           \
    util.o          \
    version.o       \

З іменами файлів ус гаразд, проте зворотні слеші не правильно розтвлені. Не забудьте виправити їх до продовження редагування.

OBJS = \
    backupfile.o        \
    getopt.o        \
    getopt1.o       \
    inp.o           \
    patch.o         \
    pch.o           \
    util.o          \
    version.o