7.1. Введение
Этот раздел посвящен экранному редактору vi. Редактор vi является мощным средством для создания и редактирования файлов. Он предназначен для работы на видеотерминале и использует ок...
Поиск символов по шаблону команды / и ? 7.11. Поиск символов по шаблону: команды / и ?
Для поиска символов по шаблону вы можете использовать команды /, ?, n и N. Эти команды позволяют осуществлять поиск вперед и назад в буфере следую...
Таблица 10 Дополнительные команды перемещения курсора в редакторе vi Таблица 10 Дополнительные команды перемещения курсора в редакторе vi Команда Действие Прокрутка ^f Прокрутка экрана вперед на полное окно. Откры- вается новое окно с текстом, расположенным н...
Создание текста 7.12. Создание текстаТри основные команды позволяют в редакторе vi создавать текст: a - добавить текст; i - вставить текст; o - открыть новую строку, на которой может быть введен текст. После т...
1 Добавить текст 7.12.1. Добавить текст
Чтобы в файл добавить текст, воспользуйтесь следующими командами: a - добавить текст после курсора; A - добавить текст в конце текущей строки....
2 Вставить текст 7.12.2. Вставить текст
Чтобы в файл вставить текст, воспользуйтесь следующими командами: i - вставить текст до курсора; I - вставить текст в начале текущей строки до первого ненулевого символа....
3 Открыть строку для текста 7.12.3. Открыть строку для текста
Для открытия строки для текста воспользуйтесь следующими командами: o - создать текст с начала новой строки, расположенной ниже текущей строки. Вы можете...
Таблица 11 Команды создания текста Таблица 11 Команды создания текста Команда Функция a Создать текст после курсора A Создать текст в конце текущей строки i Создать текст перед курсором I Создать текст перед первым...
Удаление текста 7.13. Удаление текста
Вы можете удалить текст с помощью нескольких команд в командном режиме и небольшой объем в режиме ввода....
1 Удаление текста в режиме ввода текста 7.13.1. Удаление текста в режиме ввода текста
Если вы находитесь в режиме ввода текста редактора vi и хотите удалить символ, воспользуйтесь клавишей BACKSPACE: BACKSPACE - удалить текущий символ...
2 Отменить последнюю команду 7.13.2. Отменить последнюю команду
Отменить последнюю введенную команду можно с помощью следующих команд: u - отменить последнюю команду; U - восстановить текущую строку в состояние до произведен...
Команды удаления в командном режиме 7.14. Команды удаления в командном режиме
Многие команды редактора vi, такие как команды удаления и изменения, предоставляют вам возможность использовать в командной строке команды перемещения к...
1 Удаление слов 7.14.1. Удаление слов
Вы можете удалить слово или часть слова с помощью команды d. Переместите курсор к первому удаляемому символу и введите команду dw. Символ, расположенный над курсором и после...
2 Удаление параграфов 7.14.2. Удаление параграфов
Чтобы удалить параграф, воспользуйтесь командой: d{ или d}Помните, что вы можете восстановить удаленный текст с помощью команды u....
3 Удаление строк 7.14.3. Удаление строк
Чтобы удалить строку, введите: dd Для удаления нескольких строк укажите перед командой количество удаляемых строк. Например, команда: 10dd сотрет 10 строк. Если вы у...
4 Удаление текста после курсора 7.14.4. Удаление текста после курсора
Для удаления всего текста на строке, расположенного после курсора, поместите курсор на первый удаляемый символ и введите: D или d$Эта команда удаляет текст...
Таблица 12 Команды удаления текста Таблица 12 Команды удаления текста Команда Функция Режим ввода BACKSPACE Удалить текущий символ 1w Удалить текущее слово @ Удалить текущую строку нового текста или удалить весь новый текст...
Модификация текста 7.15. Модификация текста
Один из способов модификации текста представляют команды удаления и команды ввода текста. Другой способ, с помощью которого вы можете изменить текст, это задать команду...
1 Замена текста 7.15.1. Замена текста
rx - Заменить текущий символ (символ, на который показывает курсор) на x. Эта команда не устанавливает режим ввода текста и, следовательно, нет необходимости нажимать...
2 Подстановка текста 7.15.2. Подстановка текста
Команда подстановки текста заменяет символы, но затем позволяет вам продолжать ввод текста с того места, где вы нажали клавишу ESCAPE. s - удалить символ, на который ук...
3 Изменение текста 7.15.3. Изменение текста
Команда подстановки заменяет символы. Команда изменения заменяет объект текста и затем продолжает добавлять текст с этого места до тех пор, пока вы не нажмете клавишу ESC...
Таблица 13 Команды изменения текста Таблица 13 Команды изменения текста Команда Функция r Заменить текущий символ R Заменить те символы, которые введены в режиме ESCAPE s Удалить символ, под которым расположен курсор и...
Извлечение и присоединение текста 7.16. Извлечение и присоединение текста
Редактор vi предоставляет набор команд, которые разбивают текст в файл и набор команд, которые копируют часть текста и помещают в другое место в файле....
1 Перемещение текста 7.16.1. Перемещение текста
Вы можете переместить текст из одного места в буфере редактора vi в другое, удалив строки, а затем поместив их в требуемое место. Удаленный текст сохраняется во временн...
2 Перемещение букв 7.16.2. Перемещение букв
Быстрым способом перемещения букв является комбинация команд "x" и "p" (xp). Команда "x" удаляет букву, "p" - помещает ее после сл...
3 Копирование текста 7.16.3. Копирование текста
Вы можете копировать одну или несколько строк текста во временный буфер и затем поместить копию этого текста в определенное место в файле. Чтобы поместить текст на ново...
Таблица 14 Команда y Таблица 14 Команда y Команда Функция nyx Копирование n-го объекта текста типа x (предложение или параграф) yw Создание копии слова yy Создание копии текущей строки nyy Копирование n ст...
Копирование и перемещение текста с использованием регистров 7.17. Копирование и перемещение текста с использованием регистров
Перемещение и копирование нескольких разделов текста в различные части файла является утомительной работой. Редактор vi предла...
Таблица 15 Команды извлечения и присоединения текста Таблица 15 Команды извлечения и присоединения текста Команда Функция p Помещает содержимое временного буфера, полученное с помощью команды y и команд удаления, в текст после курсора yyСоздает...
Специальные команды 7.18. Специальные команды
В этом подразделе приведены специальные команды, которые будут вам весьма полезны: . - повторить последнюю команду; j - объединить две строки; ^l - очистить экран и вн...
1 Повторить последнюю команду 7.18.1. Повторить последнюю команду
Команда "." (точка) повторяет последнюю введенную команду. Очень часто она используется с командой поиска....
2 Объединение строк 7.18.2. Объединение строк
Команда "j" объединяет строки. Чтобы ввести эту команду, поместите курсор на текущей строке и нажмите клавиши SHIFT и j одновременно. Текущая строка объединя...
3 Очистить окно и восстановить текст 7.18.3. Очистить окно и восстановить текст
Если другой пользователь системы UNIX посылает вам собщение с использованием команды write, а вы в это время редактируете с помощью vi, то посланное соо...
4 Заменить нижний регистр на верхний и vice versa 7.18.4. Заменить нижний регистр на верхний и vice versa
Чтобы быстро заменить букву нижнего регистра на букву верхнего регистра, надо поместить курсор под этой буквой и нажать клавишу "~&quo...
Таблица 16 Специальные команды Таблица 16 Специальные команды Команда Функция . Повторить последнюю команду j Соединить текущую строку со строкой, расположенной ниже ^lОчистить и восстановить текущее окно ~ Заменить ниж...
Использование команд построчного редактора 7.19. Использование команд построчного редактора
Редактор vi имеет доступ ко многим командам построчного редактора ex. В этом подразделе обсуждаются некоторые наиболее часто используемые команды...
1 Временный возврат к shell 7.19.1. Временный возврат к shell
Когда вы входите в vi, то содержимое буфера заполняет ваш экран, делая невозможным выдачу команд для shell. Однако вам может это понадобиться. Например, вам необ...
2 Запись текста в новый файл 7.19.2. Запись текста в новый файл
Команда "w" позволяет вам создавать файл, копируя строки текста из файла, который вы в данный момент редактируете, в файл, который вы указали. Чтобы...
3 Переход к указанной строке 7.19.3. Переход к указанной строке
Вы можете переместить курсор к любой строке в буфере, если введете команду: :n<CR>где n - номер строки в буфере....
4 Удалить остаток буфера 7.19.4. Удалить остаток буфера
Одним из самых простых способов удаления всех строк от текущей строки и до конца буфера является использование команды "d" построчного редактора со специа...
5 Добавить файл в буфер 7.19.5. Добавить файл в буфер
Чтобы добавить текст из файла ниже указанной строки в буфер редактора, воспользуйтесь командой "r". Например, чтобы перенести содержимое файла data в ваш т...
6 Провести глобальные изменения 7.19.6. Провести глобальные изменения
:g/pattern/command<CR> - для каждой строки, содержащей pattern выполнить команду command редактора ex. Построчный редактор напечатает све стр...
Таблица 17 Команды построчного редактора Таблица 17 Команды построчного редактора Команда Функция : Обозначает, что следующая за ней команда является командой построчного редактора :sh<CR> Временный возврат к...
Начальные установки 7.2. Начальные установки
В этом подразделе описано, как делать установку конфигурации терминала, чтобы правильно работал редактор vi....
1 Установка конфирурации терминала 7.2.1. Установка конфирурации терминала
Прежде чем начать работать с редактором vi, необходимо сообщить системе UNIX, какой тип терминала вы используете. Это связано с тем, что программное обеспе...
2 Изменение конфигурации 7.2.2. Изменение конфигурации
Если вы часто будете использовать редактор vi, то необходимо сделать соответствующие изменения по установке конфигурации терминала в файле .profile. Этот файл должен...
Создание файла 7.3. Создание файла Чтобы создать файл, введите: vi filename<CR>Когда вы введете команду vi с именем файла, vi очистит экран и отобразит окно, в которое вы можете вводить и редактиров...
Завершение работы с редактором vi 7.20. Завершение работы с редактором vi
Пять основных команд могут быть использованы для завершения работы с редактором vi. Команды, которым предшествует ":", являются командами пос...
Таблица 18 Команды завершения Таблица 18 Команды завершения Команда Функция ZZ Записать буфер в файл, если после последней записи в буфере были сделаны изменения, и завершить работу с vi :wq<CR> Записать буфе...
Специальные опции для vi 7.21. Специальные опции для vi
Команда vi имеет специальные опции. Они позволяют: восстановить потерянный файл, если работа vi была прервана; поместить в буфер редактирования несколько файлов...
1 Восстановление потерянного файла 7.21.1. Восстановление потерянного файла
Если случайно произошло прерывание работы редактора vi, то не производится запись текста из буфера обратно в файл. Но vi сохраняет копию буфера. Когд...
2 Редактирование нескольких файлов 7.21.2. Редактирование нескольких файлов
Если вы хотите редактировать в одном сеансе более одного файла, то введите команду vi, указав имя каждого файла: vi file1 file2<CR>vi ответит, скол...
Режимы редактора 7.4. Режимы редактора
Редактор vi функционирует в двух режимах: режим ввода и командный режим. В режиме ввода вы можете добавлять и модифицировать текст; в командном режиме вы можете: редактирова...
1 Создание текста в режиме Append 7.4.1. Создание текста в режиме Append
Если вы успешно вошли в редактор vi, то сразу же попадаете в командный режим и vi ожидает ввода ваших команд. Чтобы создать текст необходимо: введите a, что...
2 Выход из режима Append 7.4.2. Выход из режима Append
После того как вы закончили создавать текст, нажмите клавишу ESCAPE, чтобы из режима ввода перейти к командному режиму. Теперь вы можете редактировать текст, который...
Редактирование текста в командном режиме 7.5. Редактирование текста в командном режиме
В общем случае редактирование файла - это добавление, изменение, удаление текста. Чтобы выполнить эти задачи вы должны научиться переходить от одной...
1 Перемещение курсора 7.5.1. Перемещение курсора
Клавиши перемещения курсора позволяют вам перемещать курсор по файлу. Курсор можно переместить с помощью следующих клавиш: h - перемещает курсор на один символ влево;...
2 Удаление текста 7.5.2. Удаление текста
Если вы хотите удалить символ, переместите курсор к этому символу и нажмите x. Перед x может стоять число, которое говорит о том, сколько символов подряд нужно удалить. Ре...
3 Добавление текста 7.5.3. Добавление текста
В редакторе vi существует две команды для добавления текста: insert(i) и append(a). Чтобы добавить текст с помощью команды i, переместите курсор в нужное место с помощью...
Завершение работы c vi 7.6. Завершение работы c vi
Когда вы закончите работу с текстом, необходимо записать содержимое буфера в файл и возвратить управление shell. Для этого нажмите клавишу SHIFT и дважды нажмите Z(Z...
Таблица 8 Основные команды vi Таблица 8 Основные команды vi Команды Выполняемые функции TERM=terminal_name export TERM Установка конфигурации терминала tput init Инициализировать терминал как terminal_name vi filename...
Перемещение курсора по экрану 7.7. Перемещение курсора по экрану
Ранее вы познакомились с тем, как перемещать курсор с помощью клавишей h, j, k, l, BACKSPACE и SPACEBAR. В этом подразделе приводятся еще несколько команд, кото...
1 Позиционирование курсора на символ 7.7.1. Позиционирование курсора на символ
Для позиционирования курсора на символ в строке существуют три способа: переместить курсор вправо или влево до нужного символа; переместить курсор в н...
7 7 1 1 Переместить курсор в начало или конец строки 7.7.1.1. Переместить курсор в начало или конец строки
Переместить курсор на первый или последний символ в строке можно следующим образом: $ - переместить курсор на последний символ в строке; 0(н...
7 7 1 2 Поиск символа в строке 7.7.1.2. Поиск символа в строке
Третий способ позиционирования курсора в строке - это поиск указанного символа на текущей строке. Если символ не найден на текущей строке, то появляется звуковой...
7 7 1 3 Команда перемещения (знак минус) 7.7.1.3. Команда перемещения: - (знак минус)
Команда - (минус) перемещает курсор на одну строку вверх, позиционируя его на первом ненулевом символе. Чтобы переместить курсор более чем на один сим...
7 7 1 4 Команда перемещения + (знак плюс) 7.7.1.4. Команда перемещения + (знак плюс)
Команда + (плюс) или <CR> перемещает курсор вниз на одну строку и позиционирует на первый непустой символ. Перед командой + можно указать количест...
2 Позиционирование слов 7.7.2. Позиционирование слов
Редактор vi предполагает, что слово - это строка символов, которая может включать в себя буквы, цифры и символы подчеркивания. В редакторе vi существует 6 команд пози...
3 Позиционирование курсора на предложение 7.7.3. Позиционирование курсора на предложение
Редактор vi также распознает предложения. В редакторе vi предложение заканчивается знаками !, . или ?. Если эти разделители появляются в середине ст...
4 Позиционирование курсора по параграфам 7.7.4. Позиционирование курсора по параграфам
Параграфы распознаются редактором vi, если они начинаются после пустой строки. Если вы хотите перемещать курсор по параграфам, то при создании те...
5 Позиционирование в окне 7.7.5. Позиционирование в окне
Редактор vi предоставляет вам 3 команды, которые позволяют вам позиционировать курсор в окне. Эти команды должны быть введены на верхнем регистре: H - переместить...
Таблица 9 Команды позиционирования курсора Таблица 9 Команды позиционирования курсора Команда Действие команды Позиционирование на символ h Перемещает курсор на один символ влево l Перемещает курсор на один символ вправо BACK...
Позиционирование курсора на неотображаемом тексте 7.8. Позиционирование курсора на неотображаемом тексте
В этом подразделе описывается, как переместить курсор на текст, который не отображен на текущем экране. Вы можете сделать это следующим обра...
1 Прокрутка текста 7.8.1. Прокрутка текста
Четыре команды редактора vi позволяют вам осуществлять прокрутку текста файла. Команды ^f (<CTRL>f) и ^d (<CTRL>d) проводят прокрутку экрана вперед, а команды...
7 8 1 1 Команда ^f 7.8.1.1. Команда ^f
Команда ^f осуществляет прокрутку вперед на одно окно текста, расположенного ниже текущего окна. Редактор vi очищает экран и выводит новое окно. Две последние строки текущего...
7 8 1 2 Команда ^d 7.8.1.2. Команда ^d
Команда ^d осуществляет прокрутку на половину экрана, чтобы отобразить текст, расположенный ниже окна. Если курсор находится на последней строке файла и вы нажмете ^d, то vi...
7 8 1 3 Команда ^b 7.8.1.3. Команда ^b
Команда ^b осуществляет прокрутку экрана назад на полное окно, чтобы отобразить текст, который находится выше текущего экрана. Редактор vi очищает экран и отображает новое ок...
7 8 1 4 Команда ^u 7.8.1.4. Команда ^u
Команда ^u осуществляет прокрутку половины экрана, чтобы отобразить текст, расположенный выше окна. Если курсор достигнет начала файла, то vi подаст звуковой сигнал....
Переход на указанную строку 7.9. Переход на указанную строку
Команда G позиционирует курсор на указанную строку в окне. Если эта строка не находится в текущем экране, то G очищает экран и отображает окно, содержащее эту стр...
Номера строк 7.10. Номера строк
Каждая строка файла имеет номер, соответствующий ее положению в буфере. Чтобы получить номер конкретной строки, переместите курсор на эту строку и введите команду: ^g В нижней...