Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 98
Текст из файла (страница 98)
Такое поведение может быть установлено при помощи болеестарого параметра «-».-ttagРедактировать файл, содержащий указанный тег, переместить курсор кместу его определения (см. также описание ctags в главе 3 «Команды Linux»).—v Работа в полноэкранном режиме (идентично вызову vi).-w rowsУстановить размер окна в rows строк. Параметр полезен для редактирования при медленных удаленных соединениях.-х Запрашивать ключ, который будет использоваться для шифрования ирасшифровки файла посредством команды crypt (поддерживается не вовсех версиях).—С Аналогично —х, но в данном случае считается, что файл уже зашифрован (поддерживается не во всех версиях).-L Перечислить файлы, сохраненные в момент аварийного завершения сеанса редактирования или системного сбоя (поддерживается не во всехверсиях).—R Открывать файлы в режиме «только для чтения»; сохранять изменениязапрещено.Завершить работу с ех можно несколькими способами:: х Завершить работу (с сохранением изменений).: q! Завершение работы без сохранения изменений.: vi Перейти к работе с редактором vi.Глава 11.
Редактор vi670Команды навигацииЧисло, предваряющее команду, задает количество повторений. Команды навигации также являются объектами для изменения, удаления и операцийкопирования в буфер.СимволКомандаДействиеh, J, К, 1Влево, вниз, вверх, вправо («—, -I, Т, —>)SpacebarВправоBackspaceВлевоCtrl-HВлевоТекстКомандаДействиеw, bК следующему слову, к предыдущему слову (знаки препинания считаются отдельными словами)W, ВК следующему слову, к предыдущему слову (знаки препинания несчитаются разделителями, только пробелы)еК концу слова (знаки препинания считаются концом слова)ЕК концу слова (разделителями считаются только пробелы)К началу следующего, текущего предложенияК началу следующего, текущего абзацаК началу следующего, текущего разделаCtrl-DК предыдущему табуляторуCtrl-TК следующему табуляторуCtrl-WК предыдущему словуСтрокиКомандаДействие0,$Первый, последний символ текущей строкиПервый видимый символ текущей строкиПервый символ следующей, предыдущей строкиEnterПервый видимый символ следующей строкиКоманды навигацииКоманда671ДействиеКолонка л текущей строкиНПервая строка экранной страницымСтрока, расположенная в центре экранной страницыLПоследняя строка экранной страницылНл-ная строка, считая от первой сверхуnlл-ная строка, считая от последней (вверх)Ctrl-JК следующей строкеCtrl-MК первому видимому символу в следующей строкеЭкранные страницыКомандаДействиеCtrl-F, Ctrl-BПрокрутка вперед, назад на одну экранную страницуCtrl-D, Ctrl-UПрокрутка вперед, назад на половину экранной страницыCtrl-E, Ctrl-YПрокрутка на одну строку вперед либо назадz EnterОбновить экран так, чтобы строка с курсором стала первой на экранной страницеz .Обновить экран так, чтобы строка с курсором оказалась в центре экранной страницыz -Обновить экран так, чтобы строка с курсором оказалась последнейна экранной страницеCtrl-L, Ctrl-RОбновить экран (без прокрутки)ПоискКомандаДействие/patternПрямой поиск по шаблону patternIПовторить прямой поиск/pattern/+n Перейти к строке л после строки, соответствующей шаблону pattern? patternОбратный поиск по шаблону pattern?Повторить обратный поискIpatternt-n Переход к строке, отстоящей на л строк к началу файла от строки, соот-ветствующей шаблону patternПовторить последний поиск672Глава 11.
Редактор viКомандаДействиеNПовторить поиск в противоположном направленииXНайти парную скобку для текущей обычной, фигурной или квадратнойскобкиfxПерейти вперед к символу х в текущей строкеFxПерейти назад к символу х в текущей строкеtxПерейти вперед к символу текущей строки, предшествующему символу хТхПерейти назад к символу текущей строки, следующему за символом хИзменить направление поиска последней команды f, F, t или ТПовторить последний символьный поиск ( f, F, t или Т)Нумерация строкКомандаДействиеCtrl-GОтобразить номер текущей строки и имя файлаnGПерейти к строке с номером пGПерейти к последней строке файлаПерейти к строке с номером пОтметка положенияКомандаДействиетхПометить текущую позицию в файле символом х'х(обратная кавычка) Переход к отметке х'х(апостроф) Перейти к началу строки, содержащей отметку х(обратные кавычки) Вернуться к предыдущей отметке (или к позиции втексте, предшествовашей поиску)(апострофы) То же, но возврат к началу строкиКоманды редактированияПомните, что основными операторами редактирования являются с, d и у.Вставка нового текстаКомандаДействиеДобавить текст после курсораДобавить текст в конце строкиКоманды редактированияКомандаДействие1Вставить текст перед курсоромIВставить текст в начале строкиоНачать новую строку после текущейОНачать новую строку перед текущейEscЗавершить работу в режиме вставкиTabВставить табуляциюBackspaceУдаление предыдущего символа (в режиме вставки)Ctrl-IВставить табуляциюCtrl-UУдалить текущую строкуCtrl-VВставить следующий символ буквальноCtrl-[Завершить работу в режиме вставки673Некоторые из управляющих последовательностей, приведенных в последней таблице, устанавливаются с помощью stty.
Настройки вашего терминала могут отличаться.Изменение и удаление текстаСледующая таблица не является исчерпывающей, но иллюстрирует наиболее часто используемые операции.Команда ДействиеCWИзменить словоееИзменить строкус$Изменить текст от курсора до конца строкиСИдентично с$ddУдалить текущую строкуd$Удалить остаток строкиDИдентично d$nddУдалить п строкdwУдалить словоd}Удалить все символы до начала следующего абзацаd~Удалить текст от курсора до начала строкиd/'pattern Удалить все символы от курсора до первого соответствия шаблону patterndnУдалить все символы от курсора до следующего соответствия шаблонуГлава 11.
Редактор vi674Команда ДействиеdfaУдалить все символы от курсора до символа а в текущей строке (включительно)dtaУдалить все символы от курсора до символа а в текущей строке (исключаясам символ)dLУдалить все символы от курсора до последней строки экранной страницыdGУдалить все символы от курсора и до конца файлаPВставить последний удаленный объект после курсораPВставить последний удаленный объект перед курсоромrxЗаменить текущий символ символом хRtextЗаменить текст text, начиная с положения курсораsЗаменить символnsЗаменить п символовSЗаменить всю строкуuОткат последнего изменения текстаUВосстановить текущую строкуXУдалить текущий символXУдалить символ перед курсоромnXУдалить п символов перед курсоромПовторить последнее изменениеСменить регистр символов&Повторить последнюю операцию заменыYСкопировать текущую строку во временный буферYYИдентично Y"xYYСкопировать текущую строку в буфер хYeСкопировать текст до конца слова во временный буферYwИдентично уеy$Скопировать текст до конца строки во временный буфер"xddУдалить текущую строку в буфер х"XddУдалить текущую строку и добавить ее к буферу х"xpВставить содержимое буфера хJОбъединить предыдущую строку с текущейИдентично JКоманды редактирования675Сохранение и завершение работыСохранение файла - это запись последних изменений и обновление времениизменения файла.КомандаДействиеZZЗавершить работу с vi, сохранив файл, если он был изменен в ходесеанса работы:хИдентично ZZ: wqСохранить файл и закончить его редактирование:wСохранить файл:w fileСохранить копию в файл file:п1,п?н fileЗаписать строки с nl по п2 в файл f i l e:n1,n2vi» file Добавить строки с nl по п2 в существующий файл file:w!Принудительно записать файл:w! fileПерезаписать файл содержимым текущего буфера редактирования:w %.
newЗаписать текущий буфер с именем file под именем file.newЗавершить редактирование файлаЗавершить редактирование файла (без сохранения изменений)Завершить работу с vi и вызвать ехВернуться к работе с vi после ввода команды QИмя текущего файлаАльтернативное имя файлаДоступ к нескольким файламКомандаДействие:е fileНачать редактирование файла file, текущий файл становится альтернативнымЗагрузить последнюю сохраненную версию текущего файла:е+ fileНачать редактирование в конце файла file:е+ п fileОткрыть файл file и перейти к строке п:ettОткрыть альтернативный файл в предыдущей позиции:ta tagРедактировать файл в позиции tag:пРедактировать следующий файлГлава 11.
Редактору!676КомандаДействиеПринудительное редактирование следующего файла в текущем буфере (не сохраняя изменения в текущем файле):n filesЗадать новый список файлов для редактирования ( f i l e s ):argsОтобразить список файлов для редактирования: rewПерейти к началу списка файлов для редактированияВзаимодействие с интерпретаторомКомандаДействие: r fileВставить содержимое файла f i l e после курсора: г ! commandВставить вывод команды command после текущей строки: n r \ commandТо же, но вставить после строки п (строка 0 является первой строкойфайла): \ commandВыполнить команду command и вернуться в vi! object commandПослать содержимое объекта object в качестве ввода команде command; заменить объект object выводом команды:п1, п2\ command Послать строки с nl по п2 на ввод команды command; заменить строки выводом командып\ \commandПослать п строк на ввод команды command; заменить их выводомкомандыПовторить последнюю команду интерпретатора! ! commandЗаменить текущую строку выводом команды command:shВызвать субинтерпретатор; вернуться к редактированию по символуEOFCtrl-ZПриостановить работу редактора, продолжить с помощью команды fg: so fileПрочитать и выполнить команды ех из файла f i l eМакрокомандыКомандаДействие:ab in outИспользовать in в качестве сокращения out:unab inУдалить сокращение i ntabПеречислить сокращения:map с sequenceСвязать символ с с последовательностью команд sequence:unmap сОтменить связку для символа сРазличные командыКомандаДействие:тарПеречислить связанные символы677-.тар! с sequence Связать символ с с режимом ввода sequence:unmap! сОтменить связку ввода для символа с (возможно, потребуется экранировать символ комбинацией Ctrl-V):тар!Перечислить символы, связанные с режимами вводаСледующие символы не задействованы в командном режиме и могут бытьсвязаны с командами пользователя:Буквы:gKqVvУправляющие символы:~К АО ЛТ ~W ~ХСимволы:_*\ =Символ = используется в Lisp-режиме vi.