Guide til Vim Marks

Guide Til Vim Marks



Vim-merker er spesifikke plasseringer i en fil som kan angis med et navn og senere returneres ved å kalle dem ved navn. Brevet m etterfulgt av en annen bokstav {a-z eller A-Z} kan brukes til å sette merket, og en enkelt sitat ) ') med merkenavnet brukes for å gå tilbake til det merket. Merk at små bokstaver bokstaver brukes til å sette lokale merker mens stor bokstav bokstaver brukes til å angi globale merker .

Forstå Vim Marks

Vim lar deg angi spesifikke posisjoner i en fil, spesielt hvis du jobber med en stor fil hvor du må flytte frem og tilbake raskt. Denne funksjonen gjør det eksepsjonelt enkelt å navigere i en fil med hundrevis av linjer. Hvis du for eksempel jobber med en Python-kode med 500 kodelinjer, kan det hende du må bla gjennom filen for å komme til en bestemt kodelinje. Men hvis du setter merker på ønskede steder, kan du enkelt flytte ved å trykke på et par taster.







Vel, Vim-merker-funksjonaliteten er ikke begrenset til navigasjonen, du kan bruke merker til å utføre andre kommandoer også, som jeg vil diskutere i senere deler av denne veiledningen. La oss utforske hvordan du setter og bruker merker i Vim.



Merk: Jeg bruker Linux-distribusjon (Ubuntu 22.04) og Vim versjon 8.2 for instruksjonene i denne veiledningen.



Sett et merke

For å sette merket i Vim, hold markøren der du vil sette merket og trykk på m nøkkel , etterfulgt av et hvilket som helst brev fra en til Med . For eksempel hvis jeg vil sette et merke med navnet på bokstaven Med så skriver jeg mz i NORMAL-modus.





mz

Det er flere måter å sette et merke i Vim, denne prosedyren er den raskeste.

Selv om den ovennevnte prosedyren er mye brukt og veldig rask, får du imidlertid ingen visuell indikasjon på om merket er satt eller ikke med mindre du sjekker det eksplisitt.



For å liste opp merkene i Vim, bruk :merker kommando, som jeg vil diskutere i Liste merker seksjon. Du kan imidlertid aktivere tastetrykkindikasjonen nederst i vinduet ved å bruke :sett showcmd.

: sett showcmd

Du kan også bruke merke eller merke kommandoer for å sette merket. For eksempel Med merke kan også settes ved å bruke kommandoen nedenfor:

: merk z

Hver Vim-fil kan ha merker fra en til Med , men hvis du setter et merke Med for en posisjon og bruke samme merkenavn for en annen posisjon, vil det tidligere angitte merket bli fjernet (overskrevet).

Merk at de store bokstavene {A-Z} også kan brukes til å sette et merke. Merker med store bokstaver er globale merker og basert på filer. Jeg vil diskutere de globale merkene grundig i et eget avsnitt.

Liste merker

Som diskutert i forrige avsnitt, kan alle de opprettede merkene enkelt listes opp

bruker :merker kommando.

: merker

I utdatabildet ovenfor er alle merkene oppført; noen er tilpasset og noen er standard.

Det er også noen andre metoder for å liste opp merkene. For å liste opp et spesifikt merke, bruk :merker kommando med merkenavnet. For eksempel for å liste opp merket Med, bruke :marks kommando:

: merker z

På samme måte, for å liste opp flere merker, bruk :merker :

: merker abz

Hvor en , b, og Med er forskjellige merkenavn.

Merkene i filene er ikke synlige som standard, og for å se dem grafisk finnes det forskjellige plugins. De velkjente pluginene som kan vise merker i Vim er ShowMarks og Vim signatur .

Siden ShowMarks-plugin er full av feil og ikke har blitt oppdatert på mange år, vil jeg installere Vim signatur plugin for å se merker.

Når du installerer plugin, setter du merket, og plugin vil eksplisitt vise den med navnet som illustrert i følgende bilde.

Hopp til et merke

Etter å ha satt merket, er neste trinn å navigere mellom merkene. For å hoppe til begynnelsen av den merkede linjen i gjeldende buffer, trykk på enkelt sitat (') med merkenavnet {a-z}.

'Med

For å hoppe til den nøyaktige plasseringen (rad/kolonne), trykk på backtick (`) med merkenavnet {a-z}.

`z

Singelen (') og backtick (') kan også brukes til å hoppe over de globale merkene {A-Z}.

En tabell over navigering gjennom de små bokstavene er nevnt nedenfor:

'' Hopp tilbake til linjen der du hoppet
' Hopp tilbake til posisjonen der du hoppet
' . /`. For å hoppe til den siste redigerte linjen/posisjonen
`[\`] For å hoppe til starten/slutten av den siste teksten
`<\`> For å hoppe til starten / slutten av det siste visuelle valget
[telle]] ' For å hoppe til neste linje i [tell] antall merker fra gjeldende markørposisjon
[telle]]` For å hoppe [telle] antall merker fra gjeldende markørposisjon

Det er viktig å merke seg at navigasjonstastene nevnt ovenfor er for små bokstaver.

Diskusjon om Vim-merker er ufullstendig hvis vi ikke diskuterer hopper og hoppeliste . De hoppeliste lagrer hoppene som er gjort i filen eller på tvers av filene, enten de er merker eller normale Vim-standardhopp.

For å liste opp alle hoppene, bruk :hopper kommandoen, og for å slette alle hoppene, bruk :clearjumps. For å navigere i hoppene, bruk ctrl+o og ctrl+i nøkler.

Merk: Før du sletter hoppene, vær oppmerksom på at sletting av hoppene kan påvirke navigasjonshistorikken.

Jeg synes det er mer praktisk å bruke hopp for å bevege meg gjennom merkene. Først fjerner jeg alle hoppene fordi hvis jeg ikke gjør det, kan jeg havne i andre filer. Da registrerer jeg merkehopp i hoppeliste fil ved å bruke det enkle sitatet eller backtick. Når jeg er ferdig, bruker jeg ctrl+o og ctrl+i tastene for å hoppe raskt gjennom merkene.

For mer hjelp om å navigere i merkene, bruk :hjelpemerker og :hjelp jumplist kommandoer.

Globale merker

Globale merker i Vim er satt til å hoppe mellom filene. I motsetning til lokale merker er globale merker satt med store bokstaver og kan brukes på tvers av filene.

La oss forstå viktigheten av globale merker ved hjelp av et eksempel. Forutsatt at du jobber med en kodefil og ønsker å få tilgang til en bestemt funksjon i den filen. Så i stedet for å åpne filen, skriv ganske enkelt det angitte globale merket, og filen åpnes med den spesifikke plasseringen.

For å angi det globale merket, bruk mark-kommandoen m etterfulgt av en stor bokstav {A-Z}.

mZ

Nå kan du få tilgang til dette merket fra hvilken som helst fil. For å hoppe til det globale merket, bruk samme fremgangsmåte som er nevnt i Hopp til et merke seksjon. Filen som inneholder merket åpnes, og lukker den gjeldende.

'MED

På samme måte, for å gå til den nøyaktige plasseringen, bruk backtick med merkenavnet (`Z).

Nummererte merker

De nummererte merkene {0-9} brukes til å lagre gjeldende markørposisjon i viminfo fil når du avslutter filen. De nummererte merkene er spesielle og kan ikke settes direkte. Disse merkene er automatisk generert i viminfo fil for å holde styr på endringene i filen når du avslutter filen. For eksempel, når du avslutter en fil viminfo filen lagrer den siste markørposisjonsinformasjonen i nummererte merker som 0, 1, 2 og så videre.

Du kan liste de nummererte merkene ved å bruke :merker kommando.

For mer informasjon om de Vim-nummererte merkene, bruk :hjelp viminfo-fil-merker kommando.

Sletting av merker

Det finnes ulike metoder for å slette alle merkene, spesifikke merker eller en rekke merker.

For å slette merker, :delmarks eller :delm kommandoer kan brukes.

:delmarks z For å slette et bestemt merke, f.eks. Med
:delmarks x-z For å slette merker fra x til Med slik at sletting x , og , og Med
:delmarks abxy Å slette en , b , x, og og merker
:delmarks zZ Å slette Med og MED merker

For å fjerne alle små bokstaver {a-z}, bruk :delmarks! kommando. For å fjerne store bokstaver og tallmerker, må du bruke :delmarks A-Å og :delmarks 0-9 kommandoer. Hvis du vil fjerne store {A-Z}-merker, bruk :delmarks A-Å . Nummererte merker kan også slettes med samme kommando.

Avanserte funksjoner

Siden merker er steder, kan de brukes til å redigere filen også i Vim. For eksempel, for å slette, kopiere eller endre noe fra et spesifikt merke til et annet merke, kan du bruke den respektive kommandoen med omtale av merkenavnet.

I den følgende tabellen er Med brukes som merkenavn.

d ' z / d`z Slett fra gjeldende linje til neste merkede linje / Slett fra gjeldende posisjon til neste nøyaktige markerte posisjon
c ' z / c`z Change text from the current line to the next marked line / Change text from the current position to the next exact marked position
og ' z / y`z Kopier (rykk) tekst fra gjeldende linje til neste merkede linje / Kopier tekst fra gjeldende posisjon til neste nøyaktige markerte posisjon

Hvis du ønsker å utføre en linjevis operasjon, ring deretter merket ved å bruke det enkle anførselstegn ('), og hvis du vil utføre en karaktermessig operasjon, bruk backtick (`).

På samme måte, hvis du vil slette, endre eller rykke noe mellom to merker, kan du bruke følgende kommandosyntaks.

: 'x,' og < d,c eller y >

For eksempel hvis du ønsker å slette alle linjene fra merke 'x å markere 'og bruke : ' x, ' y d kommando.

Se følgende fil med merker b og c .

For å fjerne alle linjene fra merket b til c (inkludert), utfør kommandoen gitt nedenfor:

: 'b,' c d

Forskjellen mellom små bokstaver og store bokstaver

Både små og store bokstaver har distinkte funksjoner.

De små bokstavene brukes i filene og kan settes fra alfabetet en til alfabetet Med i hvilken som helst fil. De er unike for filene de er opprettet i. De kan åpnes og administreres i filene der de er opprettet. På den annen side er de store bokstavene {A-Z} globale og kan ikke angis med samme navn. Disse merkene kan nås fra en hvilken som helst fil ved å bruke apostrof (') eller tilbaketikk (').

Navigeringen og prosessen med å slette små og store bokstaver er like. Men små bokstaver har flere navigasjonskommandoer på grunn av innstillingene i filene.

En annen viktig ting er at merkene ikke slettes når filen eller økten avsluttes. Så hvis du har angitt et merke, vil filmerkene forbli intakte ved gjenåpning.

Vim Marks Cheat Sheet

Nøkkeloperasjonene du trenger for å bruke merkefunksjonen i Vim-editoren er nevnt i bildet nedenfor.

Konklusjon

Merkene i Vim-editoren er tilpassede posisjoner for å navigere i en fil med hundrevis av linjer. Det finnes to typer merker, store og små bokstaver. De små bokstavene er nyttige for å navigere i filen. For å navigere på tvers av filene, brukes store bokstaver. For å sette merket, bokstaven m brukes med en annen liten eller stor bokstav {a-z, A-Z}. Merker for enhver fil kan listes opp ved å bruke :merker kommando. For å slette et merke :delmarks eller :delm kommandoer med merkenavnet brukes.