11. kesäkuu 2009, 19:11

Käytettävyydestä

Olen näinä päivinä lukenut paljon Vimistä. Tämä Bram Moolenaarin ihmeteos on kyllä jotain ihanaa. Olenhan toki kertonut siitä aiemminkin, nyt pitää vain nostaa hattua muuten vain. Se vain toimii. Jos ajatellaan puhtaasti pikakirjoituksen ja 10-sormisuorituksen kannalta, emacsmaiset kontrollinäppäinyhdistelmät ovat hivenen hidastavia.

Ei paljoa, mutta kyllä ainakin minä joudun liikuttamaan kättäni hieman vakioasennosta jotta ensimmäinen nivelkohta pikkurillistäni ylettyy kontrollille. Näin se vain on. Sormet vakioasennossa yltävät nopeaan tahtiin vain näille kolmelle tekstiriville ja peukaloille on varattu se välilyönti. Aluksi minäkin vähän halveksin tuota vimin suosituinta ex-komentoa, :w:tä, mutta loppujen lopuksi se on mukavampi käyttää kuin ^s. Vaikka jälkimmäinen voisi olla hieman nopeampi. Mutta nyt ei kinastella noista nopeuksista, pääasia on, että kukin löytää mukavan tavan kirjoittaa ja tuottaa tekstiä ilman, että hermot palavat ja sormet ovat rakkuiloilla.

Haluan irssiin samanlaista toiminnallisuutta. Siinä pitää pelehtiä noiden metanäppäinten kanssa liiankin tiuhaan. Olenkin ensinnäkin luonnehtinut englanniksi (kohdeyleisön kasvattamisen takia) muutamia ideoita irssin kehittämiseksi kohti mukavia ominaisuuksia. Ehkä ongelma on siinä, että ominaisuudet voidaan pitkälti toteuttaa ilman modaalisuutta, mutta minä ehdotin myös modaalisuuden tuontia irssiin. Ihmiset (vimistejä lukuunottamatta) eivät pidä modaalisuudesta ja ehdotus sai karvasta vastarintaa kahdella kanavalla. Voitte lukea ja kertoa mielipiteitänne kommentteihin. Ehdotukset ovat sellaisia, jotka voitaisiin tehdä pienin muutoksin ilman "hankalaa" modaalisuutta, mutta toisaalta se modaalisuus tuo mukanaan joitain mahdollisuuksia. No, lukekaa ja päättäkää itse.

Sain kipinän ryhtyä tekemään muutoksia (pääasiassa modaalisuutta, sen jälkeen mahdollisesti muita ominaisuuksia) irssiin skriptin kautta, sillä siellä se on mahdollista. Käytännössä se tekniikka tapahtuu tällä tavalla. Pseudonnan suomeksi tähän, tekstin lukeminen silti suositeltavaa:

  • Funktio siirry_normaalitilaan:
    • Bindaa näppäimet A-Z vastaamaan komentoja tai tekemään ei-mitään
    • Bindaa enter antamaan komennon siirry_lisäystilaan
  • Funktio siirry_lisäystilaan:
    • Poista näppäinten A-Z bindaukset, jotta teksti siirtyy suoraan (tavalliseen tapaan) riville
    • Bindaa enter ensin syöttämään kirjoitetut rivit irssille ja sitten antamaan komennon siirry_normaalitilaan

Eli kuten näkyy, tekniikka on aika simppeli. Kuitenkin siellä on joitain muttia: viimeistä pallukkaa toteuttaessa syntyi ongelma, kun ei ole mitään pätevää ja kattavaa tapaa siirtää tekstiriville kirjoitettu viesti tai komento irssille sellaisenaan. Vaihtoehtona olisi käsitellä kaikki eri tapaukset itse, mutta en usko, että se on vaivan väärti. Kokeilen tutkia signaaleja ja käytän nyt erillistä globaalia muuttujaa pitämään yllä senhetkistä moodia. Sitä tarvitaan myös esimerkiksi statusbarille. Onhan se mukava nähdä, ollaanko kummassa tilassa.

Kirjoitin ennen tuota työtä lyhyen skriptin (joka oli ensimmäiseni) joka togglettaa awaytilan välillä. Se on siitä erinomainen skripti, että se on simppeli, versaali ja riittävän kustomoitava. Olen bindannut sen näppäimeen alt-z ja sen vaivattomuuden ansiosta on mukavampi pitää oma tila ajantasalla logitusta ajatellen.

Päivitin tänään myös WordPressin versionumeroon 2.8. Uudistuksista ei niinkään tietoa, mitä nyt moni suomennos on hypännyt englannin kieliseksi. Mieluusti näkisin systeemin sellaisena, että voisin käyttää alkuperäiskieltä ohjauspaneelissa ja suomea tuolla julkisivulla. Pitääkin tutkia, onko vaurioita julkisivupuolella.

Tageja: , ,

---
---

---

Aiheen vierestä