Редактирование файлов с помощью редактора vi

Редактор vi очень часто применяется для записи и редактирования файлов в системе UNIX. Для новичка он может выглядеть очень не понятно и пугающе, но на самом деле ничего страшного в нем нет. В этом разделе читатель узнает о том, как с помощью этого редактора можно создавать и сохранять файлы, и увидит, что на самом деле он является простым редактором с множеством интересных и мощных функциональных возможностей.

Создание и изменение файлов в vi

Запускается редактор vi путем ввода в приглашении оболочки команды vi, а лучше даже — команды vi имя_файла, приводящей к открытию редактора и отображению в нем содержимого указанного на месте имя_файла файла. В случае если указанного файла не существует, редактор vi выделяет буфер в памяти, чтобы позднее все добавленное содержимое можно было сохранить в новом файле.

Давайте предположим, что необходимо создать и отредактировать новый файл по имени test.txt. После ввода команды vi test.txt файл будет создан и курсор начнет мигать, но вводить какой-либо текст пока будет нельзя, так как для этого нужно находиться в режиме ввода. Чтобы перейти в режим ввода, достаточно ввести букву i, которая обозначает режим вставки (i — insert) или ввода (i — input). После этого можно начинать вводить текст точно так же, как и в любом другом обычном текстовом процессоре.


На заметку! При желании создать файл, но не вводить в него данные, лучше использовать команду touch. В случае выполнения команды touch с именем нового файла в качестве аргумента,она просто создает новый пустой файл (если только не указан флаг -c), а в случае передачи ей в качестве атрибута имени существующего файла, она заменяет время последнего получения доступа к этому файлу текущим. Например, команда touch может выглядеть как touch program.one. Выполнение данной команды touch приведет к замене значений времени последнего обращения и последнего изменения файла program.one текущей датой и временем. Если файла program.one не существует, тогда выполнение этой команды приведет к созданию нового файла с таким именем.


В таблице ниже показаны некоторые наиболее основные команды навигации, которыми в редакторе vi можно пользоваться для перемещения по файлам:

 Команда  Описание
 h  Переход на один символ влево
 l  Переход на один символ вправо
 j  Переход на одну строку вниз
 k  Переход на одну строку вверх
 w  Переход к началу следующего слова
 b  Переход к началу предыдущего слова
 $  Переход в конец текущей строки
^ Переход в начало текущей строки
:G Переход в конец файла
:1 Переход в начало файла

Помимо команд для перемещения курсора, в редакторе vi также доступно и много команд для манипулирования текстом, но знать их всех необходимо только работающему на полную ставку администратору систем или разработчику UNIX; обычный средне-статистический администратор баз данных вполне может обходиться и теми несколькими текстовыми командами, которые перечислены в таблице ниже:

 Команда  Описание
 i  Начинает вставку с текущего символа
 a  Начинает вставку со следующего символа
 o  Начинает вставку с новой строки ниже
 O  Начинает вставку с новой строки выше
 x  Удаляет символ, на котором находится курсор
 dd  Удаляет строку, на которой находится курсор
r Заменяет символ, на котором находится курсор
/text Выполняет поиск определенной строки текста
 :s/old/new/g  Заменяет строку текста новой строкой
yy Перемещает строку
p Вставляет скопированную строку после той, на которой в текущий момент находится курсор
P Вставляет скопированную строку над той, на которой в текущий момент находится курсор
:wq Сохраняет изменения и завершает работу редактора
:q Завершает работу редактора без сохранения изменений

Более подробную информацию о поддерживаемых в редакторе vi командах для навигации и манипуляции текстом можно найти в каком-нибудь хорошем справочнике, например, в книге Марка Собелла (Mal Sobell) A Practical Guide to the UNIX System (Addison Wesley).

Вас заинтересует / Intresting for you:

Получение справочной информаци...
Получение справочной информаци... 1877 просмотров Алексей Вятский Tue, 21 Nov 2017, 13:19:25
Просмотр команд SQL с помощью ...
Просмотр команд SQL с помощью ... 2323 просмотров Ольга Потемкина Tue, 21 Nov 2017, 13:18:46
Работа с процессами UNIX
Работа с процессами UNIX 2031 просмотров Алексей Вятский Tue, 21 Nov 2017, 13:19:25
Ввод команд SQL*Plus
Ввод команд SQL*Plus 7462 просмотров Александров Попков Tue, 21 Nov 2017, 13:33:37
Войдите чтобы комментировать

ildergun аватар
ildergun ответил в теме #8399 6 года 11 мес. назад
Когда только начал изучать текстовый редактор Vi, мне все казалось ужасным! Думал, кто вообще придумал этот отстой и как им вообще можно пользоваться? Но потом проникся, освоил и теперь даже являюсь фанатом Vi ! :-)