programozóként sok időt töltesz szövegszerkesztőkkel, ide-kkel stb. Fontos, hogy mit és hogyan használjunk. Nemrég költöztem a Vim-hez a GO fejlesztéshez, és teljesen imádom. Kezdetben a Go kiterjesztésű VSCode-ot használtam, majd ezt követően egy ideig a GoLand-ot használtam. A Visual Studio Code és a GoLand mindkettő teljesen fantasztikus, én is szerettem használni őket. A vim használatával mindenképpen időbe telik a tanulás, de megéri a tanulást. Teljesen rajtad múlik, hogy mi működik jobban az Ön számára. Ne használja a vim-et csak azért, mert mások használják. Nagyon kezdő vagyok a vim-hez, és olyan dolgokat fogok elmagyarázni ebben, amit megtanultam, miután elkezdtem használni. Nagyon örülnék, ha hosszú ideje vim felhasználó vagy, és van néhány jó tanácsod/javaslatod. Akkor tedd a megjegyzés rovatban ezt a bejegyzést. Ha kezdő vagy, akkor jó forrásokat teszek a vim tanulásához a bejegyzés alján.
Megjegyzés: Ezt a bejegyzést eredetileg a https://jogendra.dev oldalon tették közzé.
miért használják az emberek a Vim-et?
- a Vim garantáltan létezik minden Unix rendszeren (alapvetően minden nagyobb platformon elérhető). Mindenhol ott van, és minden platformon ugyanaz. A Vim támogatja az összes fájlformátumot és programozási nyelvet, nincs szükség különböző IDE-k letöltésére a különböző programozási nyelvekhez.
- egér ingyenes navigáció. Az ujjainak nagyon ritkán kell elhagyniuk az otthoni sort, ami azt jelenti, hogy nagyon-nagyon gyorsan szerkesztheti a szöveget. A kulcs leképezést az Ön kényelme szerint teheti meg. Nem kell váltani a billentyűzet és az egér határozottan szép Vim.
- a Vim nagyon könnyű és gyors. A Vim könnyen kezelheti a nagy fájlokat, de a Visual Studio vagy más IDE nem tudta zökkenőmentesen kezelni őket. Próbáljon meg megnyitni egy nagy fájlt (~20 MB) a kedvenc nem vim szövegszerkesztőjével és vim-jével, biztosan megismeri a különbséget. Nagy erő van abban, ahogyan a Vim kezeli a fájlokat (pufferek), a felosztásokat (windows) és az elrendezéseket (lapok), az a hatalom, amelyet más szerkesztőkben nem kaphat meg.
- Vim és vim, mint a szövegszerkesztők (emacs, nano, stb) Úgy érzi, és úgy néz ki, így natív, nincs figyelemelterelés. Nem kell váltanom a terminál és az editor / IDE között. Egyszerűen minden egy helyen. Nagyon könnyű, hogy kevés erőfeszítéssel produktív legyen a vim-ben.
- a Vim nagyon hasznos, ha gyors konfigurációs vagy egyéb változtatásokat kell végrehajtania a távoli gépen/szerveren. Még a saját gépén sem nyit meg nehéz szövegszerkesztőt apró változtatás céljából.
- a Vim nagyon konfigurálható. A
~/.vimrc
használatával egyszerűen felülbírálhatja az alapértelmezett konfigurációkat, és személyre szabhatja a sajátját. A Vim beépülő modulok mindent megadnak a Vim számára, amire szüksége van egy szövegszerkesztőben. Automatikus kiegészítés, szintaxis kiemelés vagy bármilyen más funkció, amelyet megnevez, és elérhető, csak a megfelelő plug-inre van szüksége. - a vim használata szórakoztató. Kezdetben kissé kihívást jelent, de szórakoztatóvá válik, ha megszokja.
gyerünk!
ebben a bejegyzésben megvizsgáljuk a Vim teljes értékű IDE-ként történő beállítását a Go fejlesztéshez. Plugins fogunk használni a következők:
- vim-go: Go fejlesztési plugin a Vim – hez. Mindent megtalál, amire szüksége van a Go fejlesztéshez.
- NERDTree – fájlrendszer explorer a Vim. Ez lehetővé teszi, hogy vizuálisan böngészni komplex könyvtár hierarchiák, gyorsan megnyitni a fájlokat olvasás vagy szerkesztés, és végre alapvető fájlrendszer műveleteket.
🔌 Vim-Go
a Vim-Go a legnépszerűbb és leggyakrabban használt vim plugin a Go fejlesztéshez. Szinte minden olyan funkciót kínál, amelyre szüksége lehet. Néhány ezek közül:
- fordítsd le a csomagot
:GoBuild
, telepítse:GoInstall
vagy tesztelje:GoTest
. - gyorsan hajtsa végre az aktuális fájl(oka) t a
:GoRun
gombbal. - Szintaxis kiemelés és összecsukás.
- Automatikus kiegészítés támogatás a
gopls
segítségével. - a
gofmt
ésgoimports
futtatása mentéskor. Azt jelenti, hogy nem kell aggódnia a csomagok importálása és a kódformázás miatt, a Vim-go ezt megteszi a fájl mentésekor. - lépjen a szimbólumra/deklarációra a
:GoDef
gombbal, és keresse meg a dokumentációt a:GoDoc
vagy:GoDocBrowser
gombbal. - ellenőrizze a kód lefedettségét, végezzen kódolást stb.
meg tudja nézni az összes által kínált funkciók vim-go itt.
a vim-go telepítése
a Vim 8 natív támogatást adott a csomagokhoz, ami azt jelenti, hogy a beépülő modulokat csak a tartalom klónozásával töltheti be a ~/.vim
könyvtárba. A Vim-go telepítéséhez egyszerűen futtathatja a parancsot:
git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go
telepítenie kell az összes szükséges bináris fájlt is. vim-go megkönnyíti telepíteni mindet azáltal, hogy egy parancsot, :GoInstallBinaries
, amely go get
az összes szükséges bináris.
vagy akkor tegye a plugin a ~/.vimrc
.
call plug#begin()Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }call plug#end()
Most mentse a .vimrc
és telepítse a plugin futtatásával vim +PlugInstall
. Telepíti a vim-go plugint az összes szükséges bináris fájllal.
hozzáadtam a következő vim-go kapcsolódó irányelveket az .vimrc
– hez, hogy hasznosabb legyen:
látogasson el a hivatalos oktatóanyagokra a saját testreszabásához. Teljes vim-go dokumentációk állnak rendelkezésre a vim szerkesztő, akkor egyszerűen futtatni :help vim-go
, hogy ellenőrizze őket. Így néz ki a vim egy Go programot a Vim-go telepítése és konfigurálása után:
gyönyörű?
Automatikus kiegészítés
nagyon nehéz kódolni automatikus kiegészítés nélkül, és nem lehet a definícióhoz menni. A Vim-go gopls
– et használhat a befejezéshez stb. A Befejezés alapértelmezés szerint engedélyezve van az omnifunc segítségével. Amíg INSERT
módban van, a befejezést a Ctrl-x Ctrl-p
gombbal indíthatja el. Ha egyező neveket talál, megnyílik egy előugró menü, amely a Ctrl-n
és Ctrl-p
gombokkal navigálható.
annak ellenőrzéséhez, hogy a vim-go ftplugin/go.vim
beállítása helyes-e az automatikus kiegészítéshez, a következőket futtathatja:
:verbose setlocal omnifunc?
az alábbi üzenetnek meg kell jelennie:
ha azt szeretné, hogy az automatikus kiegészítés automatikusan megjelenjen, amikor megnyomja a pontot (.
), a következő sort adhatja hozzá .vimrc
:
au filetype go inoremap <buffer> . .<C-x><C-o>
most a gépelésnek automatikus javaslatokat kell kínálnia a dokumentáció előnézeteivel együtt. Úgy kell kinéznie, mint ez:
eltekintve vim-go befejezése, van néhány jó plugin, amelyek segítségével az automatikus kiegészítés és egyéb LSP funkciók. Néhány ezek közül:
- coc.nvim (Conquer of Completion): Intellisense motor Vim8 & Neovim, teljes nyelvi szerver protokoll támogatása VSCode.
- LanguageClient-neovim: minimális nyelv szerver protokoll kliens írt Rust.
- YouCompleteMe: Kód-befejezése motor. Több befejező motorral rendelkezik.
Language Server Protocol (LSP) és gopls
a Language Server Protocol egy eszköz (az ügyfél) és egy language smartness szolgáltató (a szerver) között használatos olyan funkciók integrálására, mint az automatikus kiegészítés, a definíció, az összes hivatkozás keresése és hasonlók az eszközbe. A protokoll célja, hogy lehetővé tegye a programozási nyelv támogatását az adott szerkesztőtől vagy IDE-től függetlenül. A Language Server protokollt eredetileg a Microsoft Visual Studio kódjához fejlesztették ki, és ma már nyílt szabvány. A Microsoft együttműködött a Red Hat-tal és a Codenvy-vel a protokoll specifikációjának szabványosításában.
az LSP előtt a különböző nyelvek különböző ide-jei voltak (még mindig sok). Minden ide-nek Nyelvspecifikus integrációja volt (szintaxis kiemelés, automatikus kiegészítés, definíció elérése stb.). Ezt a helyzetet gyakran M-nek nevezik, ahol az integrációk száma M szerkesztők és N nyelvek szorzata. A Language Server Protocol ezt az M ++ N problémát M + N problémává változtatja. A legjobb dolog az LSP-ben, teljesen független az IDEs-től. Ennek eredményeként láthatjuk, hogy a Visual Studio olyan sok nyelven működik kiterjesztéseken keresztül. Ezek a kiterjesztések az LSP-t használják.
az LSP-ről itt olvashat bővebben, vagy nézze meg ezt a YouTube-videót, hogy lássa, hogyan működik.
hivatalos nyelv szerver Golang is gopls (ejtsd: “menj kérlek”). További információt a gopls állapotáról és a támogatott funkciókról.
beállítása után egy csomó dolgot a Vim, egy dolog, amit valószínűleg még mindig hiányzik a legtöbb “oldalsó ablak”, ahol böngészhet a projekt fájlokat könnyen. NERDTree Elkapott. A NERDTree egy teljes értékű fájlrendszer-felfedező, amely segít a fájlok vizuális böngészésében egy fa stílusú oldalsó ablak segítségével. A NERDTree segítségével gyorsan megnyithatja a fájlokat olvasásra vagy szerkesztésre, valamint elvégezheti az alapvető fájlrendszer-műveleteket.
telepítés és beállítások
a NERDTree ugyanúgy telepíthető, mint a vim-go és a coc.nvim. Egyszerűen add hozzá a Plug 'preservim/nerdtree'
– ot a .vimrc
– hez, és futtasd a :PlugInstall
– et vagy a vim +PlugInstall
– t a parancssorból.
További, akkor pénztár wiki GYIK beállítások. A NERDTree beállításaim hasonlóak:
a vim .
használatával megnyithat egy könyvtárat a vim-be (hasonlóan a code .
– hez a VSCode-hoz). A NERDTree és a kód között CTRL+ww
vagy CTRL+w+ArrowKey
használatával válthat. A NERDTree beépített dokumentációval rendelkezik, a ?
megnyomásával ellenőrizheti őket, ha a nerdtree ablakban van.
így néz ki a Vim beállításom a NERDTree-vel:
megnézheted a .vimrc
és a Vim szkriptjeimet a GitHubon a jogendra/dotfiles/vim oldalon.
íme néhány link, amely segít a Vim használatának megkezdésében:
- OpenVim-interaktív Vim oktatóanyagok
- a rajongók legjobb Vim tippjei
- miért, ó, miért használják ezek a diófejek a vi-t?
- gyűjteménye Vim cikkek thoughtbot
- spf13-vim – a végső Vim forgalmazás
- Vim Cheatsheet
- Vim Tab Madness. Buffers vs Tabs
egyszerűen futtathatja a vimtutor parancsot a parancssorban a vimtutor
parancs futtatásával. Ez megnyitja a Vim oktatóanyagokat, és segít elkezdeni vele.
alsó sor
a vim használata szórakoztató. Kezdetben előfordulhat, hogy valamilyen problémával szembesülsz, és lehet, hogy meg kell tanulnod használni, de mindenképpen érdemes megtanulni. Legalább folytathatja a Vim tanulását az IDE használata mellett. Kezdje a minimummal, és minden nap építsen rá egy kicsit. Van egy csomó plugin elérhető mindent, amire szüksége van a Vim. Használata Vim Golang fejlesztés szuper szép vim-go plugin. Nem jó, ha minden egy helyen van, és produktívabb?
köszönöm az olvasást. Ossza meg kollégáival / barátaival. Elérhet engem a Twitteren.