Juhend Vimi joonte sortimiseks

Juhend Vimi Joonte Sortimiseks



Vimi ridade sortimiseks saate kasutada sisseehitatud sorteerida käsk, mis sorteerib read määratud vahemiku järgi. Tavaliselt sorteeritakse kõik dokumendi read, kui vahemikku pole antud.

Näiteks kui soovite sortida kogu dokumenti, kasutage :sorteeri käsk NORMAL režiimis. Teisest küljest, kui soovite sortida ainult konkreetseid ridu, kasutage :x,y sorteeri käsk, kus x ja ja määrake vahemik alates rea numbrist x juurde ja .







Sorteerimine on üks olulisi funktsioone, mida dokumentide redigeerimisel vaja on. Unikaalsete funktsioonide (nt sortimine) pakkumisel pole Vim vähem kui ükski arenenud redaktor. Seetõttu selgitan selles juhendis Vimi sisseehitatud funktsioone sorteerida käsk ja kuidas seda erinevatel viisidel ridade sortimiseks kasutada.



Märge: Selles juhendis mainitud juhised ja käsud täidetakse Linuxis (Ubuntu 22.04). Vim on platvormideülene tekstiredaktor ja need käsud töötavad ilma vigadeta ka MacOS-is ja Windowsis.



Sorteeri kõik read





Dokumendi kõigi ridade sortimiseks käivitage käsk sorteerida käsk NORMAL režiimis.

:sorteeri



Vaikimisi on sorteerida käsk sorteerib read leksikograafilises järjekorras.

Pange tähele, et kui failis on tühjad read, paigutab sortimiskäsk tühjad read tegeliku teksti sortimise ülaossa.

Sorteeri valitud read

Valitud ridade sortimiseks peame need kõigepealt valikurežiimis valima. Ja valikurežiimi lubamiseks vajutage sisse ja valige read kasutades h , j , k, ja l klahvid või suunanupud.

Vimil on ka liinispetsiifiline valikurežiim VISUAALNE JOON režiimis. Vajutage V (tõstuklahv+v) lubada VISUAALNE JOON režiimi joonte valimiseks.

Pärast ridade valimist näete ' <, ' > käsureal, mis tähistab valikuvahemikku. ' < tähistas visuaalse valiku esimest rida, samas kui ' > näitab viimast.

Nüüd lihtsalt tippige sorteerida käsk ja vajutage tagastusklahvi, et rakendada sortimist valitud ridadele, nagu on näidatud järgmises GIF-is.

Sorteeri Ranged Lines

Reavahemiku saab läbida enne sorteerida käsk ridade sortimiseks. The :määratud number käsku saab kasutada reanumbri aktiveerimiseks Vimis, muutes seeläbi reanumbri tuvastamise lihtsamaks.

Näiteks ridade sortimiseks realt number 1 kuni rea number 4 kasutage :1,4 sorteerida käsk.

: 1 , 4 sorteerida

Nagu ülaltoodud väljundist näha, sorteeritakse ainult määratud read.

Sorteeri tagurpidi

Nagu varem mainitud, vaikimisi käitumine sorteerida käsk on sortida read leksikograafilises järjekorras. Ridade mitteleksikaalseks sortimiseks lisage hüüumärk ( ! ) pärast sorteerida käsk.

:sorteeri !

Sorteeri lokaadi järgi

Arvuteid kasutatakse üle kogu maailma, kasutades erinevaid keeli erinevate tähemärkide ja reeglitega. Kui tegemist on lokaadi järgi sorteerimisega. Näiteks kui elate Jaapanis ja soovite ridu selle lokaadi järgi sortida, peate selle määrama. The sorteerida käsk võimaldab määrata ka lokaadi suvandi l lipp.

Praeguse võrdlemise lokaadi kontrollimiseks kasutage :keel käsk.

:keel

Praeguse lokaadi järgi sortimiseks kasutage järgmist.

:sorteeri l

Märge: See valik ei pruugi macOS-il põhinevates süsteemides korralikult töötada.

Sorteeri numbri järgi

Ridade sortimiseks rea esimese kümnendarvu alusel kasutage n lipp koos sorteerida käsk. Sorteerimine toimub vaikimisi kasvavas järjekorras.

:sorteeri n

Kahanevas järjekorras sortimiseks kasutage nuppu ! sümbol käsu järel.

:sorteeri ! n

Erinevus vahel sorteerida ja sorteerida n seisneb selles, et sorteerimiskäsk sorteerib read leksikaalselt, ignoreerides neis olevaid numbreid. Kui soovite sortida numbrite järgi, lisage n liputage sortimiskäsuga.

Näiteks järgmise faili ridadel on ka tähed ja numbrid. Kui sorteerime selle rakendusega sorteerida ainult käsuga, sorteeritakse need read tähestikulises järjekorras. Teisest küljest rakendades sorteerida n käsk sorteeri read numbrite järgi, nagu on näidatud järgmisel pildil.

Mõned teised numbrilise sortimise võimalused on toodud järgmises tabelis.

f Ujukarvude sortimine
b Kahendarvude sortimine
O Kaheksandikarvude sorteerimine
h Kuueteistkümnendsüsteemi numbrite sortimine

Sorteeri Marksi järgi

Vimis kasutatakse märke failis kindlate positsioonide määramiseks, et hõlbustada sadade ridadega failis navigeerimist. Märke saab kasutada sortimistoimingu tegemiseks, kasutades sorteerida käsk.

Oletame, et olete määranud kaks märki a ja b .

Niisiis, sorteerida kõik read märgist alates a märgistada b , kasutage järgmist käsku.

: 'a,' b sorteerida

Üksik tsitaat ( ' ) kasutatakse märkidele juurdepääsuks.

Sordi regulaaravaldise järgi (RegEx)

Regulaaravaldis (RegEx) on üks levinumaid viise joonte sortimiseks, määratledes mustri nupuga sorteerida käsk.

Näiteks ridade sortimiseks tähestikku ja numbreid sisaldava veeru suhtes kasutage /[a-z]*[0-9]+/ muster koos sorteerida käsk. The r lipp pärast sorteerida käsku kasutatakse selleks, et käsk sortida mainitud mustri alusel.

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

Nagu näete ülaloleval pildil, on viimane veerg järjestatud tähestikulises järjekorras. Veeru numbriliseks sortimiseks sisestage lihtsalt n lipp.

Märge: Jätsin esimesed read vahele, määrates vahemiku realt 2,5.

The r lipp võimaldab faili sorteerida antud mustrite järgi. Ilma r lipu all, sorteerib sortimiskäsk kõik read, mis mustriga ei ühti.

Eemaldage dubleerivad read

Kiireim viis failist topeltridade eemaldamiseks on kasutada sorteerida käsuga sisse lipp, mis esindab ainulaadset.

:variety u

Pange tähele, et selle meetodi kasutamine dubleerivate ridade eemaldamiseks sorteerib ka read, mis võib paljudes olukordades olla soovimatud. Kasutage alternatiivseid meetodeid, nagu regex, et eemaldada failist topeltridad ilma sortimise vajaduseta.

Sorteeri read veeru alusel

Vimi ridade sortimiseks veeru alusel on kaks meetodit. Esimene meetod kasutab välist Linuxi sortimiskäsku, teine ​​aga sisseehitatud sortimiskäsku.

Välist käsku on vaikimisi sortimise käsuga võrreldes lihtne rakendada. Pange tähele, et välised käsud ei ole Vimi vaikekäsud. See tähendab mis tahes käsku, mida operatsioonisüsteem toetab.

Saame aru, kuidas see Vimis töötab.

Mis tahes välise käsu kasutamiseks Vimis, ! sümbolit kasutatakse enne seda käsku. Oletame, et meil on komadega eraldatud fail (CSV) ja tahame faili sortida kolmanda veeru järgi. Käsk saab olema

: %! sorteerida -t ',' -k3

The % tähistab kogu puhvrit valikuna. The -t lippu kasutatakse välja eraldaja määratlemiseks, mis võib olla koma, koolon või isegi tühik. The -k lipp on võti, mis näitab asukohta real ja k2 tähendab teist välja määratud eraldaja järel.

Näites olen selle asemel maininud vahemikku % esimese rea vahelejätmiseks.

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

Väline sorteerida käsk võib olla kasulik ka mitmel muul viisil, kuna see pakub erinevaid sortimisvalikuid, nagu segamine, juhuslik sortimine ja liitmine. Linuxi sortimiskäsu kohta lisateabe saamiseks kasutage mees appi käsk.

Teisest küljest kasutada Vimi sisseehitatud sorteerida käsk, kasutatakse koos sortimiskäsuga regulaaravaldise mustrit.

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

Ülaltoodud käsus:

  • \in tähistab vertikaalset vahekaarti
  • ^ näitab rea algust
  • (.{-},) on rühm, mis tahab, milles .{-} on mitteahne versioon .* ja , on eraldusväli
  • {2} tähistab kahte esimest veergu, mida vahele jätta

On näha, et r lippu ei kasutata mustriga, mis tähendab, et muster jätab kõik sobitatud veerud vahele ja sorteerib veerud mustri järgi. Sel juhul sorteeritakse fail kolmanda veeru alusel. Järgmises näites kasutasin esimese rea vahelejätmiseks vahemikku 2,5.

Põhiline erinevus .* ja .{-} kas see on .{-} töötleb lühima vaste esimese algoritmi, samas .* ühtib nii palju kui võimalik. Näiteks stringis wxyz the x.*y ühtib kogu stringiga x.{-}y vastab ainult xy-le.

Sort Lines tõstutundlik

Kui sorteerite ridasid, mis algavad suurte ja väikeste tähtedega, sorteerib sortimise käsk kõigepealt suurtähtedega read. Noh, tõstutundlikkuse ignoreerimiseks kasutage i lipp.

Nagu näete järgmisel pildil, on sortimata ja sorteeritud read mõlemaga :sorteeri ja :sorteeri i käske.

Järeldus

Vimis sorteerimist saab hõlpsasti teha sisseehitatud Vimi abil sorteerida käsk. Vaikimisi sorteeritakse read tähestikulises järjekorras, kuid kui soovite sortida vastupidi, kasutage ! allkirja pärast käsku. Sorteerimiskäsk sorteerib tavaliselt kogu puhvri; vahemiku saab määratleda ka koma eraldajaga. The n lippu kasutatakse numbriliseks sortimiseks, samas kui dubleerivate ridade eemaldamiseks sisse lippu kasutatakse. Veelgi enam, sorteerimisprotsessi tõhustamiseks välist sorteerida käsku saab kasutada ka Vimis.

Vimis sortimise kohta lisateabe saamiseks käivitage :aita sorteerida käsk.