Скачать презентацию Занятие 3 Введение в редактор vi Что Скачать презентацию Занятие 3 Введение в редактор vi Что

4deef2c95626ddd1b8628d5ffc9b5b1e.ppt

  • Количество слайдов: 22

Занятие 3 Введение в редактор vi Занятие 3 Введение в редактор vi

Что представляет собой редактор vi? • • • – – – William Joy, Калифорнийский Что представляет собой редактор vi? • • • – – – William Joy, Калифорнийский университет vi - это экранный текстовый редактор поставляется в большинстве версий системы UNIX управляется командами включает следующие классы команд: общеорганизующие управления курсором вставки текста удаления текста вставки ранее удаленного текста изменения текста

vi: Начало сеанса работы Синтаксис: vi [имя_файла] Примеры Начало сеанса редактирования файла $ vi vi: Начало сеанса работы Синтаксис: vi [имя_файла] Примеры Начало сеанса редактирования файла $ vi file 1 vi file 1 Диск Keyboard Все изменения при редактировании выполняются над копией файла, размещенной в оперативной памяти

vi: Режимы работы редактора • Командный режим - нажатия клавиш интерпретируются как команды –исходным vi: Режимы работы редактора • Командный режим - нажатия клавиш интерпретируются как команды –исходным является режим, когда начинается сеанс vi редактирования –нажатие клавиши переводит вас в командный режим –vi команды не отражаются на экране –ex команды префиксируются двоеточием(: ) и отображаются на экране • Режим ввода - информация, соответствующая нажатым клавишам вводится в файл ESC : / ? Режим последней строки Командный режим Return i I a A o O Режим ввода

vi: Сеанс редактирования содержимое файла строки в конце файла Это пример содержимого файла test, vi: Сеанс редактирования содержимое файла строки в конце файла Это пример содержимого файла test, который будет рассматриваться далее ~ ~ ~ Пометки строк, ~ которые не существуют ~ в файле ~ : ex команды сообщения о режиме работы курсор

vi: Завершение сеанса редактирования <Esc> ZZ <Return> диске отображается) <Esc>: wq! <Return> на диске vi: Завершение сеанса редактирования ZZ диске отображается) : wq! на диске и редактора : q! Сохранение файла на (на экране не Сохранение файла выход из Выход без сохранения

Команды управления курсором (1) h или <Back. Space> Перемещение курсора на одну позицию влево Команды управления курсором (1) h или Перемещение курсора на одну позицию влево j k l или Перемещение вниз на одну строку Перемещение вверх на одну строку Перемещение курсора на одну позицию вправо #w Перемещение вперед на слово (word) за словом #b Перемещение назад на слово (backword) за словом #e Перемещение к концу (end) следующего слова $ ^ или 0 Перемещение в конец текущей строки Перемещение в начало текущей строки

Команды управления курсором (2) G #G : # <Ctrl>+<g> <Return> следующей <Ctrl>+<b> <Ctrl>+<f> <Ctrl>+<u> Команды управления курсором (2) G #G : # + следующей + + + + L M H + Переход (Go) в конец файла Переход (Go) на строку с номером # Переход на строку с номером # Вывод номера текущей строки Переход к первому непустому символу на строке Вывод предыдущего (back) содержимого экрана Вывод следующего (forward) содержимого экрана Возврат вверх (up) на половину экрана Переход вниз (down) на половину экрана Переход к последней (last) строке экрана Переход к средней (middle) строке экрана Переход к первой строке экрана (на первую строку, первый символ) Перерисовка экрана

Режим ввода Для переключения в режим ввода используются следующие команды: a Добавление (append) текста Режим ввода Для переключения в режим ввода используются следующие команды: a Добавление (append) текста после курсора i Добавление (insert) текста перед курсором O Открытие (Open) пустой строки над текущей строкой o Открытие (open) пустой строки под текущей строкой A Добавление (Append) текста в конец строки I Вставка (Insert) текста с начала строки В режиме ввода: Появление новой пустой строки (можно разрезать строки) Возвращение влево для исправления введенного Окончание режима ввода. Возвращение в командный режим

Удаление текста: команды x, dw, dd, d. G #x #dw #dd d. G d$ Удаление текста: команды x, dw, dd, d. G #x #dw #dd d. G d$ d^ Удаление (X out) символа над курсором Удаление (Delete) текущего слова (Word) Удаление текущей строки Удаление всех строк от текущей до последней строки файла Удаление конца строки (от текущей позиции) Удаление начала строки (до текущей позиции) Можно задать число, показывающее сколько раз должна быть повторена команда. Например: 3 dd - удалить 3 строки

Команды отмены произведенных изменений u U Отмена (undo) последнего изменения Отмена (Undo) всех изменений Команды отмены произведенных изменений u U Отмена (undo) последнего изменения Отмена (Undo) всех изменений в текущей строке

Перемещение текста: команды p и P. dобъект p после P перед Удаление объекта и Перемещение текста: команды p и P. dобъект p после P перед Удаление объекта и сохранение его в буфере Вставка (paste) содержимого буфера в текст курсора Вставка (Paste) содержимого буфера в текст курсором

Копирование текста: команды yw, yy #yw #yy y. G y$ Копирование (yank) текущего слова Копирование текста: команды yw, yy #yw #yy y. G y$ Копирование (yank) текущего слова в буфер Копирование текущей строки Копирование строк от текущей до конца файла Копирование части строки от курсора до конца строки y^ Копирование части строки от курсора до начала строки Список команд копирования и вставки yобъект Копирование (yank) объекта в буфер p Вставка (paste) содержимого буфера в текст после курсора P Вставка (Paste) содержимого буфера в текст перед курсором

Изменение текста: команды r, R, cw, . rсимвол Заменяет (replace) символ, помеченный курсором на Изменение текста: команды r, R, cw, . rсимвол Заменяет (replace) символ, помеченный курсором на символ R Заменяет (Replace) все символы строки, пока не нажата клавиша #сw Изменение текущего слова #cc Изменение всей текущей строки c. G Изменение всех строк файла от текущей до последней c$ Изменение части строки от курсора до конца строки c^ Изменение части строки от курсора до начала строки . текста, Повтор последнего действия по изменению включая удаление

Поиск текста: команды /, n, N /текст Поиск строки, содержащей заданный текст, начиная от Поиск текста: команды /, n, N /текст Поиск строки, содержащей заданный текст, начиная от текущей строки до конца файла с переходом на начало файла ? текст Поиск строки, содержащей заданный текст, начиная от текущей строки до начала файла с переходом на конец файла n Поиск следующего вхождения в файл заданной строки текста N Поиск предыдущего вхождения в файл заданной строки текста

Поиск текста по шаблону [o. O]ld_text Поиск old_text или Old_text. ^текст Поиск строки начинающейся Поиск текста по шаблону [o. O]ld_text Поиск old_text или Old_text. ^текст Поиск строки начинающейся с текста текст$ Поиск строки заканчивающейся на текст. Поиск по любому одиночному символу. символ* Поиск по символу, который может не встретиться ни разу или любое число раз. . * Поиск по любому символу, который может не встретиться ни разу или любое число раз.

Список регулярных выражений (шаблонов для поиска) [a-z A-Z 0 -9] Определяет класс символов, из Список регулярных выражений (шаблонов для поиска) [a-z A-Z 0 -9] Определяет класс символов, из которого формируется образец для сопоставления. Знак "тире" (—) означает допустимый диапазон символов. Квадратные скобки [] определяют только один символ. ^текст Текст от начала строки. текст$ Текст от конца строки. . Соответствует любому одному символу. символ* Определяет ноль или любое число повторений символа

Примеры составления шаблонов / [Tt]he Поиск очередной строки со словом Примеры составления шаблонов / [Tt]he Поиск очередной строки со словом "The" или "the" / [o 0] [n. N] [e. E] Поиск строки со словом "one", написанным любым из указанных типом символов вне зависимости от позиции в слове (т. е. o. Ne, One, o. NE и т. п. одно и то же) /bo*t Поиск строки, содержащей символ ”b", за которым может быть ноль или любое количество символов "о", за которым, в свою очередь, следует символ "t". Т. е. подходящими окажутся такие слова: "bt", "bottom", "boot", "booot" и т. д. /^ [abc]. * Поиск очередной строки, начинающейся символом "а", " b" или "с". Т. е. это надо понимать так, что подойдет любая строка, начинающаяся с символа "а", "Ь" или "с", вне зависимости от того есть или нет за любым из них какой-либо символ (символы) /finally. $ Поиск очередной строки, оканчивающейся на слово "finally", за которым следует любой символ. Т. е. подойдет любая из строк, оканчивающаяся следующим образом: «finally. » , «finnally. A» , «finally. Z»

Глобальный поиск и замена - команды ex : m, ns/шаблон/новый_текст/[g] Примеры : 1, $s/one/two/ Глобальный поиск и замена - команды ex : m, ns/шаблон/новый_текст/[g] Примеры : 1, $s/one/two/ В каждой строке, с первой по последнюю ($), заменить только первое вхождение слова “one” на слово “two” : . , 10 s/[o. O] [n. N] [e. E]/two/g Во всех строках, начиная с текущей по 10 -ю, заменить каждое вхождение “one”, причем не важно строчными и. или прописными символами оно представлено, на слово “two”

Глобальный поиск и замена - команды ex : m, ns/шаблон/новый_текст /[g] Глобальный поиск и замена - команды ex : m, ns/шаблон/новый_текст /[g]

Команды ex : w запись текущего содержимого буфера на диск Команды ex : w запись текущего содержимого буфера на диск

Команды ex : set опция включение опции режима редактирования : set noопция выключение опции Команды ex : set опция включение опции режима редактирования : set noопция выключение опции режима редактирования : set all вывод всех опций сеанса редактирования