Vodnik za razvrščanje vrstic v Vimu

Vodnik Za Razvrscanje Vrstic V Vimu



Za razvrščanje vrstic v Vimu lahko uporabite vgrajeno vrsta ukaz, ki vrstice razvrsti po določenem obsegu. Običajno so vse vrstice v dokumentu razvrščene, če ni naveden noben obseg.

Če želite na primer razvrstiti celoten dokument, uporabite :razvrsti ukaz v NORMALNEM načinu. Po drugi strani pa, če želite razvrstiti samo določene vrstice, uporabite :x,y vrsta ukaz, kje x in in določi obseg od številke vrstice x do in .







Razvrščanje je ena od ključnih funkcij, ki so potrebne pri urejanju dokumentov. Vim ni nič manj kot kateri koli napredni urejevalnik, ko gre za zagotavljanje edinstvenih funkcij, kot je razvrščanje. Zato bom v tem vodniku razložil vgrajeni Vim vrsta in kako ga uporabiti na različne načine za razvrščanje vrstic.



Opomba: Navodila in ukazi, omenjeni v tem priročniku, se izvajajo v sistemu Linux (Ubuntu 22.04). Vim je urejevalnik besedil za več platform in ti ukazi bodo delovali brez napak tudi v sistemih macOS in Windows.



Razvrsti vse vrstice





Če želite razvrstiti vse vrstice v dokumentu, izvedite vrsta ukaz v NORMALNEM načinu.

:razvrsti



Privzeto je vrsta ukaz bo razvrstil vrstice po leksikografskem vrstnem redu.

Upoštevajte, da če ima vaša datoteka prazne vrstice, bo ukaz razvrsti prazne vrstice postavil na vrh dejanskega razvrščanja besedila.

Razvrsti izbrane vrstice

Za razvrščanje izbranih vrstic jih moramo najprej izbrati v izbirnem načinu. Če želite omogočiti izbirni način, pritisnite v in izberite vrstice z h , j , k, in l tipke ali smerne tipke.

Vim ima tudi način izbire, specifičen za vrstice, imenovan VIZUALNA LINIJA način. Pritisnite V (shift+v) omogočiti VIZUALNA LINIJA način za izbiro vrstic.

Ko izberete vrstice, boste videli ' <, ' > v ukazni vrstici, ki predstavlja obseg izbire. ' < je nakazal prvo vrstico vizualne izbire, medtem ko je ' > označuje zadnje.

Zdaj samo vnesite vrsta in pritisnite tipko return, da uporabite razvrščanje v izbranih vrsticah, kot je prikazano v naslednjem GIF-u.

Razvrsti razporejene črte

Obseg vrstice je mogoče posredovati pred vrsta ukaz za razvrščanje vrstic. The : nastavite številko ukaz lahko uporabite za aktiviranje številke vrstice v Vimu, s čimer olajšate identifikacijo številke vrstice.

Na primer, če želite razvrstiti vrstice od vrstice številka 1 do vrstice številka 4, uporabite :1,4 vrsta ukaz.

: 1 , 4 vrsta

Kot je razvidno iz zgornjega izhoda, so razvrščene samo določene vrstice.

Razvrsti v obratni smeri

Kot smo že omenili, privzeto vedenje vrsta ukaz je razvrstiti vrstice po leksikografskem vrstnem redu. Če želite vrstice razvrstiti na neleksikalni način, dodajte klicaj ( ! ) Po vrsta ukaz.

:razvrsti !

Razvrsti po jeziku

Računalniki se uporabljajo po vsem svetu in imajo različne jezike z različnimi nabori znakov in pravil. Ko gre za razvrščanje primerjanja po področnih nastavitvah, je pomembno. Na primer, če živite na Japonskem in želite vrstice razvrstiti po tem jeziku, ga morate določiti. The vrsta ukaz omogoča tudi nastavitev področne možnosti z l zastava.

Če želite preveriti trenutno področno nastavitev primerjanja, uporabite :jezik ukaz.

:jezik

Če želite razvrstiti s trenutno področno nastavitvijo, uporabite:

: sreča l

Opomba: Ta možnost morda ne bo delovala pravilno v sistemih, ki temeljijo na macOS.

Razvrsti po številki

Če želite razvrstiti vrstice glede na prvo decimalno število v vrstici, uporabite n zastavo z vrsta ukaz. Razvrščanje se bo privzeto nadaljevalo v naraščajočem vrstnem redu.

:razvrsti n

Za razvrščanje v padajočem vrstnem redu uporabite ! simbol za ukazom.

:razvrsti ! n

Razlika med vrsta in vrsta n je, da ukaz sort razvrsti vrstice leksikalno, ne upošteva pa številk v njih. Če želite razvrstiti glede na številke, dodajte n zastavico z ukazom sort.

Na primer, vrstice v naslednji datoteki vsebujejo tudi črke in številke. Ko ga razvrstimo z uporabo vrsta samo ukaz, bodo te vrstice razvrščene po abecedi. Po drugi strani pa uporaba vrsta n razvrsti vrstice po številu, kot je prikazano na naslednji sliki.

Nekatere druge možnosti za številčno razvrščanje so omenjene v naslednji tabeli.

f Razvrščanje s plavajočimi številkami
b Razvrščanje binarnih števil
O Oktalno razvrščanje števil
h Šestnajstiško razvrščanje števil

Razvrsti po oznakah

V Vimu se oznake uporabljajo za nastavitev določenih položajev v datoteki za lažjo navigacijo po datoteki s stotinami vrstic. Oznake lahko uporabite za izvedbo operacije razvrščanja z uporabo vrsta ukaz.

Recimo, da ste postavili dve oznaki a in b .

Torej, da razvrstite vse vrstice od oznake a označiti b , uporabite naslednji ukaz.

: 'a,' b vrsta

Enotni narekovaj ( ' ) se uporablja za dostop do oznak.

Razvrsti po regularnem izrazu (RegEx)

Regularni izraz (RegEx) je eden od pogostih načinov za razvrščanje vrstic z definiranjem vzorca z vrsta ukaz.

Na primer, če želite razvrstiti vrstice glede na stolpec, ki ima črke in številke, uporabite /[a-z]*[0-9]+/ vzorec z vrsta ukaz. The r zastava po vrsta ukaz se uporablja za ukaz ukazu za razvrščanje na podlagi omenjenega vzorca.

:vrsti r / [ a-z ] * [ 0 - 9 ] + /

Kot lahko vidite na zgornji sliki, je zadnji stolpec razvrščen po abecedi. Če želite stolpec razvrstiti številčno, samo vstavite n zastava.

Opomba: Prve vrstice sem preskočil tako, da sem določil obseg od vrstice 2,5.

The r zastavica omogoča razvrščanje datoteke po danih vzorcih. Brez r zastavico, bo ukaz sort razvrstil vse vrstice, ki se ne ujemajo z vzorcem.

Odstranite podvojene vrstice

Najhitrejši način za odstranitev podvojenih vrstic v datoteki je uporaba vrsta ukaz z v zastavo, ki predstavlja unikat.

:različnost u

Upoštevajte, da bo uporaba te metode za odstranjevanje podvojenih vrstic tudi razvrstila vrstice, kar je lahko v mnogih situacijah nezaželeno. Uporabite alternativne metode, kot je regex, da odstranite podvojene vrstice v datoteki brez potrebe po razvrščanju.

Razvrsti vrstice glede na stolpec

Obstajata dva načina za razvrščanje vrstic v Vimu glede na stolpec. Prva metoda uporablja zunanji ukaz za razvrščanje Linuxa, medtem ko druga uporablja vgrajeni ukaz za razvrščanje.

Zunanji ukaz je enostaven za implementacijo v primerjavi s privzetim ukazom sort. Upoštevajte, da zunanji ukazi niso privzeti ukazi Vima. Pomeni kateri koli ukaz, ki ga podpira operacijski sistem.

Razumejmo, kako deluje v Vimu.

Če želite uporabiti kateri koli zunanji ukaz v Vimu, ! simbol se uporablja pred tem ukazom. Recimo, da imamo datoteko, ločeno z vejicami (CSV), in želimo datoteko razvrstiti glede na tretji stolpec. Ukaz bo

: %! vrsta -t ',' -k3

The % označuje celoten medpomnilnik kot izbor. The -t zastavica se uporablja za določitev ločila polja, ki je lahko vejica, dvopičje ali celo presledek. The -k zastavica je ključ, ki označuje položaj v vrstici, in k2 pomeni drugo polje za navedenim ločilom.

V primeru sem namesto tega omenil obseg % da preskočite prvo vrstico.

: 2 , 5 ! vrsta -t ',' -k3

Zunanji vrsta ukaz je lahko uporaben tudi na številne druge načine, saj ponuja različne možnosti razvrščanja, kot so mešanje, naključno razvrščanje in združevanje. Če želite izvedeti več o ukazu sort Linux, uporabite človek pomoč ukaz.

Po drugi strani pa za uporabo Vimovega vgrajenega vrsta bo z ukazom sort uporabljen vzorec regularnega izraza.

:razvrsti / \v^ ( . { - } , ) { 2 } /

V zgornjem ukazu:

  • \in predstavlja navpični zavihek
  • ^ označuje začetek vrstice
  • ({-},) je skupina, ki bo v kateri .{-} je nepožrešna različica .* in , je ločilno polje
  • {2} predstavlja prva 2 stolpca, ki jih je treba preskočiti

Vidi se, da je r zastavica se ne uporablja z vzorcem, kar pomeni, da bo vzorec preskočil vse ujemajoče se stolpce in razvrstil stolpce po vzorcu. V tem primeru bo datoteka razvrščena glede na tretji stolpec. Tudi v naslednjem primeru sem za preskok prve vrstice uporabil obseg 2,5.

Osnovna razlika med .* in .{-} je to .{-} bo obdelal najkrajši algoritem za prvo ujemanje, medtem ko .* se bodo ujemale čim bolj. Na primer, v nizu wxyz the x.*y se bo ujemal s celotnim nizom, medtem ko x.{-}y se bo ujemal samo s xy.

Razvrsti vrstice brez upoštevanja velikih in malih črk

Če razvrstite vrstice, ki se začnejo z velikimi in malimi črkami, bo ukaz razvrsti najprej razvrstil vrstice z velikimi črkami. No, če zanemarite občutljivost na velike in male črke, uporabite jaz zastava.

Kot lahko vidite na naslednji sliki, sta nerazvrščeni in razvrščeni vrstici tako z :razvrsti in :razvrsti i ukazi.

Zaključek

Razvrščanje v Vimu je mogoče preprosto opraviti z uporabo vgrajenega Vima vrsta ukaz. Privzeto so vrstice razvrščene po abecedi, če pa želite razvrstiti v obratni smeri, uporabite ! znak za ukazom. Ukaz sort običajno razvrsti celoten medpomnilnik; obseg je mogoče določiti tudi z ločilom z vejico. The n zastavica se uporablja za številčno razvrščanje, medtem ko za odstranjevanje podvojenih vrstic v uporablja se zastava. Poleg tega za izboljšanje postopka razvrščanja zunanji vrsta ukaz lahko uporabite tudi v Vimu.

Če želite izvedeti več o razvrščanju v Vimu, zaženite :pomoč pri razvrščanju ukaz.