Maximilian har jobba ett år med Neovim-editoren sin: - Jeg blir glad i den

- Får mer frihet og fokus på problemene, mener Maximilian Øystå Lloyd, som er forelska i NeoVim.

Utvikler Maximilian Øystå Lloyd foran Neovim og sin Neovim-plugin. Han er over snittet glad i Vim-editoren sin. 📸: Privat
Utvikler Maximilian Øystå Lloyd foran Neovim og sin Neovim-plugin. Han er over snittet glad i Vim-editoren sin. 📸: Privat Vis mer

- Jeg brukte VSCode i mange år. Og i fjor begynte jeg å bruke VSCode med en Vim-plugin, forteller utvikler Maximilian Øystå Lloyd til kode24.

Du husker han kanskje som den selvlærte fyren som droppa ut av videregående for å starte eget selskap - nå jobber han som frontend-sjef i lade-startupen Current.

- Etter hvert som jeg ble komfortabel med det, fikk jeg lyst til å endre og optimalisere et par ting. Men det var ikke mulig, fortsetter han.

- Så siden det var rolig på jobb, tenkte jeg: “Jeg kjører på, og tester det i en måned”.

Nå er Lloyd en helfrelst bruker av Vim-varianten Neovim - en editor mange utviklere engang ikke klarer å avslutte, men som Lloyd mener gjør han til en enda bedre utvikler.

«Jeg bruker den til alt.»

Neo-hva-for-noe?

Vim står for "Vi Improved", og ble lansert i 1991 som en modifisert utgave av Amiga-editoren Stevie - som i sin tur står "ST Editor for Vi Enthusiasts", og altså er en modifisert utgave av nettopp Vi-editoren.

Siden har open source- og friprog-editoren Vim tatt turen fra Amiga til absolutt alt som kan krype og gå, i en haug ulike utgaver.

Mange av dem er basert på å kjøre i terminalen, uten menyer eller noe særlig brukergrensesnitt, som betyr at utviklerne heller bruker en haug hurtigtaster. Også gaffelen Neovim, som Lloyd bruker.

Sånn ser Maximilian Øystå Lloyd sin Neovim ut i bruk.
Sånn ser Maximilian Øystå Lloyd sin Neovim ut i bruk. Vis mer

- Jeg bruker den til alt. Den tilbyr all funksjonaliteten jeg trenger, sier Lloyd til kode24.

- Da jeg kjente på følelsen av å kunne redusere forsinkelsen mellom det jeg vil skal skje på skjermen, og det jeg må taste for å få det til, ble jeg avhengig. Jeg får mer frihet og fokus på problemet jeg faktisk prøver å løse, siden det ikke blir avbrutt av at jeg leter etter noe i en dropdown-meny eller lignende.

"Eksplodert i popularitet"

At NeoVim er raskere å jobbe med enn for eksempel VSCode, når man først har lært seg alle hurtigtastene, er en av grunnene til at Lloyd er frelst.

En annen er at han kan kjøre den i et shell fra remote-servere når han trenger.

En kanskje enda viktigere grunn er alle mulighetene for skreddersøm Vim-editorene gir: Neovim markedsfører seg som en "hyperextensible Vim-based text editor", og tar skreddersøm noen skritt videre med blant annet støtte for plugins i språket Lua - ikke bare Vimscript, som andre bruker.

- Dette har gjort at plugin-økosystemet til Neovim har fått mange ekstremt bra verktøy, siden de er lettere å lage. Derfor har også Neovim eksplodert i popularitet, mener Lloyd.

«På samme måte at man blir glad i de IKEA-møblene man bygger selv.»

Blir glad i editoren sin

- Grunnen til at jeg forelsket meg i Neovim, er at det er så konfigurerbart. Jeg har tweaket og jobbet på min config i over et år, forteller Lloyd.

Frontend-utvikleren forteller at man gjerne rettferdiggjør denne tiden med at man sparer tid på det på lengre sikt. Men den debatten gidder han ikke ta, for det er ikke det det handler om for Lloyd.

- Det høres rart ut, men jeg blir glad i den, sier Maximilian Øystå Lloyd om Neovim-en sin.
- Det høres rart ut, men jeg blir glad i den, sier Maximilian Øystå Lloyd om Neovim-en sin. Vis mer

- Jeg nyter det å sitte å tweake på det, til blir akkurat slik jeg vil. Jeg føler et kjennskap til editoren og konfigurasjonen min, og det høres rart ut, men jeg blir glad i den, forteller han.

- På samme måte at man blir glad i de IKEA-møblene man bygger selv, fordi du har sittet og knotet med det. Jeg vil også sammenligne det litt med å flytte inn et sted med null møbler, hvor du kan gjøre hva du vil, kontra å flytte inn et sted som er ferdig møblert og du ikke kan putte en spiker i veggen, fortsetter Lloyd.

- Jeg blir glad når jeg åpner Neovim-en min, fordi det føles som hjemme. Alt er slik jeg vil ha det, og hvis det ikke er det, kan jeg endre det på et par minutter.

Laga egen plugin

Lloyd har ikke bare jobba med sin egen konfigurering og andres plugins. Nå har han også laga sin egen: Ascii.nvim. Med denne kan Neovim-brukere få seg søte hunder eller annen ASCII-kunst på startsida til editoren.

Sånn ser pluginen Ascii.nvim ut i bruk i Neovim.
Sånn ser pluginen Ascii.nvim ut i bruk i Neovim. Vis mer

- Det eneste du trenger for å begynne å lage en plugin er å opprette et par mapper og en fil, forteller Lloyd, som anbefaler denne guiden for de som vil lære mer.

Og for å publisere plugins trenger man bare et åpent GitHub-repo. Å installer en plugin i NeoVim er nemlig så enkelt som å peke til et repo i en slik linje i konfig-fila:

use({ "MaximilianLloyd/ascii.nvim" })

- Så det kreves veldig lite setup og kode for å utvikle en plugin. Som gjør det lavterskel og gøy, og er mye av grunnen til at plugin-økosystemet er blomstrende, forteller Lloyd.

- Og hvordan var det å programmere i språket Lua?

- Det er et veldig anvendelig lite scripting-språk, som er gøy og lett å skrive. Det har mange paralleller med Javascript, som modulsystemet, som gjør overgangen enkel. Jeg er en Lua-noob, men med en linter og litt vilje har jeg kunne gjort nyttig ting, svarer frontend-sjefen.

«Du trenger ikke å gå helt Bear Grylls-mode.»

Ikke mulig å avslutte

Maximilian Øystå Lloyd mener altså at utviklerlivet har blitt noen knepp bedre med Neovim. Samtidig er det ingen hemmelighet at det tar litt tid å bli god i Vim-baserte editorer, særlig når man på toppen av det hele må jobbe litt for å få ting slik man vil ha dem.

- Men du trenger ikke å gå helt Bear Grylls-mode og starte fra null. Det finnes flere veldig populære pre-konfigurerte versjoner du kan starte med, hvor alt du trenger er bakt inn, tipser Lloyd.

Han nevner blant annet disse:

Og trenger du hjelp til å komme i gang med Vim-opplegget, anbefaler han ThePrimagen sitt kurs på Frontend Masters.

- Avslutningsvis; hvordan avslutter man egentlig Neovim?

- Det er det som er genialt med Vim og Neovim: Det er ikke mulig å avslutte, smiler Lloyd.

- Da har man ikke noe annet valg enn å faktisk skrive kode, som øker produktiveten enormt!