Grunnleggende Vim-konfigurasjon

Etter å ha studert Vim for nybegynnere, du har sett at den relative linjenummeringen for filene dine ikke overlever en reload. Selv om denne oppførselen kan defineres i Vim-konfigurasjonsfilen.

.Vimrc-filen

Alt Vim konfigurasjonsinformasjon er i .vimrc fil funnet i hjemmekatalogen. Du kan åpne den med redigeringsfilkommandoen fra innsiden Vim:

: e ~ / .vimrc 

Denne filen er tom fordi den ikke er brukt. Denne opplæringen vil vise deg hvordan du bruker den.

Kommenteringskode

Før du legger inn en kode, bør du dokumentere hva som er gjort. Du kan kanskje vite hva du gjør akkurat nå, men en måned fra nå er en annen sak. Alltid kommentere koden slik at når du kommer tilbake til det, blir du påminnet om hvorfor du kodet noe.

For .vimrc fil, alt etter et dobbelt sitat til enden av en linje er ikke brukt. Derfor kan du sette noe der for å hjelpe deg med å huske hva du gjorde.

sett nummer "Dette slår på linjenummering 

Nå vil du alltid vite at sett nummer Kommandoen slår på linjenummering. 

Alternativer og variabler

For å slå på linjenumre og relative nummerering, må du sette dette inn på .vimrc fil:

sett nummer "Dette slår på linjenummeringssettet relativnummer" Dette slår på relativ nummerering 

Lagre det, og du trenger ikke lenger å tenke på det. Hver gang Vim åpner en fil, vil den nå vise relative linjenummer. De sett Kommandoen angir hvilket som helst alternativ som er inne Vim. Et alternativ er slått av ved å angi det motsatte alternativet. Modsatte alternativer er de samme som alternativet med Nei foran.

Bruk følgende for å slå av linjenummering og relative nummerering:

sett ikke nummeret "Dette slår av linjenummeringssettet norelativnummer" Dette slår av relative nummerering 

Ikke sett begge settene inn i .vimrc fil. Det vil slå den på og tilbake. I en liten stund vil jeg vise deg hvordan du gjør det mer programmatisk.

Hvis du allerede vet tilstanden til et alternativ, er alternativet en annen måte å angi alternativet på. Alternativer blir byttet ved å sette en ! etter opsjonsnavnet. Dette veksler på / av alternativene:

sett nummer! "Dette bytter verdien av nummeret sett relativienummer!" Dette skifter relative linjenumre 

Hvis den nåværende tilstanden til et alternativ er nødvendig, bruk a ? etter opsjonsnavnet. I Vim, type:

sett nummer? 

Det kommer tilbake Nummer. Dette gjør at du vet tilstanden til alternativet.

Hvis du vil endre antall kolonner som linjenummerområdet viser, kan du angi numberwidth til en verdi. Følgende vil sette kolonnebredden til 4:

sett nummerbredde = 4 "Sett linjenumrene til 4 mellomrom 

Prøv det og se hvor mange mellomrom du liker og sett det inn i .vimrc fil.

Hvis du trenger en variabel, blir variabler opprettet ved hjelp av la uttalelse. For eksempel:

la navnet = "Richard Guay" "Angi navnet mitt i navnevariabelen 

Når du lagrer det i .vimrc fil (men bruk ditt eget navn), det kan vises i kommandomodus med : ekko navn.

Se variabelenavnet

Alternativer behandles som en variabel ved å forhåndsføre alternativet med en &. Alternativer kan skrives ut av:

: ekko og nummerbredde 

De ekko kommandoen er bare for variabler, men prefikserer et alternativ med en & forteller Vim å behandle alternativet som en variabel. Dette gjør det mulig å bruke alternativets verdi i matematikk. Derfor, for å øke linjenummer arealbredden med en, gjøres ved å bruke

: la & numberwidth = & numberwidth + 1 

en ekko og nummerbredde skal nå vise 5.

Alle variabler har også deres omfang. Omfanget er definert av et brev, :, og variabelnavnet. Udefinert omfang behandles som globalt omfang. De forskjellige målene er:

b: Buffer scope-Bare brukbar fra den nåværende bufferen
w: Vinduomfang-Kun tilgjengelig fra det nåværende vinduet
t: Faneoversikt-Bare tilgjengelig på fanesiden
g: Globalt omfang tilgjengelig overalt
l: Lokalt omfang tilgjengelig lokalt til den funksjonen som er definert
s: Kildeomfang-kun tilgjengelig i den hentede filen
en: Argument scope-only available within the function
v: Global scope-brukes til å referere til en variabel definert og brukt av Vim

Den riktige definisjonen for navnvariabelen som bruker globalt omfang er:

la g: name = "Richard Guay" "Angi navnet mitt på navnvariabelen 

Få informasjon

Nå som du vet hvordan du angir alternativer og variabler, kan du kanskje lure på hvordan du finner ut de forskjellige alternativene. Søke på nettet er ett alternativ, men informasjonen er i Vim. Type:

: sett alle 

Og Vim vil vise alle muligheter i programmet. Skriver inn :la og et enter vil vise alle variablene.

De :hjelp kommandoen brukes til å lete etter den omfattende dokumentasjonen som er innebygd Vim. Å komme ut av :hjelp, bruk : q. I hjelp modus, avslutter dette ikke programmet, men setter redigereren inn i normal modus.

funksjoner

Funksjoner er svært nyttige i .vimrc fil. Siden Vimkonfigurasjonsfiler bruker et fullt programmeringsspråk, herfra vil jeg se ut til det sanne navnet: VimScript.

I VimScript, definer en funksjon ved å bruke:

funksjon ()  EndFunk 

Jeg elsker linjenummering og relative nummerering, men noen ganger vil du ikke ha relativ nummerering. Skriv inn hele strengen : sett norelativnummer eller : sett relativnummer! er mye å skrive. En funksjon for å slå den på og av, ville være god.

funksjon TRELative () sett relativnummer! EndFunk 

En funksjon kjøres med :anrop kommando.

: ring TRELative () 

De funksjon kommandoen lar deg ikke overskrive en allerede definert funksjon. Hvis den funksjonen allerede var definert et annet sted, eller du prøvde å laste filen på nytt igjen, Vim Vil feil og slutte å behandle filen på det tidspunktet. Hvis du bruker funksjon! kommando, vil det overskrive funksjonen uten en feil. Det er god programmeringsøvelse i VimScript å mest bruke funksjon!.

For å slå av alle nummerering, kan en funksjon opprettes for å gjøre det, og det er motsatt. Legg dette til i .vimrc:

funksjon! NoNumber () set nonumber sett norelativnummer endfunc funksjon! Numbers () sett nummer sett relativnummer endfunc 

For å overføre parametere til en funksjon, plasserer du et variabelnavn inne i parentesen. For eksempel:

funksjon! Hei (navn) ekko "Hei" a: navn endfunc 

Som du ser, må du ha omfangsvariabler som er argumenter for en funksjon. Når du ringer funksjonen nå med et navn, får du det

: ring hei ("Richard") Hei Richard 

Grunnleggende kartlegging

En av de viktigste bruksområdene for konfigurasjonsfilen er å sette opp nøkkelmapperinger. For eksempel bytter du relative tall på og av mye. I stedet for å skrive : ring TRELative hele tiden, en hurtigtast er mye raskere. For å gjøre det, kart kommandoen vil hjelpe.

kart  : ring TRELative () 

Med denne linjen i .vimrc fil, kan du nå skrive Kontroll-T og den relative nummereringen vil slå på og av. Prøv det ved å lage en kartlegging for å bytte all linje nummerering.

Nøkkelkort er ikke bare for normal modus, men for hver modus. Hvis du prefiks kommandoen med første bokstav i en modus, vil den kartlegge nøkkelen for den modusen. nmap også kart for normal modus. VMAP kart for visuell modus. imap kart for sett inn modus.

Nå som du kjenner disse kommandoene, glem dem. Disse kommandoene kan være farlige. Hvis du remap en nøkkel igjen, vil den bruke den nye kartleggingen og kan opprette en uendelig sløyfe i mappingene.

For å unngå at det skjer, må du legge til nore etter modusen og før kartet. Derfor, nmap er nnoremap, VMAP er vnoremap, og imap er inoremap. Disse bruker standard kartlegging for hvilken som helst nøkkelkommando du refererer til i makroen. Disse er mye sikrere å bruke i konfigurasjonsfilen.

Konklusjon

I denne opplæringen har jeg vist deg grunnleggende om å skape en Vim konfigurasjonsfil. Jeg har vist deg hvordan å: kommentere konfigurasjonsfilen, angi / deaktivere alternativer og variabler, lage grunnleggende funksjoner og kartlegge hurtigtastene. Den beste måten å huske på er å praktisere.