Nvim automata szócsere

Vim alapokAz NVim jó helyesírás ellenőrzővel érkezik ami az átlagos feladatoknak megfelelő. Nekem kifejezetten hiányzott a LibreOffice-ban megszokott automatikus korrekciós lehetőség. Én viszonylag sokat használtam ezt a lehetőséget. Nemcsak a gyári beállítás szerinti szólistát, hanem egyéni szólistákat is összeállítottam, így a rövidítéseket gyorsan és hatékonyan feloldja a rendszer. Ilyen volt például a LO, az az LibreOffice. Begépeltem az L és O betűt majd automatikusan kijavította LibreOffice szóra. Szuper! Így nemcsak a megszokottan elgépelt szavaimat tudom kijavítani, hanem rövidítéseket alkalmazva hosszabb, egységes szöveget is el tudok helyezni. Ez a lehetőség az alapértelmezetten ott van a NVim beállításokban, ennek ellenére én egy jobb kényelmesebben használható plugint installáltam. Picit tud többet, de nekem pont ez a kicsi kell.

A NVim autocorrect installálása, alapbeállítása

Az autocorrect plugin honlapja: https://github.com/mitchpaulus/autocorrect.vim, én a vim.plug beépülő kezelővel telepítettem:

Plug 'mitchpaulus/autocorrect.vim`

A telepítés gond nélkül lefutott, így rögvest ki isi lehet próbálni.

Két indító parancs van:

:AutocorrectTryLoad

illetve

:AutocorrectForceLoad

A hibás, vagy autokorrekcióra kijelölt szót begépelve máris szépen működik. Működik? Teszteléshez írd be a ABout szót amit About-ra javít. Valóban javítja, így már csak finomítani kell.

Már rögvest látjuk a problémát. Ez bizony a fejlesztőnek készült szólistát használ, ami nem magyar!

De előtte állítsuk be a rendszert, hogy úgy működjön, ahogy az kell. Az első a gyors eléréshez egy kombináció:

nmap <F12> <Plug>(AutocorrectTryLoad)

 

Az F12 kapcsolja be. Lehetne automatikusan induló bedolgozóként is megadni, de több leírás is a kézi indítást javasolja. Elvileg ha az NVim rendszerrel indul és nagy a szószedet, akkor lassítja a rendszert. Nem tapasztaltam, de elfogadom a fenti elvet.

A leírás szerint van lehetőség egyes fájltípusokhoz rendelni az autokorrekciós lehetőséget, én ezt is beállítottam, a beállító fájlba beírva a

let g:AutocorrectFiletypes = ["text","markdown","tex"]
" Autokorrekció indítása

Ezután jön a komolyabb munka!

A saját NVim szószedetek összeállítása

A cserélendő szövegek a plugin könyvtárában lévő corrections.vim sima szöveges fájlban vannak. A formátuma nagyon egyszerű:

iabbrev LO LibreOffice

A fájlban lévő összes sor nekem felesleges, így az első tesztelés után a tartalmát töröltem, Szép és hasznos amit a fejlesztő közreadott, de magyar környezetben nekem mások kellenek. Majd lassan elkezdtem feltölteni a fájl. Ami alapvetően nagy munka, és igencsak unalmas. Amikor írok, és eszembe jut egy rövidítés, akkor ide beírom.

Lassan jön össze ami kell, de nagyon hasznos lesz ha már sok automatikus javítási lehetőséged lesz.

LibreOffice autocorrekció integrálása

Nem lesz egyszerű a feladat, de megoldható. Első lépés megszerezni a LibreOffice csere táblázatát. Nyissunk meg egy üres LibreOffice szöveges dokumentumot, majd az Automatikus javítás beállításainál hozzunk létre egy új csere szabályt. Bármi lehet, nem számít. Majd menjünk a ~/.config/libreoffice/4/user/autocorr/ mappába, ahol lesz egy acor_hu-HU.dat fájl. Ez sima zip tömörítvény, csomagoljuk ki. Majd a ~/.config/libreoffice/4/user/autocorr/DocumentList.xml fájlt nyissuk meg. Valami ilyen lesz:

<block-list:block block-list:abbreviated-name="boyler" block-list:name="bojler"/>

 

Már sejthető, hogy ezt kellene valami olyanra alakítani, amit az NVim autocorrekciós része fel is ismer.

Sejthető, hogy az első részt a iabbrev karakterláncra kell kicserélni. A középső részt és a lezáró tag-et törölni. A három csere után már érdekesebb lesz a kép:

iabbrev boyler bojler
iabbrev börönd.* bőrönd

Már csak két feladatom lesz. A .* karaktereket el kell tüntetni, mert az ilyen szerkezetet nem támogatja az NVim csere funkciója. A fájl elején és végén lévő felesleges szöveget is ki kell törölni.
A következő lépés már nem technikai, hanem egyéni döntés szerinti. A LibreOffice csere funkciója támogatja az emoji cserét is. Azaz kis ikonokra cseréli a beírt, kötött formátumú szöveget. Nekem ez nem kell, sohasem használtam, így ki is vettem azonnal. Bár elvileg az ilyen emoji ikonokat támogatja az NVim, de van olyan terminál ami nem.

Már csak egy gyors vizuális átnézés, hogy nem maradt-e valami karakteres szemét a listában majd mehet a másolás a csere fájlba. Mentés, és próba után már élesben is lehet használni. Az előfordulhat, hogy az első induláskor hibát jelez, pár sort felsorol, ahol neki nem tetsző sorok vannak. Ezeket törölni érdemes, bár ha benne maradnak attól még működik a többi sor.

Csere fájl?

Az alap beállítású fájl a corrections.vim fájl, amiről már volt szó. Ha követed azt, amit leírtam, és ezt kiürítettem és ide írtam bele a saját csere megoldásokat. Ha megtartottad az eredeti, angol szabályokat, akkor a saját szabályaidat érdemes külön fájlba rakni. Az alapértelmezett saját fájl a ~/.autocorrect fájl, amit létre kell hozni, és máris ki lehet tölteni. Ha ez az elérési út nem tetszik, akkor érdemes a

let g:AutocorrectPersonalFile='~/mydirectory/mynewfile.anyextension'

értelemszerű használatát megfontolni.

Összefoglalva:

Az NVim helyesírás ellenőrzőjét felturbózhatjuk egy automatikus csere funkcióval. Amit használhatunk hosszú, sokszor leírt szavak, mondatok gyors begépelése is, de akár a sokszor elgépelt szavak javítására is.

A feladathoz telepítettünk egy plugint, ami kényelmesebbé teszi a munkát. Bár az ilyen automatikus csere lehetőséget a NVim ismeri, de így kicsit kényelmesebb.
A felesleges munka elkerülésére érdemes a LibreOffice automatikus javítási funkciójából ismert csere lehetőséget felhasználni. Bár macerásnak tűnik, de pár keres/csere alkalmazásával villámgyorsan elkészül a lista. Egyszer kell megcsinálni, majd örökre jó lesz.

Mini tipp:

Érdemes a csere szabályokat tartalmazó fájlt folyamatosan nyitva tartani egy külön NVim példányban. Így bármikor beírhatunk egy-egy új szabályt. Ha nem tesszük ezt meg azonnal, akkor a „majd, ha végzek a munkámmal” felkiáltású megoldással nem biztos (nálam biztosan nem!) lesz kiegészítve a szabályrendszer…

Related Posts