Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 99
Текст из файла (страница 99)
Различные версии viмогут использовать перечисленные «свободные» символы, поэтому рекомендуется проверять их перед переопределением.Различные командыКоманда ДействиеСдвинуть строку влево в положение, указанное следующей командой навигацииСдвинуть строку вправо в положение, указанное следующей командойнавигации«Сдвинуть строку влево на один шаг (шаг по умолчанию равен 8 колонкам)»Сдвинуть строку вправо на один шаг (шаг по умолчанию равен 8 колонкам)>}Сместиться вправо до конца абзацаСместиться влево до нахождения парного символа скобки, фигурной иликвадратной скобки и т.
д. (Курсор изначально должен находиться на символе, для которого существует парный.)Прервать выполнение команды или завершить работу в режиме вставкиВыполнить поиск тега для текста под курсоромПерейти в режим построчного редактирования ех(<Ctrl>+<">) Вернуться к предыдущему файлуГлава 11. Редактору!678Алфавитный перечень команд,действующих в командном режимеДля краткости <Ctrl>+ (или С-) заменено в таблице на символКоманда ДействиеДобавление текста после курсораДобавление текста в конец строкиПоиск следующего вхождения слова под курсоромПереход к началу слова в текущей строкеПереход к предыдущему слову, считая знак препинания отдельным символомПрокрутка на одну экранную страницу назадЗаменить текст до позиции, в которую переводит курсор следующая команда навигацииСЗамена до конца текущей строки-сОкончание работы в режиме вставки; принудительное завершение длительной операцииУдалить текст до позиции, в которую переводит курсор следующая команда навигацииУдаление до конца текущей строкиПрокрутка вперед на половину экранной страницы; в режиме вставки сократить отступ до размера shiftwidth, если установлен режим autoindentПереход к концу словаПереход к концу слова, считая знаки препинания частью словаПрокрутка вперед на одну строкуПрямой поиск введенного символа в текущей строкеОбратный поиск введенного символа в текущей строкеПрокрутка вперед на одну экранную страницуНе используетсяGПерейти к указанной строке или к концу файла-GОтобразить информацию о файле в строке состоянияhКурсорная клавиша <Стрелка влево>НПеремещение курсора в позицию Ноте (в первую позицию на экране)"НКлавиша <Стрелка влево>; в режиме вставки клавиша <Backspace>Алфавитный перечень команд, действующих в командном режиме679Команда ДействиеВставка текста перед курсоромВставка текста перед первым отображаемым символом строкиВ командном режиме не используется; в режиме вставки идентично <ТаЬ>Клавиша <Стрелка вниз>Объединение двух строкКлавиша <Стрелка вниз>; в режиме вставки переход к следующей строкеКлавиша <Стрелка вверх>Не используетсяНе используетсяКлавиша <Стрелка вправоПеремещение курсора в последнюю позицию текущего окна текстаОбновление экранаОтметка текущей позиции строчным символом (a-z)Перемещение курсора в центр текущего окна текстаПеремещение в начало следующей строкиПовторить последнюю команду поискаПовторить последнюю команду поиска в противоположном направленииКурсорная клавиша <Стрелка вниз>Начать новую строку после текущейНачать новую строку перед текущейНе используетсяВставить вырезанный или скопированный текст после или под курсоромВставить вырезанный или скопированный текст перед или над курсоромКлавиша <Стрелка вверх>Не используетсяЗавершить работу с vi и вызвать ехНе используется.
(На некоторых терминалах - возобновление обработкипотока данных.)Заменить текущий символ следующим набранным символомЗамена символовОбновление экранаГлава 11. Редактору!680Команда ДействиеsЗаменить текущий символ вводимыми символамиSЗаменить всю строку"SНе используется. (На некоторых терминалах прекращает обработку потока данных.)Найти в текущей строке (в прямом направлении) символ, совпадающий свведенным, и поместить перед ним курсорНайти в текущей строке (в обратном направлении) символ, совпадающий свведенным, и поместить курсор после негоВ командном режиме не используется; в режиме вставки - переход к следующему табуляторуОтмена последнего измененияВосстановить текущую строку, отменив измененияПрокрутка назад на половину экранной страницыНе используетсяНе используетсяВ командном режиме не используется; в режиме вставки — буквальная вставка следующего символаПереход к началу следующего словаПереход к началу следующего слова, считая знаки препинания отдельными словамиВ командном режиме не используется; в режиме вставки - переход к началу словаУдалить текущий символУдалить символ перед курсоромНе используетсяОператор вставки или копирования текста (во временный буфер) до позиции, в которую переместит курсор следующая команда навигацииСоздать копию текущей строкиПрокрутка назад на одну строкуПерепозиционировать окно с текстом.
За командой г должны следовать:<Enter> - строка, содержащая курсор, оказывается первой строкой экранной страницы, <.> - строка, содержащая курсор, оказывается в центреэкранной страницы или < —> - строка, содержащая курсор, оказываетсяпоследней строкой экранной страницыZZСохранение изменений и завершение работы с редакторомСинтаксис команд ex681Синтаксис команд ехКоманда ех внутри редактора vi выглядит следующим образом:•.[address] command [options]Предваряющее двоеточие говорит о том, что это команда ех. Во время наборакоманда отображается в строке состояния. Ввод команды завершается нажатием клавиши <Enter>.
Адрес (address) - это номер строки или диапазонстрок, для которых выполняется команда (command). Параметры (options) иадреса (addresses) описаны далее в этом разделе. Команды ех описаны в алфавитном перечне.Параметры!Предписание использовать измененную форму команды, а не стандартную.countПовторить команду count раз. В отличие от команд vi, команды ех не могут быть предваряемы числом, поскольку это число воспринимается какадрес строки. Так, d3 удаляет три строки, начиная с текущей, а 3d удаляет третью строку.file Имя файла, с которым работает команда.
Символ % означает текущийфайл, а # - предыдущий.АдресаЕсли адрес не задан, команда применяется к текущей строке текста. Диапазон адресов строк задается следующим образом:х,угде х и у - адреса первой и последней строк диапазона (причем строка хдолжна предшествовать строке у), хну могут быть числами или символами.Использование точки с запятой (;) вместо запятой (,) является предписаниемустановить адрес текущей строки в х, прежде чем интерпретировать у.Команда 1,$ описывает весь диапазон строк файла (как и символ %).Символы адресацииСимволЗначение1,$Все строки файлаXВсе строки; тоже, что и 1,$х,уСтроки с х по ух; уСтроки с х по у с установкой текущей строки в адрес хГлава 11.
Редактору:682СимволЗначениеНачало файлаТекущая строкапСтрока с порядковым номером п$Последняя строка файлах-лп строк, предшествующих строке хх+лп строк, следующих за строкой х-[л]Предыдущая строка или строка, отстоящая назад от текущей на п строкСледующая строка или строка, отстоящая от текущей на п строк впередСтрока,отмеченная хПредыдущая отметка/pattern/Вперед до строки, соответствующей шаблону pattern?pattern?Назад до строки, соответствующей шаблону patternБолее подробно работа с шаблонами описана в главе 9 «Шаблоны и поиск».Алфавитный перечень команд ехКоманды ех могут заменяться на их уникальные сокращения.
В следующейтаблице полные имена команд приведены в индексном столбце, а максимально сокращенные - в описании синтаксиса команды. В примерах предполагается, что команды вызываются в vi, поэтому они предваряются двоеточием.abbrevab [string text]Определить замену строки string на строку text при наборе.Если не заданы строка (string) и текст (text), перечислитьвсе существующие сокращения.ПримерыПримечание: Для печати символа ~М необходимо нажатьклавиши <CTRL>+<V>, а затем <Enter>.:ab ora O'Reilly & Associates, Inc.:ab id Name:"MRank:~MPhone:Алфавитный перечень команд ex[address] a[!]text683appendДобавить текст (text) по заданному адресу (address) или потекущему адресу, если этот параметр опущен.
Символ ! является переключателем автоматического отступа (autoindent).Так, если автоматический отступ был включен, использование ! отключит его на время работы команды. Ввод завершается при получении строки, содержащей единственный символ - точку.агargsПеречислить аргументы файловых имен (список файлов дляредактирования). Имя текущего файла заключается в квадратные скобки ([]).cdcddirchdir dirСменить текущий каталог внутри редактора.change[address] c[!]textЗаменить указанные строки текстом text. Символ ! являетсяпереключателем autoindent на время работы команды.
Вводзавершается при получении строки, содержащей единственный символ - точку.[address] со destinationКопировать строки, определяемые адресом address в указанный адрес destination. Команда t работает идентично сору.Пример: 1 , 1 0 со 50Скопировать первые 10 строк после строки 50сору684deleteГлава 11. Редактор vi[address] d [buffer]Удалить строки, определяемые адресом address. Если указан буфер (buffer), записать или добавить удаленные строкик буферу.Примеры:/Part 1/,/Part II/-1d Удалить до строки над «Part II»:/main/+dУдалить строку после «main»:.,$dУдалить все строки после текущейedite[!] [+n] [file]Начать редактирование файла file. Символ ! запрещает сохранение изменений текущего файла.