NVim testre szabása

Vim alapokAz Nvim rendszerről már volt szó, többféle megoldást, alapokat, vagy éppen egy beépülő komplex megoldást, a SpaceVim-et is bemutattam. A mostani részben már a saját beállítási lehetőségeket ismerjük meg. Az NVim és a Vim beállításai jórészt egyformák, csak a helye már. Így aki nem az NVim rendszert használja, annak is hasznos lehet ez. Én az NVim mellett döntöttem. A konfigurációs fájlok eltérhetnek, én ezt a megoldást használom. Érdemes minden tippet átgondolni, a helpeket, a hozzáadott leírásokat (pld. beépülők) elolvasni. Sok jó megoldás van, amit én bemutatok a nagyon alap beállítás szintjén van. Az NVim a lehető legnagyobb szabadságot adja, ha valaki időt, energiát fektet bele.

I3wm és NVim tipp

Aki a NVim, Vim vagy annak valamelyik klónjával szerkeszti az i3wm konfigurációs állományát, érdemes átgondolni, hogy az alap szintaxis kiemelés helyett egy speciálisat használ. A megszokott mód telepíthetjük az i3config.vim kiterjesztést.

A honlapjuk https://github.com/mboughaba/i3config.vim

A leírás szerint több módszere van a konfigurációs fájl és a szintaxis kiemelő összerendelésének. Az egyik ami globálisabb, amikor megadjuk a NVim szerkesztőnek azt a paramétert, ami szerint felismeri a fájlt. Ez annyiból áll, hogy az NVim konfigurációs fájlban elhelyezünk pár sort:

aug i3config_ft_detection au! au BufNewFile,BufRead ~/.config/i3/config set filetype=i3config aug end

Alapesetben ez hasznos, főleg amikor a NVim konfigurációnkat más gépen is használjuk. Ha ilyen fájllal találkozik, aminek ez az elérési útvonala, neve, akkor a megfelelő szintaxist választja.

A másik egy manuális megoldás, amikor a NVim-nek a fájl megnyitása után kézzel, parancsként megadjuk a fájl típust.

:set filetype=i3config

Igen, tudom: a filetype helyett lehetséges az ft is, de jobb, ha kiírjuk a teljes nevét. Ez a könnyebb memorizálást segíti elő.

A harmadik megoldás a i3wm config állományának a megjelölése. A config fájl-ba a végére, elejére beírjuk a fájl típust jelző # vim: filetype=i3config sort. Ez a megoldás univerzális, egy szövegállományba elhelyezhetünk a Vim, NVim számára ilyen parancsokat. Ezeket beolvassa, értelmezi és a megfelelő beállításokat megteszi. Más szerkesztőkben ez nem fog semmit csinálni, ott sima sorként jelenik meg. Ezt a sort elvileg bárhova a fájlon belül elhelyezheted, de sokkal jobban néz ki a végén, vagy az elején.

NERDTRee a fájlkezelő

A Vim, NVim rendszer nem sima szövegszerkesztő, amit valami elitista réteg használ, hanem egy univerzális rendszer. Egy komoly rendszer pedig nem képzelhető el fájlböngésző nélkül. Bár szerintem az egyik legismertebb Vim, NVim bedolgozó, azért érdemes megemlíteni, hátha valaki nem ismeri! Ezzel a beépülő modullal a felhasználók vizuálisan böngészhetnek az összetett könyvtárhierarchiák között, gyorsan megnyithatják a fájlokat olvasásra vagy szerkesztésre, és elvégezhetik az alapvető fájl műveleteket. Igen, nem csak megnyithatunk egy, vagy több fájl, hanem komolyabb műveleteket is végezhetünk. Így a telepítés után mindenképp a leírását el kell olvasni.

Kis kitérő

A Vim, NVim pluginok jól dokumentáltak. Bár a leírásokat a :help és a plugin neve paranccsal lehívhatjuk, de érdemes felkeresni a bedolgozók telepítési könyvtárát is, ahol a doc alkönyvtárban ott lesz a teljes, angol kézikönyv.

De vissza a NERDTree pluginhoz! A telepítés a szokott mód történik, a honlapjuk a https://github.com/preservim/nerdtree oldal.

Installáció után a Vim, NVim beállítása következik. Két alapvető beállítást érdemes megtenni. Az egyik a NERDTree-t előhívó gyorsbillentyű:

" NerdTree ki és bekapcsolása 
nnoremap <F3> :NERDTreeToggle<CR>

Azaz lefordítva emberi nyelvre: Normál módban, ha lenyomom a F3 gombot, akkor jelenjen meg a fájlböngésző. Ha újra, akkor meg tűnjön el.

A másik már elég egyéni ízlés szerinti megoldás

" Start NERDTree and leave the cursor in it. 
autocmd VimEnter * NERDTree

Azaz induláskor, ha simán indítom az NVim rendszert, akkor a NERDTree ablakot is látni akarom. Jó ötletnek tűnik. Gyors munkát tesz lehetővé, azonnal betallózhatod a szerkesztendő fájlt. De ezen lehet kicsit finomítani is. Ha egy konkrét fájlt nyitok meg, akkor nekem nem kell a fájlkezelő. Jó lenne, ha ekkor nem tolakodna.

" Start NERDTree when Vim is started without file arguments.
autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | endif

A fenti sorokat használva már nem is teszi! Csak a sima, a szerkeszteni kívánt fájl megadása nélküli indításkor kapom meg a böngészési lehetőséget. Ezenkívül még pár jó tipp van a github oldalukon, de azok sem helyettesítik a :help elolvasását. Ha valamit szeretnél elvégezni a NERDTree-ben és nem tudod, a google segíteni fog. Rengeteg jó leírás, tipp olvasható.

Alapokat itt felsorolom:

t: Nyissa meg a kiválasztott fájlt egy új lapon
i: Nyissa meg a kiválasztott fájlt egy vízszintes osztott ablakban
s: Nyissa meg a kiválasztott fájlt egy függőleges osztott ablakban
i: Váltás a rejtett fájlok megjelenítése között
m: A NERDTree menü megjelenítése
?: Kapcsolja be a NERDTree gyors segítségét

Az m lenyomását telepítés után rögvest tedd meg. Előhoz egy további menüt, ami a fájlműveletekét mutatja. Ebből rögvest tudjuk: ez nem csak az oda navigálok a fájlhoz, megnyitom eszköz, hanem annál kicsit több!

Helyesírás ellenőrzés Nvim rendszerében

Az egyik legnagyobb tévhit a helyesírási ellenőrzés hiánya a Vim, NVim rendszer alatt. Igen, itt is van. Jó, használható és egyszerűen kezelhető. Aki magyar nyelvet szeretne, ezt a bejegyzést kell berakni a konfigurációs fájlba:

set spelllang=hu

A helyesírás ellenőrzés engedélyezéséhez futtasd :set spell. Két gyorsbillentyűt állítottam be a helyesírás ellenőrzés bekapcsolásához:

nnoremap <silent> <F11> :set spell!<cr>
inoremap <silent> <F11> <C-O>:set spell!<cr>

Az F11 lenyomásával váltok.

A javítás egyszerű művelet, három kombinációt kell megjegyezni:

Az aláhúzott szóra navigálunk. A hiba kijavításához nyomd meg a Crtlx
gombokat, majd s. A felugró menüben megjelenik a javaslatok listája.

[s: ugrás az előző helyesírási hibára
]s: ugrás a következő helyesírási hibára

Ahogy látni, nem túl nehéz NVim alatt sem a dolog. Nem olyan kényelmes, mint egy LibreOffice, de használható.

Ha egy dokumentumban az aljára a már ismert mód a :set spelllang=hu és a :set spell bekerül, akkor a Vim, illetve a NVim automatikusan felismeri a teendőket. De egyedileg a Normál módban be lehet írni a parancsokat.

Minta gyorsbillentyű megoldások

Nagyon sok megszokott kombináció vált már automatikussá az idők folyamán. Ezeket jellemzően az NVim, a Vim nem használja, Nagyon kényelmetlen, ha nem úgy működik valami, ahogy megszoktuk! Nagyon. A kezdő NVim felhasználók doksijára jellemző a :wq srb. random megjelenése. Ez a kilépési parancs és a megszokott Ctrl + s parancs szemete. Érdemes lehet az ismert és begyakorolt kötéseket ide is átvinni:

" Alternate way to save
nnoremap <C-s> :w<CR>
" Alternate way to quit
nnoremap <C-Q> :wq!<CR>

A fenti két sor jól mutatja a NVim egyszerű átkonfigurálási lehetőségeit. Nem okozhat senkinek gondot az egyszerű kötések átírása. Az nnoremap a Normál módban használt kötéseket jelenti, ami így lett meghatározva az csakis a Normál NVim módban lesz érvényes. Ezt követi az új gyorsbillentyű megadás, és azután az eredeti parancs. Igen az eredeti parancs, mert nem csak egy ilyen egyszerű kombinációt, de komolyabb parancsokat is megadhatunk. Az interneten nagyon sok jó tippet találhatsz az NVim gyorsbillentyűinek beállítására. Ha nagyon sokat szeretnél meghatározni, akkor már nem túl kényelmes a fő konfigurációs fájlban tartani ezeket. Az itt megmutatott lehetőségekkel élj a rendezett formátum miatt. Már az elején érdemes kialakítani a konfigurációs fájl három, négyfelé bontását, és azon belül a kommentelt és a strukturált rendet.

Sorok tördelése NVim alatt

A Vim, illetve az NVim alap beállításban egy sor orientált szerkesztő. Ez sort, amíg nincs abban egy sorvége jelzés egy sorban jelenít meg. Ez nem az a működés, amit elvárunk egy szövegszerkesztőtől. Jobb lenne, ha monitorhoz, vagy legalábbis egy bizonyos sorhosszt tartson.

Ehhez nem kell mást tenni, csak a konfigurációban megadni a set wrap és set textwidth=80 (ha nyolcvan karakter lehet a maximális sorhossz) bejegyzést. Itt is igaz, hogy akár egy-egy doksiban is megadhatjuk ezt, ahogy már azt ismerjük. Ez nagyon jó megoldás egy új doksinál, de ha régit nyitunk meg nem feltétlen tördeli újra. Illetve egy beillesztést sem rendez át. Az újra tördeléshez nem kell mást tenni, csak kijelölöd Vizuális módban a szöveget. Ha egy sor akkor praktikus a kurzort odavinni, majd a V lenyomásával kijelölni azt. Ezután a gq kombinációval újratördeli a sort.

Related Posts