Sprievodca triedením riadkov vo Vime

Sprievodca Triedenim Riadkov Vo Vime



Na triedenie riadkov vo Vime môžete použiť vstavaný triediť príkaz, ktorý triedi riadky podľa definovaného rozsahu. Ak nie je zadaný žiadny rozsah, zvyčajne sa zoradia všetky riadky v dokumente.

Napríklad, ak chcete zoradiť celý dokument, použite :triediť príkaz v režime NORMAL. Na druhej strane, ak chcete triediť iba konkrétne riadky, použite funkciu :x, ty radíš príkaz, kde X a a definujte rozsah od čísla riadku X do a .







Triedenie je jednou z kľúčových funkcií, ktoré sa vyžadujú pri úprave dokumentov. Vim nie je o nič menej ako ktorýkoľvek pokročilý editor, pokiaľ ide o poskytovanie jedinečných funkcií, ako je triedenie. Preto v tejto príručke vysvetlím vstavaný modul Vim triediť príkaz a ako ho použiť rôznymi spôsobmi na triedenie riadkov.



Poznámka: Pokyny a príkazy uvedené v tejto príručke sa vykonávajú v systéme Linux (Ubuntu 22.04). Vim je multiplatformový textový editor a tieto príkazy budú fungovať bez chýb aj v systémoch MacOS a Windows.



Zoradiť všetky riadky





Ak chcete zoradiť všetky riadky v dokumente, spustite príkaz triediť príkaz v režime NORMAL.

:triediť



V predvolenom nastavení je triediť príkaz zoradí riadky v lexikografickom poradí.

Všimnite si, že ak má váš súbor prázdne riadky, príkaz na triedenie umiestni prázdne riadky do hornej časti skutočného zoradenia textu.

Zoradiť vybrané riadky

Aby sme zoradili vybrané riadky, musíme ich najskôr vybrať v režime výberu. A na aktiváciu režimu výberu stlačte v a vyberte riadky pomocou h , j , k, a l klávesy alebo smerové tlačidlá.

Vim má tiež režim výberu špecifický pre linku, tzv VIZUÁLNA línia režim. Stlačte tlačidlo V (Shift+v) na umožnenie VIZUÁLNA línia režim na výber riadkov.

Po výbere riadkov sa zobrazí „ <, ' > v príkazovom riadku, ktorý predstavuje rozsah výberu. ' < označil prvý riadok vizuálneho výberu, zatiaľ čo „ > označuje posledné.

Teraz stačí zadať triediť a stlačením klávesu return aplikujte triedenie na vybraté riadky, ako je znázornené na nasledujúcom obrázku GIF.

Zoraďte vzdialené čiary

Rozsah riadkov možno prejsť pred triediť príkaz na triedenie riadkov. The :nastaviť číslo príkaz možno použiť na aktiváciu čísla riadku vo Vime, čím sa zjednoduší jeho identifikácia.

Ak chcete napríklad zoradiť riadky od riadku číslo 1 po riadok číslo 4, použite príkaz :1,4 zoradenie príkaz.

: 1 , 4 triediť

Ako je možné vidieť vo vyššie uvedenom výstupe, sú zoradené iba špecifikované riadky.

Zoradiť v opačnom poradí

Ako už bolo spomenuté, predvolené správanie triediť príkaz je zoradiť riadky v lexikografickom poradí. Ak chcete zoradiť riadky nelexikálnym spôsobom, pridajte výkričník ( ! ) po triediť príkaz.

:triediť !

Zoradiť podľa miestneho nastavenia

Počítače sú prevádzkované po celom svete, majú rôzne jazyky s rôznymi súbormi znakov a pravidiel. Pokiaľ ide o triedenie zoradenia podľa miestneho nastavenia, záleží. Napríklad, ak žijete v Japonsku a chcete zoradiť riadky podľa tohto miestneho nastavenia, musíte ho špecifikovať. The triediť príkaz tiež umožňuje nastaviť voľbu locale s l vlajka.

Ak chcete skontrolovať aktuálne miestne nastavenie zoraďovania, použite :Jazyk príkaz.

:Jazyk

Ak chcete zoradiť podľa aktuálneho miestneho nastavenia, použite:

: šťastie l

Poznámka: Táto možnosť nemusí správne fungovať v systémoch založených na systéme macOS.

Zoradiť podľa čísla

Ak chcete zoradiť riadky podľa prvého desatinného čísla v riadku, použite n vlajka s triediť príkaz. Triedenie bude štandardne pokračovať vo vzostupnom poradí.

:triediť n

Ak chcete zoradiť zostupne, použite ! symbol za príkazom.

:triediť ! n

Rozdiel medzi triediť a triediť n je, že príkaz sort triedi riadky lexikálne, pričom ignoruje čísla v nich. Ak chcete triediť podľa čísel, pridajte znak n príznak s príkazom sort.

Napríklad riadky v nasledujúcom súbore majú písmená a čísla. Keď to triedime aplikáciou triediť iba príkaz, tieto riadky budú zoradené podľa abecedy. Na druhej strane, uplatňovanie triediť n príkaz zoradiť riadky podľa čísla, ako je znázornené na nasledujúcom obrázku.

Niektoré ďalšie možnosti číselného triedenia sú uvedené v nasledujúcej tabuľke.

f Triedenie s pohyblivým číslom
b Triedenie binárnych čísel
O Osmičkové triedenie čísel
h Hexadecimálne triedenie čísel

Zoradiť podľa značiek

Vo Vime sa značky používajú na nastavenie konkrétnych pozícií v súbore pre jednoduchšiu navigáciu v súbore so stovkami riadkov. Značky možno použiť na vykonanie operácie triedenia pomocou triediť príkaz.

Predpokladajme, že ste nastavili dve značky a a b .

Ak chcete zoradiť všetky riadky od značky a označiť b , použite nasledujúci príkaz.

: 'a,' b triediť

Jediný citát ( ' ) sa používa na prístup k značkám.

Zoradiť podľa regulárneho výrazu (RegEx)

Regulárny výraz (RegEx) je jedným z bežných spôsobov triedenia riadkov definovaním vzoru pomocou triediť príkaz.

Napríklad, ak chcete zoradiť riadky podľa stĺpca, ktorý má abecedy a číslice, použite /[a-z]*[0-9]+/ vzor s triediť príkaz. The r vlajka po triediť príkaz sa používa na prikázanie príkazu triediť na základe uvedeného vzoru.

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

Ako môžete vidieť na obrázku vyššie, posledný stĺpec je zoradený podľa abecedy. Ak chcete stĺpec zoradiť číselne, stačí vložiť n vlajka.

Poznámka: Prvé riadky som preskočil definovaním rozsahu od riadku 2,5.

The r flag umožňuje triediť súbor podľa daných vzorov. Bez r flag, príkaz sort zoradí všetky riadky, ktoré sa nezhodujú so vzorom.

Odstráňte duplicitné riadky

Najrýchlejší spôsob, ako odstrániť duplicitné riadky v súbore, je použiť triediť príkaz s v vlajka, ktorá predstavuje unikát.

:odroda u

Všimnite si, že použitie tejto metódy na odstránenie duplicitných riadkov tiež zoradí riadky, čo môže byť v mnohých situáciách nežiaduce. Na odstránenie duplicitných riadkov v súbore bez potreby triedenia použite alternatívne metódy, ako je regex.

Zoradiť riadky na základe stĺpca

Existujú dva spôsoby triedenia riadkov vo Vime na základe stĺpca. Prvý spôsob používa externý príkaz na triedenie systému Linux, zatiaľ čo druhý používa vstavaný príkaz na triedenie.

Externý príkaz sa dá ľahko implementovať v porovnaní s predvoleným príkazom na triedenie. Všimnite si, že externé príkazy nie sú predvolené príkazy Vimu. Znamená to akýkoľvek príkaz, ktorý operačný systém podporuje.

Poďme pochopiť, ako to funguje vo Vime.

Ak chcete použiť akýkoľvek externý príkaz vo Vime, ! symbol sa používa pred týmto príkazom. Predpokladajme, že máme súbor oddelený čiarkou (CSV) a chceme súbor zoradiť podľa tretieho stĺpca. Príkaz bude

: %! triediť -t ',' -k3

The % označuje celú vyrovnávaciu pamäť ako výber. The -t príznak sa používa na definovanie oddeľovača polí, ktorým môže byť čiarka, dvojbodka alebo dokonca medzera. The -k príznak je kľúč, ktorý označuje pozíciu v riadku a k2 znamená druhé pole za zadaným oddeľovačom.

V príklade som spomenul rozsah namiesto % preskočiť prvý riadok.

: 2 , 5 ! triediť -t ',' -k3

Vonkajšie triediť príkaz môže byť užitočný aj mnohými inými spôsobmi, pretože ponúka rôzne možnosti triedenia, ako je miešanie, náhodné triedenie a zlučovanie. Ak sa chcete dozvedieť viac o príkaze sort v systéme Linux, použite príkaz muž pomoc príkaz.

Na druhej strane použiť vstavaný Vim triediť s príkazom sort sa použije vzor regulárneho výrazu.

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

Vo vyššie uvedenom príkaze:

  • \v predstavuje zvislú kartu
  • ^ označuje začiatok riadku
  • (.{-},) je skupina, ktorá bude v ktorej .{-} je nenásytná verzia .* a , je separačné pole
  • {2} predstavuje prvé 2 stĺpce, ktoré sa majú preskočiť

Je vidieť, že r príznak sa nepoužíva so vzorom, čo znamená, že vzor preskočí akýkoľvek zodpovedajúci stĺpec a zoradí stĺpce podľa vzoru. V tomto prípade bude súbor zoradený podľa tretieho stĺpca. Opäť v nasledujúcom príklade, aby som preskočil prvý riadok, som použil rozsah 2,5.

Základný rozdiel medzi .* a .{-} je to .{-} spracuje najskôr algoritmus s najkratšou zhodou, zatiaľ čo .* sa bude čo najviac zhodovať. Napríklad v reťazci wxyz the x.*y sa zhoduje s celým reťazcom x.{-}y bude zodpovedať iba xy.

Pri triedení riadkov sa nerozlišujú malé a veľké písmená

Ak zoradíte riadky, ktoré začínajú veľkými a malými písmenami, príkaz na triedenie zoradí riadky najskôr veľkými písmenami. Ak chcete ignorovať rozlišovanie malých a veľkých písmen, použite i vlajka.

Ako môžete vidieť na nasledujúcom obrázku, nezoradené a zoradené riadky s oboma :triediť a :triediť i príkazy.

Záver

Triedenie vo Vime sa dá ľahko vykonať pomocou vstavaného Vimu triediť príkaz. V predvolenom nastavení sú riadky zoradené podľa abecedy, ak však chcete zoradiť opačne, použite ! podpísať po príkaze. Príkaz sort zvyčajne triedi celú vyrovnávaciu pamäť; rozsah možno definovať aj pomocou oddeľovača čiarkou. The n príznak sa používa na číselné triedenie, zatiaľ čo na odstránenie duplicitných riadkov v používa sa vlajka. Okrem toho, na zlepšenie procesu triedenia, externé triediť príkaz možno použiť aj vo Vime.

Ak sa chcete dozvedieť viac o triedení vo Vime, spustite :pomôžte triediť príkaz.