Sådan vælger du alt i Vim

Sadan Vaelger Du Alt I Vim



I Vim, for at vælge al teksten i en fil, skal du bruge ggVG kommando i NORMAL tilstand. Når du har valgt teksten, kan handlinger som kopiering, sletning, ændring eller indsættelse nemt udføres på al teksten.

Hvis du bruger et GUI-baseret operativsystem, skal du være bekendt med ctrl+a genvejstaster til at vælge alt indhold i en fil eller et vindue. I Vim kan du ikke bruge de samme taster til at markere al tekst. I stedet tilbyder den et andet sæt nøgler (ggVG) til at vælge alt i en fil. I denne guide vil jeg udforske, hvordan man vælger tekst i Vim, og hvordan man gør det nemmere ved at bruge tastmapping.







Bemærk: Vim-kommandoer nævnt i denne vejledning udføres på macOS. Da Vim er en teksteditor på tværs af platforme, vil kommandoerne også fungere uden fejl på Linux og Windows.



Vælg Alt i Vim



For at vælge alt i Vim skal du trykke på Esc tasten for at gå ind i NORMAL tilstand, og skriv kommandoen nedenfor:





ggVG

I ovenstående kommando bruges en kombination af fem taster. Lad os bryde det ned.



  • gg bruges til at placere markøren i starten af ​​den første linje.
  • I bruges til at skifte den aktuelle tilstand til VISUAL LINE-tilstand.
  • G bruges til at placere markøren i starten af ​​den sidste linje.

Når du har valgt alle, skal du bruge kommandoerne nævnt i følgende tabel til at udføre den ønskede handling.

og For at kopiere (rykke) al teksten
d For at slette al tekst
c For at ændre hele teksten
s At erstatte et bestemt mønster med en streng

Vælg All in Vim ved hjælp af ctrl+a kort

Nå, inklusive mig, vil ingen gerne bruge et sæt Vim-kommandoer, der er svære at huske, til at vælge al teksten i en fil. Imidlertid ctrl+a (på Linux og Windows) nøgler er universelt brugte og nemme at huske. Derfor vil jeg foretrække at kortlægge ctrl+a nøgler med ggVG kommando.

Åbn vimrc fil, placer følgende linje i den, og gem den ved at bruge :wq kommando eller tryk på skift+zz nøgler.

nnoremap < C-a > ggVG

I ovenstående kommando, nnoremap bruges til at kortlægge nøglen ikke-rekursivt i NORMAL-tilstand, mens angiver ctrl , og -en nøgler. Du kan indstille enhver tast efter dine præferencer.

Kopier og slet alle linjer i en fil

Det % kommando er en anden nyttig kommando til at udføre operationer på hele filen. For at kopiere alle linjerne i filen, skal du f.eks. bruge :%og kommando. Det % angiver det aktuelle filnavn, og og kopierer al teksten i filen. På samme måde, for at slette alle linjerne, skal du bruge :%d kommando.

: % og 'Kopier alle linjerne i en fil

:%d                             '
Slet alle linjerne i -en fil

: % s /< mønster >>< udskiftning > 'Erstat et mønster med en snor

Den samme funktionalitet kan også opnås ved hjælp af gg og G kommandoer. Men det afhænger af markørens position. Placer din markør i begyndelsen af ​​filen vha gg og tryk yG at kopiere alle linjerne. På samme måde placeres markøren i slutningen vha G og tryk ygg at kopiere alle linjerne. Erstat for at slette linjerne og med d .

Desuden åå og dd kommandoer tæller også som et linjenummer. For at kopiere fire linjer, tryk på 4yy, og fire linjer fra markørens position vil blive kopieret. Kopiering og sletning af al in-fil-funktionalitet kan opnås, hvis vi sender et stort tal som 99999 med enten åå eller dd kommando. For eksempel, 99999 åå og 99999dd kommandoer vil kopiere og slette alt indhold i filen.

Kopier al tekst til systemudklipsholderen

For at indsætte den kopierede tekst fra Vim til systemapplikationer, såsom teksteditorer eller browsere, skal du bruge gg *yG kommando. Typisk kopierer Vim teksten til det unavngivne standardregister, som kan tilgås vha :reg '' . Vim vil dog ikke tillade dig at indsætte teksten uden for Vim-editoren. Brug ' *og kommando for at overføre valgte tekst til operativsystemets udklipsholder.

gg '*yG                            Kopiér til systemets udklipsholder

I ovenstående kommando, * er et systemregister, som er en lille lagerplads til at opbevare data. Der er to systemregistre + og * og begge kan bruges til at kopiere indhold til systemets udklipsholder. Du kan bruge denne kommando anderledes, når du er i COMMAND-tilstand.

: % y+ 'Kopier til systemets udklipsholder

Her, % repræsenterer hele filen, og er til at rykke, og + er systemregistret. Imidlertid, * kan også ansættes til samme formål.

Tilsvarende, hvis du har kopieret noget på udklipsholderen, for at indsætte det i Vim brug, “+s.

Konklusion

I Vim, kommandoen ggVG bruges til at vælge alt i en fil. Efter at have valgt alle linjerne, kan forskellige handlinger udføres, såsom kopiering, ændring eller sletning. Disse operationer kan dog også udføres ved hjælp af kommandolinjen med % skilt. Jeg anbefaler at kortlægge en nøgle (nøgler) for at udføre select-all-handlingen i Vim.