Рефераты. Работа с редактором Vi. Другие текстовые редакторы UNIX

     Команда ^b осуществляет прокрутку экрана назад на полное окно, чтобы отобразить текст, который находится выше текущего экрана. Редактор vi очищает экран и отображает новое окно. В отличие от команды ^f, команда ^b не оставляет в новом окне строки из текущего окна.

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

 

8. Переход на указанную строку

      Команда G позиционирует курсор на указанную строку в окне. Если эта строка не находится в текущем экране, то G очищает экран и отображает окно, содержащее эту строку. Если не указана строка, то команда G перемещает курсор на последнюю строку файла:
G - переместить курсор на последнюю строку в файле;
nG - переместить курсор на строку n.

 

9. Номера строк

     Каждая строка файла имеет номер, соответствующий ее положению в буфере. Чтобы получить номер конкретной строки, переместите курсор на эту строку и введите команду:          ^g

В нижней части экрана команда ^g поместит информацию:

  • имя файла;
  • был ли буфер модифицирован после поледней записи его в файл;
  • номер строки, на которой находится курсор;
  • общее количество строк в буфере.

10. Поиск символов по шаблону: команды / и ?

     Для поиска символов по шаблону вы можете использовать команды /, ?, n и N. Эти команды позволяют осуществлять поиск вперед и назад в буфере следующего появления указанного шаблона символов. Команды n и N позволяют вам повторить последний поиск.

     Команда / и следующий за ней шаблон (/pattern) ведет поиск вперед по буферу следующего появления символов, указанных в шаблоне и помещает курсор на первый символ из шаблона. Например, командная строка:

         /Hello world<CR>

находит первое появление в буфере слов Hello world и помещает курсор под буквой H.

     Команда ? и следующий за ней шаблон (?pattern) ведет поиск в обратном направлении в буфере первого появления символов, указанных в шаблоне и помещает курсор на первый из этих символов. Например, командная строка:

         ?data set design<CR>

находит предыдущее появление в буфере слов data set design и помещает курсор под буквой d в слове data.

     Эти команды поиска не выполняют циклически возврат в случае окончания строки во время поиска двух или более слов. Например, если вам надо найти появление Hello world и окажется, что слово Hello находится в конце одной строки, а слово world - первое слово последующей строки, то эти команды не найдут Hello world.

      В то же время, эти команды поиска выполняют циклический возврат в конце или начале буфера для продолжения поиска. Например, если вы находитесь почти в конце буфера, а символы, которые соответствуют шаблону в начале буфера, то команда поиска / найдет шаблон.

     Команды n и N позволяют повторить предыдущий запрос поиска /pattern или ?pattern:
n - повторить последнюю команду поиска;
N - повторить последнюю команду поиска в обратном направлении.

     Команды / и ? не дают вам возможности указать конкретное появление шаблона с помощью числа. То есть, вы не можете, например, запросить поиск 3-го появления шаблона, начиная с текущей позиции.

11. Создание текста

     Три основные команды позволяют в редакторе vi создавать текст:
a - добавить текст;
i - вставить текст;
o - открыть новую строку, на которой может быть введен текст.

     После того, как вы создали текст с помощью одной из этих команд, можете возвратиться в командный режим редактора vi нажав клавишу ESCAPE.      Чтобы в файл добавить текст, воспользуйтесь следующими командами:  
a - добавить текст после курсора;
A - добавить текст в конце текущей строки.

      Чтобы в файл вставить текст, воспользуйтесь следующими командами:
i - вставить текст до курсора;
I - вставить текст в начале текущей строки до первого ненулевого символа.

Для возврата в командный режим, нажмите клавишу ESCAPE.

     Для открытия строки для текста воспользуйтесь следующими командами:
o - создать текст с начала новой строки, расположенной ниже текущей строки. Вы можете ввести эту команду в любом месте текущей строки;
O - создать текст с начала новой строки, расположенной выше текущей строки. Вы можете ввести эту команду в любом месте текущей строки.

      Команды открытия создают строку непосредственно выше или ниже текущей строки и переводят вас в режим ввода текста. Курсор располагается в начале новой строки и ожидает от вас ввода текста.

 

12. Удаление текста

      Вы можете удалить текст с помощью нескольких команд в командном режиме и небольшой объем в режиме ввода.

12.1. Удаление текста в режиме ввода текста

      Если вы находитесь в режиме ввода текста редактора vi и хотите удалить символ, воспользуйтесь клавишей BACKSPACE: BACKSPACE - удалить текущий символ (слева от курсора).

      Клавиша BACKSPACE перемещает курсор назад в режиме ввода текста и удаляет каждый символ, который курсор переходит. Однако удаленный символ не стирается с экрана пока вы не нажмете клавишу ESCAPE для возврата в командный режим.

     Удалить текст вы можете и с помощью следующих ключей:
^w - отменить ввод текущего слова;
@ - удалить на текущей строке весь введенный во время данного режима ввода текст;
^v - удалить специальное значение, если есть, следующих вводимых символов.

     Когда вы вводите ^w, курсор возвращается на последнее введенное слово и ожидает на первом символе этого слова. Он не стирает слово с экрана до тех пор, пока вы не нажмете клавишу ESCAPE или не введете новые символы на месте этого слова.

12.2. Отменить последнюю команду

     Отменить последнюю введенную команду можно с помощью следующих команд:
u - отменить последнюю команду;
U - восстановить текущую строку в состояние до произведенных изменений.

      Если вы случайно удалили строки, то для отмены команды удаления введите команду u. Удаленные строки вновь появятся на экране. Если вы ввели неправильно команду, то введите команду u и неверная команда будет отменена. Команда U будет аннулировать все изменения в текущей строке до тех пор, пока курсор будет находиться на этой строке.

      Если вы введете команду u дважды, то вторая команда отменит первую. Например, если вы удалили по ошибке строку и восстановили ее с помощью команды u, то нажав второй раз u, вы вновь удалите строку. Знание этих команд может спасти вас от многих неприятностей.

 

13. Команды удаления в командном режиме

      Многие команды редактора vi, такие как команды удаления и изменения, предоставляют вам возможность использовать в командной строке команды перемещения курсора. Команды перемещения курсора могут указывать на объект текста: слово, строка, предложение, параграф. В этом случае общий формат команды будет такой:

         [number][command]text_object

Квадратные скобки указывают, что данные компоненты не являются обязательными.

      Все команды удаления, выдаваемые в командном режиме сразу же удаляют указанный текст с экрана и оставшуюся часть отображают на экране в обновленном виде.

Команда удаления имеет следующий формат:

         [number]dtext_object

где d - команда удаления;
text_object - объект удаления.

13.1. Удаление слов

      Вы можете удалить слово или часть слова с помощью команды d. Переместите курсор к первому удаляемому символу и введите команду dw. Символ, расположенный над курсором и последующие за нми будут стерты. Команда dw удаляет одно слово или знак пунктуации и пробелы, которые следуют за ним. Вы можете удалить несколько слов или знаков пунктуации за один раз, если укажете перед командой соответствующее число. Например, чтобы удалить 3 слова и две запятые, введите команду 5dw.

13.2. Удаление параграфов

Чтобы удалить параграф, воспользуйтесь командой:         d{ или d}

Помните, что вы можете восстановить удаленный текст с помощью команды u.

13.3. Удаление строк

Чтобы удалить строку, введите:     dd

     Для удаления нескольких строк укажите перед командой количество удаляемых строк. Например, команда:     10dd  сотрет 10 строк.

Если вы удаляете несколько строк, то vi отображает в нижней части экрана сообщение типа: 10 lines deleted

Если ниже текущей строки осталось меньше 10 строк, то прозвучит сигнал и строки не удалятся.

13.4. Удаление текста после курсора

     Для удаления всего текста на строке, расположенного после курсора, поместите курсор на первый удаляемый символ и введите:          D или d$

Эта команда удаляет текст только на текущей строке.


14. Модификация текста

     Один из способов модификации текста представляют команды удаления и команды ввода текста. Другой способ, с помощью которого вы можете изменить текст, это задать команду, позволяющую одновременно удалять и создавать текст. В редакторе vi существуют 3 основные команды изменения текста: r, s и c.

14.1. Замена текста

rx - Заменить текущий символ (символ, на который показывает курсор) на x. Эта команда не устанавливает режим ввода текста и, следовательно, нет необходимости нажимать после нее клавишу ESCAPE.

nrx - Заменить n символов на x. После этой команды также не надо нажимать клавишу ESCAPE.

R - Заменяет только те символы, которые введены в режиме ESCAPE. Если будет достигнут конец строки, то эта команда добавит ввод как новый текст.

Например, вы хотите заменить слово acts на ants в следующем предложении:

         The circus has many acts.

Поместите курсор под буквой c в слове acts и введите команду:

         rn

Предложение будет иметь вид:

         The circus has many ants.

Чтобы заменить слово many на 7777, поместите курсор под буквой m в слове many и введите команду:

         4r7

Команда r заменит слово many на четыре цифры 7:

         The circus has 7777 ants.

14.2. Подстановка текста

     Команда подстановки текста заменяет символы, но затем позволяет вам продолжать ввод текста с того места, где вы нажали клавишу ESCAPE.

s - удалить символ, на который указывает курсор и добавить текст. После окончания ввода текста нажмите клавишу ESCAPE;

ns - удалить n символов и добавить текст. После окончания ввода текста нажмите клавишу ESCAPE;

Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.