på Signal Sciences använder vi golang för nästan allt. Jag trodde att jag skulle skriva om min lokala vim-inställning och göra Go-utveckling med vim.
att skriva ett blogginlägg på vim är lite skrämmande. Sysadminer och programmerare har diskuterat VIMS dygder och faror i många år nu. Vim vs. Emacs-debatten fortsätter fortfarande, men det har blivit ännu mer komplicerat nu när yngre programmerare handlar om Atom. Atom är en redaktör släppt av Github med massor av bra funktioner som vim bindningar.
vim-Bootstrap
låt oss börja med vim-bootstrap. Det låter dig välja vilka språk du utvecklar i (HTML, golang, ruby, …) och vilken version av vim du använder. Efter dessa få grundläggande val genererar en .vimrc som fungerar. Innan jag använde vim-bootstrap försökte jag (mestadels utan framgång) hålla jämna steg med vim-plugins, men nu är det enkelt att få en fullt fungerande vim-konfiguration med bara några klick.
vim Bootstrap
en generator som ger en enkel metod för att generera en .vimrc konfiguration för vim.
config jag använder kallar vim-bootstrap API och hämtar config som en del av installationen. Mer om det senare.
Vim-Go
den andra huvudkomponenten i min inställning använder vim-go. Till skillnad från andra språk med vim där du ofta lägger till i en serie plugins, använder vim för go-programmering bara ett plugin till din .vimrc. Det är mycket funktionsrik. Under min användning av vim-go hade jag alltid varit säker på att jag knappt skrapade ytan. Visas, jag hade rätt!
vim-go-skaparen Fatih Arslan skapade en otrolig handledning för att lära sig vim-go.
fatih / vim-go-tutorial
vim-go-tutorial – Tutorial för vim-go
vad som är ännu bättre är att han också släppte en video förra veckan som går igenom hela handledningen.
jag rekommenderar starkt att du kontrollerar båda dessa och arbetar genom handledningen. Om du slutar använda vim config som jag gör kommer du att se flera av de ändringar som Fatih Arslan rekommenderar. Om du verkligen gillar min personliga inställning, gärna Tweeta ut länken till den här bloggen till alla Go-programmerare du känner!
som leder mig till den faktiska installationen av vim.
Version kontrollerad Config
jag håller min vim config inuti en Github repo. Detta hjälper mig att skapa ett bärbart sätt att ta min config med mig och också se till att ändringar spåras. Ibland ändrar vim-bootstrap saker som jag vill inspektera, ibland vill jag testa ett nytt plugin, men för det mesta vill jag ha portabiliteten och loggen över alla ändringar jag gör i min konfiguration så att jag inte behöver komma ihåg dem.
wickett/wickett-vim
wickett-vim – vim-inställningen jag använder dagligen
för att komma igång med wickett-vim är det så enkelt som att klona repo och köra make install.
installationen gör flera saker, men särskilt det symlinks i alla dess config i din hemkatalog och kör sedan en installation av alla plugins.
gör det din
inuti .vim katalog du kommer att se att det finns två filer med lokala i deras namn: vimrc.lokal och vimrc.lokalt.bunt. Det finns också en stub i Makefile för uppdatering. Arbetsflödet som jag gillar att använda är att lägga till mina ändringar i vimrc.lokal och vimrc.lokalt.bunt. För att hålla sig synkroniserad med vim-bootstrap kör jag gör uppdatering då och då och använder git diff för att kolla vilka ändringar det gjorde och se om jag vill behålla dem.
jag hoppas att detta var intressant och ger några startpunkter för din resa med vim. Jag kan inte säga tillräckligt bra saker om vim-bootstrap och Vim-go. Låt mig veta vad du tycker.
Rekommenderad läsning: Den ultimata guiden till webbapplikation och API-skydd (WAAP)