Операционная система Linux



     индивидуалки ростова на дону. |          

Работа с фрагментами текста - часть 2


Это файл для примеров. Пример 1. Моя #vi... ~ ~ ~ -- ВСТАВКА -- 3,5 Весь

Пример 9.6. Команда замены в Vi (html, txt)

В примере знак "#" обозначает позицию курсора: как видно, Vi удалил три слова, попавшие в зону действия команды и сразу перешел в режим вставки. Мефодию осталось только набрать что-то взамен.

Перестановка частей – типичная задача, возникающая в процессе редактирования. Для перестановки требуется удалить фрагмент в одном месте текста и вставить его же в другом. Для решения первой части задачи в Vi нет специальных средств, потому что любая команда удаления ("d", "c", "x" и др.) сохраняет удаленный текст в специальном регистре. Для вставки последнего удаленного фрагмента служит команда "p" в командном режиме (от "put", положить). При помощи этой команды Мефодий может вставить только что удаленные им командой "c3w" три слова:

Это файл для примеров. Пример 1. Моя новая строка для vi... первая строка в ~ ~ 4,1 Весь

Пример 9.7. Вставка удаленного фрагмента (html, txt)

Для того чтобы скопировать фрагмент текста, служит команда "y" (от "yank" – забрать, сдернуть): она не удаляет текст, а просто сохраняет его в том же регистре, что и команды удаления. Команду "y" можно использовать в гнездовых командах, например, "y5w" сохранит в регистре фрагмент текста от курсора до начала пятого слова. Вставить скопированный фрагмент можно все той же командой "p". Однако таким способом можно вставлять только текст, удаленный или скопированный последним, для хранения нескольких разных фрагментов текста следует использовать именованные регистры (см. подробнее в руководстве по Vim).

Для того чтобы применить команду к нескольким строкам текста, не обязательно подгонять к ним курсор. В командной строке Vi любой команде может предшествовать указание диапазона в тексте, к которому следует эту команду применить. Команды с указанием диапазона выглядят так: ":начало,конец}команда", где начало и конец – это адреса начальной и конечной строк диапазона (т. е. фрагмента текста), а команда – это команда режима командной строки, такая как ":w" или ":r". Многие команды командного режима (в частности, "d" и "y") доступны также и в командной строке. В качестве адреса можно использовать номера строк в файле (команда ":1,5y" будет означать "скопировать в регистр строки с первой по пятую"), есть специальные обозначения для текущей строки ("."), последней строки ("$") и всего файла ("%"). Указать границу диапазона можно и при помощи шаблона: граничной будет считаться та строка, в которой обнаружится шаблон.

Последним свойством Мефодий воспользовался, чтобы удалить плоды своих экспериментов: он выполнил команду ":/Пример 1/,$d" (от строки "Пример 1" до конца файла – удалить):

Это файл для примеров. ~ ~ ~ 3 fewer lines

Пример 9.8. Удаление диапазона по шаблону. Выполнена команда ":/Пример 1/,$dEnter". (html, txt)




Содержание  Назад  Вперед