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
Особисті інструменти