Vim Cookbook/sorting
Матеріал з docs.linux.org.ua — збірника документації з Unix/Linux українською мовою.
Сортування блоку тексту (стиль 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 команду. 'а вказує редактору на те, що потрібно ділянку із поточного рядка до відмітки а. Сортування здійснюється по команді 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

