Как да излезете от Vi или Vim Editor

Редакторът vi е объркващ, ако не сте свикнали с него. Необходимо е тайно ръкостискане, за да избягате от това приложение, ако сте попаднали в него. Ето как да излезете от vi или vim на Linux, macOS или всяка друга система, подобна на Unix.

Бързият отговор

Ако сте във vi или vim и трябва да излезете – със или без запазване на промените си – ето как:

Първо натиснете клавиша Esc няколко пъти. Това ще гарантира, че vi е извън режим на вмъкване и в команден режим.
Второ, напишете :q! и натиснете Enter. Това казва на vi да излезе, без да запазва промените. (Ако искате да запазите промените си, вместо това въведете :wq.)

Ако искате да научите командния ред на Linux, ще трябва да знаете много повече от това. Прочетете и ние ще ви покажем как работи vi и защо инструкциите за отказване са толкова необичайни. vi е важен, мощен инструмент и кривата на обучение си заслужава.

vi, Вездесъщият редактор

Тъй като vi е навсякъде, има вероятност да се сблъскате с него. Можете дори да се окажете вътре в vi случайно. Може би някой ви помоли да погледнете компютъра му с Linux вместо него. Издавате команда като crontab -e и ви изскача. Изненада, някой е конфигурирал редактора по подразбиране за crontab да бъде vi.

Може би администрирате система, където vi е единственият редактор или единственият, който ще работи през отдалечена SSH сесия и трябва да редактирате .bashrc файла на потребителя.

Командата за стартиране на vi и отваряне на файл е права. Въведете vi , интервал и след това името на файла. Натиснете Enter. Програмата, която се стартира, може да бъде vi или може да е vim, „подобрен vi“. Зависи от вашата Linux дистрибуция – например Ubuntu използва vim. Всички инструкции в тази статия важат еднакво за vim.

 vi .bashrc

Веднага забележимата разлика между vi и другите редактори е, че когато vi стартира, не можете просто да започнете да пишете текст. Това е така, защото vi е модален редактор. Редактирането се извършва в един режим, режим Вмъкване, а издаването на команди се извършва в командния режим. vi стартира в команден режим.

  Как да извлечете икони за висококачествени системни предпочитания на Mac

Ако не сте запознати с концепцията за режим на вмъкване и команден режим, това може да бъде объркващо. Голяма част от командите, които можете да издадете в команден режим, засягат файла, който пишете. Ако сте в команден режим, но по погрешка се опитвате да въведете текст във вашия файл, това няма да свърши добре. Някои от натисканите от вас клавиши ще бъдат разпознати като команди. Тези команди могат да изтрият или разделят редове, да преместят курсора наоколо или да изтрият текст.

И каквото и да пишете, не можете да намерите начин да излезете или да излезете от редактора. Междувременно вашият файл е доста объркан и привидно произволните звукови сигнали ви подлудяват.

Команден режим и режим на вмъкване

Трябва да превключите vi в подходящия режим за това, което се опитвате да постигнете.

Командният режим е режимът по подразбиране, когато vi стартира. Освен ако не знаете по-добре, ще започнете да се опитвате да пишете. Ако случайно натиснете клавиша „i“ или някой от другите 10 клавиша, които извикват режим на вмъкване (a, A, c, C, I, o, O, R, s и S), изведнъж ще видите какво ти пишеш. Сега сте в режим на вмъкване.

  Hover Reader дава незабавен преглед на връзки в плаващ прозорец [Chrome]

Това може да изглежда като напредък, докато не натиснете един от клавишите със стрелки. Ако направите това, A, B, C или D ще се появи като единствената буква на иначе празен нов ред. В горната част на файла.

Всичко е наред, пазим ви. Това е изненадващо лесно, когато знаете как. Запомнете тези две натискания на клавиши: Esc ви отвежда до команден режим, а „i“ ви отвежда в режим на вмъкване.

Трябва да сте в команден режим и да въведете правилната команда, за да напуснете редактора.

От команден режим към безопасност

За да влезете в команден режим, натиснете клавиша Esc. Нищо видимо няма да се случи. Удари го още няколко пъти. Ако чуете звуков сигнал, когато натиснете клавиша Escape, значи сте в команден режим. Бипкането ви казва „Спрете да натискате Esc, вече сте в команден режим.“ Ако чуете звуков сигнал, когато натиснете Esc, ние сме добре.

Въведете двоеточие, буквата „q“ и удивителен знак без интервали. Тези три знака трябва да се появят в крайния ляв край на долния ред на терминала. Ако не го направят, натиснете Esc, докато не чуете звуков сигнал, и опитайте отново. Натиснете клавиша Enter, когато можете да ги видите:

:q!

В тази команда q е съкращение за quit. Удивителният знак добавя ударение, така че сякаш викате „Прекрати!” при vi. Това може да ви накара да се почувствате малко по-добре.

Удивителният знак също инструктира vi да не запазва нито една от промените, които може да сте направили във файла. Ако сте бъркали във vi и не сте знаели какво правите, вероятно не искате да спестявате хаоса, който нанесете.

След като се върнете в командния ред, може да искате да проверите отново, за да се уверите, че файлът не е променен. Можете да направите това със следната команда:

cat .bashrc | less

Когато излизате от vi, ако видите съобщение, което казва „няма запис от последната промяна“, това означава, че сте пропуснали удивителния знак от командата. За да ви попречи да напуснете и да загубите всички промени, които бихте искали да запазите, vi ви дава възможност да ги запазите. Просто преиздадете :q! команда с поставен удивителен знак, за да излезете от vi и да изоставите всички промени.

  Alexa, защо служителите гледат моите данни?

Ако сте сигурни, запазете промените си

Ако сте доволни от промените, които сте направили във вашия файл, можете да излезете и да запазите промените, като използвате командата :wq (запис и изход). Уверете се, че сте напълно доволни, че искате вашите редакции на екрана да бъдат записани във файла, преди да продължите.

Въведете двоеточие, буквата w (запис) и буквата q (изход). Натиснете клавиша Enter, когато можете да ги видите в долния ляв ъгъл на терминала:

:wq

Кривата на обучение си заслужава

Използването на vi е малко като използването на пиано. Не можете просто да седнете и да го използвате; трябва да приложиш малко практика. Да седиш на студено и да се опитваш да се учиш в движение, когато е натиснат да редактираш нещо, не е начинът да го направиш. Има толкова смисъл, колкото да седнете за пиано за първи път, точно когато завесата се вдига за вашия встъпителен концерт.

Голяма част от силата на vi идва от многото му комбинации от натискане на клавиши, всяка от които изпълнява обща задача за редактиране. Това е страхотно, но не можете да се възползвате от тях, докато не ги запомните, практикувате и не са част от вашата мускулна памет.

Дотогава, ако се окажете във vi и разглеждате важен файл, просто :q! и излезте грациозно. Вашият важен файл ще ви благодари.