Тъй като Vim е съсредоточен върху промяната на съществуващия код точно както при писането на нов код, той е разделен на няколко режима, всеки от които има различни цели.
Нормален режим
По подразбиране Vim стартира в „нормален“ режим. До нормален режим можете да получите достъп от други режими, като натиснете Esc
или .
В нормален режим натискането на клавиши не работи както бихте очаквали. Тоест, те не вмъкват текст в документа; вместо това някои натискания на клавиши могат:
Преместете курсора
- h преместете един символ наляво
- j преместете един ред надолу
- k преместете с един ред нагоре
- л ход надясно един символ
Тъй като много команди vim, движението на редове може да бъде с префикс от число за преместване на няколко линии наведнъж:
- 4j преместете 4 реда надолу
- 6k преместете 6 реда нагоре
Основни движения на думи:
- w преминете към началото на следващата дума
- b преминете към предишното начало на думата
- e преминете към края на думата
- W преминете към началото на следващата дума след интервал
- B преминете към началото на предишната дума преди празно пространство
- E преминете към края на думата преди празно пространство
Начало / край на движението на линията:
- 0 се премества в началото на реда
- $ преместване в края на реда
Манипулирайте с текст
Влезте в други режими
Нормалният режим е мястото, където човек трябва да прекарва по-голямата част от времето си, докато използва Vim. Не забравяйте, че това прави Vim различен.
В нормален режим има няколко начина за придвижване около отворен файл. В допълнение към използването на курсора за придвижване, можете да използвате h
(наляво), j
(надолу), k
(нагоре) и l
(надясно), за да се движите също. Това помага особено на докосване на машинописни машини, които не обичат да напускат началния ред, когато правят промени.
Можете също така да правите промени в единични знаци в нормален режим. Например, за да замените един знак, преместете курсора върху него и натиснете r
, а след това знака, с който искате да го замените. По същия начин можете да изтриете единични символи, като преместите курсора върху него и натиснете x
.
За да извършите отмяна, натиснете u
в нормален режим. Това отменя промените до последния път, когато сте били в нормален режим. Ако искате да повторите ( т.е. да отмените отмената), натиснете Ctrl+r
в нормален режим.
Режим на вмъкване
Това е вторият най-използван режим и ще бъде най-познатото поведение за повечето хора. Веднъж в режим на вмъкване, въвеждането вмъква символи точно като обикновен текстов редактор. Можете да го въведете, като използвате команда за вмъкване от нормален режим.
Командите за вмъкване включват:
i
за ' i nsert', това незабавно превключва vim в режим на вмъкванеa
за " един ppend", този премества курсора след текущия символ и влиза в режим на вмъкванеo
вмъква нов ред под текущия ред и влиза в режим на вмъкване на новия ред
Тези команди също имат голямо разнообразие:
I
премества курсора в началото на реда и влиза в режим на вмъкванеA
премества курсора до края на реда и влиза в режим на вмъкванеO
вмъква нов ред над текущия и влиза в режим на вмъкване на новия ред
Има толкова много други начини за вмъкване на текст във Vim, които не могат да бъдат изброени тук, но те са най-простите. Също така, внимавайте да останете в режим на вмъкване твърде дълго; Vim не е проектиран да се използва постоянно в режим на вмъкване.
За да излезете от режима на вмъкване и да се върнете в нормален режим, натиснете Esc
или
Визуален режим
Визуалният режим се използва за избор на текст, подобно на това как се държи щракването и плъзгането с мишката. Избирането на текст позволява командите да се прилагат само към селекцията, като копиране, изтриване, подмяна и т.н.
За да направите текстов избор:
- Натиснете, за
v
да влезете в визуален режим, това също ще маркира начална точка за избор - Преместете курсора до желаната крайна точка за избор; vim ще осигури визуално подчертаване на избора на текст
Визуалният режим също има следните варианти:
V
за да влезете в режим на визуална линия, това ще направи подбор на текст по редза да влезете в режим на визуален блок, това ще направи избор на текст по блокове; преместването на курсора ще направи правоъгълни селекции на текста
За да излезете от визуалния режим и да се върнете в нормален режим, натиснете Esc
или .
Визуалният режим всъщност има множество подтипове: визуален , блок-визуален и линейно-визуален
- визуално : както е описано по-горе. Въведете, като натиснете
v
- блок-визуален : изберете всяка правоъгълна област. Въведете, като натиснете
+v
- линейно-визуален : винаги избирайте цели линии. Въведете, като натиснете
+v
Команден режим
Командният режим има голямо разнообразие от команди и може да прави неща, които нормалният режим не може да направи толкова лесно. За да влезете в команден режим, напишете „:“ от нормалния режим и след това въведете вашата команда, която трябва да се появи в долната част на прозореца. Например, за да направите глобално търсене и заместване на типа, за :%s/foo/bar/g
да замените всички „foo“ с „bar“
:
Влиза в команден режим%
Означава по всички линииs
Означава заместител/foo
е регулярният израз, за да се намерят неща, които да бъдат заменени/bar/
е регулярният израз, за да замени нещата с/g
означава глобално, в противен случай ще се изпълни само веднъж на ред
Vim има редица други методи, за които можете да прочетете в помощната документация, :h
или :help
.
Режим на замяна
Режимът замяна ви позволява да замените съществуващия текст, като директно го въведете. Преди да влезете в този режим, влезте в нормален режим и поставете курсора върху първия символ, който искате да замените. След това натиснете 'R' (главно R), за да влезете в режим на замяна. Сега каквото и да въведете, ще замени съществуващия текст. Курсорът автоматично се придвижва към следващия знак, точно както в режим на вмъкване. Единствената разлика е, че всеки въведен от вас символ ще замени съществуващия.