Выбор аппаратных и программных средств
59
Таблица 2.5.
Основные команды редактора vi
Команда Описание
:q!
Выход без сохранения
:w
Сохранить изменения
:w <
файл
>
Сохранить изменения под именем
<
файл
>
:wq
Сохранить и выйти
:q
Выйти, если нет изменений
i
Перейти в режим вставки символов в позицию курсора
a
Перейти в режим вставки символов в позицию после курсора
o
Вставить строку
после текущей
O
Вставить строку над текущей
x
Удалить символ в позицию курсора
dd
Удалить текущую строку
u
Отменить последнее действие
Рис. 2.11.
Текстовый редактор vi
60
Глава 2
в режим вставки, когда набираемые символы трактуются именно как символы, а не
как команды. Для переключения обратно в командный режим служит клавиша
. В некоторых случаях (например, когда вы пытаетесь передвинуть курсор
левее первого символа в строке) переход в командный режим осуществляется
автоматически.
Теперь немного практики — введите команду:
$ vi file.txt
Далее нажмите клавишу , чтобы переключиться в режим вставки. Наберите лю-
бой текст, но постарайтесь не ошибаться, поскольку исправление ошибок в vi —
дело, требующее отдельного разговора.
Затем нажмите клавишу и введите
:wq
. После выхода из редактора введите
команду:
cat file.txt
Так вы убедитесь, что файл создан и в нем сохранен введенный вами текст.
Продолжим изучать редактор. Если ввести не команду
i
, а команду
a
, то вы тоже
перейдете в режим вставки, но с одним отличием — введенный текст будет встав-
ляться не перед символом, в котором находится курсор, а после него. Также в ре-
жим вставки можно перейти командами
o
и
O
. В первом случае будет добавлена
пустая строка после текущей строки, а во втором — перед текущей строкой, а весь
дальнейший ввод будет восприниматься именно как ввод текста, а не команд.
Чтобы удалить символ, нужно перейти в режим команд и над удаляемым символом
нажать . Да, клавиши и тут не работают. Точнее,
работает, но для удаления последней непрерывно введенной последо-
вательности символов. Например, у нас есть текст:
vi - текстовый редактор
. Вы
перейдете в режим вставки и измените текст так:
vi - неудобный текстовый редак-
тор
. Нажатие удалит слово
неудобный
, но не сможет удалить дефис и
другие символы.
Чтобы удалить строку, в которой находится курсор, нужно выполнить команду
dd
.
Помните, что vi считает строкой не то, что вы видите на экране, а последователь-
ность символов до первого символа новой строки (
\n
). Если строка длиннее
80 символов, то она переносится на две экранных строки и визуально выглядит как
две строки, а не как одна.
Чтобы перейти в конец строки (клавиши и тоже не работают, как
вы успели заметить, если уже запускали vi), нужно ввести команду
$
. При навига-
ции курсор перемещается не по экранным линиям, а как раз по строкам текста.
Для отмены последней операции служит команда
u
. Вот только истории изменений
нет, да и по команде
u
отменяется вся предыдущая команда целиком. Например, вы
создали файл, перешли в режим вставки (команда
i
) и набрали весь текст Большой
медицинской энциклопедии. Если вы введете команду
u
, то она отменит всю пре-
дыдущую команду, т. е. удалит весь введенный вами текст. Так что будьте осто-
рожны.
Выбор аппаратных и программных средств
61
Азы vi мы вам преподали. Но не думаем, что вы будете им пользоваться. Если есть
желание продолжить знакомство, введите команду:
man vi
А мы тем временем познакомимся с другими текстовыми редакторами. Самый
удобный из известных нам текстовых редакторов — редактор nano (раньше он на-
зывался pico и входил в состав почтового клиента pine).
Внизу (под текстом) есть подсказка по комбинациям клавиш для управления редак-
тором. Символ
^
означает
. То есть, для выхода из редактора нужно нажать
комбинацию клавиш +, а для сохранения текста — +.
В некоторых системах (например, в FreeBSD) вместо nano используется редактор
ee. Он похож на nano, однако подсказки выводятся до текста (вверху экрана), а не
после него, но идея та же. Также довольно удобен редактор joe.
В пакет mc (файловый менеджер) входит довольно удобный редактор mcedit, кото-
рый запускается при нажатии в mc клавиши . Но вы можете запустить редак-
тор отдельно:
mcedit <
имя файла
>
Кстати, редакторы joe, nano и ee запускаются аналогично:
joe <
имя файла
>
nano <
имя файла
>
ee <
имя файла
>
Выполнение команд с правами другого пользователя
Команда
sudo
позволяет запустить любую команду с привилегиями root. Использо-
вать ее нужно так:
sudo <команда_которую_нужно_выполнить_с_правами_root>
Например, вам необходимо изменить файл
/etc/apt/sources.list
. Для этого следует от-
дать команду:
sudo gedit /etc/apt/sources.list
П
ОЯСНЕНИЕ
Программа gedit — это тоже текстовый редактор, мы ему передаем один параметр —
имя файла, который нужно открыть.
Если ввести эту же команду, но без
sudo
(просто
gedit /etc/apt/sources.list
), тек-
стовый редактор тоже запустится и откроет файл, но сохранить изменения вы не
сможете, поскольку у вас не хватит полномочий.
Программа
sudo
перед выполнением указанной вами команды запросит у вас па-
роль:
sudo gedit /etc/apt/sources.list
Password: