Чтение онлайн

на главную - закладки

Жанры

Командная строка Linux
Шрифт:

Режимы редактирования

Давайте снова запустим vi, но на этот раз укажем имя несуществующего файла. Именно так можно с помощью vi создать новый файл:

[me@linuxbox ~]$ rm -f foo.txt

[me@linuxbox ~]$ vi foo.txt

В случае успеха на экране должно появиться следующее:

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

"foo.txt" [New File]

Начальные

символы тильды (~) сообщают об отсутствии текста в соответствующих строках. Таким способом vi сообщает нам, что файл пуст. Не вводите пока ничего!

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

Переход в режим вставки

Чтобы добавить какой-то текст в файл, необходимо сначала перейти в режим вставки. Для этого нажмите клавишу I (i). Вслед за этим, если vim работает в обычном расширенном режиме, в нижней части экрана появится надпись (она не появится, если редактор работает в режиме совместимости с vi):

– - INSERT --

Теперь можно ввести какой-нибудь текст. Попробуйте, например:

Съешь же ещё этих мягких французских булок, да выпей чаю.

Чтобы выйти из режима вставки и вернуться в командный режим, нажмите ESC.

Сохранение изменений

Чтобы сохранить изменения в файл, введите ex-команду, находясь в командном режиме. Для этого нажмите клавишу :. После этого в нижней части должен появиться символ двоеточия:

:

Чтобы выполнить запись изменений в файл, вслед за двоеточием введите w и нажмите ENTER:

:w

Файл будет записан на жесткий диск, и в нижней части появится подтверждение:

"foo.txt" [New] 1L, 46C written

ПРИМЕЧАНИЕ

Если заглянуть в документацию к vim, можно заметить, что (по непонятной причине) командный режим в ней называется нормальным режимом, а ex-команды называются командным режимом. Имейте эту неточность в виду.

режим совместимости

В начале этого раздела, где показан экран, который выводится сразу после запуска vim (взят из Ubuntu 8.04), можно заметить текст: «Running in Vi compatible mode» (запущен в режиме совместимости с vi). Это означает, что vim был запущен в режиме, близко повторяющем обычное поведение vi, а не в расширенном режиме vim. Чтобы беспрепятственно следовать за дальнейшим обсуждением в этой главе, запустите vim в расширенном режиме. Для этого в вашем распоряжении имеется пара возможностей:

• запустить редактор командой vim вместо vi (если этот прием сработает, подумайте о том, чтобы добавить псевдоним vi='vim' в свой файл .bashrc file);

выполнить следующую команду, чтобы добавить строку в конфигурационный файл vim:

echo "set nocp" >> ~/.vimrc

В разных дистрибутивах Linux vim упакован по-разному. В некоторых дистрибутивах по умолчанию устанавливается минимальная версия vim, поддерживающая лишь ограниченный набор возможностей vim. Поэтому, выполняя примеры из этой главы, вы можете столкнуться с отсутствием некоторых возможностей, — в этом случае просто установите полную версию vim командой: sudo apt-get install vim.

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

Находясь в командном режиме, vi предлагает большое число команд управления курсором, часть из которых также используется программой less. В табл. 12.1 перечислены некоторые из этих команд.

Таблица 12.1. Клавиши управления курсором

Клавиша

Перемещает курсор

L или стрелка вправо

Вправо на один символ

H или стрелка влево

Влево на один символ

J или стрелка вниз

Вниз на одну строку

K или стрелка вверх

Вверх на одну строку

0 (ноль)

В начало текущей строки

SHIFT+6 (^)

К первому непробельному символу в текущей строке

SHIFT+4 ($)

В конец текущей строки

W (w)

В начало следующего слова или к знаку препинания

SHIFT+W (W)

В начало следующего слова, минуя знаки препинания

B (b)

В начало предыдущего слова или к знаку препинания

SHIFT+B (B)

В начало предыдущего слова, минуя знаки препинания

CTRL+F или Page Down

Вниз на одну страницу

CTRL+B или Page Up

Вверх на одну страницу

число– SHIFT+G

К строке с указанным номером (например, команда 1G выполнит переход к первой строке в файле)

SHIFT+G (G)

К последней строке в файле

Почему для перемещения курсора были выбраны клавиши H, J, K и L? Потому что, когда был написан редактор vi, не все видеотерминалы имели кнопки со стрелками на клавиатуре. Таким образом, опытные пользователи, хорошо владеющие клавиатурой, могли управлять курсором, не отрывая пальцев от клавиш.

Многие команды в vi могут начинаться с числа, как команда G в табл. 12.1. Добавляя число в команду, можно указать, сколько раз она должна быть выполнена. Например, команда 5j переместит курсор на пять строк вниз.

Основы редактирования

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

Поделиться:
Популярные книги

Сводный гад

Рам Янка
2. Самбисты
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Сводный гад

Хозяйка дома в «Гиблых Пределах»

Нова Юлия
Любовные романы:
любовно-фантастические романы
5.75
рейтинг книги
Хозяйка дома в «Гиблых Пределах»

Неудержимый. Книга XVI

Боярский Андрей
16. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVI

Стражи душ

Кас Маркус
4. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Стражи душ

Отмороженный 9.0

Гарцевич Евгений Александрович
9. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный 9.0

Последний Паладин. Том 4

Саваровский Роман
4. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 4

Ливонская партия

Ланцов Михаил Алексеевич
3. Иван Московский
Фантастика:
альтернативная история
5.00
рейтинг книги
Ливонская партия

Возвышение Меркурия. Книга 13

Кронос Александр
13. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 13

Ваантан

Кораблев Родион
10. Другая сторона
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Ваантан

Не отпускаю

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
8.44
рейтинг книги
Не отпускаю

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Действуй, дядя Доктор!

Юнина Наталья
Любовные романы:
короткие любовные романы
6.83
рейтинг книги
Действуй, дядя Доктор!

Шведский стол

Ланцов Михаил Алексеевич
3. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Шведский стол

В теле пацана 4

Павлов Игорь Васильевич
4. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана 4