vi е добре известен екранно ориентиран текстов редактор, който се връща към първите дни на Unix. Най-впечатляващата му характеристика е, че може да работи в два различни режима.
В режим Вмъкване текстът става част от файла. В нормален режим клавишите се разбират като директни команди. Затова се използват различни команди за клавиатура, за да се намали количеството работа, необходима за редактиране на файл.
Но ако командите са толкова различни, наистина ли е по-лесно да премахнете редовете или да ги редактирате с помощта на командите за натискане на клавиши? - Нека разберем.
Изрязване на линия или блок
бързи връзки
- Изрязване на линия или блок
-
-
- Поставете курсора пред реда на текста, който искате да премахнете
- Натиснете v и започнете визуален избор на символ
- Натиснете V, ако искате да изберете цели линии
- Натиснете Ctrl + v или Ctrl + q, ако искате да изберете блок
- Позиционирайте курсора в края на текста
- Натиснете d, за да изрежете
-
-
- Редактиране над линия
- Изтриване на множество линии
- Използване на символи, думи и линии в нормален режим
- дд
- х / X
- DW
- Крайна мисъл
-
Поставете курсора пред реда на текста, който искате да премахнете
-
Натиснете v и започнете визуален избор на символ
-
Натиснете V, ако искате да изберете цели линии
-
Натиснете Ctrl + v или Ctrl + q, ако искате да изберете блок
-
Позиционирайте курсора в края на текста
-
Натиснете d, за да изрежете
Ако сега искате да поставите този ред другаде, просто преместете курсора на новото място и натиснете p. Обърнете внимание, че натискането на p ще постави линията или блока след позицията на курсора. Ако искате да поставите преди позицията на курсора, трябва да натиснете P.
Редактиране над линия
Можете също така да промените избрания текст, ако натиснете c в стъпка 6. Натискането на d ще се прекъсне, натискането на y ще изтегли или копира, а c ще отвори режима на вмъкване, в който можете да добавите нов текст. Това може да ви помогне да замените цяла линия или блок, без да се притеснявате първо да ги режете.
Изтриване на множество линии
Има две добри опции, ако искате да изтриете повече от един ред in vi.
“:%d”
Тази команда изтрива всички редове. ':' Поставя vi в команден режим. Символът '%' му казва да прилага командата 'd' (изтриване) към всички редове.
“:1, $d”
Това е по-популярната алтернатива. Отново ':' въвежда команда. '1, $' казва vi към кои линии да се насочва. В този пример това ще бъдат линиите, започващи с ред 1 и последния. 'd' означава изтриване.
Но какво прави тази команда по-добра от първата? - Този е адаптивен. Можете да го използвате, за да изтривате групово линии, но без да е необходимо да изтривате всеки един от тях.
Ако използвате нещо като “:4, $-2d”
тогава vi ще изтрие всички линии между третата и втората до последна. Той оставя първите три непокътнати, защото редовете започват с 1, а не 0. И вие посочвате първия ред, който искате да изтриете, който в този пример е 4.
По принцип '-2' представлява колко реда започват от последния и отброяват обратно до 1.
Използване на символи, думи и линии в нормален режим
Първо, ще искате да сте сигурни, че натиснете Escape, за да влезете в нормален режим. След това можете да използвате следните команди vi, за да изтриете конкретна информация.
дд
Тази команда изтрива цял ред. Можете да позиционирате курсора навсякъде по линията, независимо дали е на дума или празно място. Линията и цялото пространство, което заема, ще бъдат изтрити.
х / X
Ако искате да премахнете само един знак от ред, можете да използвате x. Позиционирайте курсора след знак и натиснете x. Това ще премахне героя, а също и пространството, което заема. Това също означава, че всички останали герои в близост до него ще се съберат, за да попълнят празнината.
Можете също да използвате x, за да изтриете празно място в ред. Ако задържите курсора на мишката върху символ и искате да премахнете този преди него, натиснете X вместо x.
DW
Натискането на dw, когато курсорът ви е разположен в началото на думата, ще изтрие тази дума. Това също ще премахне пространството, заето от думата. Освен това можете да премахнете само части от дума.
Поставете курсора в лявата част на частта, която искате да изтриете. Натиснете dw, за да премахнете тези знаци и пространството, което заемат в реда. Имайте предвид, че това ще обедини съседните знаци, за да попълни празнината.
Крайна мисъл
Колкото и интересно и уникално да е vi като модален редактор, отнема известно време, за да свикнеш с него. Има много малко обратна връзка, когато става въпрос за превключване между режимите. Това прави много лесно случайното въвеждане на текст на кода, когато трябва да давате команда, и обратно.
