Кабінет інформаційних технологій p>
Головного навчального центру ВАТ «Укртелеком» у м. Луганську p>
Реферат p>
на тему: p>
Робота з редактором Vi. p>
Інші текстові редактори UNIX. p>
слухач: Литвин В.М. p>
група: 11.2.8 p>
керівник : Зайко К.В. p>
м. Луганськ 2003р. p>
Зміст p>
Введення
3
1. Початкові установки 3
2. Створення файлу 4
3. Режими редактора 5
4. Редагування тексту в командному режимі 6
5. Завершення роботи c vi 7
6. Переміщення курсору по екрану 8
7. Позиціонування курсора на неотображаемом тексті 10
8. Перехід на вказаний рядок 11
9. Номери рядків 11
10. Пошук символів за шаблоном: команди/і? 12
11. Створення тексту 12
12. Видалення тексту 13
13. Команди видалення в командному режимі 14
14. Модифікація тексту 15
15. Витяг і приєднання тексту 17
16. Копіювання та переміщення тексту з використанням регістрів 18
17. Спеціальні команди 18
18. Використання команд рядковому редактора 19
19. Завершення роботи з редактором vi 21
20. Спеціальні опції для vi 22
21. Інші текстові редактори UNIX 23 p>
Список джерел інформації 28 p>
Введення p>
Редактор vi є потужним засобом для створення і редагуванняфайлів. Він призначений для роботи на відеотерміналів і використовує вікна,за допомогою яких можна переглядати текст файлу. Кілька простихкоманд дозволяють зробити зміни в тексті, які дуже швидковідображаються на екрані. Редактор може відобразити один або кілька рядківтексту. Він дозволяє пересувати курсор в будь-яку точку на екрані або вфото, створювати, змінювати або видаляти текст. Можна також використовуватидеякі команди рядковому редактора, такі як глобальні команди,які дозволяють змінювати безліч появ деякої рядка символів,використовуючи одну команду. Щоб рухатися по файлу, можна прокручувати текствперед або назад. p>
Редактор vi має більше 100 команд. У цьому розділі описані основнікоманди, які дозволять використовувати vi просто, але ефективно. Особливеувагу буде приділено виконанню наступних завдань, що дозволяють: p>
. змінити оточення shell, щоб встановити конфігурацію вашого терміналу; p>
. зробити доступним автоматичне повернення каретки; p>
. розпочати роботу з редактором vi, створити текст, виправити помилки, записати текст у файл і завершити роботу; p>
. перемістити текст всередині файлу; p>
. розбити і злити текст; p>
. використовувати спеціальні команди і скорочення; p>
. використовувати команди рядковому редактора, доступні усередині vi; p>
. тимчасово повернутися в shell, щоб виконати команди shell; p>
. відновити файл, втрачений через переривання сесії редагування; p>
. редагувати декілька файлів в одній сесії. p>
1. Початкові установки p>
У цьому підрозділі описано, як робити установку конфігураціїтерміналу, щоб правильно працював редактор vi. p>
1.1. Установка конфірураціі терміналу p>
Перед тим, як почати працювати з редактором vi, необхідно повідомитисистемі UNIX, який тип терміналу буде використовуватися. Це пов'язано з тим,що програмне забезпечення vi по різному виконані на різних терміналах. p>
Кожному типу терміналу відповідає кодове ім'я, яке розпізнаєтьсясистемою UNIX. p>
Щоб встановити конфігурацію терміналу, необхідно ввести: p>
TERM = terminal_name export TERM tput init p>
У першому рядку змінної TERM привласнюється конкретне значення (типтерміналу). Другий рядок експортує це значення; вона передає цезначення всіх програмах системи UNIX, виконання яких залежить від типувикористовуваного терміналу. p>
Команда tput в третьому рядку виробляє установку програмногозабезпечення для терміналу, щоб він правильно функціонував з системою
UNIX. P>
1.2. Зміна конфігурації p>
Якщо редактор vi буде використовуватися часто, то необхідно зробитивідповідні зміни з установки конфігурації терміналу у файлі
. profile. Цей файл повинен знаходитися у власному довіднику. P>
Якщо вказати відповідні установки для терміналу у файлі
. profile, то термінал буде автоматично налаштовуватися кожного разу приреєстрації. p>
Якщо необхідно, щоб клавіша RETURN відпрацьовувала автоматично підчас роботи з редактором vi, створіть файл з ім'ям. exrc у власномудовіднику. В файлі. Exrc міститимуться опції, які управляютьсередовищем редактора vi. p>
Щоб створити файл. exrc, потрібно ввести при виклику редактора ім'я цьогофайлу. Потім у першому рядку тексту введсті специфікацію циклічногорежиму (автоматичне повернення каретки). Формат цієї опції: p>
: set wm = nде n - число символів на рядку екрана, після якого повиненавтоматично з'являтися повернення каретки. Він може стояти тільки міжсловами, але не між складами слова. p>
Для перевірки установки і циклічний режим для вашого терміналу вредакторі vi, потрібно ввести команду: p>
: set p>
Команду set також можете використовувати і для створення або зміниопції циклічного режиму. p>
2. Створення файлу p>
Щоб створити файл, введіть: vi filename p>
Коли ввести команду vi з іменем файла, vi очистить екран і відобразитьвікно, в яке можна вводити і редагувати текст. p>
3. Режими редактора p>
Редактор vi функціонує в двох режимах: режим введення і команднийрежим. У режимі введення можна додавати і модифікувати текст; в командномурежимі можна: p>
. редагувати і змінювати існуючий текст; p>
. видаляти, переміщати і копіювати текст; p>
. пересуватися по всьому файлу; p>
. виконувати інші завдання. p>
3.1. Створення тексту в режимі Append p>
Якщо вхід в редактор vi зроблено успішно, то ми відразу ж потрапляємо вкомандний режим і vi очікує введення ваших команд. Щоб створити текстнеобхідно: p>
. ввести a, щоб перейти до режиму введення (не натискаючи клавішу RETURN). p>
Тепер можна додати текст до файлу (файл не друкується на екрані); p>
. ввести потрібний текст; p>
. перейти на новий рядок і натиснути клавішу RETURN. p>
Якщо вказано циклічний режим у файлі. exrc, то будемо переходитина новий рядок кожного разу, коли досягнемо точки автоматичного поверненнякаретки. p>
3.2. Вихід з режиму Append p>
Після закінчення створення, натиснути клавішу ESCAPE, щоб з режиму введенняперейти до командного режиму. Тепер можна редагувати текст, який бувстворено або записаний p>
Create some text in the screen editor and return to command mode. p>
Якщо натиснути клавішу ESCAPE і буде занадто звуковий сигнал, то цеозначає, що ми вже перейшли в командний режим. Натискання клавіші ESCAPE в тойчас, коли знаходимося в командному режимі, ніяк не впливає на текст уфайлі, навіть якщо ми натиснемо її кілька разів. p>
4. Редагування тексту в командному режимі p>
У загальному випадку редагування файлу - це додавання, зміна,видалення тексту. Щоб виконати ці завдання ви повинні навчитися переходитивід однієї сторінки тексту до іншої сторінки, від одного рядка до іншої іміж певними точками на рядок. У цьому підрозділі описані командидодавання та видалення тексту і способи премещенія курсору. p>
4.1. Переміщення курсора p>
Клавіші переміщення курсору дозволяють вам переміщати курсор по файлу.
Курсор можна перемістити за допомогою наступних клавіш: p>
h - переміщує курсор на один символ вліво; p>
j - переміщує курсор вниз на один рядок; p>
k - переміщує курсор вгору на один рядок; p>
l - переміщує курсор на один символ вправо; p>
Команди j і k зберігають позицію курсора на рядок. Наприклад, якщокурсор перебував на 17-му символі ліворуч, то коли ви введете команду j абоk, то він переміститься на новий рядок, але перебуватиме на 17-му символі.
Якщо символів у новій рядку менше, то курсор переместітcя на останнійсимвол рядка. p>
Примітка. Деякі термінали мають спеціальні символи управліннякурсором, позначені стрілками. Ці стрілки можна використовувати замістьклавіш h, j, k, l. p>
Якщо перед h, j, k, l поставити число, то курсор пересунеться накількість рядків/символів, рівних числа. Наприклад, якщо треба пересунутикурсор на 4 рядки вгору, введіть 4k. Якщо ви не можете просунутися далів цьому напрямку, то vi подасть звуковий сигнал і курсор залишиться наколишньому місці.
Щоб перемістити курсор на 35 рядків униз, введіть: 35j p>
Додатково до клавіш h і l можна використовувати клавіші SPACEBAR і
BACKSPACE для переміщення курсору вправо або вліво. P>
- перемістити курсор на один символ вправо; p>
- перемістити курсор на n символів вправо; p>
- перемістити курсор на один символ вліво; p>
- перемістити курсор на n символів вліво; p>
4.2. Видалення тексту p>
Якщо ви хочете видалити символ, перемістіть курсор до цього символу інатисніть x. Перед x може стояти число, яке говорить про те, скількисимволів поспіль потрібно видалити. Редактор vi так коригує рядок, що намісці віддаленого символу не залишається порожнього проміжку або на місцівіддаленої рядки - порожнього рядка. p>
4.3. Додавання тексту p>
У редакторі vi існує дві команди для додавання тексту: insert (i)і append (a). Щоб додати текст за допомогою команди i, перемістіть курсор употрібне місце з допомогою клавішею h, j, k, l. Потім натисніть i і введітьтекст. Введений вами текст з'явиться на екрані зліва від символу, на якийвказує курсор. Цей символ і всі інші праворуч від курсору будутьпересунуті вправо, щоб звільнити місце для вашого нового тексту.
Редактор vi зберігатиме символи, що вводяться вами, до тих пір, поки ви ненатиснете клавішу ESCAPE. Якщо необхідно, пересунути символи будутьперенесені на наступний рядок. p>
Таким же чином ви можете використовувати команду a. Відмінність полягає вте, що новий текст з'явиться праворуч від символу, до якого підведенокурсор. p>
5. Завершення роботи c vi p>
Коли ви закінчите роботу з текстом, необхідно записати вмістбуферу в файл і повернути управління shell. Для цього натисніть клавішу
SHIFT і двічі натисніть Z (ZZ). Редактор зберіг ім'я того файлу, який вивказали на початку сеансу редагування, і в цей файл перепише текст збуфера. Зверніть увагу, що внизу екрану дається ім'я файлу і кількістьрядків і символів у файлі. Потім shell видає вам підказку.
Приклад. P>
This is a text file. P>
I am adding text to a temporary buffer and now it is perfect. P>
I want to write this file, and return to the shell. p>
- p>
- p>
- p>
- p>
"stuff" [New file] 6 lines, 135 characters p>
$ p>
Ви також можете використовувати команди: w і: q редактора vi для записуфайла і закінчення роботи з редактором. Команди редактора починаються здвокрапки (:) і з'являються в останньому рядку екрану. Команда: w записуєбуфер у файл. Команда: q завершує роботу редактора і повертає керуванняshell. Ви можете ввести ці команди окремо, або в одній команді: wq p>
6. Переміщення курсору по екрану p>
Раніше ви познайомилися з тим, як переміщати курсор за допомогою клавішіh, j, k, l, BACKSPACE і SPACEBAR. У цьому підрозділі наводяться щекілька команд, які допоможуть вам швидко переміщати курсор по екрану.
Ці команди виконуються в командному режимі. P>
6.1. Позиціонування курсора на символ p>
Для позиціонування курсору на символ в рядку існують три способи: p>
. перемістити курсор вправо або вліво до потрібного символу; p>
. перемістити курсор на початок або кінець рядка; p>
. пошук символу на рядок. p>
Перемістити курсор на перший або останній символ в рядку можнанаступним чином:
$ - Перемістити курсор на останній символ в рядку; p>
0 (нуль) - перемістити курсор на перший символ в рядку; p>
^ - перемістити курсор на перший ненульовий символ в рядку. p>
Третій спосіб позиціонування курсору в рядку - це пошук зазначеногосимволу на поточному рядку. Якщо символ не знайдено на поточному рядку, тоз'являється звуковий сигнал і курсор залишається на колишньому місці. Існуютькоманди, які проводять пошук за шаблоном. Вони будуть описані далі. Тутнаведемо 6 команд для пошуку всередині рядки: f, F, t, T,; (двокрапка) і
, (кома). Після f, F, t і T ви можете вказати символ:fx - здійснює пошук зазначеного символу x праворуч від поточної позиції курсору;
Fx - здійснює пошук зазначеного символу x ліворуч від поточної позиціїкурсору;tx - здійснює переміщення курсору вправо на символ до зазначеногосимволу x;
Tx - здійснює переміщення курсору вліво на символ до зазначеного символуx;
; - Повторює попередній пошук символу. Команда; запам'ятовує символ і шукаєнаступне поява символу в поточному рядку;
, - Повторює попередній пошук символу, але в зворотному напрямку. Команда
; Запам'ятовує символ і шукає наступне поява символу в поточному рядку; p>
Команда - (мінус) переміщує курсор на один рядок вгору, позиціонуючийого на перше ненульовий символі. Щоб перемістити курсор більш ніж на одинсимвол, вкажіть перед знаком мінус кількість рядків. Наприклад, щобперемістити курсор вгору на 13 рядків, то вводьте: 13 - p>
Якщо ці рядки знаходяться вище відбитого екрану, то вікнопереміститься так, щоб відкрити їх. Цей спосіб допомагає швидкопереміщатися по файлу. Якщо вище виявиться менше 13-ти рядків, то звуковийсигнал підкаже вам, що ви зробили помилку і курсор залишиться у своємуколишньому положенні. p>
Команда + (плюс) або переміщує курсор вниз на один рядок іпозиціонує на першому непорожній символ. Перед командою + можна вказатикількість рядків, на яке ви хочете перемістити курсор. Наприклад, щобперемістити курсор на 9 рядків униз, введіть: 9 + p>
Якщо деякі рядки розташовані нижче поточного екрану, то вікнопереміститься вниз, щоб відкрити їх. p>
6.2. Позиціонування слів p>
Редактор vi припускає, що слово - це рядок символів, щоможе включати в себе букви, цифри та символи підкреслення. У редакторі viіснує 6 команд позиціонування: w, b, e, W, B і E. Команди w, b, eрозглядають будь-який символ, відмінний від букви, цифри або підкреслення, якроздільник, що означає початок або кінець слова. Пунктуація до або післяпорожнього простору є роздільником слів. Символ початку або кінцярядки також є роздільником. p>
Команди W, B, E розглядають пунктуатію як частина слова. Словарозділяються порожнім простором, який складається з символів пробіл,табуляція і новий рядок.
Команди позиціонування:w - переміщує курсор на початок наступного слова;nw - переміщує курсор до початку n-го слова; кінець рядка не зупиняєрух курсору. Він продовжує підрахунок слів з початку наступного рядка;
W - ігнорує всі знаки пунктуації і переміщує курсор на наступне післяпробілу слово;e - переміщує курсор на останній символ в наступному слові;
E - переміщує курсор на останній символ у слові. Ігнорує всі символипунктуації за виключенням пробілу. Слова розділяються пробілами;b - переміщує курсор до першого символу попереднього слова;nb - переміщує курсор до першого символу n-го попереднього слова. Команда bне зупиняється на початку рядка і продовжує рух до початку рядка;
B - використовується подібно команді b, за винятком того, що словарозділяються лише символами пробіл та новий рядок. Вона розглядає всіінші символи пунктуації як букви. p>
6.3. Позиціонування курсора на пропозицію p>
Редактор vi також розпізнає пропозиції. У редакторі vi пропозиціюзакінчується знаками!,. чи?. Якщо ці роздільники з'являються всередині рядка, то за ними мають стояти два пропуску, щоб vi їх мігрозпізнати. p>
Ви можете переміщати курсор від пропозиції до пропозиції у файлі здопомогою команд (- відкриває дужка и) - що закриває дужка.
(- Переміщує курсор у початок поточного пропозиції;n (- переміщує курсор у початок n-го пропозиції вище поточного пропозиції; p>
) - переміщує курсор у початок наступного пропозиції;n) - переміщує курсор у початок n-го пропозиції, наступного за поточнимпропозицією. p>
6.4. Позиціонування курсора по параграфах p>
параграфи розпізнаються редактором vi, якщо вони починаються після порожнійрядка. Якщо ви хочете переміщати курсор по параграфах, то при створеннітексту не забудьте в кінці кожного параграфа поставити пустий рядок.
(- Перемістити курсор у початок поточного параграфа, який обмежуєтьсясимволом нового рядка;n (- перемістити курсор у початок n-го параграфа, наступного за поточнимпараграфом;
) - Перемістити курсор у початок наступного параграфа;n) - перемістити курсор у початок n-го параграфа нижче поточного рядка. p>
6.5. Позиціонування у вікні p>
Редактор vi надає вам 3 команди, які дозволяють вампозиціонувати курсор у вікні. Ці команди повинні бути введені на верхньомурегістрі:
H - перемістити курсор до першого рядку екрана; p>
M - перемістити курсор до середньої рядку екрана; p>
L - перемістити курсор до останньому рядку екрану. P>
7. Позиціонування курсора на неотображаемом тексті p>
У цьому підрозділі описується, як перемістити курсор на текст,який не відображено на поточному екрані. Ви можете зробити це в такийтак: p>
. прокрутка вперед і назад файлу; p>
. перейти до зазначеної рядку у файлі; p>
. пошук за шаблоном у файлі. p>
Чет?? ре команди редактора vi дозволяють вам здійснювати прокруткутексту файлу. Команди ^ f (f) і ^ d (d) проводять прокручування екранувперед, а команди ^ b (b) і ^ u (u) - прокручування екрану тому. p>
Команда ^ f здійснює прокручування вперед на одне вікно тексту,розташованого нижче поточного вікна. Редактор vi очищає екран і виводитьнове вікно. Два останні рядки поточного вікна відображаються у верхній частинінового вікна. Якщо вікно доповнено порожніми рядками, то вони позначаються знаком
~ (Тильда) p>
Команда ^ d здійснює прокручування на половину екрану, щоб відобразититекст, розташований нижче вікна. Якщо курсор знаходиться на останньому рядкуфайла і ви натиснете ^ d, то vi подасть звуковий сигнал. p>
Команда ^ b здійснює прокручування екрану тому на повне вікно, щобвідобразити текст, який знаходиться вище поточного екрана. Редактор viочищає екран і відображає нове вікно. На відміну від команди ^ f, команда ^ bне залишає у новому вікні рядки з поточного вікна. p>
Команда ^ u здійснює прокручування половини екрану, щоб відобразититекст, розташований вище вікна. Якщо курсор досягне початку файлу, то viподасть звуковий сигнал. p>
8. Перехід на вказаний рядок p>
Команда G позиціонує курсор на вказаний рядок у вікні. Якщо цярядок не знаходиться в поточному екрані, то G очищає екран і відображає вікно,що містить цей рядок. Якщо не вказана рядок, то команда G переміщуєкурсор на останній рядок файлу: p>
G - перемістити курсор на останній рядок у файлі; p>
nG - перемістити курсор на рядок n. p>
9. Номери рядків p>
Кожен рядок файлу має номер, що відповідає її положенню вбуфері. Щоб отримати номер конкретної рядки, перемістіть курсор на цюрядок і введіть команду: ^ g
У нижній частині екрана команда ^ g помістить інформацію: p>
. назва файлу; p>
. чи був буфер модифікований після поледней запису його у файл; p>
. номер рядка, на якій знаходиться курсор; p>
. загальна кількість рядків в буфері. p>
10. Пошук символів за шаблоном: команди/і? P>
Для пошуку символів за шаблоном ви можете використовувати команди /,?, Nі N. Ці команди дозволяють здійснювати пошук вперед і назад в буферінаступного появи зазначеного шаблону символів. Команди n і N дозволяютьвам повторити останній пошук. p>
Команда/і наступний за нею шаблон (/ pattern) веде пошук вперед побуферу наступного появи символів, зазначених у шаблоні і поміщає курсорна перший символ з шаблону. Наприклад, командний рядок: p>
/Hello worldзнаходить перша поява в буфері слів Hello world і поміщає курсор підбуквою H. p>
Команда? і наступний за нею шаблон (? pattern) веде пошук у зворотномунапрямку в буфері першої появи символів, зазначених у шаблоні іпоміщає курсор на першому з цих символів. Наприклад, командний рядок: p>
? Data set designзнаходить попереднє поява в буфері слів data set design і поміщаєкурсор під буквою d у слові data. p>
Ці команди пошуку не виконують циклічно повернення у разі закінченнярядки під час пошуку двох або більше слів. Наприклад, якщо вам треба знайтипоява Hello world і виявиться, що слово Hello знаходиться в кінці однієїрядки, а слово world - перше слово наступного рядка, то ці команди незнайдуть Hello world. p>
У той же час, ці команди пошуку виконують циклічний повернення вНаприкінці або початку буфера для продовження пошуку. Наприклад, якщо визнаходитесь майже наприкінці буфера, а символи, які відповідають шаблону впочатку буфера, то команда пошуку/знайде шаблон. p>
Команди n і N дозволяють повторити попередній запит пошуку/patternчи? pattern: p>
n - повторити останню команду пошуку; p>
N - повторити останню команду пошуку в зворотному напрямку. p>
Команди/і? не дають вам можливості вказати конкретне появашаблону за допомогою числа. Тобто, ви не можете, наприклад, запит на пошук 3 --го появи шаблону, починаючи з поточної позиції. p>
11. Створення тексту p>
Три основні команди дозволяють у редакторі vi створювати текст: p>
a - додати текст; p>
i - вставити текст; p>
o - відкрити новий рядок, на якій може бути введений текст. p>
Після того, як ви створили текст за допомогою однієї з цих команд,можете повернутися у командний режим редактора vi натиснувши клавішу ESCAPE.
Щоб у файл додати текст, скористайтеся наступними командами: p>
a - додати текст після курсору; p>
A - додати текст у Наприкінці поточного рядка. p>
Щоб у файл вставити текст, скористайтеся наступними командами: p>
i - вставити текст до курсору; p>
I - вставити текст на початку поточного рядка до першого ненульового символу.
Для повернення в командний режим, натисніть клавішу ESCAPE. P>
Для відкриття рядки для тексту скористайтеся наступними командами: p>
o - створити текст з початку нового рядка, розташованого нижче поточного рядка.
Ви можете ввести цю команду в будь-якому місці поточного рядка; p>
O - створити текст з початку нового рядка, розташованій вище поточного рядка.
Ви можете ввести цю команду в будь-якому місці поточного рядка. P>
Команди відкриття створюють рядок безпосередньо вище або нижче поточноїрядки і переводять вас в режим введення тексту. Курсор розташовується на початкунового рядка і чекає від вас введення тексту. p>
12. Видалення тексту p>
Ви можете видалити текст за допомогою кількох команд у командномурежимі і невеликий об'єм під час введення. p>
12.1. Видалення тексту під час введення тексту p>
Якщо ви знаходитесь в режимі введення тексту редактора vi і хочетевидалити символ, скористайтеся клавішею BACKSPACE: BACKSPACE - видалитипоточний символ (ліворуч від курсору). p>
Клавіша BACKSPACE переміщує курсор тому під час введення тексту івидаляє кожен символ, який курсор переходить. Однак віддалений символ нестирається з екрану поки ви не натиснете клавішу ESCAPE, щоб повернутися докомандний режим. p>
Видалити текст ви можете і за допомогою наступних ключів: p>
^ w - скасувати введення поточного слова; p>
@ - видалити на поточному рядку весь введений під час даного режиму введеннятекст; p>
^ v - видалити спеціальне значення, якщо є, наступних символів. p>
Коли ви вводите ^ w, курсор повертається на останнє введене словоі чекає на першому символі цього слова. Він не пере слово з екрана дотих пір, поки ви не натиснете клавішу ESCAPE або не введете нові символи намісці цього слова. p>
12.2. Скасувати останню команду p>
Скасувати останню введену команду можна за допомогою наступних команд: p>
u - відмінити останню команду; p>
U - відновити поточний рядок в стан до проведених змін . p>
Якщо ви випадково видалили рядка, то для скасування команди видаленнявведіть команду u. Віддалені рядка знову з'являться на екрані. Якщо ви ввелинеправильно команду, то введіть команду u і невірна команда будескасована. Команда U буде анулювати всі зміни в поточному рядку дотих пір, поки курсор перебуватиме на цьому рядку. p>
Якщо ви введете команду u двічі, то друга команда скасує першими.
Наприклад, якщо ви видалили помилково рядок і відновили її за допомогоюкоманди u, то натиснувши вдруге u, ви знову видаліть рядок. Знання цихкоманд може врятувати вас від багатьох неприємностей. p>
13. Команди видалення в командному режимі p>
Багато команди редактора vi, такі як команди видалення та зміни,надають вам можливість використовувати в командному рядку командипереміщення курсору. Команди переміщення курсора можуть вказувати на об'єкттексту: слово, рядок, речення, параграф. У цьому випадку загальний форматкоманди буде такий: p>
[number] [command] text_object
Квадратні дужки вказують, що дані компоненти не єобов'язковими. p>
Всі команди видалення, що видаються в командному режимі відразу ж видаляютьзазначений текст з екрану і частину, що залишилася відображають на екрані воновленому вигляді.
Команда видалення мають такий вигляд: p>
[number] dtext_objectде d - команда видалення; p>
text_object - об'єкт видалення. p>
13.1. Видалення слів p>
Ви можете видалити слово або частину слова за допомогою команди d.
Перемістіть курсор до першого видаляється символу і введіть команду dw.
Символ, розташований над курсором і наступні за НМІ будуть стерті.
Команда dw видаляє одне слово або знак пунктуації та прогалини, якійдуть за ним. Ви можете видалити кілька слів чи знаків пунктуації заодин раз, якщо вкажете перед командою відповідне число. Наприклад,щоб видалити 3 слова і дві коми, введіть команду 5dw. p>
13.2. Видалення параграфів p>
Щоб видалити параграф, скористайтеся командою: d (або d)
Пам'ятайте, що ви можете відновити видалений текст за допомогою команди u. p>
13.3. Видалення рядків p>
Щоб видалити рядок, введіть: dd p>
Щоб видалити кілька рядків вкажіть перед командою кількістьвидалення рядків. Наприклад, команда: 10dd зітре 10 рядків.
Якщо ви видаляєте кілька рядків, то vi відображає в нижній частині екранаповідомлення типу: 10 lines deleted
Якщо нижче поточного рядка залишилося менше 10 рядків, то пролунає сигнал ірядки не втечуть. p>
13.4. Видалення тексту після курсору p>
Для видалення всього тексту на рядку, розташованого після курсору,помістіть курсор на перший видаляється, символ і введіть: D або d $
Ця команда видаляє текст тільки на поточному рядку. P>
14. Модифікація тексту p>
Один із способів модифікації тексту представляють команди видалення ікоманди введення тексту. Інший спосіб, за допомогою якого ви можете змінититекст, це вказати команду, що дозволяє одночасно видаляти і створюватитекст. У редакторі vi існують 3 основні команди зміни тексту: r, sі c. p>
14.1. Заміна тексту p>
rx - Замінити поточний символ (символ, на який показує курсор) на x.
Ця команда не встановлює режим введення тексту і, отже, немаєнеобхідності натискати після неї клавішу ESCAPE.nrx - Замінити n символів на x. Після цієї команди також не треба натискатиклавішу ESCAPE.
R - Замінює тільки ті символи, які введені в режимі ESCAPE. Якщо будедосягнуто кінець рядка, то ця команда додасть введення як новий текст.
Наприклад, ви хочете замінити слово acts на ants в наступному реченні: p>
The circus has many acts.
Помістіть курсор під літерою c у слові acts і введіть команду: rn
Пропозиція буде мати вигляд: p>
The circus has many ants.
Щоб замінити слово many на 7777, помістіть курсор під літерою m в словіmany і введіть команду: p>
4r7
Команда r замінить слово many на чотири цифри 7: p>
The circus has 7777 ants. P>
14.2. Підстановка тексту p>
Команда підстановки тексту замінює символи, але потім дозволяє вампродовжувати введення тексту з того місця, де ви натиснули клавішу ESCAPE.s - видалити символ, на який вказує курсор і додати текст. Післязакінчення введення тексту натисніть клавішу ESCAPE;ns - видалити n символів і додати текст. Після закінчення введення текстунатисніть клавішу ESCAPE;
S - замінити всі символи в рядку. P>
Коли ви вводите команду s, останній символ в рядку символів,який буде замінений, листується зі знаком $. Символ не стирається зекрана, поки ви не введете на його місце новий символ, або не натиснетеклавішу ESCAPE. p>
14.3. Зміна тексту p>
Команда підстановки замінює символи. Команда зміни замінюєоб'єкт тексту і потім продовжує додавати текст з цього місця до тих пір,поки ви не натиснете клавішу ESCAPE. p>
Команда зміни може містити аргумент text_object. Ви можетезамінити символ, слово і так далі на новий текст:ncx - замінити n-ий об'єкт тексту типу x (пропозиція, параграф);cw - замінити слово або залишилися символи в слові на новий текст. Редакторvi друкує знак $, щоб показати останній символ, який буде замінений; p>
ncw - замінити n слів;cc - замінити всі символи в рядку;ncc - замінити всі символи в поточному рядку і n верхніх рядків;
C - замінити залишилися символи в рядку від курсора до кінця рядка; dfn nCзамінити залишилися символи, починаючи від курсора в поточному рядку і у всіхn верхніх рядках.
Команда "c" використовує знак $, щоб відзначити останній символ, якийповинен бути замінений. Після того, як виконати команду зміни, виперебуваєте в режимі введення тексту і можете вводити будь-який текст. Тескт будезберігатися в буфері, поки ви не натиснете клавішу ESCAPE. p>
15. Витяг і приєднання тексту p>
Редактор vi надає набір команд, які в інші записи в файлі набір команд, які копіюють частину тексту і поміщають в інше місце вфайлі. p>
15.1. Переміщення тексту p>
Ви можете перемістити текст з одного місця в буфері редактора vi вінше, видаливши рядки, а потім помістивши їх на потрібне місце. Віддаленийтекст зберігається в тимчасовому буфері. Перемістіть курсор на те місце, кудиви хочете розмістити текст і натисніть клавішу "p". Віддалені рядки будутьдодані нижче поточного рядка.p - помістити вміст тимчасового буфера після курсору або нижче поточноїрядка. p>
Віддалена за допомогою команди видалення рядок може бути поміщена всередині іншого рядка. Позиціонує курсор між двома словами, далінатисніть клавішу "p". Віддалена рядок буде поміщена після курсору. P>
Так як тимчасовий буфер зберігає результат тільки останньої команди,то команда "p" повинна використовуватися відразу ж після команди видалення.
Команда "p" використовується також для копіювання тексту, який міститься утимчасовий буфер командою "y" p>
15.2. Переміщення букв p>
Швидким способом переміщення букв є комбінація команд "x" і "p"
(xp). Команда "x" видаляє букву, "p" - поміщає її після наступногосимволу. Наприклад, в наступному реченні є помилка: p>
A line of tetx p>
Помістіть курсор під літерою "t" у комбінації "tx" і потім натиснітьклавіші "x" і "p". В результаті отримаємо: p>
A line of text p>
15.3. Копіювання тексту p>
Ви можете копіювати одну або кілька рядків тексту в тимчасовийбуфер і потім помістити копію цього тексту в певне місце в файлі.
Щоб розмістити текст на нове місце, введіть команду "y". Команда "y"має наступний загальний формат: p>
[number] y [text_object] p>
Копіювання рядків за допомогою команди "y" не видаляє їх з колишнього місцяв файлі, тобто ви можете помістити один і той же шматок тексту в декількохмісцях. p>
Зверніть увагу, що ця команда дозволяє вказувати номер об'єктатексту, який буде копіювати. p>
16. Копіювання та переміщення тексту з використанням регістрів p>
Редактор vi надає набір команд, які в інші записи в файлі набір команд, які копіюють частину тексту і поміщають в інше місце вфайлі. p>
Переміщення та копіювання декількох розділів тексту в різні частинифайлу є стомлюючої роботою. Редактор vi пропонує вамвикористовувати так звані регістри, в яких ви можете зберігати текст дотих пір, поки він вам не знадобиться. Зберегти текст ви можете або здопомогою команди "y", або за допомогою команди видалення. Використаннярегістрів особливо корисно, якщо частина тексту повинна з'явитися в багатьохмісцях у файлі. Витягаються текст залишається у вказаному регістрі поки ви незавершити роботу з ним, або закінчите роботу з редактором, або помістітьв цей регістр інший текст.
Загальний формат команди: p>
[number] [ "X] command [text_object]де X - ім'я регістра, що складається з однієї літери верхнього регістру. Ім'ярегістра повинні передувати подвійні лапки. p>
17. Спеціальні команди p>
У цьому підрозділі наведені спеціальні команди, які будуть вамдосить корисні: p>
. - Повторити останню команду; p>
j - об'єднати два рядки; p>
^ l - очистити екран і знову відобразити його; p>
~ - замінити нижній регістр на верхній і vice versa (?). p>
17.1. Повторити останню команду p>
Команда "." (точка) повторює останню введену команду. Дуже частовона використовується за командою пошуку. p>
17.2. Об'єднання строк p>
Команда "j" об'єднує рядка. Щоб ввести цю команду, помістітькурсор на поточному рядку та натисніть клавіші SHIFT і j одночасно. Поточнарядок об'єднується з наступного рядком.
Наприклад, ви маєте два рядки тексту: p>
Dear Mr. P>
Smith:
Об'єднаємо ці два рядки в одну. Помістіть курсор під будь-яким символом упершому рядку і введіть команду "j". На екрані з'явиться рядок: p>
Dear Mr. Smith:
Зверніть увагу, що редактор vi автоматично ставить пробіл міжостаннім словом у першому рядку і першим словом другого рядка. p>
17.3. Очистити вікно і відновити текст p>
Якщо інший користувач системи UNIX посилає вам, повідомлення звикористанням команди write, а ви в цей час редагуєте за допомогою vi,то надіслане повідомлення з'явиться у вашому поточному вікні поверх тексту, якийви редагуєте. Щоб відновити редагований текст після того, як випрочитаєте надіслане повідомлення, потрібно перейти в командний режим. Якщо виперебуваєте в режимі введення тексту, то натисніть "^ l". Редактор vi зітреповідомлення і відновить вікно в тому вигляді, в якому воно було до приходуповідомлення. p>
17.4. Замінити нижній регістр на верхній і vice versa p>
Щоб швидко замінити літеру нижнього регістру на літеру верхньогорегістра, треба помістити курсор під цією буквою і натиснути клавішу "~"
(тильда). Ви можете замінити кілька букв, натиснувши стільки ж разів клавішу
"~", Або поставивши перед тильда числпро необхідні замін. p>
18. Використання команд рядковому редактора p>
Редактор vi має доступ до багатьох команд рядковому редактора ex.
У цьому підрозділі обговорюються деякі найбільш часто використовуванікоманди.
Команди редактора ex дуже схожі на команди редактора ed. P>
Команди рядковому редактора починаються з символу ":" (двокрапка).
Після того, як ви введете двокрапка, курсор опускається в низ екрану івідображає двокрапка. Частина команди теж з'являється внизуекрану. p>
18.1. Тимчасовий повернення до shell p>
Коли ви входите в vi, то вміст буфера заповнює ваш екран, роблячинеможливим видачу команд для shell. Однак вам це може знадобитися.
Наприклад, вам необхідно буде отримати інформацію з іншого файлу дляприєднання її до поточного тексту. Ви можете отримати цю інформацію,запустивши одну з команд shell, яка відображає текст файлу на екрані.
Наприклад, cat або pg. Однак процедура завершення роботи з редактором іповторний вхід в редактор зажадають часу і сил. Редактор vi пропонуєвам два способи тимчасового виходу з редактора для того, щоб ви могливвести команди shell (і навіть редагувати інші файли) не залишаючи самредактор. Це команди: sh і :!. p>
Команда:! дозволяє вам вийти з редактора та запустити команду shellоднієї командним рядком. Перебуваючи в командному режимі редактора vi, введіть
:!. Ці символи будуть надруковані в низу екрана. Відразу ж після символу!введіть команду shell. Shell запустить вашу команду, дасть вам відповідь інадрукує повідомлення: p>
Hit return to continue p>
Після того, як ви натиснете клавішу RETURN, vi оновить екран і курсорвізьме своє колишнє становище. p>
Команда редактора: sh дозволяє вам робити те ж саме, але веде поіншому себе на екрані. З командного режиму редактора vi введіть: sh інатисніть клавішу RETURN. Підказка команди shell з'явиться наступногорядку. Ведіть ваші команди після підказки так, начебто ви працюєте внормальному режимі з shell. Коли ви будете готові повернутися до редактора vi,введіть ^ d або exit. Екран оновить інформація з вашого буфера і курсорзнову переміститься на колишнє місце. p>
При тимчасовий перехід до shell навіть зміна довідників не заважаєповерненню до буфера редактора vi при введенні ^ d або exit. p>
18.2. Запис тексту в новий файл p>
Команда "w" дозволяє вам створювати файл, копіюючи рядки тексту зфайлу, який ви в даний момент редагуєте, у файл, який ви вказали.
Щоб створити новий файл потрібно вказати рядок або рядки (номери рядків) іім'я нового файлу в командному рядку. Загальний формат цієї команди: p>
: line_number [, line_number] w filename
Наприклад, щоб записати третій рядок буфера в файл three, введіть: p>
: 3w three p>
При успішному створенні нового файлу, редактор vi надрукує наступнуінформацію: p>
"three" [New file] 1 line, 20 characters
Щоб записати поточний рядок у файл, вкажіть. (точку) як адреса рядки: p>
:. w junk p>
створить новий файл з ім'ям junk. Він буде містити тільки поточнурядок буфера vi. p>
Ви можете записати частину буфера в новий файл, позначивши межі рядків.
Наприклад, щоб рядки з 23-ої по 37-ю записати у файл, введи