помощ за редактора на vi
Съдържание
Съвет: Преди каквото и да е действие върху документа, въведете следната команда:
Започване и край на VI
| vi име на файл | Отворете името на файла за редактиране |
| vi -r име на файл | Отворете последната запазена версия на името на файла след срив |
| vi име на файл файл2. | Отворете име на файл, след това файл2. Преминете към следващия файл - :n |
| ZZ или :wq или :x | Запазете промените и излезте от VI |
| :w | Запазете промените в текущия файл |
| :w! | Безусловно запазване на текущия файл |
| :w файл | Запазете текущия файл като файл |
| :q! | Край на VI без запазване |
Вмъкване на текст
| аз | Поставете преди курсора |
| аз | Вмъкване преди ред |
| а | Добавяне след курсора |
| А | Добавяне след ред |
| :r файл | Вмъкване на съдържанието на файла след текущия ред |
| В режим на въвеждане: | |
| CTRL-i или TAB | Вмъкнете дясно отместване по ширина на смяна |
| CTRL-d | Намалете дясното изместване с ширината на преместване |
| CTRL-h или Backspace | Изтриване на предишния знак |
| CTRL-w | Изтриване на предишната дума |
| CTRL-u | Изтриване на предишния ред |
Навигиране в текст
| ч | Наляво |
| й | Надолу |
| к | нагоре |
| л | точно |
| "стрелки" | Придвижване през текста (работи бавно в големи файлове, може да не работи правилно в някои конфигурации). |
| w | Към следващата дума |
| b | Към началото на думата |
| ^ | Към първия символ на низа, който не е интервал |
| + или | До първия знак на следващия ред |
| - | Към първия знак без интервал от предишния ред |
| д | До края на думата |
| ( | Обратно към началото на офертата |
| ) | До края на изречението |
| Към началото на абзаца | |
| > | До края на параграфа |
| Забележка: параграфите са разделени с празен ред. | |
| 0 или | До началото на реда |
| $ | До края на реда |
| 1G | Към първия ред на файла |
| Ж | До последния ред на файла |
| з | До горния ред на екрана |
| Л | До долния ред на екрана |
| CTRL-d | Превъртете надолу половин екран |
| CTRL-f | Превъртете екрана надолу |
| CTRL-u | Превъртете нагоре половин екран |
| CTRL-b | Превъртете екрана нагоре |
| % | Към двойка скоби: ( ), < >, [ ] |
Премахване на текст
Повечето команди за изтриване се образуват от знака d и командата за преместване. Например dw изтрива дума. Други команди за изтриване:
| х | Изтриване на текущия символ |
| nx | Изтрийте n знака вдясно, като започнете от текущия |
| х | Изтриване на знак отляво на курсора |
| nX | Изтрийте n знака отляво на курсора |
| дд или :д | Изтриване на текущия ред |
| „(a-z)dd | Изрежете текущия ред в именуван буфер (a до z) |
Копиране в клипборда
Подобно на командите за изтриване,повечето команди за копиране в буфер се състоят от y, последвано от команда за преместване. Например y$ буферира края на низ.
| yy или :y | Копиране на текущия ред |
| „(a-z)yy | Копиране на текущия ред в именуван буфер (a до z) |
Промяна на текста
Командите за промяна действат като команди за изтриване, последвани от преход към режим на въвеждане. Повечето от тях се състоят от знака c и командата за преместване. Например cw замества дума.
Поставяне от клипборда
| стр | Поставете текст от буфера след курсора |
| П | Поставете текст от буфера преди курсора |
| "(a-z)p или "(a-z)P | Поставете текст от буфера (a до z) след/преди текущия ред |
Името на буфера може да бъде указано преди всяка команда за изтриване, промяна, копиране или поставяне. Префиксът е "c", където c е всеки малък знак. Например "adw изтрива думата и я поставя в буфер a. След това може да бъде поставен в текст с командата „ap.
Търсене/замяна на поднизове
| / ул | Търсене str напред от курсора |
| ? ул | Намиране на str назад от курсора |
| н | Повторете търсенето в същата посока |
| :n,ms/ str1 / str2 / опц | Търсене на низ str1 от низ n до m (n и m могат да бъдат пропуснати); замени str1 със str2; с опции опт. Възможни опции: g - глобално, c - потвърждаване на замени (y - заместване, - не заместване), p - печат на променени редове |
| & | Повторете последната команда :s |
| :g/ str1 /s/ str2 / str3 / | Намерете низ, съдържащ str1, заменете str2 с str3 |
| ; | Повторете търсенето |
| , | Повторететърсене назад |
Регулярни изрази
| . (точка) | Всеки знак, различен от "нов ред" |
| * | 0 или повече срещания на произволен знак |
| [. ] | Всеки от посочените знаци |
| [^. ] | Всеки знак, различен от посочените |
| \ | Строго в края на думата |
| ^ | В началото на реда |
| $ | В края на реда |
| \(. \) | Група условия |
| \н | Стойността на n-тата група |
| \ | Отменете стойността на специален знак (например \$ ви позволява да търсите символа $) |
| \\ | Отмяна на специалното действие на символа \ |
Преди почти всяка команда можете да посочите броя на повторенията. Например 5dw ще изтрие 5 думи, а 3fe ще премести курсора напред до 3-то срещане на знака "e". По същия начин можете да действате с команди за вмъкване, например да вмъкнете 100 еднакви реда.
Имайте предвид, че опцията :set е въведена за включване на режима и :set няма опция за изключване. За да зададете предпочитания за всяко изпълнение на VI, в началната директория се създава .exrc файл, съдържащ командните данни без двоеточие пред него.
| :setai | Автоматичен отстъп (на предишния ред) |
| : задайте всичко | Показване на всички режими |
| :set eb | Звуков сигнал за грешка |
| :set ic | Игнорирайте малки и големи букви при търсене |
| :комплект списък | Показване на знаци за раздел (^l) и край на ред ($). |
| :set nu :задайте номер | Показване на номерата на редовете |
| : задаване на режим на шоу | Показване на текущия режим в долната част на екрана |
| :set showmatch | Маркирайте сдвоени отварящи скоби, когато въвеждате затварящи скоби |
| :set wa | Изключете нормалната проверка преди запис |
| :set wm=n | Задайте размера на дясното поле за автоматично прехвърляне. За да деактивирате автоматичното прехвърляне n=0 |
- Файлът ".exrc" в началната директория може да съдържа набор от макроси, използвани всеки път, когато VI се изпълнява (подобно на командите за дефиниране на макроси, но без двоеточие).
- За да включите контролен знак, като ESC, в макрос, първо трябва да натиснете CTRL-v.
- За да включите кавички (") в макрос, \ (обратна наклонена черта) се въвежда пред тях.
- Клавиши, които не се използват във vi: K V Z g q v * = [ ] @ # и функционални клавиши.
Пример (маркирани са VI командите, които ще бъдат включени в макроса):
:map v/ I CTRL-vESC dwi Вие CTRL-vESC ESC
Макро действие: Когато натиснете v, намерете "I" (/I ESC), изтрийте думата (dw) и вмъкнете "You" (iYou ESC). CTRL-v е необходим за вмъкване на ESC кода