Командная строка Linux. Полное руководство - [48]
Поскольку добавлять текст в конец строки требуется довольно часто, 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, чтобы вставить пустую строку выше курсора:
Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно.
Строка 2
Строка 3
Строка 4
Строка 5
Выйдите из режима вставки нажатием ESC и введите u, чтобы отменить изменения.
Удаление текста
Как можно догадаться, vi предлагает несколько способов удаления текста, и все они требуют нажатия одной или двух клавиш. Первый способ: клавиша X удаляет символ в позиции курсора. Команде x может предшествовать число, определяющее количество удаляемых символов. Клавиша D более универсальна. Команде d также может предшествовать число, определяющее количество операций удаления. Кроме того, команда d всегда сопровождается командой перемещения курсора, управляющей размером удаляемой области. В табл. 12.3 приводится несколько примеров команды удаления.
Поместите курсор на слово Это в первой строке. Вводите x, пока текст до конца предложения не будет удален. Затем введите несколько раз команду u, чтобы отменить удаление.
ПРИМЕЧАНИЕ
Настоящий редактор vi поддерживает отмену только самой последней команды. vim поддерживает отмену множества команд.
Таблица 12.3. Команды удаления текста
Команда | Удалит |
X | Текущий символ |
3x | Текущий символ и следующие за ним два символа |
dd | Текущую строку |
5dd | Текущую строку и следующие за ней четыре строки |
dW | От символа в текущей позиции курсора до начала следующего слова |
d$ | От символа в текущей позиции курсора до конца текущей строки |
d0 | От символа в текущей позиции курсора до начала строки |
d^ | От символа в текущей позиции курсора до первого непробельного символа в строке |
dG | От текущей строки до конца файла |
d20G | От текущей строки до 20-й строки файла |
Теперь давайте проведем операцию удаления еще раз, но на этот раз воспользуемся командой d. Снова установите курсор на слово Это и введите dW, чтобы удалить слово:
Съешь же ещё этих мягких французских булок, да выпей чаю. классно.
Строка 2
Строка 3
Строка 4
Строка 5
Введите d$, чтобы удалить все от текущей позиции курсора до конца строки:
Съешь же ещё этих мягких французских булок, да выпей чаю.
Строка 2
Строка 3
Строка 4
Строка 5
Введите dG, чтобы удалить все от текущей строки до конца файла:
~
~
~
~
~
Введите u три раза, чтобы отменить операции удаления.
Вырезание, копирование и вставка текста
Команда d не просто удаляет текст, она «вырезает» его. Каждый раз, когда выполняется команда d, удаленный текст копируется в буфер вставки (своего рода буфер обмена — clipboard), откуда позднее его можно извлечь командой p и вставить правее позиции курсора или левее — командой P.
Команда y выполняет копирование (yank) текста в буфер вставки почти так же, как команда d. В табл. 12.4 перечислены некоторые примеры комбинирования команды y с разными командами перемещения курсора.
Таблица 12.4. Команды копирования текста
Команда | Скопирует |
yy | Текущую строку |
5yy | Текущую и следующие четыре строки |
yW | От текущей позиции курсора до начала следующего слова |
y$ | От текущей позиции курсора до конца текущей строки |
y0 | От текущей позиции курсора до начала строки |
y^ | От текущей позиции курсора до первого непробельного символа в строке |
yG | От текущей строки до конца файла |
y20G | От текущей строки до 20-й строки файла |
Давайте попробуем что-нибудь скопировать и вставить. Поместите курсор на первую строку и введите yy, чтобы скопировать текущую строку. Далее, переместите курсор в последнюю строку (G) и введите p, чтобы вставить скопированную строку ниже текущей:
Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно.
Строка 2
Строка 3
Строка 4
Строка 5
Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно.
Введите команду u, чтобы отменить изменение. Оставив курсор в последней строке, введите P, чтобы вставить текст выше текущей строки:
Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно.