Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 100
Текст из файла (страница 100)
Если файл не задан,открыть для редактирования еще один экземпляр текущегофайла. Если задан параметр +п, начать редактирование состроки п.Примеры:е file: ейВернуться к редактированию предыдущего файла: е!Отменить изменения, сделанные с момента последнегосохранения файлаexusageexu [command]Отобразить краткую справку с описанием указанной команды либо список доступных команд, если имя команды опущено.filef [filename]Изменить имя текущего файла на filename.
При этом файлполучает статус «не редактированного файла». Если не задано новое имя файла, отобразить текущее состояние файла.Пример:f %.newglobal[address] g[!]/'pattern/[commands]Применить команды к строкам, соответствующим шаблонуpattern, либо к диапазону строк, если таковой определен. Если не заданы команды (commands), перечислить все строки,соответствующие шаблону или диапазону. Символ ! является отрицанием - команды выполняются для всех строк, несоответствующих шаблону.
См. команду v.Алфавитный перечень команд exПримеры:g/Unix/p: g/Name:/s/tom/Tom685globalОтобразить все строки, содержащие «Unix»Во всех строках, содержащих «Name:»,заменить «torn» на «Тот»helpОтобразить краткую справку. Информация по конкретнымкомандам может быть получена при помощи exusage илиviusage.address i[l]textinsertВставить текст text по заданному адресу address или по текущему адресу, если этот параметр опущен.
Символ ! является переключателем автоматического отступа (autoindent)на время ввода текста. Ввод завершается при получениистроки, содержащей единственный символ - точку.[address] j[l] [count]joinОбъединить текст по перечисленным адресам в одну строку,добавляя по два пробела после каждой точки (.), по одному после любого символа, кроме ). Символ ! предотвращает выравнивание пробелов.Пример: 1, 5j!Объединить первые пять строк, сохраняя пробелы[address] k charПометить указанный адрес символом char, чтобы позже вернуться к строке по команде 'char.[address] I [count]listОтобразить указанные строки, преобразуя символы табуляции в *1, а концы строк - в символ $.
1 является временнойверсией команды :set list.map[!] [char commands]Определить макрос с именем char, представляющий собойпоследовательность команд (commands). Параметр char, кактар686Глава 11. Редактору!mapправило, бывает одиночным символом или последовательностью вида #п, представляющей одну из функциональныхклавиш. С помощью символа ! можно создать макрос для режима ввода. Команда без аргументов перечисляет существующие макросы.Примеры: тар К dwwPОбменять местами пару слов:тар q :w"M:n"MСохранить текущий файл, открыть следующий:тар! + ~[bi(~[ea) Заключить предыдущее слово в скобкиmark[address] та charПометить указанную строку строчным символом char.
Позжеможно вернуться к строке по команде 'char. Идентично k.mkexrcmk[!] fileСоздать файл .ехгс, содержащий команду set для каждого изпараметров ех, устанавливающую этот параметр в значениепо умолчанию.move[address] m destinationПереместить указанные строки (address) по новому адресуdestination.Пример:.,/Note/m /END/nextПоместить блок текста за строкой,содержащей «END»n[!] [[+command] filelist]Редактировать следующий файл из списка аргументов. Используйте команду args для отображения списка. Если задан список файлов filelist, заменить им текущий список иначать редактирование с первого файла.
Если задана команда command (не содержащая пробелов), выполнить эту команду после редактирования первого файла. Восклицательный знак (!) является указанием не сохранять никакие изменения, сделанные в текущем файле.Пример: п chap*Редактировать все файлы «chapter»Алфавитный перечень команд ex[address] mi [count]687numberОтобразить все строки, указанные диапазоном адресов (address), предваряя каждую ее порядковым номером в файле.Используйте символ # в качестве альтернативного сокращения number.
Параметр count представляет собой количествострок, которое необходимо отобразить, начиная с адреса address.[address] о [/pattern/]openПерейти в открытый режим редактирования vi указанныхстрок (по адресу address либо по шаблону pattern). Переключение открытого режима осуществляется нажатием клавиши <Q>.
Открытый режим допускает применение обычныхкоманд vi, но лишь при работе с одной строкой единовременно. Режим может быть полезен для медленных удаленных соединений.prepreserveСохранить текущий буфер, как при аварийном отказе системы.prevf!]previousРедактировать предыдущий файл из списка, заданного в командной строке.[address] p [count][address] P [count]printВывести строки, заданные адресами (address). Параметр count определяет количество выводимых строк, начиная состроки address. Добавление восклицательного знака является указанием не сохранять изменения, сделанные в текущемфайле.Пример: 100; +5рОтобразить 100-ую строку и 5 следующих строк[address] pu [char]Восстановить строки, которые были удалены или извлеченыиз буфера char, и поместить их после строки с адресом address. Если параметр char опущен, восстановить последнийудаленный или извлеченный текст.putГлава 11.
Редактору!688quitЗавершить текущий сеанс работы. Укажите символ !, чтобызапретить сохранение изменений, сделанных после последнего сохранения. Сеанс редактирования, в котором не изменялись файлы, определенные в списке аргументов, можнозавершить вводом q! или qq.read[address] r f i l eСкопировать текст из файла f i l e , вставив его после строки садресом address. Если имя файла не задано, использовать текущий файл.Пример:0r $HOME/datareadВставка файла в начало текущего[address] r \commandВставить вывод команды Linux command в текст после строки с адресом address.Пример:$r lealrecoverВставка календаря в конец файлаrec [file]Восстановить файл f i l e из зоны системного сохранения.rewindrew[!]Обнулить указатель на список аргументов и начать редактирование первого файла из списка. Если присутствует символ !, производится обнуление указателя и начинается редактирование первого файла с потерей всех несохраненныхизменений предыдущего.scriptвс[!] [file]Создать новый интерпретатор в буфере, который может бытьсохранен, с необязательным указанием имени файла длясохранения.
Команда может применяться только из vi.Алфавитный перечень команд ex689separameterl parameter2 ...setУстановить значения parameterl и parameter2. Команда безпараметров выводит те из них, значения которых отличаются от принятых по умолчанию. Для булевых переменных,имеющих состояния включено/выключено, значения могутустанавливаться как parameter или noparameter (как в первом примере). Другим параметрам можно присваивать значения, используя синтаксис parameter=value. Ключевоеслово all перечисляет параметры и их текущие значения.Примеры:set nows wm=10:set allshshellСоздать экземпляр интерпретатора. Продолжить редактирование по завершении работы с ним.so filesourceПрочитать и выполнить команды ех из файла file.Пример:so $НОМЕ/.ехгсststopПриостановить сеанс редактирования.
Идентично Ctrl-Z.Команда fg позволяет продолжить работу с редактором.[address] s [/pattern/replacement/] [options] [count]Заменить в указанных строках (address) каждое соответствие шаблону pattern на replacement. Если опущены шаблони подстановка, повторить последнюю замену.
Параметр count определяет количество строк, в которых должна производиться замена, начиная со строки address. Если командезамены предшествует команда global (g) или v, шаблон может быть опущен; в таком случае используемый шаблон определяется этими командами. Большее количество примеров приводится в разделе «Примеры поиска и замены»главы 9.substitute690substituteГлава 11.
Редактору!ПараметрысgрПеред каждой заменой запрашивать подтверждение.Заменить все вхождения соответствий шаблону во всехстроках.Отобразить последнюю строку, подвергшуюся операциизамены.Примеры:1,10s/yes/no/g:Xs/[Hh]ello/Hi/gc:s/Fortran/\U&/ 3Произвести замену в первых 10 строкахПодтвердить глобальную заменуПеревести в верхний регистр все слова«Fortran» в следующих трех строках:g/~[0-9][0-9]*/s//Line & : / Перед каждой строкой, котораяначинается с одной или более цифр,добавить префикс «Line» и двоеточиеsuspendsuПриостановить сеанс редактирования.
Идентично Ctrl-Z.Команда fg позволяет продолжить работу с редактором.[address] t destinationСкопировать указанные строки (address) в указанный конечный адрес destination. Команды t и сору являются синонимами.Пример: Xt$tagСкопировать файл и добавить его в конец текста[address] ta[!] tagПереключить сеанс редактирования на файл, содержащийтег tag.ПримерВыполнить команду ctags, а затем переключиться на файл,содержащий функцию ту function::! ctags *.c:tag my functionАлфавитный перечень команд extagn[!]691tagnextНайти следующее вхождение текущего тега.tagpoptagpf!]Вернуться к последнему вхождению предыдущего тега.tagpr[!]Вернуться к предыдущему вхождению текущего тега.tagprevtagtoptagt[I]Вернуться к работе с первым из тегов.unabbreviateuna wordУдалить слово word из списка сокращений.undoиОбратить изменения, внесенные последней командой редактирования.unmapunm[!] charУдалить символ char из списка макросов.
Используйте символ ! для удаления макросов режима ввода.[address]v/'pattern/[commands]Применить команды commands ко всем строкам, не содержащим соответствия шаблону pattern. Если команды не заданы, отобразить все соответствующие строки. Команда vэквивалентна g!. См. global.Пример: v/#include/dde»Удалить все строки, кроме содержащих «#inclu-veОтобразить номер версии редактора.version692viГлава 11. Редактору!vi [+п] fileНачать редактирование указанного файла. Может быть указан номер строки, с которой необходимо начать редактирование.
Может использоваться только в vi.visual[address] vi [type] [count]Перейти в режим визуального редактирования (vi) для строки, заданной адресом address. Возврат по команде Q. Типtype может быть символом —, " или . (см. команду z). Параметр count определяет начальный размер окна.viusageviu [key]Отобразить краткую справку по использованию команды keyлибо перечень команд, если имя не указано.wqwq[!]Записать файл и завершить редактирование одной командой. Восклицательный знак является указанием редакторупринудительно перезаписать текущее содержимое файла содержимым буфера.write[address] w[!] [[»] file]Записать указанные строки (address) в файл file или записать все содержимое буфера, если параметр address опущен.Если опущено и имя файла, содержимое буфера сохраняетсяв текущий файл.
Символы » добавляют указанные строкиили содержимое буфера в конец существующего файла file.Символ! (флаг) является разрешением на перезапись любогосуществующего файла.write[address]v/ IcommandЗаписать указанные строки в command.Примеры:1,10w name.list:50w » name_listЗаписать первые десять строк в namejtistДобавить пятидесятую строкуАлфавитный перечень команд ех693xitСохранение файла, если он был изменен с момента последней записи в файл, затем завершение работы.[address] ya [char] [count]Поместить указанные строки (address) в буфер с именемchar.