Vim meklēšana un nomaiņa

Vim Search Replace



Vim ir uzlabots un populārs teksta redaktors, kas ir iepriekš instalēts lielākajā daļā Linux izplatījumu. Tas ir komandrindas teksta redaktors, ko galvenokārt izmanto operētājsistēmās, kas nav balstītas uz GUI. Tas ir ļoti konfigurējams, un tam ir daudz funkciju. Būtisks punkts attiecībā uz Vim ir tas, ka tas ir ļoti optimizēts atkārtošanai.

Šajā rakstā mēs izskaidrosim vienu no tās noderīgākajām funkcijām, kas ir meklēšana un aizstāšana. Izmantojot nedaudz konfigurācijas, jūs varat meklēt visu, ko vēlaties, bezgala ātri un ar sīkāku precizitāti.







1. metode Atrodiet un nomainiet vienu notikumu vienlaikus (izmantojot slīpsvītras un punkta komandu)

Vienkāršākais veids, kā meklēt un aizstāt vārdu Vim, ir izmantot slīpsvītras un punkta komandu. Slīpsvītru (/) var izmantot vārda meklēšanai, savukārt punktu (.) Var izmantot šī vārda aizstāšanai.



Lai meklētu un aizstātu jebkuru vārdu Vim redaktorā, veiciet tālāk norādītās vienkāršās darbības.



  • Atveriet failu Vim
  • Nospiediet slīpsvītras ( /) taustiņu kopā ar meklēšanas vienumu, piemēram, / search_term, un nospiediet taustiņu Enter. Tas iezīmēs izvēlēto vārdu.
  • Pēc tam nospiediet taustiņu cgn lai aizstātu iezīmēto vārdu un ievadītu aizstāšanas_terminu
  • Atgriezieties normālā režīmā. Pēc tam nospiediet n, lai pārietu uz nākamo meklēšanas vienuma gadījumu.
  • Pēc tam nospiediet punktu (.), Ja vēlaties nākamo notikumu aizstāt ar to pašu aizstāšanas termiņu, pretējā gadījumā vēlreiz nospiediet taustiņu n, lai pārietu uz nākamo notikumu.

Tā ir ātrākā un labākā pamata meklēšanas metode, un tā aizstāj funkcijas, jo ietver tikai dažus taustiņsitienus un mazāk traucē jūsu pašreizējai darbībai. Tomēr, meklējot pārāk bieži sastopamu vārdu, tas kļūs par atkārtotu un laikietilpīgu uzdevumu.





Izmantojot Vim, ir vēl viens labāks veids, kā izvairīties no šī atkārtotā uzdevuma, izmantojot aizstājēju komandu.

2. metode Atrodiet un nomainiet, izmantojot komandu Aizstāt

Aizstājējkomandu var izmantot, lai veiktu pamata un izvērstu meklēšanu un funkcijas aizstātu ar vienu komandu. Šīs komandas sintakse ir šāda:



$: s/<search_term> /<aizstāt_ termiņu> /iespēja

Ņemiet vērā, ka šī komanda jāievada normālā režīmā.

Kur

  • S: apzīmē aizstājēju
  • search_term: vārds, kuru vēlaties meklēt un aizstāt
  • aizstāt_termins: vārds, ar kuru vēlaties to aizstāt
  • Opcija: c (apstiprināšanai), g (aizstāt visus gadījumus vienā rindā), i (lai ignorētu reģistru)

Meklēt un aizstāt

Lai veiktu pamata meklēšanu un aizstātu, izmantojot aizstāšanas komandu, izmantojiet šādu sintaksi:

:%s/<search_term> /<aizstāt_ termiņu> /g

Šī komanda aizstās visus meklēšanas termina gadījumus ar aizstāšanas terminu.

Piemēram, šis ir mūsu teksta paraugs:

Ubuntu ir viena no visbiežāk izmantotajām Linux operētājsistēmām. Ubuntu ietver tūkstošiem noderīgu programmu. Izmantojot Ubuntu komandrindu, jūs varat veikt gandrīz jebkura veida uzdevumus.

Lai aizstātu katru Ubuntu gadījumu ar Debian nākamajā tekstā, tiks izmantota šāda komanda:

:%s/Ubuntu/Debian/g

Meklēt un aizstāt vienā rindā

Lai meklētu un aizstātu vārda parādīšanos tikai vienā rindā, nevis visā failā, izmantojiet šādu sintaksi:

: s/<search_term> /aizstāt_ termiņu/g

Piemēram, lai aizstātu Ubuntu parādīšanos ar Debian iepriekšējā parauga tekstā, tiktu izmantota šāda komanda bez simbola %:

: s/Ubuntu/Debian/g

Meklēt un aizstāt ar apstiprinājumu

Ja vēlaties, lai pirms meklēšanas vienuma aizstāšanas jums tiktu prasīts apstiprinājums, meklēšanas komandas beigās izmantojiet c:

: s/<search_term> /<aizstāt_ termiņu> /gc

Iepriekš minētā komanda lūgs apstiprinājumu pirms katras nomaiņas (ievadiet y, lai jā, bet n - nē).

Reģistra nejutīga meklēšana un nomaiņa

Veicot meklēšanu un nomaiņu programmā Vim, pēc noklusējuma tas ir reģistrjutīgs. Jūs varat veikt reģistrjutīgu meklēšanu, pievienojot i komandas beigās šādi:

: s/<search_term> /<aizstāt_ termiņu> /dot

Piemēram, lai meklētu terminu Ubuntu neatkarīgi no tā gadījuma (UBUNTU, Ubuntu, ubuntu, uBuntu), tiktu izmantota šāda komanda:

: s/ubuntu/debian/dot

Meklējiet un aizstājiet visu vārdu

Pēc noklusējuma aizstājēja komanda meklē jebkuru atbilstību, vai tā ir daļēja vai pilna. Lai precīzi atbilstu meklēšanas vienumam un pēc tam to aizstātu ar aizstāšanas terminu, ierakstiet meklēšanas vaicājumu.

Piemēram, dažos dokumentos jūs vēlaties meklēt un aizstāt precīzu vārdu, ko jūs. Tādā gadījumā tiks izmantota šāda komanda:

: s/<tu > /Es/

Tas atradīs vārdu tu un aizstās to ar mani. Tomēr tas neaizstās tādus vārdus kā jūsu.

Meklējiet un nomainiet vārdus starp noteiktām līnijām

Lai meklētu vārdu starp konkrētām rindām, nevis tikai vienu rindu vai visu failu, var izmantot šādu sintaksi:

:<sākuma_līnija>,<end_line>s/<search_term> /<aizstāt_ termiņu> /g

Piemēram, lai meklētu un aizstātu Ubuntu parādīšanos ar Debian no rindām no 3 līdz 8 kādā failā, komanda būtu šāda:

:1, 10/ubuntu/debian/g

Lai meklētu un aizstātu vārda parādīšanos no pašreizējās rindas uz nākamo x rindu skaitu, tiktu izmantota šāda sintakse:

: s/search_term/aizstāt_ termiņu/g x

Līdzīgi, lai meklētu un aizstātu vārda parādīšanos no pašreizējās rindas uz pēdējo rindu, tiks izmantota šāda sintakse:

:.,$ s/search_term/aizstāt_ termiņu/g

SECINĀJUMS

Šajā rakstā mēs esam iemācījušies divus komandrindas veidus, kā meklēt un aizstāt jebkuru vārdu Vim redaktorā. Pirmā komanda, kas izmantoja slīpsvītru un punktu, ir vienkāršākā un vienkāršākā metode, taču izrādās, ka tā atkārtojas, kad meklējat un aizstājat vārdu, kas parādās pārāk daudz reižu. Otra komanda, kas vienreiz ir aizstāšanas komanda, var šķist grūta un sarežģīta, bet, tiklīdz jūs sāksit to praktizēt, tā būs ļoti noderīga vairākos gadījumos.