Yksi pieni vinkki esimerkiksi sivun rakenteita tai tyylisivuja pähkäilevälle:
:au BufWritePost <buffer> silent !opera -activetab % > /dev/null
Mitäpä tästä oikein nähdään? Puretaan komento osiksi, niin samalla selviää sen tarkka toimintakin:
- :au on lyhennys :autocmd:stä. Sillä määritetään komentoja, jotka suoritetaan automaattisesti valittujen tapahtumien toimiessa laukaisimina. Komennolla on kattava ohje, kts. :help autocmd.txt
- Triggerinä on BufWritePost, eli laajennettuna ilmaisuna puskurin tallentamisen jälkeinen hetki. Hankalasti sanottu; siis kun ehdot täyttävä puskuri tallennetaan, sen jälkeen tehdään komento
- <buffer>: tarkoittaa, että käytetään tätä autokomentoa vain tässä puskurissa, väliaikaisesti. Tähän voisi kehittää jonkinlaisen säännön, esimerkiksi "*.html", jolloin komento suoritettaisiin aina, kun mikä tahansa html-tiedosto tallennetaan vimissä.
- Sitten alkaa komento-osio (maalasin vihreällä), joka on samanlainen kuin mitä normaalisti kirjoitettaisiin ex-moodissa ylös.
- Silent ilmaisee, että vim jättää turhat mutinat murisematta, ettei workflow keskeydy turhan ilmoituksen tähden
- !-notaatio ilmaisee, että ajetaan ulkopuolinen ohjelma, tässä tapauksessa opera. Sille annetaan parametriksi -activetab (avaa annettu URL aktiivisessa tabissa)
- %-merkki on kaikessa ex-komentamisessa bufferin tiedostonimi. Hyvin kätevä paikka paikoin, esimerkiksi simppelissä pikkukoodissa voisi komentaa !g++ %
- Viimeinen tiedonsiirto liittyy shellin erikoisuuksiin, mutta nyt vain varmistetaan, ettei sieltä todellakaan tule mitään häiritsevää. Kun haluamme tallentaa tiedoston, haluamme tehdä sen sulavasti, eikä vastailla mihinkään prompteihin tahi ihmetellä "opened file…"-viestejä.
Mielestäni toimii ihan kivasti, kun tehdään jotain sivurunkoa kasaan. Ehkä kuitenkin enemmän käyttöä olisi toiminnolle, jos CSS:ää kirjoiteltaessa osaisi vim herätellä selainta päivittämään html-runkoa, jotta nopea tutkailu helpottuisi. Tälle tuskin kannattaa kovin laajoja ja yleispätöisiä skriptejä kirjoitella, vaan luonnollisesti korvataan komennon %-osuus halutulla html-tiedostolla, jotta saadaan tutkittua lopputuloksia. Saa nähdä, käyttelenkö itse tätä "luomustani" missään vaiheessa.