Vim

Brukergrensesnitt

Vim baserer seg på kommandoer skrevet inn i et tekstbasert brukergrensesnitt, i motsetning til et grensesnitt med menyer og ikoner. Dette innebærer at all redigering gjøres via tasturet, uten bruk av mus. For at dette skal kunne gjøres effektivt er Vim laget som en modal teksteditor, som vil si at man til enhver tid befinner seg i en viss modus.
Den grafiske versjonen av Vim (gVim) legger til menyer og andre grafiske elementer for de mest brukte funksjonene, som kan lette behovet for å huske mange forskjellige kommandoer. Man står likevel fritt til å utelukkende bruke kommandoer dersom man ønsker det.
Vim har en egen innebygd brukermanual for nybegynnere, som kan kjøres ved å skrive vimtutor i kommandolinja. Denne lærer brukeren grunnleggende ferdigheter i Vim, som hvordan bevege seg rundt i et dokument, redigering av tekst og lignende. Det finnes også en mer omfattende manual som enten kan leses innenfor Vim eller på nettet.

Tilpasning

Vim har støtte for omfattende brukertilpasning. Ved å bruke den innebygde funksjonaliteten for makroer, kan man ta opp sekvenser med intruksjoner og kommandoer, og deretter spille av disse igjen. Dette kan forenkle repetivt arbeid, ettersom man kun trenger å ta opp en makro én gang, og kan deretter spille den av et vilkårlig antall ganger. Dersom makro-funksjonaliteten ikke strekker til, har man også anledning til å bruke Vim script.
Det finnes mange programtillegg skrevet for Vim (som oftest i Vim script), som kan gi ytterligere funksjonalitet. Slike tillegg kan for eksempel legge til muligheten for filutforskning eller automatisk sjekking av syntaksfeil, men også endre utseendet i form av ulike farger.
Man kan også manuelt endre oppførselen til Vim, som for eksempel endre hva ulike taster gjør, sette at tabulator automatisk skal gjøres om til mellomrom og lignende. Slike endringer gjøres i en egen tekstfil kalt .vimrc, og Vim kjører automatisk instruksjonene som ligger i denne fila når det starter.

Vim script

Vim script (også kalt vimscript, viml eller VimL) er Vims innebygde skriptspråk. Vim script kan brukes til å skrive egne funksjoner man kan kalle mens man kjører Vim, eller programtillegg for å tilpasse Vim slik man ønsker. Skript skrives hovedsakelig i en imperativ programmeringsstil, selv om man også har mulighet for å bruke en mer funksjonell programmeringsstil.
Skript skrevet i Vim script skiller seg fra makroer, som også er en innebygd funksjonalitet i Vim. Makroer kan brukes til å ta opp en sekvens med instruksjoner og kommandoer, og deretter spille av disse igjen. Selv om skript kan brukes til det samme, har skript også mulighet for å bruke variabler og datatyper, samt mer avanserte kontrollstrukturer. På grunn av dette kan man gjøre mer avanserte og omfattende ting med Vim script enn med makroer.
Tekstfiler skrevet i Vim script lagres med filetternavnet .vim. De fleste programtillegg man kan bruke i Vim er også skrevet i Vim script.

Kodeeksempel

Nedenfor er et kodeeksempel skrevet i Vim script, som demonstrerer en enkel while-løkke. Tekst etter et anførselstegn (") regnes som kommentarer.
let i = 1            " Sett variabel i til å ha verdien 1while i < 5          " Fortsett så lenge i er mindre enn 5
  echo "count is " i " Skriv ut verdien til i
  let i += 1         " Øk i med 1endwhile             " Markerer slutten på while-løkka