Скачать 1.1 Mb.
|
12. СРЕДСТВА РЕДАКТОРА EX, ДОПОЛНЯЮЩИЕ ВОЗМОЖНОСТИ РЕДАКТОРА VIКак уже говорилось, редактор vi тесно связан с редактором ex, являясь по сути одним из режимов работы последнего. Поэ- тому ряд мощных команд, реализованных в ex, можно и полезно выполнять и из редактора vi. 12.1. Выход из vi в exДля выхода из vi в ex надо нажать клавишу (esc) для пере- хода в командный режим, если вы были в режиме текста, а за- тем нажать клавишу [:] (двоеточие). Будет напечатана подс- казка редактора ex - двоеточие, приглашающая вводить команды редактора ex. 12.2. Просмотр строк текстаПоскольку ex - строчный редактор, вводится понятие номера строки и понятие текущей строки. Все строки текста занумеро- ваны натуральными числами, начиная с единицы. Знак $ (дол- лар) означает номер последней строки текста. Просмотр части текста на экране выполняется командой, состоящей из одного (для просмотра одной строки) или пары номеров - номера первой и номера последней строки части текста и символа P (print), который по умолчанию может быть опущен. Например: : 1,5p program (input, output) ...... ...... : или просто :1,5 Для просмотра всего текста надо ввести: : 1, $ Чтобы напечатать строки вместе с их номерами, надо в кон- це команды просмотра поставить знак # (диез), например: : 6, $# 6 include 7 ....... 8 ....... ......... Следует помнить, что нумерация строк относительна. При удалении одной строки все строки перенумеруются. После вы- полнения команды просмотра текущей строкой становится пос- ледняя просмотренная строка. 12.3. Поиск строк по образцу текста Команда глобального поиска начинается префиксом g (для глобального поиска по всему тексту) и печатает все строки, содержащие предъявляемый образец, например: : g/speed; int speed; d = speed x time; output (speed). Образец может быть любой частью текста и запоминается в специальном буфере искомого образца, отличном от буфера все- го текста. Если префикс g не указан, ищется и печатается первая найденная строка, начиная от текущей: : /speed; int speed. 12.4. Подстановка образца текстаПодстановка образца текста выполняется командой s (substitute), в которой указывается искомый образец и заме- няющий образец, например: : s/eed/ace/ int space; Эта команда выполняет замену первого вхождения искомого образца в текущей строке. Для замены всех вхождений в строке надо добавить флаг g (global - глобальный) в конце команды: : s/wine/water/g water = water + shugar Чтобы выполнить подстановки в нескольких строках, надо добавить префикс адресации или поиска строк по образцу. Нап- ример: : 1,10s/wine/water/g или : 1, $s/wine/water/g Примеры поиска по образцу: : g/speed/s/eed/ace/g или : g/speed/s//space/g. В последнем случае искомый образец берется из буфера ис- комого образца. Возможен интерактивный режим выполнения глобальной коман- ды подстановки, при котором редактор для каждой найденной строки перед выполнением подстановки требует подтверждения ее необходимости в форме ввода буквы y (yes). Для интерак- тивной формы в команде требуется использовать ключ c (confirmation): : g/eed/s//ace/gc int speed; ^^^ y real need; ^^^ d = speed x time; ^^^ y output (speed); ^^^ y Здесь три замены произведутся, а одна - нет. 12.5. Отмена последней подстановкиОтмена последней подстановки выполняется командой u (undo). Реализация команды u выполняется обратной подстанов- кой, поэтому повторная подача команды отменяет первую коман- ду u. 12.6. Чтение и запись файлов в буфере редактированияРедактируемый файл находится в буфере редактирования. Чтение содержимого другого файла в буфер редактирования пос- ле указанной или текущей строки можно выполнить командой r, например: 0r preface. Здесь содержимое файла чтения помещается в начале буфера редактирования (после несуществующей нулевой строки). В ка- честве файла чтения может быть файл стандартного вывода ко- манды, например (пробел перед ! обязателен): : r !date : 1, $p ---------- Fr Jan 12 09:33 PST 1986 Запись буфера редактирования или его части в указанный файл можно выполнить командой w, например: : w newfile или : w >> oldfile (добавление в существующий файл). Попытка записи буфера в уже существующий файл сопровожда- ется предупреждением и приглашением повторить команды с восклицательным знаком: : w! oldfile Если имя опущено, подразумевается редактируемый файл. Пример записи части буфера редактирования: : 1, 100w !lpr. Здесь роль файла записи играет стандартный вывод команды (пробел перед знаком ! обязателен). 12.7. Вызов на редактирование следующего или нового файлаЕсли редактор был вызван для редактирования нескольких файлов, например: $ vi .*, или $ ex *.c, то переход к редактированию следующего файла выполняется ко- мандой n (next): : n Командой e (edit) можно вызвать на редактирование произ- вольный файл, указанный именем : e another Если в момент подачи команд n или e буфер редактирования предыдущего файла не был записан, выдается предупреждение, которое можно обойти, форсировав выполнение команд подачей восклицательного знака : n! и : e! соответственно. 12.8. Выполнение команды системы внутри редактора exДля этого используется префикс ! (восклицательный знак), например: : !cc % , где % - ссылка на имя текущего редактируемого файла. Два восклицательных знака: : !! повторяют предыдущую команду. 12.9. Переход в режим редактора viВыполняется командой vi, которой может предшествовать но- мер строки, высвечиваемой в начале экрана, например: : 10 vi В режиме vi доступны все средства редактора. Выход из ре- жима vi выполняется подачей команды Q (большое). 12.10. Выход из редактора exВыход из редактора ex в режим команд системы выполняется командой q, например: : q Если буфер редактирования не был записан или еще не все файлы отредактированы, выдается предупреждение, которое мож- но обойти, подавая q с восклицательным знаком: : q! Команду выхода можно для удобства комбинировать с коман- дой записи, например: : wq или : wq! если есть препятствия для записи или выхода. |
Д. И. Грищенко; первые судебные дела; формирование адвокатского корпуса; исполняющая обязанности председателя оргбюро Е. И. Николаенко;... | Научно-практическая конференция «Первые шаги в науку» (далее Конференция) проводится в целях развития интеллектуально-творческого... | ||
Основой бухгалтерской службы коммерческого банка является составление баланса. Со вступительного баланса на начало каждого цикла... | |||
В формировании личности ребёнка принимают активное участие дошкольные учреждения и школа, лагеря и трудовые отряды, книги, театр,... | Проведение учредительного собрания (съезда, конференции) и подготовка учредительных документов | ||
I. Сибирские архивы в системе приказных учреждений русского государства (Конец XVI начало XVIII вв.) | Конец XIX — начало XX в был отмечен научно-технической революцией, связанной с появлением и развитием квантово-механических представлений... | ||
Быть взрослым не всегда просто, но интересно, а главное – от этого никуда не деться. Чтобы твои первые – самые сложные шаги во взрослой... | Отмена крепостного права и развитие промышленного капитализма в России. Появление современного промышленного пролетариата. Первые... |
Поиск Главная страница   Заполнение бланков   Бланки   Договоры   Документы    |