Ответы по экзамену операционные системы. Для удобства
Скачать 191.51 Kb.
|
Добавление нового текста в vi.Для перевода редактора vi в режим ввода/вставки текста сразу за позицией курсора в редактируемом файле служит команда а, а для выполнения ввода/вставки текста в позиции курсора служит команда i. После ввода любой из этих команд редактор переходит в текстовой режим до нажатия клавиши Поиск/замена текста в vi.Контекстный поиск, т.е. поиск некоторой последовательности символов, например abed, производится путем набора символа slash («/»), сразу за которым набирается последовательность контекста (abed), после чего нажимается клавиша <ВВ>. В результате курсор передвинется вперед по файлу к ближайшей последовательности abed, если такая существует. Переход к следующей последовательности контекста – по нажатию клавиши N – то же, но назад по файлу. Возможен вариант этой команды с поиском назад по файлу с заменой символа slash на ?, тогда нажатие клавиши G вызовет переход к следующему контексту назад по файлу и клавиши N -вперед по файлу. Для замены слова, в котором позиционирован курсор, на любое другое необходимо ввести команду, задаваемую комбинацией клавиш CW, после чего, до нажатия клавиши Для одновременного выполнения контекстного поиска и замены служат более сложные командные последовательности. Эти командные последовательности вводятся в зоне команд редактора vi. В этой же зоне вводятся команды выхода из редактора. Для помещения курсора в зону команд (обычно это - самая нижняя из видимых строк видеотерминала, она не является частью редактируемого файла) необходимо в командном режиме набрать символ (нажать клавишу) двоеточие («:»). Так, для замены <старой__последовательности__символов> вперед по файлу и замены только этой первой найденной последовательности служит последовательность :n,Ns/<старая__последовательность_символов>/<новая__последовательность символов>/S <ВВ> То же, но с изменениями направления просмотра – назад по файлу: :n,Ns?<старая_последовательность_символов>?<новая_последовательность символов>?S <ВВ> Функциональные особенности вызова команд визуального редактора vi.Для работы в редакторах такого типа необходимо знать, в каком из режимов – командном или текстовом – находится пользователь, запросивший ресурсы редактора. В командном режиме объектом работы редактора является файл в целом, в текстовом – отдельная строка (строки) файла. В режиме использования зоны команд возможно обращение непосредственно из визуального редактора vi к некоторым командам ОС UNIX с возвратом в командный режим vi путем нажатия либо <ВВ> (нормальное завершение вызова команды ОС UNIX), либо Для пользователя, находящегося в командном режиме визуального редактора vi, возможно выполнение следующих, необходимых для редактирования, действий: • перемещение в редактируемом файле (перемещение курсора или маркера); • контекстный поиск и замена в файле; • выход из редактора с сохранением или без сохранения изменений в файле; • ввод команд редактирования в позиционированной области файла. Для возврата из текстового режима в командный пользователю, находящемуся в текстовом режиме, достаточно хотя бы один раз нажать клавишу • ввод (вставка) текста с позиции/после позиции, отмеченной маркером; • ввод (вставка) текста во вновь образованную пустую строку над строкой файла, отмеченной маркером. После перехода в командный режим позиционирования маркера производится путем нажатия алфавитных клавиш H (влево), J (ВНИЗ), K (вверх), L (вправо), расположенных на стандартной QWERT – клавиатуре подряд. Возможно нажатие комбинации nnH, nnJ, nnK, nnL, вызывающее сдвиг маркера в выбранном направлении сразу на nn позиций (nn – это число, вводимое путём нажатия на цифровые клавиши стандартной алфавитно-цифровой клавиатуры: так, чтобы переместиться в файле на двенадцать строк вниз, нажмите последовательно три клавиши – 1, 2 и J) . Если заранее известен номер в файле позиционируемой строки, то для перемещения в эту строку можно воспользоваться комбинацией нажимаемых клавиш xxG, где хх – номер строки. Простое нажатие клавиши G перемещает указатель на самую последнюю строку файла, а нажатие |