Сортування блоку тексту (стиль 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