Basic Vim-configuratie

Na het studeren Vim voor beginners, je hebt gezien dat de relatieve regelnummers voor je bestanden een herladen niet overleven. Hoewel dit gedrag kan worden gedefinieerd in het Vim-configuratiebestand.

Het .vimrc-bestand

Alles van Vim configuratiegegevens staan ​​in de .vimrc bestand gevonden in de homedirectory. U kunt het openen met de opdracht Bestand bewerken van binnenuit Vim:

: e ~ / .vimrc 

Dit bestand is leeg omdat het niet is gebruikt. Deze tutorial zal je laten zien hoe je het moet gebruiken.

Commentaar Code

Voordat u een code invoegt, moet u documenteren wat er is gedaan. Je weet misschien wat je nu aan het doen bent, maar over een maand is het een andere zaak. Reageer altijd op de code, zodat wanneer je hierop terugkomt, je herinnerd wordt aan de reden waarom je iets hebt gecodeerd.

Voor de .vimrc bestand, alles na een dubbele aanhalingsteken aan het einde van een regel wordt niet gebruikt. Daarom kun je alles daar neerzetten om je te helpen herinneren wat je hebt gedaan.

stel nummer in "Hiermee wordt regelnummering ingeschakeld 

Nu zul je altijd weten dat het stel het nummer in commando zet regelnummering aan. 

Opties en variabelen

Om regelnummers en relatieve nummering in te schakelen, moet u dit in de .vimrc het dossier:

stel nummer in "Hiermee wordt regelnummering ingesteld ingesteld relativenummer" Dit schakelt relatieve nummering in 

Bewaar dat en je hoeft er niet langer over na te denken. Elke keer Vim opent een bestand, het zal nu relatieve regelnummers weergeven. De reeks opdracht stelt elke gewenste optie in Vim. Een optie wordt uitgeschakeld door de tegenovergestelde optie in te stellen. Tegenovergestelde opties zijn hetzelfde als de optie met Nee vooraan.

Gebruik het volgende om regelnummering en relatieve nummering uit te schakelen:

niet-nummer instellen "Hiermee zet u de nummeringset van de lijn op norelativenummer" Hiermee wordt de relatieve nummering uitgeschakeld 

Plaats beide sets niet in de .vimrc het dossier. Dat schakelt het in en weer uit. In een klein beetje, zal ik je laten zien hoe je dat meer programmatisch doet.

Als u de status van een optie al kent, kunt u met de optie een andere manier instellen om de optie in te stellen. Opties worden omgeschakeld door een ! na de naam van de optie. Hiermee schakelt u de opties in of uit:

set nummer! "Hierdoor wordt de waarde van het nummer ingesteld relativienummer veranderd!" Dit schakelt relatieve regelnummers 

Als de huidige status van een optie nodig is, gebruik dan a ? na de naam van de optie. In Vim, type:

stel het nummer in? 

Het zal terugkeren aantal. Hierdoor weet u de staat van de optie.

Als u het aantal kolommen wilt wijzigen dat in het regelnummergebied wordt weergegeven, kunt u de numberwidth naar een waarde. Het volgende stelt de kolombreedte in op 4:

set numberwidth = 4 "Stel de regelnummers in op 4 spaties 

Probeer het uit en kijk hoeveel spaties u leuk vindt en zet dat in op de .vimrc het dossier.

Als u een variabele nodig hebt, worden variabelen gemaakt met behulp van de laat uitspraak. Bijvoorbeeld:

let name = "Richard Guay" "Zet mijn naam in de naamvariabele 

Wanneer u dat opslaat in de .vimrc bestand (maar gebruik uw eigen naam), het kan worden weergegeven in de commandomodus met : echo naam.

De variabele naam zien

Opties worden behandeld als een variabele door de optie vooraf te kiezen met een &. Opties kunnen worden afgedrukt door:

: echo en nummerbreedte 

De echo opdracht is alleen voor variabelen, maar de prefixing een optie met een & vertelt Vim om de optie als een variabele te behandelen. Hiermee kunt u de waarde van de optie in wiskunde gebruiken. Daarom wordt het gebruik van de regelbreedte van het regelnummer met één verhoogd

: let & numberwidth = & numberwidth + 1 

Een echo en nummerbreedte zou nu moeten laten zien 5.

Alle variabelen hebben ook hun bereik. Scope wordt bepaald door een letter, :, en de naam van de variabele. Ongedefinieerde scope wordt behandeld als globale scope. De verschillende scopes zijn:

b: Bufferbereik: alleen bruikbaar vanuit de huidige buffer
w: Vensterbereik - alleen beschikbaar in het huidige venster
t: Tabbladbereik - alleen beschikbaar op het tabblad
g: Wereldwijd bereik-overal beschikbaar
l: Lokaal bereik-lokaal beschikbaar voor die functie gedefinieerd
s: Bronbereik alleen beschikbaar in het bronbestand
een: Argumentbereik alleen beschikbaar binnen de functie
v: Globaal bereik-gebruikt om te verwijzen naar een variabele gedefinieerd en gebruikt door Vim

De juiste definitie voor de naamvariabele met globale scope is:

let g: name = "Richard Guay" "Zet mijn naam op de naamvariabele 

Informatie verzamelen

Nu u weet hoe u opties en variabelen kunt instellen, kunt u zich afvragen hoe u de verschillende opties kunt vinden. Zoeken op het web is een optie, maar de informatie is binnen Vim. Type:

: alles instellen 

En Vim zal elke optie in het programma tonen. Typ de :laat en een invoer toont alle variabelen.

De :helpen commando wordt gebruikt om de uitgebreide documentatie op te zoeken die is ingebouwd Vim. Om eruit te komen :helpen, gebruik q. In helpen modus, hiermee wordt het programma niet afgesloten, maar wordt de editor in de normale modus gezet.

functies

Functies zijn erg handig in de .vimrc het dossier. Sinds de Vimconfiguratiebestanden gebruiken een volledige programmeertaal, ik zal vanaf hier verwijzen naar zijn ware naam: VimScript.

In VimScript, een functie definiëren met behulp van:

functie ()  EndFunc 

Ik ben dol op de regelnummering en de relatieve nummering, maar soms wil je geen relatieve nummering. De volledige reeks typen : stel norelativenummer in of zelfs : stel relativenumber in! is veel typen. Een functie om het in- en uit te schakelen zou goed zijn.

functie TRelative () set relativenumber! EndFunc 

Een functie wordt uitgevoerd met de : call commando.

: bel TRELative () 

De functie opdracht staat niet toe dat u een reeds gedefinieerde functie overschrijft. Als die functie al ergens anders gedefinieerd was of u probeerde het bestand opnieuw te laden, Vim zal foutmelding geven en stoppen met het verwerken van het bestand op dat moment. Als u de functie! opdracht, overschrijft deze de functie zonder een fout. Het is een goede programmeerpraktijk in VimScript meestal gebruiken functie!.

Om alle nummering uit te schakelen, kan een functie worden gemaakt om dat te doen en het is het tegenovergestelde. Voeg dit toe aan de .vimrc:

functie! NoNumber () set niet-nummer ingesteld norelativenummer endfunc-functie! Numbers () set nummer set relativenumber endfunc 

Als u parameters wilt doorgeven aan een functie, plaatst u een variabelenaam tussen de haakjes. Bijvoorbeeld:

functie! Hallo (naam) echo "Hallo" a: naam endfunc 

Zoals je ziet, moet je variabelen definiëren die argumenten zijn van een functie. Wanneer je de functie nu met een naam aanroept, krijg je

: bel Hallo ("Richard") Hallo Richard 

Basic Key Mapping

Een van de belangrijkste toepassingen van het configuratiebestand is het instellen van sleuteltoewijzingen. U kunt bijvoorbeeld relatieve nummers heel vaak in- en uitschakelen. In plaats van typen : bel TRELative de hele tijd is een sneltoets veel sneller. Om dat te doen, de kaart commando zal helpen.

kaart  : bel TRELative () 

Met deze regel in de .vimrc bestand, kunt u nu typen Controle-T en de relatieve nummering schakelt aan en uit. Probeer het uit door een toewijzing te maken voor het omschakelen van alle regelnummers.

Key maps zijn niet alleen voor de normale modus, maar voor elke modus. Als u de opdracht prefixeert met de eerste letter van een modus, wordt de sleutel voor die modus toegewezen. nmap ook kaarten voor normale modus. VMAP kaarten voor visuele modus. imap kaarten voor invoegmodus.

Nu dat je deze opdracht kent, vergeet ze dan. Deze opdrachten kunnen gevaarlijk zijn. Als u opnieuw een sleutel opnieuw toewijst, wordt de nieuwe toewijzing gebruikt en kan een oneindige lus in de toewijzingen worden gemaakt.

Om dit te voorkomen, moet je toevoegen nore na de modus en vóór de kaart. daarom, nmap is nnoremap, VMAP is vnoremap, en imap is inoremap. Deze gebruiken de standaardtoewijzing voor elke toetsopdracht waarnaar u in de macro verwijst. Deze zijn veel veiliger om te gebruiken in het configuratiebestand.

Conclusie

In deze tutorial heb ik je de basisprincipes getoond van het maken van een Vim configuratiebestand. Ik heb je laten zien hoe je: het configuratiebestand kunt becommentariëren, opties en variabelen kunt in- / uitschakelen, basisfuncties kunt maken en sneltoetsen kunt toewijzen. De beste manier om te onthouden is door te oefenen.