Asiat rullaavat eteenpäin tyydyttävää tahtia tämän uuden tiedonhallinnan kanssa. Nyt olen säätänyt kuntoon jokaisesta kulmasta toimivan org-capture
-variantin, jolla saan minimoitua kynnystä ideoiden talteensaattamiseksi. VimOrganizer tuntuu riittävän hyvältä toistaiseksi, vaikka sitä toistakin sietäisi kokeilla ainakin maun vuoksi. Tämä on tavallaan myös uuden tietämyshallintasarjan kolmas postaus. Ensimmäisessä minulla oli joitain ideoita, toisessa on orgmodea ja nyt on luvassa hienosäätöä.
Org-capture on kaikkialla
Emacsin orgmodeen liittyvä aliohjelmanen org-capture
on luonteeltaan hyvin yksinkertainen. Avaa uusi puskuri päivämääräleimalla ja anna käyttäjän kirjailla vähän syötettä sisään. VimOrganizer toistaa saman toiminnallisuuden (ja Vim-orgmode ei toistaiseksi toista). Näissä on toki se ongelma, että toimivat vain editorien ympäristössä. Koska org-formaatti on luonteeltaan varsin yksinkertainen, päädyin kirjoittamaan järjestelmänvälisen ratkaisun; org_capture.sh
:
#!/bin/bash # do a thought in Org Capture manner. ORGCAPTUREFILE="$HOME/thinktank.org" ORGDATE=`date +':<%Y-%m-%d %a %H:%M>'` if [ "gui" == "$1" ] then # gui thought=`/usr/bin/zenity --width=400 --entry --text='Think hard'` elif [ -z "$1" ] then # term read -p 'Think hard: ' thought else # cli thought="$*" fi # Test given input. if [ -z "$thought" ] ; then exit fi echo "*" $thought >> $ORGCAPTUREFILE echo " " $ORGDATE >> $ORGCAPTUREFILE
Lyhyellä koodilla sain aikaan kolmella käyttöliittymällä hallinnoitavan rivikaapparin, joka puskee päivämääräleiman kanssa idean odottelemaan käsittelyä. Tämän ohjelman sitten bindasin peräti kolmella tavalla:
zsh
-aliakseksi (koska taikasananoglob
pitää ympätä mukaan),zsh
-pikanäppäimeksi (C-t
) (laiskuus huipussaan…),- X-pikanäppäimeksi (käynnistyy GUI-kyselyksi:
Win-d
).
Neljäs kelvollinen tapa olisi ehkä vielä koodattava mukaan. Se olisi käynnistää Vim sillä “oikealla” OrgCapture-toiminnolla. vim/gvim -c OrgCapture
riittäisi itseasiassa. (Emacsisteille vastaavasti jotain emacs -e '(org-capture)'
:n tapaista. Sen voisi jopa heittää tuon gui-option tilalle. Zenity on uusi ‘GDialog’-versio, että mistään hienosta ei ole kyse.
Capturefilestä organisoiduksi
Orgmode sisältää luonnollisesti kohtalaisen patterin erilaisia refile-toimintoja. VimOrganizer toteuttaa näitä, Vim-Orgmode ei. Kyseinen toiminnallisuus ei ole kamalan tärkeätä kyllä, mutta sillä voi sentään nopeasti siirtää näitä ykköstason puita mielivaltaiseksi alipuuksi mielivaltaiseen org-tiedostoon. Toiminto tukee luonnollisesti oletustiedostoja, joten voin kirjailla dataa nopeaan tahtiin vaikka minne. Tähän voi myös nopeahkosti toteuttaa tagitusta, joten ajatuksistaan saa kaiken irti.
Toki voisin jättää erillisen capturefile-vaiheen pois välistä, mikä onkin käynyt aiemmin mielessäni. Yksi haitta tuleekin oitis mieleen: en voi seurata kypsymättömien ajatusten lukumäärää noin helposti. Lisäksi ajatukset voivat teoriassa tulla monenlaisesta suunnasta (esimerkiksi nethack- tai Civ 5 -pelitilanteiden kommentoiminen pelien aikana voi tuottaa suuren määrän spämmiä) ja miten saada kaikki nätisti piiloon, eli organisoiduksi.
Vim-orgmode on sitten out?
Vim-orgmode voi ehkä olla kypsempi kuin VimOrganizer, mutta ominaisuuksia siitä ainakin puuttuu. Refiling ensimmäisenä, mutta monenlainen tärkeämpi Emacs-integraatio uupuu kanssa. Taulukot ja koodiblokit (ja muu “literal programming” -menetelmä!) puuttuu toistaiseksi. Eli kyllä, pysyn toistaiseksi VimOrganizerissa.
Mutta ei se tarkoita, että on valittava kahdesta. Vim-orgmode ei ole vain Vim-plugin: suurin osa koodikantaa kuuluu Python-pohjaiseen komentoriviohjelmaan, jonka avulla olisi määrä manipuloida org-tiedostoja ohjelmallisesti. Otan sopivimmat palat käyttöön, siinä vaiheessa viimeistään kun minun pitää saada TODO-eksportit ulos tiedostoistani siististi.
Todot orgiin jossain vaiheessa
Ja pian käykin niin, että Rainlendar saa väistyä TODO-merkintöjen pidolta. Kenties jossain vaiheessa myös kokonaisuudessaan kalenterimerkinnöiltä. Sitä varten Vim-orgmoden pythonskriptit tulevat käyttöön. Lisäksi pitää tietenkin kehitellä menetelmiä, joilla saan merkinnät näkösälle. Rainlendarille saatavat “Orglendar”-skriptit olisivat komeita, mutta Xmonad ei sellaisia tue. Ehkä Dzen2 tukee, tai jokin muu ohjelma. Conky ei suoraan tunnu toimivan kunnolla sellaisen datan kanssa. Toisaalta voinhan aina ajaa useita Conky-instansseja, joista toinen voisi tulevaisuudessa ajaa Org-agendaa kalentereineen ja Todoineen. Voi, elämme jännittäviä aikoja!