Клавиша
|
Перемещает курсор
|
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 отменит последнее выполненное изменение. Это пригодится нам, когда мы будем пробовать некоторые простые команды редактирования.
Добавление текста в конец
vi поддерживает несколько способов входа в режим вставки. Мы уже использовали команду i для вставки текста.
Давайте вернемся к нашему файлу foo.txt:
Съешь же ещё этих мягких французских булок, да выпей чаю.
Если попытаться добавить текст в конец приложения, можно обнаружить, что команда i не позволяет сделать это, не давая переместить курсор за конец строки. vi поддерживает команду добавления текста в конец, разумно названную a. Если переместить курсор в конец строки и ввести a, курсор переместится за конец строки и vi перейдет в режим вставки. Это позволит нам добавить следующий текст:
Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно.
Не забудьте нажать ESC, чтобы выйти из режима вставки.
Поскольку добавлять текст в конец строки требуется довольно часто, vi предлагает сокращенную команду для перемещения в конец строки и перехода в режим добавления. Это команда A. Давайте попробуем с ее помощью добавить еще несколько строк в наш файл.
Сначала командой 0 (ноль) переместите курсор в начало строки. Затем введите A и добавьте следующие строки текста:
Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно.
Строка 2
Строка 3
Строка 4
Строка 5
Снова нажмите клавишу ESC, чтобы выйти из режима вставки.
Как видите, команда A очень удобна, потому что помещает курсор в конец строки перед переходом в режим вставки.
Другой способ вставки текста — вставка строк. Он позволяет вставить пустую строку между двумя имеющимися строками и перейти в режим вставки. Данный способ предлагает два варианта вставки, перечисленные в табл. 12.2.
Таблица 12.2. Команды вставки строк
Команда
|
Вставляет
|
o
|
Строку ниже текущей
|
O
|
Строку выше текущей
|
Рассмотрим действие этих команд на следующих примерах: поместите курсор в строку с текстом Строка 3 и введите o.
Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно.
Строка 2
Строка 3
Строка 4
Строка 5
Под третьей строкой появилась пустая строка, и редактор перешел в режим вставки. Выйдите из режима вставки нажатием ESC. Введите u, чтобы отменить изменения. Введите O, чтобы вставить пустую строку выше курсора:
Читать дальше