Texteditorer är kanske inte det sexigaste ämnet i världen, men de är ändå väldigt viktiga. En av de mest kraftfulla textredigerarna, och därför en av de mest populära, är Vim (förkortning för ”Vi Improved”).
Även om Vim har en skarp inlärningskurva (som kan övervinnas med timmar av lek med den interaktiva Vim-handledningen), och kan vara skrämmande för nya användare, älskar utvecklare det. Det beror på att det gör det möjligt för dem att vara mer produktiva och på att det kan anpassas i all oändlighet. Detta görs genom att redigera Vims konfigurationsfil, känd som ”dotfile”.
Dotfilens kraft
Dotfilen är otroligt kraftfull och kan styra nästan varje del av Vim-upplevelsen. Det är väldigt enkelt att redigera din egen. Först måste du kontrollera att du faktiskt har en sådan. Det kan du göra genom att köra:
cat ~/.vimrc
Om det inte finns något där måste du helt enkelt skapa den:
touch ~/.vimrc
Nu är du redo att börja anpassa Vim. För att göra det måste du öppna den i din favorittextredigerare. Det kan vara Vim, eller Nano, eller till och med Gedit. Bara så länge det är en redigeringsprogram för klartext.
Vim dotfile har sitt eget inbäddade programmeringsspråk, kallat VimScript. Det är det som vi kommer att använda i resten av den här artikeln. Men oroa dig inte. Det är väldigt enkelt att förstå. För att komma igång är här några användbara rader att lägga till i din konfigurationsfil.
Hantera indragning åt dig
Förra månaden publicerade jag en artikel om hur man skriver ren och läsbar kod. En av de punkter jag tog upp var att alltid undvika att använda ”mjuka tabulatorer”, eftersom olika textredigerare tolkar dem på olika sätt och det kan skapa problem i programmeringsspråk som är strikta när det gäller indragning, till exempel Ruby och Python.
Tack och lov kan du med några rader VimScript förvandla varje tabb till ett fördefinierat antal mellanslag. Lägg bara till följande i din Vim dotfile.
set expandtabset tabstop=4
set softtabstop=4
set shiftwidth=4
Pythonanvändare bör använda fyra mellanslag, vilket rekommenderas i PEP-8-standarden. För andra språk är det bäst att antingen läsa den relevanta stilguiden eller använda sitt eget omdöme.
Du kan också ställa in den så att den automatiskt drar in led där det behövs. Även här är det bara att lägga till följande kodrader i din dotfile. Den andra kodraden ser till att ingen rad någonsin kan vara längre än 80 tecken.
set autoindentset textwidth=80
Förvandla Vim till en distraktionsfri ordbehandlare
Även om Vim är en utmärkt textredigerare för utvecklare är det också utmärkt för dem som vill ha en förenklad, anpassningsbar men ändå distraktionsfri miljö för att skriva.
Med några få rader kod kan du konfigurera vim så att det vid behov växlar till ett ”ordbehandlingsläge”. Detta ändrar hur texten formateras i redigeraren och introducerar saker som stavningskontroll.
Skapa först en funktion som heter WordProcessorMode och inkludera följande kodrader.
func! WordProcessorMode()setlocal textwidth=80
setlocal smartindent
setlocal spell spelllang=en_us
setlocal noexpandtab
endfu
Sedan måste du definiera hur du ska aktivera den. Med följande kodrad kan du skapa ett kommando. Om du kallar ”WP” i kommandoläget kommer det att aktivera ordbehandlingsläget.
com! WP call WordProcessorMode()
För att testa att det fungerar öppnar du en ny textfil i VIM och trycker på escape. Skriv sedan ”WP” och tryck på enter. Skriv sedan en text med några ord som avsiktligt är felstavade. Om VIM markerar dem som felaktiga vet du att du har installerat den korrekt.
Installera Vundle
Vundle är en pakethanterare för Vim, inte alltför olik Ubuntus pakethanterare. Den gör det möjligt att utöka funktionaliteten genom att installera tredjepartspaket. Många av dessa riktar sig till programmerare, andra är mer generella produktivitetsverktyg.
Det är enkelt att installera Vundle. Först måste du installera versionskontrollsystemet Git. Om du inte redan har det installerar du det. Kommandot för det på Ubuntu är:
sudo apt-get install git
Sedan måste du klona Vundle-förrådet till din lokala maskin. Det är enklare än det låter. Kör bara följande kommando, och kom ihåg att det är skiftlägeskänsligt.
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Lägg sedan till följande rader i din Vim dotfile.
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'L9'
call vundle#end()
filetype plugin indent on
Mellan ”Vundle#Begin()” och ”Vundle#End()” lägger du till de paket du vill installera. Det enda som krävs är ”VundleVim/Vundle.vim”, men jag bestämde mig också för att installera ”L9” för att illustrera hur man installerar tredjepartspaket.
När dessa rader har lagts till i din Vim-konfigurationsfil måste du göra ytterligare en sak. Avsluta din Vim dotfil och öppna ett nytt textdokument. I kommandoläge kör du ”:PluginInstall”.
Om det fungerade kommer det att se ut ungefär så här.
Ändra hur det ser ut
Många textredigerare (som en av mina personliga favoriter – iA Writer) gör det möjligt att växla mellan ett mörkare ”nattläge” och ett dagläge. Vim är inget undantag.
För att ändra färgschema, lägg helt enkelt till ”colorscheme” i din dotfile, med det tema du vill använda. Det ska se ut så här.
colorscheme darkblue
Här använder jag ”darkblue”, vilket föreslogs av Wyatt Andersen på Twitter. Naturligtvis finns det dussintals att välja mellan.
För att se om det fungerade, öppna Vim igen och bekräfta visuellt.
Slå på lite SPF13
Om du inte känner dig tillräckligt säker för att modifiera Vim dotfile finns det ett enklare sätt. SPF13 är en distribution av Vim som är färdigbyggd med de plugins och dotfile-modifieringar du behöver för att vara en produktiv utvecklare. Det är anmärkningsvärt enkelt att installera den på Linux, FreeBSD och OS X. Öppna bara en terminal och kör:
curl http://j.mp/spf13-vim3 -L -o - | sh
Låt den sedan göra vad den ska göra. När den är klar har du en turboladdad Vim-installation. Om du använder Windows kan du läsa instruktionerna på SPF13:s webbplats.
Att använda SPF13 hindrar dig dock inte från att konfigurera Vim som du vill ha det. Det är bara att redigera .vimrc-dotfilen efter behov.
Misstag händer
Det är värt att notera att om du gör ett misstag i din Vim-dotfil kommer Vim att låta dig veta det med några hjälpsamma felsökningsmeddelanden.
Om du har problem med att förstå dem är ett bra ställe att be om hjälp på StackOverflow och Vim subreddit. Var bara uppmärksam på dessa enkla råd för att öka chansen att din fråga blir besvarad.
Över till dig
Vim är en anmärkningsvärd textredigerare. En av de fantastiska sakerna med den är hur den låter dig konfigurera den efter eget tycke och smak. Du kan också lägga till funktioner från andra textredigerare till Vim. Om du vill ha mer inspiration rekommenderar jag starkt att du läser den utmärkta Learn VimScript The Hard Way av Steve Losh.