Kā iziet no redaktora Vi vai Vim

viRedaktors ir mulsinoši, ja jūs nav pieraduši pie tā. Lai izvairītos no šīs lietojumprogrammas, ja esat tajā paklupis, nepieciešams slepens rokasspiediens. Lūk, kā atmest vi vai vim operētājsistēmās Linux, macOS vai jebkurā citā Unix līdzīgā sistēmā.

Ātrā atbilde

Ja atrodaties vivai jums ir vimnepieciešams izkļūt - saglabājot izmaiņas vai nesaglabājot izmaiņas, rīkojieties šādi:

  • Vispirms dažas reizes nospiediet taustiņu Esc. Tas nodrošinās, ka vitas nav režīmā Ievietot un Komandu režīmā.
  • Otrkārt, ierakstiet :q!un nospiediet taustiņu Enter. Tas liek viiziet, nesaglabājot izmaiņas. (Ja tomēr vēlaties saglabāt izmaiņas, ierakstiet :wqtā vietā.)

Ja vēlaties uzzināt Linux komandrindu, jums jāzina daudz vairāk nekā tas. Lasiet tālāk, un mēs jums parādīsim, kā tas vidarbojas un kāpēc atteikšanās instrukcijas ir tik neparastas. viir svarīgs, spēcīgs rīks, un mācīšanās līkne ir tā vērta.

vi, Visuresošais redaktors

Tā kā viir iespēja, ka jūs visur pretī stāsieties. Jūs pat vinejauši varat atrasties iekšā . Varbūt kāds lūdz jūs meklēt viņu Linux datoru. Jūs izsniedzat komandu, piemēram crontab -e, un viparādās. Pārsteigums, kāds ir konfigurēts noklusējuma redaktors crontab būt vi.

Varbūt jūs administrējat sistēmu, kurā viir vienīgais redaktors vai vienīgais, kas darbosies, izmantojot attālo SSH sesiju, un jums ir jārediģē lietotāja .bashrc fails.

Komanda vifaila palaišanai un atvēršanai ir tieša. Ierakstiet vi, atstarpi un pēc tam faila nosaukumu. Nospiediet Enter. Palaistā programma var būt vivai vimir uzlabota vi. Tas ir atkarīgs no jūsu Linux izplatīšanas, piemēram, Ubuntu izmanto vim. Visi šī raksta norādījumi attiecas vienādi uz vim.

 vi .bashrc

Tūlīt pamanāma atšķirība starp vicitiem redaktoriem ir tāda, ka vipalaišanas laikā jūs nevarat vienkārši sākt rakstīt tekstu. Tas ir tāpēc, ka vi ir modālais redaktors. Rediģēšana tiek veikta vienā režīmā, ievietošanas režīms un komandu izdošana komandu režīmā. vipalaiž komandu režīmā.

Ja jūs nezināt ievietošanas un komandu režīma jēdzienu, tas var būt neskaidrs. Ļoti daudzas komandas, kuras varat izdot komandu režīmā, ietekmē rakstāmo failu. Ja esat komandrindas režīmā, bet kļūdaini mēģināt ierakstīt tekstu failā, tas nebeigsies labi. Daži no jūsu izdotajiem taustiņsitieniem tiks atpazīti kā komandas. Šīs komandas var izdzēst vai sadalīt rindas, pārvietot kursoru apkārt vai izdzēst tekstu.

Neatkarīgi no tā, ko rakstāt, jūs nevarat atrast veidu, kā iziet no redaktora vai iziet no tā. Tikmēr jūsu fails kļūst diezgan sajaukts, un šķietami nejauši pīkstieni jūs tracina.

Komandas režīms un Ievietošanas režīms

Jums jāpārslēdzas  viuz atbilstošo režīmu tam, ko mēģināt paveikt.

Komandas režīms ir noklusējuma režīms vipalaišanas laikā. Ja vien nezināt labāk, sāksit mēģināt rakstīt. Ja gadās nospiest taustiņu 'i' vai jebkuru citu 10 taustiņu, kas izsauc ievietošanas režīmu (a, A, c, C, I, o, O, R, s un S), pēkšņi redzēsiet, kas jūs rakstāt. Jūs tagad esat ievietošanas režīmā.

Tas var šķist progress, līdz nospiežat vienu no bultiņu taustiņiem. Ja jūs to izdarīsit, A, B, C vai D parādīsies kā vienīgais burts citādi tukšā jaunā rindā. Faila augšdaļā.

Viss kārtībā, mēs esam ieguvuši jūsu muguru. Tas ir pārsteidzoši viegli, ja jūs zināt, kā. Atcerieties šos divus taustiņsitienus: Esc novirza jūs komandu režīmā, bet “i” - ievietošanas režīmā.

Jums ir jāatrodas komandas režīmā un jāievada pareizā komanda, lai atstātu redaktoru.

No komandas režīma līdz drošībai

Lai ievadītu komandu režīmu, nospiediet taustiņu Esc. Nekas redzams nenotiks. Rezultāts vēl pāris reizes. Ja, nospiežot taustiņu Escape, dzirdat pīkstienu, jūs esat komandas režīmā. Pīkstiens saka: "Pārtrauciet Esc nospiešanu, jūs jau esat komandas režīmā." Ja, nospiežot Esc, dzirdat pīkstienu, mēs esam labi.

Ierakstiet kolu, burtu “q” un izsaukuma zīmi bez atstarpēm. Šīm trim rakstzīmēm vajadzētu parādīties termināla apakšējās rindas kreisajā malā. Ja viņi to nedara, nospiediet taustiņu Esc, līdz dzirdat pīkstienu, un mēģiniet vēlreiz. Nospiediet taustiņu Enter, kad varat tos redzēt:

: q!

Šajā komandā qir saīsinājums quit. Izsaukuma zīme papildina uzsvaru, tāpēc it kā jūs kliegtu “Iziet!” plkst vi. Tas varētu likt jums justies mazliet labāk.

Izsaukuma zīme arī uzdod vito nevar saglabāt kādu no izmaiņām, kuras jums var būt veikti uz failu. Ja jūs esat muldējis viun nezināt, ko darāt, jūs, iespējams, nevēlaties glābt postījumus, ko esat nodarījis.

Kad esat atgriezies komandrindā, ieteicams vēlreiz pārbaudīt, vai fails nav mainīts. To var izdarīt ar šādu komandu:

kaķis .bashrc | mazāk

Kad dodaties prom vi, ja redzat ziņojumu ar tekstu “kopš pēdējām izmaiņām nav rakstīts”, tas nozīmē, ka esat nokavējis izsaukuma komandu. Lai neļautu atmest un nezaudēt visas izmaiņas, kuras vēlaties saglabāt, vitas dod jums iespēju tās saglabāt. Vienkārši izsniedziet :q!komandu ar izsaukuma zīmi, lai izietu no vivisām izmaiņām un atteiktos no tām.

Ja esat pārliecināts, saglabājiet izmaiņas

Ja esat apmierināts ar failā veiktajām izmaiņām, varat iziet un saglabāt izmaiņas, izmantojot :wqkomandu (rakstīt un iziet). Pirms turpināt, pārliecinieties, vai vēlaties, lai ekrānā redzamie labojumi tiktu ierakstīti failā.

Ierakstiet kolu, burtu w (rakstiet) un burtu q (iziet). Nospiediet taustiņu Enter, kad tos varat redzēt termināla apakšējā kreisajā stūrī:

: wq

Mācīšanās līkne ir tā vērta

Lietošana vinedaudz līdzinās klavieru lietošanai. Jūs nevarat vienkārši apsēsties un to izmantot; jums ir jāpieliek prakse. Sēdēšana pie tā aukstā stāvoklī un mēģinājumi mācīties lidojumā, kad jums ir spiediens kaut ko rediģēt, nav veids, kā to izdarīt. Tam ir tikpat jēga, kā pirmo reizi sēdēt pie klavierēm, tāpat kā priekškars paceļas jūsu atklāšanas koncertā.

Liela daļa spēka virodas no tā daudzajām taustiņu kombinācijām, kuras katra veic kopīgu rediģēšanas uzdevumu. Tas ir lieliski, taču jūs nevarat no tiem gūt labumu, kamēr neesat tos iegaumējis, praktizējis un viņi ir daļa no jūsu muskuļu atmiņas.

Līdz tam, ja atrodaties visvarīgā failā un skatāties to, vienkārši :q!izejiet no tā graciozi. Jūsu svarīgais fails jums paldies.