Rokasgrāmata līniju kārtošanai programmā Vim

Rokasgramata Liniju Kartosanai Programma Vim



Lai kārtotu līnijas programmā Vim, varat izmantot iebūvēto kārtot komanda, kas kārto rindas pēc noteikta diapazona. Parasti visas dokumenta rindas tiek sakārtotas, ja nav norādīts diapazons.

Piemēram, ja vēlaties kārtot visu dokumentu, izmantojiet :šķirot komandu NORMAL režīmā. No otras puses, ja vēlaties kārtot tikai noteiktas rindas, izmantojiet :x,y šķirot komanda, kur x un un definējiet diapazonu no rindas numura x uz un .







Kārtošana ir viena no svarīgākajām funkcijām, kas nepieciešama dokumentu rediģēšanas laikā. Vim ir ne mazāk kā jebkurš uzlabots redaktors, ja runa ir par unikālu funkciju, piemēram, šķirošanas, nodrošināšanu. Tāpēc šajā rokasgrāmatā es izskaidrošu Vim iebūvēto kārtot komandu un kā to izmantot dažādos veidos, lai kārtotu rindas.



Piezīme: Šajā rokasgrāmatā minētās instrukcijas un komandas tiek izpildītas operētājsistēmā Linux (Ubuntu 22.04). Vim ir vairāku platformu teksta redaktors, un šīs komandas darbosies bez kļūdām arī operētājsistēmās macOS un Windows.



Kārtot visas līnijas





Lai kārtotu visas dokumenta rindas, izpildiet kārtot komandu NORMAL režīmā.

:šķirot



Pēc noklusējuma kārtot komanda sakārtos rindas leksikogrāfiskā secībā.

Ņemiet vērā: ja failā ir tukšas rindas, kārtošanas komanda tukšās rindas novietos faktiskā teksta kārtošanas augšdaļā.

Kārtot atlasītās līnijas

Lai sakārtotu atlasītās rindas, vispirms tās ir jāatlasa atlases režīmā. Un, lai iespējotu atlases režīmu, nospiediet iekšā un atlasiet līnijas, izmantojot h , j , k, un l taustiņus vai virzienu pogas.

Vim ir arī līnijai specifisks atlases režīms, ko sauc VIZUĀLĀ LĪNIJA režīmā. Nospiediet V (shift+v) lai iespējotu VIZUĀLĀ LĪNIJA režīmā, lai atlasītu līnijas.

Pēc līniju atlasīšanas jūs redzēsit ' <, ' > komandrindā, kas apzīmē atlases diapazonu. ' < norādīja vizuālās atlases pirmo rindiņu, bet ' > norāda pēdējo.

Tagad vienkārši ierakstiet kārtot komandu un nospiediet atgriešanas taustiņu, lai izvēlētajās rindās lietotu kārtošanu, kā parādīts nākamajā GIF.

Kārtojiet diapazona līnijas

Līnijas diapazonu var iziet pirms kārtot komandu, lai sakārtotu rindas. The :iestatīt numuru komandu var izmantot, lai aktivizētu līnijas numuru programmā Vim, tādējādi atvieglojot līnijas numura identificēšanu.

Piemēram, lai kārtotu rindas no 1. rindas līdz 4. rindiņai, izmantojiet :1,4 šķirot komandu.

: 1 , 4 kārtot

Kā redzams iepriekš minētajā izvadē, tiek sakārtotas tikai norādītās rindas.

Kārtot apgrieztā secībā

Kā minēts iepriekš, noklusējuma darbība kārtot komanda ir sakārtot rindas leksikogrāfiskā secībā. Lai rindas sakārtotu neleksiskā veidā, pievienojiet izsaukuma zīmi ( ! ) pēc tam, kad kārtot komandu.

:šķirot !

Kārtot pēc lokalizācijas

Datori tiek darbināti visā pasaulē, izmantojot dažādas valodas ar dažādiem rakstzīmju un noteikumiem. Kad runa ir par salīdzināšanas kārtošanu pēc lokalizācijas. Piemēram, ja jūs dzīvojat Japānā un vēlaties kārtot rindas pēc šīs lokalizācijas, jums tas ir jānorāda. The kārtot komanda nodrošina arī lokalizācijas opcijas iestatīšanu ar l karogs.

Lai pārbaudītu pašreizējo salīdzināšanas lokalizāciju, izmantojiet :valoda komandu.

: valoda

Lai kārtotu pēc pašreizējās lokalizācijas, izmantojiet:

: veiksme l

Piezīme: Šī opcija var nedarboties pareizi sistēmās, kuru pamatā ir macOS.

Kārtot pēc numura

Lai kārtotu rindas pēc pirmā decimālskaitļa rindā, izmantojiet n karogs ar kārtot komandu. Pēc noklusējuma kārtošana turpināsies augošā secībā.

:šķirt n

Lai kārtotu dilstošā secībā, izmantojiet ! simbols pēc komandas.

:šķirot ! n

Atšķirība starp kārtot un kārtot n ir tāda, ka kārtošanas komanda kārto rindas leksiski, ignorējot tajās esošos skaitļus. Ja vēlaties kārtot pēc skaitļiem, pievienojiet n karodziņš ar kārtošanas komandu.

Piemēram, rindās nākamajā failā ir arī burti un cipari. Kad mēs to šķirojam, piemērojot kārtot tikai komandu, šīs rindas tiks sakārtotas alfabētiskā secībā. No otras puses, piemērojot kārtot n komanda šķiro rindas pēc skaita, kā parādīts nākamajā attēlā.

Dažas citas skaitliskās šķirošanas iespējas ir minētas nākamajā tabulā.

f Pludiņa skaitļu šķirošana
b Bināro skaitļu šķirošana
O Oktālo skaitļu šķirošana
h Heksadecimālo skaitļu šķirošana

Kārtot pēc Marks

Programmā Vim atzīmes tiek izmantotas, lai failā iestatītu noteiktas pozīcijas, lai atvieglotu navigāciju failā ar simtiem rindu. Atzīmes var izmantot, lai veiktu kārtošanas darbību, izmantojot kārtot komandu.

Pieņemsim, ka esat iestatījis divas atzīmes a un b .

Tātad, lai sakārtotu visas līnijas no atzīmes a atzīmēt b , izmantojiet šo komandu.

: 'a,' b kārtot

Viens citāts ( ' ) tiek izmantots, lai piekļūtu atzīmēm.

Kārtot pēc regulārās izteiksmes (regulārā izteiksme)

Regulārā izteiksme (RegEx) ir viens no izplatītākajiem veidiem, kā kārtot līnijas, definējot modeli ar kārtot komandu.

Piemēram, lai kārtotu rindas attiecībā pret kolonnu, kurā ir alfabēts un cipari, izmantojiet /[a-z]*[0-9]+/ modelis ar kārtot komandu. The r karogs pēc kārtot komanda tiek izmantota, lai uzdotu komandai kārtot, pamatojoties uz minēto modeli.

:šķirot r / [ a-z ] * [ 0 - 9 ] + /

Kā redzat attēlā, pēdējā kolonna ir sakārtota alfabētiskā secībā. Lai kārtotu kolonnu skaitliski, vienkārši ievietojiet n karogs.

Piezīme: Es izlaidu pirmās rindiņas, definējot diapazonu no 2,5 rindas.

The r karodziņš ļauj kārtot failu pēc norādītajiem modeļiem. Bez r karodziņu, kārtošanas komanda sakārtos visas rindas, kas neatbilst paraugam.

Noņemiet dublētās līnijas

Ātrākais veids, kā noņemt faila rindas dublikātus, ir izmantot kārtot komandu ar iekšā karogs, kas attēlo unikālo.

: dažādība u

Ņemiet vērā, ka, izmantojot šo metodi, lai noņemtu dublētās rindas, tiks sakārtotas arī rindas, kas daudzās situācijās var būt nevēlamas. Izmantojiet alternatīvas metodes, piemēram, regulāro izteiksmi, lai failā noņemtu dublētās rindas bez kārtošanas.

Kārtot rindas, pamatojoties uz kolonnu

Ir divas metodes, kā kārtot līnijas programmā Vim, pamatojoties uz kolonnu. Pirmā metode izmanto ārējo Linux kārtošanas komandu, bet otrā izmanto iebūvēto kārtošanas komandu.

Ārējo komandu ir viegli ieviest, salīdzinot ar noklusējuma kārtošanas komandu. Ņemiet vērā, ka ārējās komandas nav Vim noklusējuma komandas. Tas nozīmē jebkuru komandu, ko atbalsta operētājsistēma.

Sapratīsim, kā tas darbojas Vimā.

Lai programmā Vim izmantotu jebkuru ārējo komandu, ! simbols tiek izmantots pirms šīs komandas. Pieņemsim, ka mums ir ar komatu atdalīts fails (CSV) un mēs vēlamies kārtot failu attiecībā pret trešo kolonnu. Komanda būs

: %! kārtot -t ',' -k3

The % norāda visu buferi kā atlasi. The -t karodziņš tiek izmantots, lai definētu lauka atdalītāju, kas var būt komats, kols vai pat atstarpe. The -k karogs ir taustiņš, kas norāda pozīciju rindā, un k2 nozīmē otro lauku pēc norādītā norobežotāja.

Piemērā esmu minējis diapazonu, nevis % lai izlaistu pirmo rindiņu.

: 2 , 5 ! kārtot -t ',' -k3

Ārējais kārtot komanda var būt noderīga arī daudzos citos veidos, jo tā piedāvā dažādas kārtošanas iespējas, piemēram, jaukšanu, nejaušu kārtošanu un sapludināšanu. Lai uzzinātu vairāk par Linux kārtošanas komandu, izmantojiet vīrieša palīdzība komandu.

No otras puses, lai izmantotu Vim iebūvēto kārtot komandu, regulāras izteiksmes modelis tiks izmantots ar kārtošanas komandu.

:šķirot / \v^ ( . { - } , ) { 2 } /

Iepriekš minētajā komandā:

  • \in apzīmē vertikālo cilni
  • ^ norāda rindas sākumu
  • (.{-},) ir grupa, kas būs kurā .{-} ir versija, kas nav mantkārīga .* un , ir atdalīšanas lauks
  • {2} apzīmē pirmās 2 kolonnas, kuras jāizlaiž

Var redzēt, ka r karodziņš netiek izmantots ar rakstu, kas nozīmē, ka modelis izlaidīs jebkuru atbilstošo kolonnu un sakārtos kolonnas pēc raksta. Šajā gadījumā fails tiks sakārtots, pamatojoties uz trešo kolonnu. Atkal nākamajā piemērā, lai izlaistu pirmo rindiņu, es izmantoju diapazonu 2,5.

Galvenā atšķirība starp .* un .{-} vai tas ir .{-} apstrādās īsāko atbilstības pirmo algoritmu, kamēr .* sakritīs pēc iespējas vairāk. Piemēram, virknē wxyz the x.*y sakritīs ar visu virkni x.{-}y atbilst tikai xy.

Kārtošanas līnijas nav reģistrjutīgas

Ja kārtojat rindas, kas sākas ar lielajiem un mazajiem burtiem, kārtošanas komanda vispirms kārtos rindas ar lielajiem burtiem. Lai ignorētu reģistrjutību, izmantojiet i karogs.

Kā redzams nākamajā attēlā, nešķirotās un sakārtotās līnijas ar :šķirot un :kārtot i komandas.

Secinājums

Šķirošanu programmā Vim var viegli veikt, izmantojot iebūvēto Vim kārtot komandu. Pēc noklusējuma rindas tiek kārtotas alfabētiskā secībā, tomēr, ja vēlaties kārtot apgriezti, izmantojiet ! parakstīties pēc komandas. Kārtošanas komanda parasti sakārto visu buferi; diapazonu var definēt arī ar komatu atdalītāju. The n karodziņš tiek izmantots skaitliskai šķirošanai, savukārt, lai noņemtu dublētās rindas iekšā tiek izmantots karogs. Turklāt, lai uzlabotu šķirošanas procesu, ārējā kārtot komandu var izmantot arī Vim.

Lai uzzinātu vairāk par kārtošanu programmā Vim, palaidiet :palīdzi šķirot komandu.