Linux

Atrodiet un nomainiet Vim / Vi

Atrodiet un nomainiet Vim / Vi

Šajā rakstā ir aprakstīts, kā atrast un aizstāt tekstu Vim / Vi.

Vim ir vispopulārākais komandrindas teksta redaktors. Tas ir iepriekš instalēts MacOS un lielākajā daļā Linux izplatīšanas. Teksta atrašana un aizstāšana Vim ir ātra un vienkārša.

Pamata atrašana un aizstāšana #

Programmā Vim tekstu var atrast un aizstāt, izmantojot : aizstājējs (: s) komandu.

Lai palaistu komandas programmā Vim, palaižot redaktoru, jums jābūt parastajā režīmā - noklusējuma režīmā. Lai atgrieztos normālā režīmā no jebkura cita režīma, vienkārši nospiediet taustiņu Esc.

Aizstājējkomandas vispārējā forma ir šāda:

: [diapazons] s / modelis / virkne / [karodziņi] [skaits] 

Komanda meklē katrā rindā [diapazons] priekš modelis, un aizstāj to ar a string. [skaits] ir pozitīvs vesels skaitlis, kas reizina komandu.

Ja nē [diapazons] un [skaits] tiek doti, tiek aizstāts tikai pašreizējā rindā atrodamais modelis. Pašreizējā līnija ir līnija, uz kuras atrodas kursors.

Piemēram, lai pašreizējā rindā meklētu virkni “foo” pirmo reizi un aizstātu to ar “bar”, jūs izmantojat:

: s / foo / bar / 

Lai aizstātu visus meklēšanas modeļa gadījumus pašreizējā rindā, pievienojiet g karogs:

: s / foo / bar / g 

Ja vēlaties meklēt un aizstāt modeli visā failā, izmantojiet procentuālo rakstzīmi % kā diapazons. Šis simbols norāda diapazonu no faila pirmās līdz pēdējai rindai:

:% s / foo / bar / g 

Ja string daļa tiek izlaista, tā tiek uzskatīta par tukšu virkni, un saskaņotais modelis tiek izdzēsts. Šī komanda izdzēš visus virknes “foo” gadījumus pašreizējā rindā:

: s / foo // g 

Slīpsvītras rakstzīmes (/), jūs varat izmantot jebkuru citu bezburtciparu viena baita rakstzīmi, izņemot kā atdalītāju. Šī opcija ir noderīga, ja meklēšanas rakstā vai aizstājošajā virknē ir rakstzīme '/'.

: s | foo | bārs | 

Lai apstiprinātu katru aizstāšanu, izmantojiet c karogs:

: s / foo / bar / gc 
aizstāt ar joslu (y / n / a / q / l / ^ E / ^ Y)? 

Nospiediet y aizstāt maču vai l lai aizstātu maču un pamestu. Nospiediet n izlaist maču un q vai Esc atmest aizstāšanu. The a variants aizstāj spēli un visus atlikušos spēles gadījumus. Lai ritinātu ekrānu uz leju, izmantojiet CTRL + Y, un, lai ritinātu uz augšu, izmantojiet CTRL + E.

Kā meklēšanas modeli varat izmantot arī regulāras izteiksmes. Komanda zemāk aizstāj visas rindas, kas sākas ar 'foo' ar 'Vim is the best':

:% s / ^ foo.* / Vim ir labākais / gc 

The ^ (caret) simbols sakrīt ar rindas sākumu un .* atbilst jebkuram rakstzīmju skaitam.

Reģistrjutība #

Pēc noklusējuma meklēšanas darbība ir reģistrjutīga; meklējot “FOO”, tas neatbilst “Foo”.

Lai ignorētu meklēšanas modeļa reģistru, izmantojiet i karogs:

: s / Foo / bar / gi 

Vēl viens veids, kā piespiest ignorēt lietu, ir pievienot \ c pēc meklēšanas modeļa. Piemēram, / Linux \ c veic ignorēt lietu meklēšanu.

Ja mainījāt noklusējuma reģistru un vēlaties veikt reģistrjutīgu meklēšanu, izmantojiet Es karogs:

: s / foo / bar / gi 

Lielie burti \ C pēc modeļa piespiež arī meklēt meklēšanas gadījumus.

Meklēšanas diapazons #

Ja diapazons nav norādīts, aizstājējkomanda darbojas tikai pašreizējā rindā.

Diapazons var būt viena līnija vai diapazons starp divām līnijām. Līniju specifikatori ir atdalīti ar , vai ; rakstzīmes. Diapazonu var norādīt, izmantojot absolūto līnijas numuru vai īpašus simbolus.

Piemēram, lai aizstātu visus “foo” gadījumus ar “bar” visās rindās, sākot no 3. līdz 10. rindai, jūs izmantojat:

: 3,10 s / foo / bārs / g 

Diapazons ir iekļauts, kas nozīmē, ka diapazonā ir iekļauta pirmā un pēdējā rinda.

Punkts . rakstzīme norāda pašreizējo līniju un $ - dolāra zīme pēdējā rindā. Lai aizstātu “foo” visās rindās, sākot no pašreizējās rindas līdz pēdējai:

:.,$ s / foo / bārs / 

Rindu specifikatoru var iestatīt arī, izmantojot simbolu “+” vai “-”, kam seko skaitlis, kas tiek pievienots vai atņemts no iepriekšējās rindas numura. Ja skaitlis aiz simbola tiek izlaists, tas pēc noklusējuma ir 1.

Piemēram, lai aizstātu katru “foo” ar “bar”, sākot no pašreizējās rindas un četrām nākamajām rindām, ierakstiet:

:.,+4s / foo / bārs / g 

Aizstāt visu vārdu #

Komanda aizstājējs meklē modeli kā virkni, nevis veselu vārdu. Ja, piemēram, meklējāt “gnu”, meklēšana atrod atbilstības, kur “gnu” ir iestrādāta lielākos vārdos, piemēram, “cygnus” vai “magnum”.

Lai meklētu veselu vārdu, ierakstiet \< lai atzīmētu vārda sākumu, ievadiet meklēšanas rakstu, ierakstiet \> lai atzīmētu vārda beigas:

Piemēram, lai meklētu izmantoto vārdu “foo” \:

: s / \/bārs/ 

Aizstāšanas vēsture #

Vim seko visām komandām, kuras veicat pašreizējā sesijā. Lai pārlūkotu iepriekšējo aizstājējkomandu vēsturi, ievadiet : s un izmantojiet bultiņas uz augšu / uz leju taustiņus, lai atrastu iepriekšējo aizstājēju. Lai palaistu komandu, vienkārši nospiediet Enter. Komandu var rediģēt arī pirms operācijas veikšanas.

Piemēri #

Komentāru rindas (pievienot # pirms līnijas) no 5 līdz 20:

: 5,20 s / ^ / # / 

Nekomentējiet rindas no 5 līdz 20, atsauciet iepriekšējās izmaiņas:

: 5,20s / ^ # // 

Aizstājiet visus “ābolu”, “apelsīnu” un “mango” gadījumus ar “augļi”:

:% s / ābols \ | apelsīns \ | mango / augļi / g 

Katras rindas beigās noņemiet aiz atstarpes:

:% s / \ s \ + $ // e 

Secinājums Nr

Meklēšana un aizstāšana ir spēcīga Vim funkcija, kas ļauj ātri veikt izmaiņas tekstā.

Ja jums ir kādi jautājumi, droši atstājiet komentāru.

Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...
Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...