Штатные текстовые редакторы (ee, vi) FreeBSD

| 19.11.2013

Основная работа в системе FreeBSD связана с постоянным редактированием текстовых конфигурационных файлов тех или иных служб. Простейший редактор, который можно использовать – ee (easy editor). Работать с ним очень просто и интуитивно понятно, кроме того вверху экрана всегда располагается небольшая справка по внутренним командам. Чтобы отредак-тировать файл, нужно ввести команду:
ee [файл]
Однако, я рекомендую использовать редактор vi – один из первых редакторов, разработанных для операционных систем UNIX. Он и по сей день остается одним из самых мощных редакторов и стандартно поставляется практически с каждой операционной системой типа UNIX. К сожалению, среди новичков редактор vi пользуется репутацией программы, известной своей загадочностью и трудностью в изучении. В нем отсутствует меню, и все действия осуществляются с помощью клавиш и клавиатурных комбинаций. Понятно, что на их изучение требуется время. Так зачем же изучать такой редактор? Есть, по меньшей мере, две причины.
Во-первых, он имеется в любой ОС UNIX, с которой вам быть может, придется работать. Рано или поздно вы столкнетесь с ситуацией, когда vi окажется единственным редактором в операционной системе…
Во-вторых, когда вы изучите различные комбинации клавиш и команды, в вашем распоряжении окажется очень мощное средство. Редактор vi обеспечит возможность очень быстрой работы, так как для набора большинства команд не придется убирать руки с базовых клавиш. Приступим к его описанию.
Сразу после запуска редактор vi будет находиться в командном режиме. В этом режиме нажатия клавиш интерпретируются как команды редактору, а не как текст, вводимый в документ. Чтобы переключиться в режим ввода текста, необходимо нажать одну из клавиш:
a – append (присоединить). В этом режиме вводимый текст встав-ляется после символа, на котором находится курсор.
i – insert (вставить). В этом режиме вводимый текст вставляется перед символом, на котором находится курсор.
о – open (открыть). Это приводит к тому, что после строки, на которой находится курсор, в текст вставляется новая строка, затем курсор перемещается на нее и редактор vi переходит в режим insert, разрешая ввод текста на новой строке.
Для возврата в командный режим, нажмите клавишу Esc.
Перемещаться по тексту в режиме ввода текста можно с помощью курсорных клавиш или клавиш Page Up / Page Down. Однако имеются и другие клавиши, позволяющие перемещаться по документу в командном режиме:
h – перемещает курсор влево на один символ;
j – перемещает курсор вниз на один символ;
k – перемещает курсор вверх на один символ;
l – перемещает курсор вправо на один символ;
w – перемещает курсор вперед на одно слово;
b – перемещает курсор назад на одно слово;
е – перемещает курсор в конец следующего слова;
0 – перемещает курсор в начало строки;
$ – перемещает курсор в конец строки;
) – перемещает курсор в начало следующего предложения;
( – перемещает курсор в начало предыдущего предложения;
} – перемещает курсор в начало следующего абзаца;
{ – перемещает курсор в начало предыдущего абзаца;
G – перемещает курсор в конец текущего документа;
^ – перемещает курсор к первому символу строки, но не пробелу;
Н – перемещает курсор на первую строку на экране;
L – перемещает курсор на последнюю строку на экране.
Обратите внимание, что с каждой командой этой таблицы по умолчанию используется число 1. Клавиша j перемещает курсор вниз на одну строку, клавиша k перемещает его вверх на одну строку, клавиша w перемещает вправо на одно слово и так далее. Все эти команды можно модифицировать, вводя перед ними число. Так, например, команда 5j перемещает курсор вниз не на одну строку, а на пять. Команда 75G перемещает курсор на 75-ю строку файла, редактируемого в данный момент. А команда 5L перемещает курсор на пятую снизу строку экрана. Данный синтаксис справедлив для всех команд, кроме ^, которая перемещает курсор к первому символу строки, не являющемуся пробелом.
В редакторе vi клавиши Backspace и Delete не выполняют тех действий, которых от них можно ожидать. Для удаления текста и тому подобного придется пользоваться различными клавишами в командном режиме. Рассмотрим команды для редактирования текста:
D – удаляет текст от позиции курсора до конца строки;
dd – удаляет всю текущую строку целиком;
R – замещает текущий текст вводимым текстом, начиная с курсора;
S – удаляет текущую строку и начинает ввод текста на новой строке;
х – удаляет символ в позиции курсора и сдвигает символы влево;
X – удаляет символ перед курсором и сдвигает символы влево;
~ – заменяет букву на позиции курсора той же буквой другого регистра;
J – объединяет текущую строку с предыдущей;
yw – помещает в буфер слово, на котором находится курсор;
у$ – помещает в буфер текст от курсора до конца данной строки;
уу – помещает в буфер всю текущую строку;
р – вставляет текст в документ после курсора;
Р – вставляет текст перед курсором.
В редакторе vi имеется так же ряд команд для выполнения поиска и замены текста:
/текст – поиск текста в прямом направлении до первого совпа-дения с заданным текстом;
/ – повтор поиска текста в прямом направлении до обнаружения очередного совпадения;
?текст – поиск текста в обратном направлении до первого совпа-дения с заданным текстом;
? – повтор поиска текста в обратом направлении до обнаружения очередного совпадения;
% – перемещение курсора на соответствующую парную скобку (удобно при программировании);
:s/текст1 /текст2 – замена в текущей строке каждого совпа-дения текст1 на текст2;
:%s/текст1 /текст2 – замена во всем файле каждого совпаде-ния текст1 на текст2;
И последнее, что нам осталось, – это операции над файлами и выход из редактора:
:w – сохранить изменения в текущем файле;
:w! – сохранить изменения в текущем файле в любом случае;
:q – выйти из редактора;
:q! – выйти из редактора в любом случае;
файл – загрузить файл в редактор для редактирования;
:е! – отбросить все изменения и перезагрузить старый вариант;
:wq – сохранить изменения в текущем файле и выйти;
Вот в принципе и все, что вам необходимо знать для эффективной работы с текстовыми файлами в редакторе vi. Настоятельно рекомендуем в этом вопросе не идти самым простым путем, а освоить, привыкнуть и работать всегда именно в этом редакторе.

К.А. Корниенко

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

двенадцать + восемь =

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: