bij Signal Sciences gebruiken we golang voor zowat alles. Ik dacht dat ik zou schrijven over mijn lokale vim setup en doen go ontwikkeling met vim.
het schrijven van een blogpost op vim is een beetje ontmoedigend. Sysadmins en programmeurs debatteren al vele jaren over de deugden en gevaren van vim. Het VIM vs. emacs debat gaat nog steeds door, maar het is nu nog ingewikkelder geworden omdat jongere programmeurs helemaal over Atom gaan. Atom is een editor uitgebracht door Github met veel geweldige functies, zoals vim bindingen.
Vim-Bootstrap
laten we beginnen met vim-bootstrap. Hiermee kunt u selecteren welke talen u ontwikkelt in (HTML, golang, ruby,…) en de versie van vim die u gebruikt. Na deze paar basis selecties genereert het een .vimrc dat werkt. Voor het gebruik van vim-bootstrap probeerde ik (meestal zonder succes) bijhouden van vim plugins, maar nu is het gemakkelijk om een volledig werkende vim configuratie met slechts een paar klikken.
Vim Bootstrap
een generator die een eenvoudige methode biedt voor het genereren van een .vimrc configuratie voor vim.
de configuratie die ik gebruik roept de Vim-bootstrap API aan en downloadt de configuratie als onderdeel van de installatie. Daarover later meer.
Vim-Go
het tweede belangrijke onderdeel van mijn setup is het gebruik van vim-go. In tegenstelling tot andere talen met vim waar u vaak toe te voegen in een reeks van plugins, met behulp van vim voor GO programmering is gewoon het toevoegen van een plugin aan uw .vimrc. Het is erg rijk aan features. Tijdens mijn gebruik van vim-go was ik er altijd zeker van geweest dat ik nauwelijks aan het oppervlak kraste. Het blijkt dat ik gelijk had!
de Vim-go Maker Fatih Arslan creëerde een ongelooflijke handleiding voor het leren van vim-go.
fatih / vim-go-tutorial
vim-go – tutorial-Tutorial voor vim-go
nog beter is dat hij vorige week ook een video heeft uitgebracht die door de hele tutorial loopt.
ik raad ten zeerste aan om deze beide uit te checken en door de tutorial te werken. Als je uiteindelijk met behulp van de Vim config dat ik doe, zult u een aantal van de wijzigingen die Fatih Arslan aanbeveelt zien. Als je echt graag mijn persoonlijke setup, voel je vrij om tweet uit de link naar deze blog om elke Go programmeurs die je kent!
dat brengt me bij de eigenlijke setup van vim.
Versiegestuurde configuratie
ik bewaar mijn vim-configuratie binnen een GitHub-repo. Dit helpt me een draagbare manier te maken om mijn config mee te nemen en er ook voor te zorgen dat wijzigingen worden bijgehouden. Soms vim-bootstrap verandert dingen die ik wil inspecteren, soms wil ik een nieuwe plugin te testen, maar meestal wil ik de draagbaarheid en de log van alle wijzigingen die ik maak aan mijn config, zodat ik niet hoeft te onthouden.
wickett / wickett-vim
wickett – vim-de Vim setup die ik dagelijks gebruik
om met wickett-vim te beginnen, is het zo eenvoudig als het klonen van de repo en het uitvoeren van make install.
de installatie doet verschillende dingen, maar in het bijzonder het symlinkt in al zijn configuratie in uw home directory en draait dan een installatie van alle plugins.
waardoor het van u
binnen uw .vim directory je zult zien dat er twee bestanden zijn met local in hun naam: vimrc.local en vimrc.lokaal.bundelen. Er is ook een stub in de Makefile voor update. De workflow die ik graag gebruik is om mijn wijzigingen toe te voegen aan vimrc.local en vimrc.lokaal.bundelen. Om synchroon te blijven met vim-bootstrap voer ik af en toe Make update uit en gebruik git diff om te controleren welke wijzigingen het heeft aangebracht en om te zien of ik ze wil behouden.
ik hoop dat dit interessant was en een aantal lanceerpunten biedt voor uw reis met behulp van vim. Ik kan niet genoeg goede dingen zeggen over vim-bootstrap en vim-go. Laat me weten wat je ervan vindt.
Recommended reading: the Ultimate Guide to Web Application and API Protection (WAAP)