Spacevim? Lehet, hogy sokan nem is hallottatok róla, ahogy én sem. A Magyarch discord csatornáján hívta fel egyik társunk a figyelmet rá, és kipróbáltam. Megtetszett, így egy bemutató, figyelemfelhívó bejegyzést raktam össze. A megszokott mód most sem egy teljes gépkönyvet szeretnék készíteni, hanem csak rámutatni: ilyen is van. Ha megtetszik, hasznosnak találod, akkor használod, ha nem, akkor nem. Nekem nagyon bejött, bár az első pár használatnál nagyon idegesítőnek találtam. Más, mint az nvim vagy a vim csak önmagában használva.
Mi is az a spacevim?
Már volt szó a vim, neovim szövegszerkesztőről. Sokan használják, és kedvelik. Sokan pedig nem. A spacevim egy kiegészítő csomag a nvim, vim szerkesztőhöz. Ezt érdemes kiemelni, hiszen nem egy különálló terminálos szerkesztő, hanem plugin csomagot raktak össze, konfiguráltak be, és parancssori paranccsal telepíthetővé tettek. Ami nagyon jó, és ez fogott meg, mert nekem sem kedvem, sem időm de főleg tudásom nincs egy ilyen plugin csomag összeválogatásához, beállításához. Rengeteg, szerintem több száz beépülő létezik a vim, neovim és ezek klónjaihoz. Itt tallózhatsz egy nagyon szép gyűjteményben. Ezeket átnézni, kikeresni mi kell nekem, bekonfigurálni nem kis munka. Ezt a terhet próbálja levenni a vállunkról ez a spacevim. A megoldás előnyéről már volt szó, de ki kell emelnem, hogy létezik egy hátránya is: az van benne, amit beleraktak. Ez nem feltétlen fedi le azt a kört, ami neked kell. Így lehet, hogy sok feleslegesnek gondolt, vagy hiányzó csomagot vélsz felfedezni benne. Én úgy vélem egy kezdőnek - aki nem akar a pluginokkal sokat bajlódni - ez a megoldás jó, ha van olyan, ami még kell, akkor azt is belerakhatom.
A spacevim telepítése
Az oldalon le van írva, pontosan egy parancsot kell futtatni. Ha nem akarod a meglévő nvim konfigurációdat felülírni, akkor megtalálod a megoldást erre is. Igen, jól látod! Nem másoltam ide, mert a spacevim jól dokumentált és minden kérdésre találsz választ, ha elolvasod a doksikat. Aki nvim, neovim vagy annak bármilyen klónját használja megtanulja egy idő után a magas fokú önállóságot, mert ezek jellemzően összetett rendszerek, amiknél elvárás a folyamatos tanulás, fejlődés. Nem ragadunk le az alapoknál, amikor valamit meg kell oldani, utána olvasunk, és már meg is oldottuk a feladatot. Amit kiemelnék: a spacevim telepítése előtt a gépeden kell lenni egy vim, vagy egy nvim programnak. Érdemesebb a nvim-et használni, pár kiterjesztett funkcióval többet tud, mint a vim.
Az első indítás
Az első indítása pont úgy történik, mint eddig az nvim, vagy vim paranccsal. Amit rögvest észlelhetsz megváltozott a kinézet. Egyrészt színesebb lett, ami kellemesebb a szemnek, mint a hagyományos kinézet. Bár sokféle színezést lehet alkalmazni a nvim beállításoknál, én maradtam az alap spacevim színeknél. Fontos! A színsablonokat alapból letiltották, így azokat a konfigurációs fájlban engedélyezni kell! A ~/.SpaceVim.d/init.toml fájlt kell szerkeszteni és ezt elhelyezni a végén: [[layers]] name = "colorscheme" Ezt érdemes fejben tartani, mert több lehetőségnél hasonló a módszer. A rendszerben ott van, csak aktiválni kell. Ezt általánosságban is jónak tartom, hogy én válogatom ki azokat a bekonfigurált lehetőségeket, amiket használni akarok. Ha pedig ki szeretnéd használni, hogy egy fejlett spacevim a szerkesztőd, akkor csak a Space f v d lenyomásával is megnyithatod a konfigurációs fájlt.
Induláskor és időnként (előre beállított periódus szerint) frissíti automatikusan a pluginokat. Ezt a konfigurációban le lehet tiltani, ha zavaró és kézzel szeretnéd ezeket frissíteni. Én nem tiltottam le, mert pár másodperc alatt lefut, ha van frissebb verzió. Ha bármi probléma lenne a frissítéssel, skkot s leírásban találsz megoldást a kézi frissítésre is. Érdemes mindig a legújabbat használni, mert folyamatosan karbantartott pluginek egyre több funkciót adnak hozzá a nvim-hez.
Amivel rögvest találkozunk
A spacevim nagyon mássá tette a nvim szerkesztőnket. Induláskor a jobboldali részben a szerkesztett fájlokat sorolja fel és azokat az előttük lévő szám lenyomásával meg is nyithatod. Ez maga egy olyan kellemes plugin, amiért már érdemes feltenni a spacevim rendszert. Nagyon gyorssá teheti a munkádat, ha erre szükséged van. Az természetes, ha egy fájlra kattintasz pld. a ranger fájlkezelőben, vagy a nvim-et fájlnév megadásával arra utasítod, hogy a fájl nyissa meg, akkor ez az ablak nem jelenik meg. Logikus, de sajnos sok olyan program van, ami tolakodó és mindenképp saját magát próbálja előtérbe helyezni. Itt normálisan állították ezt be! Az e gombbal üres fájlt nyitsz, a q a kilépés. A bal oldalon a Nerdtree pluginnal találkozhatsz, ami egy fájlböngésző. Így betallózhatod azt a fájlt amit szeretnél szerkeszteni. Kellemes kiegészítő. Ha fájlt szerkesztesz, és közben navigálni is akarsz egy másikhoz, akkor az F3 lenyomásával előugrik, illetve eltüntethető. A Nerdtree nem csak a "keressünk meg a fájlt és nyissuk meg", hanem egy sokoldalú fájlkezelő, amiben akár fájlokat és könyvtárakat is létrehozhatunk, törölhetünk, vagy átnevezhetünk. A megismeréséhez használd a :help NERDTree parancsot. Nem egy komplett ViFM, vagy Ranger, de nagyon jól használható fájlkezelő.
IDE is lehet?
Igen, ezzel a céllal is készült a spacevim. Az IDE egy integrált fejlesztő (programozó) környezetet, szerkesztőt jelent. Ez nekem, mint kezdő nvim felhasználónak is kellemes hír. Bár sokkal komolyabb fejlesztő környezetet is ad, de nekem egy jó megoldás a szintaxis kiemelés. Majdnem minden programozási nyelvet ismeri, így kényelmesen tudjuk a konfigurációs fájlokat szerkeszteni, mert ezeket beszínezi, kiemeli és vizuálisabb lesz. Ne feledd: aktiválni kell a konfigurációs fájlban, és elolvasni a leírást. Nem mindegyiknél, de soknál van saját billentyűkombináció is. Pár ilyen kiemelési sablont kipróbáltam, elfogadhatóan működnek. Aki ennél összetettebb funkciókat is szeretne, ő is megtalálhatja a számítását. Bár az is igaz, hogy aki komolyabban programoz és vim-et használja neki sok újat nem mondtam :). A támogatott nyelvek és azok aktiválása itt részletesen megtalálható: https://spacevim.org/layers/ Bármely funkciót (itt layer-nek nevezik) aktiválsz ne feledd el lementeni a konfigurációs fájlt és újraindítani a spacevim programot. Ha még nem használt plugint aktiválsz, akkor azt le kell töltenie, és csak azután fog működni!
Sugó!
A rangerben, és más terminálos fájlkezelőben megszokott, hogy gyorsan és normális súgót kapunk. A spacevim egy billentyűzet vezérelt szövegszerkesztő, amiben nagyon sok funkció van, a hozzátartozó kombinációkkal. Ezeket kezdőnek megjegyezni lehetetlenség. Ez ijeszti el az embereket, hiszen nem káptalan az ember feje és nagyon megszoktuk a grafikus menü vezérelt programokat. Itt erre is gondoltak. Ha lenyomva tartod a Space billentyűt megjelennek az aktuálisan használható billentyűkombinációk. Bárki találta ezt ki, és építette bele, csak dicsérni tudom. A súgó témakörben említem meg a honlapon elérhető dokumentumokat. Teljes, részletes és minimális ismeretek mellett is érthető. Nincs agyonkomplikálva, agyonmagyarázva, egyszerű és logikusan felépített.
Fülek, sorszámozás stb.
Az egyik nagyon kellemes megoldás a fülecskés megoldás, aminél több fájlt nyithatunk meg és a böngészőkben megszokott fülekkel válthatunk köztük. A \ és a lap száma megadásával léptethetünk a kívánt fülre, de akár egérrel is dolgozhatunk. A Space t t lenyomásával pár műveletet elvégezhetünk a fülekkel. A képernyő több részre osztható (ami nem újdonság) és a köztük való navigálás egyszerű. A sorszámozás nem túl nagy újdonság, a legtöbb szerkesztő besorszámozza kérésre a sorokat. Itt van egy érdekes megoldás is. Ha megnézed a képet a 39 sorszámú soron állok, és le is, fel is relatíve sorszámozást kapunk. Ami a többszörös műveletekhez adja meg a sorszámokat. Kellemes megoldás Space v kombinációra előkerülő kommentelési lehetőségek. Itt sorokat, szakaszokat kommentelhetünk ki. Lényegesen gyorsabb mint amikor minden sor elé (vagy van olyan nyelv, ahol még a komment végét is jelezni kell!) a kommentjeleket ki kell rakni. Formázásnál érdekes lehet a Space x a kombináció, ahol a megadható karakterhez igazíthatjuk a sorokat. Egy tizedes vesszőhöz való igazítás egy pénzügyi felsorolásban még a sima szöveges fájlban is jól mutat. Bár kisebb gyakorlat kell ehhez, hogy valóban azt kapjuk, amire számítunk, ha belejövünk, akkor szépen formázott szöveget hozhatunk létre. Ahogy látni jellemzően a Space billentyű és egy vagy több betű amit használnak. Ez biztosítja, hogy nagyon jó eséllyel nem fog semelyik kombináció ütközni sem a ablakkezelőd, sem az asztalkezelőd kombinációival. De nem ütközik majd a vim-ben megszokott kombinációkkal sem. Van automata kiegészítésre ajánlat box is, ami szintén megszokott a szövegszerkesztőknél.
Ennyi? Nem, nem csak ennyit tud a spacevim
Nagyon szubjektíven kiragadtam az éppen kipróbált funkciókból párat. Ha ezek közül felkeltette valami a figyelmedet látogasd meg az oldalukat. Sokkal, valóban nagyon sokkal többet tud alapból is, mint amire kitértem. Az alapfunkciókat sem könnyű felfedezni egy nap alatt, de ez csak az alap. Ha pedig plusz funkciók kellenek, akkor a nem aktivált layerek közt keresgélhetsz. A használható layerek, kiegészítések könnyen felfedezhető Space h l paranccsal. 150 felett van a számuk, így azt aktiválsz, amit szeretnél. Amit a színezésnél említettem a külcsín testre szabása. Nem csak kész színsablonokat váltogathatsz, az összes elemet testre szabhatod. Azaz: a spacevim egy hasznos és összetett kiegészítő, Ez próbát megér, hiszen ha nem tetszik villámgyorsan visszatérhetsz az eredeti állapothoz.