Opas rivien lajitteluun Vimissä

Opas Rivien Lajitteluun Vimissa



Voit lajitella rivejä Vimissä käyttämällä sisäänrakennettua järjestellä komento, joka lajittelee rivit määritetyn alueen mukaan. Yleensä kaikki asiakirjan rivit lajitellaan, jos väliä ei ole annettu.

Jos esimerkiksi haluat lajitella koko asiakirjan, käytä :järjestellä komento NORMAALI-tilassa. Toisaalta, jos haluat lajitella vain tiettyjä rivejä, käytä :x,y tavallaan komento, missä x ja ja määrittää alueen rivin numerosta x to ja .







Lajittelu on yksi tärkeimmistä toiminnoista, joita tarvitaan asiakirjojen muokkaamisessa. Vim ei ole vähemmän kuin mikään edistynyt editori, kun se tarjoaa ainutlaatuisia ominaisuuksia, kuten lajittelua. Siksi tässä oppaassa selitän Vimin sisäänrakennetun järjestellä komento ja kuinka sitä käytetään eri tavoilla rivien lajitteluun.



Huomautus: Tässä oppaassa mainitut ohjeet ja komennot suoritetaan Linuxissa (Ubuntu 22.04). Vim on monialustainen tekstieditori, ja nämä komennot toimivat ilman virheitä myös macOS:ssä ja Windowsissa.



Lajittele kaikki rivit





Lajittele asiakirjan kaikki rivit suorittamalla järjestellä komento NORMAALI-tilassa.

:järjestellä



Oletuksena järjestellä komento lajittelee rivit leksikografiseen järjestykseen.

Huomaa, että jos tiedostossasi on tyhjiä rivejä, lajittelukomento sijoittaa tyhjät rivit todellisen tekstin lajittelun yläosaan.

Lajittele valitut rivit

Lajitellaksesi valitut rivit, meidän on ensin valittava ne valintatilassa. Ja ota valintatila käyttöön painamalla sisään ja valitse rivit -painikkeella h , j , k, ja l näppäimiä tai suuntapainikkeita.

Vimillä on myös linjakohtainen valintatila nimeltään VISUAALINEN LINE -tilassa. Lehdistö V (vaihto+v) ottaaksesi käyttöön VISUAALINEN LINE -tilassa rivien valitsemiseksi.

Kun olet valinnut rivit, näet ' <, ' > komentorivillä, joka edustaa valintaaluetta. ' < ilmaisi visuaalisen valinnan ensimmäisen rivin, kun taas ' > osoittaa viimeistä.

Kirjoita nyt vain järjestellä -komento ja paina paluunäppäintä ottaaksesi lajittelun käyttöön valituilla riveillä seuraavan GIF-kuvan mukaisesti.

Lajittele väliviivat

Linja-alue voidaan ohittaa ennen järjestellä komento rivien lajitteluun. The : aseta numero -komentoa voidaan käyttää rivinumeron aktivoimiseen Vimissä, mikä helpottaa rivinumeron tunnistamista.

Jos esimerkiksi haluat lajitella rivejä riviltä numero 1 riville numero 4, käytä :1,4 lajittele komento.

: 1 , 4 järjestellä

Kuten yllä olevasta tuloksesta voidaan nähdä, vain määritetyt rivit lajitellaan.

Lajittele käänteisesti

Kuten aiemmin mainittiin, oletuskäyttäytyminen järjestellä komento on lajitella rivit leksikografiseen järjestykseen. Jos haluat lajitella rivit ei-leksikaalisella tavalla, lisää huutomerkki ( ! ) jälkeen järjestellä komento.

:järjestellä !

Lajittele kieliasetuksen mukaan

Tietokoneita käytetään kaikkialla maailmassa, ja niillä on eri kieliä ja erilaisia ​​merkkejä ja sääntöjä. Kun on kyse lajittelun lajittelusta paikan mukaan. Jos esimerkiksi asut Japanissa ja haluat lajitella rivit kyseisen maan mukaan, sinun on määritettävä se. The järjestellä komennon avulla voit myös asettaa locale-asetuksen komennolla l lippu.

Voit tarkistaa nykyisen lajittelualueen käyttämällä :Kieli komento.

:Kieli

Lajittele nykyisen kielen mukaan seuraavasti:

:sort l

Huomautus: Tämä vaihtoehto ei ehkä toimi oikein macOS-pohjaisissa järjestelmissä.

Lajittele numeron mukaan

Jos haluat lajitella rivit rivin ensimmäisen desimaaliluvun perusteella, käytä n lippu kanssa järjestellä komento. Lajittelu etenee oletusarvoisesti nousevassa järjestyksessä.

:sort n

Lajitellaksesi laskevaan järjestykseen, käytä ! symboli komennon jälkeen.

:järjestellä ! n

Ero välillä järjestellä ja lajitella n on se, että sort-komento lajittelee rivit sananmukaisesti jättäen huomioimatta niissä olevat numerot. Jos haluat lajitella numeroiden mukaan, liitä n lippu lajittelukomennolla.

Esimerkiksi seuraavan tiedoston riveillä on myös kirjaimia ja numeroita. Kun lajittelemme sen soveltamalla järjestellä vain komento, nämä rivit lajitellaan aakkosjärjestykseen. Toisaalta soveltamalla lajitella n -komento lajittele rivit numeron mukaan seuraavan kuvan mukaisesti.

Seuraavassa taulukossa on mainittu joitakin muita numeerisen lajittelun vaihtoehtoja.

f Float-numeroiden lajittelu
b Binäärilukujen lajittelu
O Oktaalilukujen lajittelu
h Heksadesimaalilukujen lajittelu

Lajittele Marks

Vimissä merkkejä käytetään määrittämään tiettyjä paikkoja tiedostossa, mikä helpottaa satojen rivien tiedoston navigointia. Merkkejä voidaan käyttää lajittelutoiminnon suorittamiseen käyttämällä järjestellä komento.

Oletetaan, että olet asettanut kaksi merkkiä a ja b .

Joten lajitella kaikki rivit merkistä a merkitä b , käytä seuraavaa komentoa.

: 'a,' b järjestellä

Yksi lainaus ( ' ) käytetään merkkeihin pääsyyn.

Lajittele säännöllisen lausekkeen mukaan (säännöllinen lauseke)

Säännöllinen lauseke (RegEx) on yksi yleisimmistä tavoista lajitella viivoja määrittämällä kuvio järjestellä komento.

Jos esimerkiksi haluat lajitella rivit suhteessa sarakkeeseen, jossa on aakkoset ja numerot, käytä /[a-z]*[0-9]+/ kuvion kanssa järjestellä komento. The r lippu jälkeen järjestellä komentoa käytetään ohjaamaan komento lajittelemaan mainitun mallin perusteella.

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

Kuten yllä olevasta kuvasta näet, viimeinen sarake on lajiteltu aakkosjärjestykseen. Jos haluat lajitella sarakkeen numeerisesti, lisää vain n lippu.

Huomautus: Ohitin ensimmäiset rivit määrittämällä alueen riviltä 2,5.

The r lipun avulla voit lajitella tiedoston annettujen kuvioiden mukaan. Ilman r lippu, lajittelukomento lajittelee kaikki rivit, jotka eivät vastaa kuviota.

Poista päällekkäiset rivit

Nopein tapa poistaa päällekkäiset rivit tiedostosta on käyttää järjestellä komennon kanssa sisään lippu, joka edustaa ainutlaatuista.

:lajike u

Huomaa, että käyttämällä tätä menetelmää päällekkäisten rivien poistamiseen myös rivit lajitellaan, mikä voi olla ei-toivottua monissa tilanteissa. Käytä vaihtoehtoisia menetelmiä, kuten regex, poistaaksesi päällekkäiset rivit tiedostosta ilman lajittelua.

Lajittele rivit sarakkeen perusteella

Vimissä on kaksi tapaa lajitella rivejä sarakkeen perusteella. Ensimmäinen menetelmä käyttää ulkoista Linux-lajittelukomentoa, kun taas toinen käyttää sisäänrakennettua lajittelukomentoa.

Ulkoinen komento on helppo toteuttaa verrattuna oletuslajittelukomentoon. Huomaa, että ulkoiset komennot eivät ole Vimin oletuskomentoja. Se tarkoittaa mitä tahansa komentoa, jota käyttöjärjestelmä tukee.

Ymmärretään kuinka se toimii Vimissä.

Käyttääksesi mitä tahansa ulkoista komentoa Vimissä, ! symbolia käytetään ennen komentoa. Oletetaan, että meillä on pilkuilla erotettu tiedosto (CSV) ja haluamme lajitella tiedoston suhteessa kolmanteen sarakkeeseen. Käsky tulee olemaan

: %! järjestellä -t ',' -k3

The % ilmaisee koko puskurin valintana. The -t lippua käytetään määrittämään kentän erotin, joka voi olla pilkku, kaksoispiste tai jopa välilyönti. The -k lippu on avain, joka osoittaa sijainnin rivillä, ja k2 tarkoittaa toista kenttää määritetyn erottimen jälkeen.

Esimerkissä olen maininnut alueen sijaan % ohittaaksesi ensimmäisen rivin.

: 2 , 5 ! järjestellä -t ',' -k3

Ulkoinen järjestellä komento voi olla hyödyllinen myös monilla muilla tavoilla, koska se tarjoaa erilaisia ​​lajitteluvaihtoehtoja, kuten sekoitus, satunnainen lajittelu ja yhdistäminen. Saat lisätietoja Linuxin lajittelukomennosta käyttämällä mies apua komento.

Toisaalta käyttää Vimin sisäänrakennettua järjestellä -komentoa, lajittelukomennon kanssa käytetään säännöllistä lauseketta.

:järjestellä / \v^ ( . { - } , ) { 2 } /

Yllä olevassa komennossa:

  • \sisään edustaa pystysuoraa välilehteä
  • ^ osoittaa rivin alun
  • (.{-},) on ryhmä, joka tahtoo jossa .{-} on ei-ahne versio .* ja , on erotuskenttä
  • {2} edustaa kahta ensimmäistä ohitettavaa saraketta

Voidaan nähdä, että r lippua ei käytetä kuvion kanssa, mikä tarkoittaa, että kuvio ohittaa minkä tahansa vastaavan sarakkeen ja lajittelee sarakkeet kuvion jälkeen. Tässä tapauksessa tiedosto lajitellaan kolmannen sarakkeen perusteella. Jälleen seuraavassa esimerkissä, ohittaakseni ensimmäisen rivin, käytin aluetta 2,5.

Perus ero .* ja .{-} onko tuo .{-} käsittelee lyhimmän ottelun ensimmäisen algoritmin, kun .* vastaa mahdollisimman paljon. Esimerkiksi merkkijonossa wxyz the x.*y vastaa koko merkkijonoa x.{-}y vastaa vain xy:tä.

Lajittele rivit kirjainkoolla ei eroa

Jos lajittelet rivit, jotka alkavat isoilla ja pienillä kirjaimilla, lajittelukomento lajittelee rivit ensin isoilla kirjaimilla. No, jos haluat jättää huomiotta kirjainherkkyyden, käytä i lippu.

Kuten näet seuraavassa kuvassa, lajittelemattomat ja lajitellut rivit sekä :järjestellä ja :lajittele i komentoja.

Johtopäätös

Lajittelu Vimissä voidaan tehdä helposti Vimin sisäänrakennetun Vimin avulla järjestellä komento. Oletuksena rivit lajitellaan aakkosjärjestyksessä, mutta jos haluat lajitella käänteisesti, käytä ! allekirjoittaa komennon jälkeen. Lajittele komento tyypillisesti lajittelee koko puskurin; alue voidaan määrittää myös pilkkuerottimella. The n lippua käytetään numeeriseen lajitteluun ja päällekkäisten rivien poistamiseen sisään lippua käytetään. Lisäksi lajitteluprosessin parantamiseksi ulkoinen järjestellä komentoa voidaan käyttää myös Vimissä.

Saat lisätietoja lajittelusta Vimissä suorittamalla :apua lajitteluun komento.