Guide til Vim Marks

Guide Til Vim Marks



Vim-mærker er specifikke placeringer i en fil, der kan indstilles med et navn og senere returneres ved at kalde dem ved deres navn. Brevet m efterfulgt af et andet bogstav {a-z eller A-Z} kan bruges til at sætte mærket, og en enkelt citat ) ') med mærket navn bruges til at vende tilbage til det mærke. Bemærk, at små bogstaver bogstaver bruges til at sætte lokale mærker mens store bogstaver bogstaver bruges til at indstille globale mærker .

Forståelse af Vim Marks

Vim giver dig mulighed for at indstille bestemte positioner i en fil, især hvis du arbejder på en stor fil, hvor du skal flytte frem og tilbage hurtigt. Denne funktion gør det usædvanligt nemt at navigere i en fil med hundredvis af linjer. For eksempel, hvis du arbejder på en Python-kode med 500 linjer kode, kan du blive bedt om at rulle gennem filen for at komme til en bestemt linje kode. Men hvis du sætter mærker på ønskede steder, så kan du nemt flytte ved at trykke på et par taster.







Nå, Vim-mærke-funktionaliteten er ikke begrænset til navigationen, du kan også bruge mærker til at udføre andre kommandoer, som jeg vil diskutere i senere afsnit i denne vejledning. Lad os undersøge, hvordan du indstiller og bruger mærker i Vim.



Bemærk: Jeg bruger Linux-distribution (Ubuntu 22.04) og Vim version 8.2 til instruktionerne i denne vejledning.



Sæt et mærke

For at indstille mærket i Vim skal du holde markøren der, hvor du vil sætte mærket, og trykke på m nøgle , efterfulgt af ethvert brev fra -en til Med . For eksempel hvis jeg vil sætte et mærke med navnet på bogstavet Med så skriver jeg mz i NORMAL tilstand.





mz

Der er flere måder at sætte et mærke på i Vim, denne procedure er den hurtigste.

Selvom den ovennævnte procedure er meget udbredt og meget hurtig, får du dog ikke nogen visuel indikation af, om mærket er sat eller ej, medmindre du udtrykkeligt tjekker det.



For at liste mærkerne i Vim skal du bruge :mærker kommando, som jeg vil diskutere i Liste mærker afsnit. Du kan dog aktivere tastetryksindikationen nederst i vinduet ved at bruge :sæt showcmd.

: sæt showcmd

Du kan også bruge mærke eller den Mærke kommandoer for at indstille mærket. For eksempel Med mærke kan også indstilles ved hjælp af nedenstående kommando:

: mærke z

Hver Vim-fil kan have mærker fra -en til Med , men hvis du sætter et mærke Med for en position og bruge det samme mærkenavn til en anden position, vil det tidligere indstillede mærke blive fjernet (overskrevet).

Bemærk, at de store bogstaver {A-Z} også kan bruges til at sætte et mærke. Mærker med store bogstaver er globale mærker og baseret på filer. Jeg vil diskutere de globale mærker grundigt i et separat afsnit.

Liste mærker

Som diskuteret i det foregående afsnit kan alle de oprettede mærker nemt listes

bruger :mærker kommando.

: mærker

I ovenstående outputbillede er alle mærkerne angivet; nogle er brugerdefinerede og nogle er standard.

Der er også nogle andre metoder til at angive mærkerne. For at angive et specifikt mærke skal du bruge :mærker kommando med mærkenavnet. For eksempel for at angive mærket Med, brug :mærker kommando:

: mærker z

Tilsvarende, for at angive flere mærker, skal du bruge :mærker :

: mærker abz

Hvor -en , b, og Med er forskellige mærkenavne.

Mærkerne i filerne er ikke synlige som standard, og for at se dem grafisk er der forskellige plugins. De velkendte plugins, der kan vise mærker i Vim er ShowMarks og Vim signatur .

Da ShowMarks plugin er fuld af fejl og ikke er blevet opdateret i mange år, vil jeg installere Vim signatur plugin for at se mærker.

Når du installerer plugin'et, skal du indstille mærket, og plugin'et vil eksplicit vise det med navnet som illustreret i det følgende billede.

Hop til et mærke

Efter at have sat mærket, er næste trin at navigere mellem mærkerne. Tryk på for at springe til begyndelsen af ​​den markerede linje i den aktuelle buffer enkelt citat (') med mærkenavnet {a-z}.

'Med

For at springe til den nøjagtige placering (række/kolonne) tryk på backtick (`) med mærkenavnet {a-z}.

`z

Single (‘) og backtick (`) kan også bruges til at springe over de globale mærker {A-Z}.

En tabel over navigation gennem de små bogstaver er nævnt nedenfor:

'' Hop tilbage til linjen, hvorfra du hoppede
Hop tilbage til den position, hvorfra du hoppede
' . /`. For at springe til den sidst redigerede linje/position
`[\`] For at springe til starten/slutningen af ​​den sidst rykkede tekst
`<\`> For at springe til starten/slutningen af ​​det sidste visuelle valg
[tælle]] ' For at springe til næste linje i [tæl] antallet af markeringer fra den aktuelle markørposition
[tælle]]` For at springe [tælle] antallet af markeringer fra den aktuelle markørposition

Det er vigtigt at bemærke, at navigationstasterne nævnt ovenfor er til små bogstaver.

Diskussion om Vim-mærker er ufuldstændig, hvis vi ikke diskuterer hopper og jumpliste . Det jumpliste gemmer de hop, der foretages i filen eller på tværs af filerne, uanset om de er mærker eller normale Vim-standardspring.

For at liste alle springene, brug :hopper kommandoen, og for at slette alle springene skal du bruge :clearjumps. For at navigere i springene, brug ctrl+o og ctrl+i nøgler.

Bemærk: Før du sletter springene, skal du være opmærksom på, at sletning af springene kan påvirke navigationshistorikken.

Jeg synes, det er mere bekvemt at bruge hop til at bevæge sig gennem mærkerne. Først rydder jeg alle springene, for hvis jeg ikke gør det, kan jeg ende i andre filer. Så registrerer jeg mærkespring i jumpliste fil ved hjælp af det enkelte citat eller tilbagekryds. Når det er gjort, bruger jeg ctrl+o og ctrl+i tasterne for at springe hurtigt gennem mærkerne.

For mere hjælp til at navigere i mærkerne, brug :hjælpemærker og :hjælp jumplist kommandoer.

Globale mærker

Globale mærker i Vim er indstillet til at hoppe mellem filerne. I modsætning til lokale mærker er globale mærker sat med store bogstaver og kan bruges på tværs af filerne.

Lad os forstå vigtigheden af ​​globale mærker ved hjælp af et eksempel. Forudsat at du arbejder på en kodefil og ønsker at få adgang til en bestemt funktion i den fil. Så i stedet for at åbne filen, skal du blot skrive det indstillede globale mærke, og filen åbnes med den specifikke placering.

Brug markeringskommandoen for at indstille det globale mærke m efterfulgt af et stort bogstav {A-Z}.

mZ

Nu kan du få adgang til dette mærke fra enhver fil. For at springe til det globale mærke, brug den samme procedure som nævnt i Hop til et mærke afsnit. Filen, der indeholder mærket, åbnes, og lukker den aktuelle.

'MED

Tilsvarende, for at gå til den nøjagtige placering, brug backtick med mærkenavnet (`Z).

Nummererede Mærker

De nummererede mærker {0-9} bruges til at gemme den aktuelle markørposition i viminfo fil, når du afslutter filen. De nummererede mærker er specielle og kan ikke indstilles direkte. Disse mærker er automatisk genereret i viminfo fil for at holde styr på ændringerne i filen, når du afslutter filen. For eksempel, når du afslutter en fil viminfo fil gemmer den sidste markørpositionsinformation i de nummererede mærker såsom 0, 1, 2 og så videre.

Du kan angive de nummererede mærker ved hjælp af :mærker kommando.

For mere information om de Vim-nummererede mærker, brug :hjælp viminfo-fil-mærker kommando.

Sletning af mærker

Der er forskellige metoder til at slette alle mærker, specifikke mærker eller en række mærker.

For at slette mærker skal du :delmarks eller :delm kommandoer kan bruges.

:delmarks z For at slette et bestemt mærke, f.eks. Med
:delmarks x-z For at slette mærker fra x til Med sådan at sletning x , og , og Med
:delmarks abxy At slette -en , b , x, og og mærker
:delmarks zZ At slette Med og MED mærker

Brug :delmarks! kommando. For at fjerne store bogstaver og talmærker skal du bruge :delmarks A-Z og :delmarks 0-9 kommandoer. Hvis du vil slette store {A-Z}-mærker, skal du bruge :delmarks A-Z . Nummererede mærker kan også ryddes med den samme kommando.

Avancerede egenskaber

Da mærker er placeringer, kan de også bruges til at redigere filen i Vim. For eksempel, for at slette, kopiere eller ændre noget fra et specifikt mærke til et andet mærke, kan du bruge den respektive kommando med omtale af mærkenavnet.

I den følgende tabel er Med bruges som mærkenavn.

d ' z / d`z Slet fra den aktuelle linje til den næste markerede linje / Slet fra den aktuelle position til den næste nøjagtige markerede position
c ' z / c`z Skift tekst fra den aktuelle linje til den næste markerede linje / Skift tekst fra den aktuelle position til den næste nøjagtige markerede position
og ' z / y`z Kopier (ryk) tekst fra den aktuelle linje til den næste markerede linje / Kopier tekst fra den aktuelle position til den næste nøjagtige markerede position

Hvis du ønsker at udføre en linjemæssigt operation, kald derefter mærket ved hjælp af det enkelte citat ('), og hvis du vil udføre en karaktermæssigt operation, brug backtick (`).

På samme måde, hvis du vil slette, ændre eller rykke noget mellem to mærker, kan du bruge følgende kommandosyntaks.

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

For eksempel, hvis du vil slette alle linjerne fra markering 'x at markere 'og brug : ' x, ' y d kommando.

Se følgende fil med mærker b og c .

For at fjerne alle linjer fra mærket b til c (inklusive), udfør kommandoen nedenfor:

: 'b,' c d

Forskellen mellem små bogstaver og store bogstaver

Både små og store bogstaver har forskellige funktioner.

De små bogstaver bruges i filerne og kan indstilles fra alfabetet -en til alfabet Med i enhver fil. De er unikke for de filer, de er blevet oprettet i. De kan tilgås og administreres i de filer, hvor de er oprettet. På den anden side er de store bogstaver {A-Z} globale og kan ikke angives med samme navn. Disse mærker kan tilgås fra enhver fil ved hjælp af apostrof (') eller backtick (').

Navigationen og processen med at slette små og store bogstaver er ens. Men små bogstaver har flere navigationskommandoer på grund af deres indstillinger i filen.

En anden vigtig ting er, at mærker ikke slettes, når filen eller sessionen afsluttes. Så hvis du har indstillet et mærke, vil filmærkerne forblive intakte ved genåbning.

Vim Marks snydeark

De nøglehandlinger, du skal bruge for at bruge mærkefunktionen i Vim-editoren, er nævnt i det følgende billede.

Konklusion

Mærkerne i Vim-editoren er brugerdefinerede positioner til at navigere i en fil med hundredvis af linjer. Der er to typer mærker, store og små bogstaver. De små bogstaver er praktiske til at navigere i filen. For at navigere på tværs af filerne bruges der store bogstaver. For at sætte mærket, bogstavet m bruges sammen med et andet lille eller stort bogstav {a-z, A-Z}. Mærker for enhver fil kan vises ved hjælp af :mærker kommando. For at slette et mærke :delmarks eller :delm kommandoer med mærkenavnet bruges.