Skip to main content

Текстовый редактор vi

Текстовый редактор vi (vim) - обязательный атрибут всех Unix подобных ОС, поэтому каждому пользователю Linux нужны хотя бы основные навыки работы в vi.

Запуск редактора:

а) vi &nbsp &nbsp myfile (одно или несколько имен файлов через пробелы для последовательного вызова их на редактирование).

Если такого файла нет, то появится начало пустого файла; курсор установится в начале первой строки.

б) vi + myfile

На экране конец файла; а курсор - в начале последней строки.

в) vi +10 myfile

На экране - часть файла и строка 10 - в центре экрана;

курсор - в начале этой строки.

Режимы работы.

Редактор работает в нескольких режимах:

  • В режиме вставки (редактирования),нажатие на клавишу приводит к вставке соответствующего символа в редактируемый текст.
  • В командномрежиме
    • нажатие на любую клавишу воспринимается как команда редактору, которая немедленно исполняется;
    • в этом режиме можно ввести команду с параметрами в командной строке.

Поэтому при работе с Vi пользователю всегда нужно обращать внимание на то, в каком режиме находится редактор.

Командный режим.

Редактор Vi всегда начинает работу в командномрежиме. В этом режиме есть два способа отдавать команды редактору.

  1. нажатие практически на любую клавишу редактор воспринимает как определенную команду. Команды не отображаются, а сразу выполняются. Переключиться из режима вставки в командный режим - при помощи Esc.
  2. для ввода более сложных многословных команд используется командная строка, вызов которой осуществляется нажатием клавиши ":" .

Режим вставки (редактирования).

Для перехода к этому режиму следует использовать команду insert, выполнение которой осуществляется при нажатии на клавишу "i" в командном режиме. При переключении в этот режим внизу экрана появляется надпись Insert, можно вносить изменения в текст документа.

Выход из vi

а) с сохранением изменений: переключиться в командный режим (Esc), ввести команду

: w q

б) без сохранения изменений: переключиться в командный режим (Esc), ввести команду

: q !

Перемещение курсора

0 - в начало строки

$ - в конец строки

w - в начало слова

b - в начало предыдущего слова

Удаление

dw - удаление слова

d$ - удаление до конца строки

d0 - удаление до начала строки

d7w - удаление 7 слов

Изменение (замена)

c$ (или C) &nbsp &nbsp <текст замены (может быть из нескольких строк)> Esc - замена конца строки (от курсора);

c^ <текст замены> Esc - замена от начала строки до курсора

cc < текст > Esc - замена одной строки;

5cc < текст > Esc - замена пяти строк.

Создание новой строки

о - пустая строка после текущей строки;

O - пустая строка перед текущей строкой.

Использование буфера обмена

Занести в буфер:

yw - сохранить слово (курсор - в начале слова);

yy - сохранить одну строку ;

5yy - сохранить 5 строк; и т.п.

При выполнении команд ndd (где n - число) удаляемые n строк заносятся в буфер.

Вставка текста из буфера:

- p - после текущей строки;

- P - перед ней.

Задание

Создайте текстовый файл, который будет содержать ваши данные.