på Signal Sciences bruger vi golang for næsten alt. Jeg troede, jeg ville skrive om min lokale Vim-opsætning og gøre go-udvikling med vim.
at skrive et blogindlæg på Vim er lidt skræmmende. Sysadmins og programmører har diskuteret dyder og farer ved Vim i mange år nu. Vim vs emacs-debatten fortsætter stadig, men det er blevet endnu mere kompliceret nu, da yngre programmører handler om Atom. Atom er en redaktør udgivet af Github med masser af fantastiske funktioner såsom vim bindinger.
Vim-Bootstrap
lad os starte med vim-bootstrap. Det giver dig mulighed for at vælge, hvilke sprog du udvikler i (HTML, golang, ruby,…) og den version af vim, du bruger. Efter disse få grundlæggende valg det genererer en .vimrc, der virker. Før jeg brugte vim-bootstrap forsøgte jeg (for det meste uden held) at holde op med vim-plugins, men nu er det nemt at få en fuldt fungerende Vim-konfiguration med blot et par klik.
Vim Bootstrap
en generator, som giver en enkel metode til at generere en .vimrc konfiguration til Vim.
den konfiguration, jeg bruger, kalder VIM-bootstrap API og henter konfigurationen som en del af installationen. Mere om det senere.
Vim-Go
den anden hovedkomponent i min opsætning bruger Vim-go. I modsætning til andre sprog med vim, hvor du ofte tilføjer i en række plugins, bruger Vim til go programmering bare at tilføje et plugin til din .vimrc. Det er meget funktionsrige. Under min brug af vim-go havde jeg altid været sikker på, at jeg næppe skrabede overfladen. Viser sig, jeg havde ret!
Vim-go-skaberen Fatih Arslan skabte en utrolig tutorial til at lære vim-go.
fatih/vim-go-tutorial
vim-go-tutorial – Tutorial for Vim-go
Hvad er endnu bedre er, at han også udgivet en video i sidste uge, der går gennem hele tutorial.
jeg kan varmt anbefale at tjekke begge disse ud og arbejde gennem tutorial. Hvis du ender med at bruge vim config, som jeg gør, vil du se flere af de ændringer, som Fatih Arslan anbefaler. Hvis du virkelig kan lide min personlige opsætning, er du velkommen til at kvidre linket til denne blog til alle go-programmører, du kender!
det bringer mig til den faktiske opsætning af vim.
Version kontrolleret Config
jeg holder min Vim config inde i en Github repo. Dette hjælper mig med at skabe en bærbar måde at tage min config med mig og også sørge for, at ændringer spores. Nogle gange ændrer vim-bootstrap ting, som jeg vil inspicere, nogle gange vil jeg teste et nyt plugin, men for det meste vil jeg have portabiliteten og loggen over alle de ændringer, jeg foretager i min konfiguration, så jeg ikke behøver at huske dem.
Vim-Vim
Vim-Vim – opsætningen jeg bruger dagligt
for at komme i gang med vim-Vim er det så simpelt som at klone repo og køre make install.
installationen gør flere ting, men især det symlinks i alle dens config i din hjemmekatalog og derefter kører en installation af alle plugins.
gør det til din
inde i din .Vim directory du vil se, at der er to filer med lokal i deres navn: vimrc.lokal og vimrc.lokalt.bundt. Der er også en stub i Makefile til opdatering. Den arbejdsgang, jeg gerne vil bruge, er at tilføje mine ændringer til vimrc.lokal og vimrc.lokalt.bundt. For at forblive synkroniseret med vim-bootstrap kører Jeg make update nu og da og bruger git diff til at tjekke, hvilke ændringer det har foretaget, og se om jeg vil beholde dem.
jeg håber, at dette var interessant og giver nogle lanceringspunkter til din rejse ved hjælp af vim. Jeg kan ikke sige nok gode ting om vim-bootstrap og vim-go. Lad mig vide, hvad du synes.
Anbefalet læsning: Den ultimative Guide til applikation og API-beskyttelse)