Preter Vim: hoj Kakoune!

Enkonduko

Kleruloj je tekstredaktado plejofte uzas unu el du programoj: Vimo (Vim) aŭ Imakso (Emacs). Kiu estas klerulo pri tekstredaktado? Programistoj, verkistoj, kaj homoj kun tro da libera tempo, kompreneble. Kial? Nu, temas duone pri kunokazo: Tiaj homoj ofte uzas ian unikson (LiGNUkson, BSDon, la fian Pomon, ktp), kaj tiuj tekstiloj plejbone funkcias je tiuj sistemoj. La alia duono temas pri la naturo de la laboro mem: Programistoj kaj aliaj malgraciaĉuloj ofte uzadas la terminalon, kaj ĝuste tie Imakso k Vimo stelbrile funkcias. Sendube rolas iel ankaŭ historio: Imakso famiĝis en la ĝermaj jaroj de komputado ĝenerala, kaj Vi (la antaŭulo de Vimo) famiĝis en la ĝermaj jaroj de unikso specife.

Kial oni preferas ilin? Kial ili tiom populariĝis, inter tiaj komunumoj kaj sistemoj? Mi dirus, ke temas pri du specifaj ecoj simplaj: Ili ŝparas klavpremojn, kaj ili facile etendeblas. Oni povas fari plurfacajn taskojn per nur kelkaj premoj (multoble malpli ol kutimaj tekstiloj!), kaj oni povas programi sian tekstilon por fari preskaŭ ion ajn imageblan!

Simple momente spektu spertulon uzantan Vimon aŭ Imakson, kaj vi tuj komprenos, kiel rapide ili povas esti, kompare al aliaj tekstiloj. Mi mem uzis Vimon, ĉar mi amas »reĝiman redaktadon«. Laŭ mi, ĝi estas la plej potenca redaktmaniero! Nu, mi pentru por vi la malsamojn inter reĝima redaktado kaj ordinara redaktado.

Reĝima redaktado

Ordinara redaktado estas la nun plejofte uzata maniero tajpi. Klakinte tekstujon k premante klavon, la litero de tiu klavo tajpiĝas. Foje, oni povas kunpremi specialajn klavojn dume (stirklavon, alt-klavon, ktp) por fari ordonojn apartajn.

Sed per reĝima redaktado, la komputilo ne antaŭsupozas, ke vi deziras tajpi. Anstataŭe, ĝi lasas vin tuj meti ordonon, sen samtempa premo de la stirklavo aŭ alt-klavo. Ĉiu ordono estas metita per premo de ordinara litero. Kaj tiel, por tajpi, oni permane klarigas sian intencon per ordono, kiu ŝaltas la »tajpan reĝimon«. En tiu reĝimo, ĉiu premo tajpas literon, samkiel ordinara redaktado. Ekster la tajpa reĝimo, plirapidas moviĝi, forigi, kaj redakti, ĉar oni uzas la literajn klavojn por ĉio — ne plu devas la mano salti al la sagoj, nek al la foriga klavo, nek al la »hejma klavo«. Oni simple premas literojn! Ekz., anstataŭ sagojn por moviĝi, oni simple premas h, j, k, kaj l (je QWERTY); kaj anstataŭ forigan klavon, oni simple premas x por forigo de litero aŭ dd por forigo de tuta linio.

Ĝi eble sonas iom ĝena aŭ peniga, laŭ mia priskribo, tion mi bone komprenas. Mi cedas, ke spertiĝi kun reĝima tekstilo bezonas kelkajn tagojn; sed estas sendube profitdona entrepreno. Oni tre rapide kutimiĝas, al saltado inter la reĝimoj, kaj tiel lernas bone kunmeti ordonojn por optimuma efikeco. Mi konsilus provon de reĝima tekstilo, eĉ dum nur duonhoro, por kompreni per rekta maniero.

Kakouno

Nu, mi ne volas vere priparoli Vimon. Mi deziras direkti vin, ĉu Vim-amanto aŭ ne, al nova, interesa eksperimento: Kakouno (Kakoune). Kakouno estas nova tekstilo, iomete simila al Vimo. Ĝi estas reĝima, oni moviĝas per la h,j,k kaj l klavoj, plejparte la ordonoj samas, kaj ĝi facile etendeblas. Sed Kakouno estas, laŭ la kreinto, »lingvoscienca« klopodo.

La ordonoj de Vimo uzas vortordon laŭ »ago-subjekto«, aŭ »ago-objekto«. Oni tiuorde faras ordonojn per literoj: Por forigi ĝis la komenco de la sekva vorto, oni tajpus dw (d signifanta la agon »forigi« [delete] kaj w signifanta la objekton »ĝis vortkomenco« [word]). Kakouno, tamen, preferas la vortordon »subjekto-ago«, aŭ »objekto-ago«. Do en Kakouno, oni tajpus anstataŭe wd por fari la samon.

Interŝanĝo de vortordo kredeble ŝajnas bagatela, negrava ŝanĝo. Tamen, ĝi aŭguras la veran forton de Kakouno: Potenca elektado.

Elektado

Tajpinte subjekton, tuj ĝi markiĝas. Tuj oni scias, je kio efikos la ordono kaj kie. Kaj tajponte la agon, oni povas plu etendi la elekton, refari ĝin, ŝanĝeti ĝin, kaj tuj vidiĝos. Tio utilegas, se oni provas fari malsimplan elektoregulon — aŭ eĉ simplan! Jen ekzemplo, de subjekto (plena linio, elektita per x).

Linio markita en Kakouno.
Tuta linio, markita en Kakouno.

En kutimaj tekstiloj, oni povas elekti pli da teksto per la premado de la majuskla klavo dum moviĝo. Tio fareblas kun Kakouno, ankaŭ! Ĉu vi devas elekti unu plian literon? Enorde! Unu plian linion? x K (kun minuskla k signifanta »supren«).

Kun Vimo, oni ne elektus tiel facile. Fakte, one tre malofte elektus ion ajn, krom je malsimplaj agoj. Sed en Kakouno, ĉar oni unua tajpas la subjekton, elektoj estas ĉie. Onia verkado plenos je elektado, kaj tio lasas inundi maro da potenco.

En Kakouno, vi ankaŭ povas — efektive, jen ĝia plej impona kapablo — elekti per multaj montriloj. Vi povas elekti kelkajn vortojn samtempe, por fari la saman agon al ĉiuj, kaj, kaj… hoj ve, simple rigardu jene, jam!

Multaj elektoj en Kakouno— »vi« elektiĝas multfoje.
Elektiĝas multmulto!

Kaj tiuj menciitaj »vi« vortoj anstataŭita.
Kaj jen simpla anstataŭigo.

Tio surprize utilegas! Por regulaj esprimoj (kreitaj per premo de s, antaŭ entajpo de esprimo) vi vidos ĉion elektatan, kaj povas redakti ilin samtempe. En Vimo, kompare, oni sole povas anstataŭigi tekston regulesprime. Jen plirekta ekzemplo:

Vime, oni anstataŭigus »jajaja« per »hahaha« tajpinte :s 'jajaja/hahaha/g'.
Kakoune, per s jajaja oni elektus ĉiujn »jajaja«’ojn, kaj poste ĝi povus fari kion ajn laŭdezire. Tio klare plipotencas!

Nu, kompreneble, Vimo kaj Kakouno ambaŭ tute sufiĉas, kaj povas fari ĉion gravan por tekstilo. Sed iliaj filozofiaj aliroj malsamas. Resume, tiu de Vimo estas »kvietu«, kaj tiu de Kakouno estas »montru!« Kakouno montras ĉion farotan kaj fareblan, kaj tio ne restas sole ĉe elektoj! Ekz., ektajpinte agon de ordono, ĝi montras ĉiujn agojn apud la gramatiko de la nuntajpata ago.

Oni tajpante komandon en Kakouno.
Tiom bela, tiom klara!

Ordonoj

Nu, mi volas pli aparte kompari Vimon kaj Kakounon je la »lingvoscienca« flanko: Ordonoj.

Ago Vime Kakoune
Iri al komenco de linio 0 gh
Iri al fino de linio $ gl
Iri al komenco de dosiero gg gk
Iri al fino de dosiero G gj
Iri al supro de fenestro H gt
Iri al centro de fenestro M gc
Iri al subo de fenestro L gb
Elekti ĝis fino de linio v$ GL
Elekti plenan linion V x

Rigardu bone tiun tabelon. Vi eble rimarkas tuj, ke la ordonoj de Kakouno estas iom similaj, iom interakordaj. Estas ia logiko tie, tujvideble. Sed rigardu pliatente la kolumnon de Vimo. Ĉu vi vidas la logikon kaŝitan tie? Rigardu iomeeeeete pliatente! Ĉu vidas? Nu, bone, mi klarigos. Ĉe Vimo, ordonoj estas tute feke hazardaj! Kvazaŭ oni hazarde frappremis literojn, kaj manisvigante la manojn kriis »pŝ, bone, kial ne?! ¯\_(ツ)_/¯«

Por iri tra fenestron k dosieron Vime, oni premus tute apartajn klavojn! Kial? Mi ne scias! Sed je Kakouno, oni premus la agon g kaj poste la lokon. Tio havas efektivan logikon, kaj almenaŭ ian sencon. Kaj tio, laŭ mi, belas. La ceteraj ordonoj de Kak simile sencas kaj memakordas inter si. La ceteraj ordonoj de Vimo estas… simile abomenaj. Sed komparu kaj opiniu per vi mem: Jen tiuj de Kak, kaj jen tiuj de Vim.

Konsileto

Nu, laŭ mi, la konstrumaniero de ordonoj en Kakouno sentiĝas simile al la vortfarada kerno de esperanto. Beli, simpli, kaj rekti… jen kiel oni parolu, kaj jen kiel oni redaktu, ĉu ne? Mi aŭdacus, laŭ ĉi tiu figursencaĵo, nomi Vimon volapuko! Sed tio eble tro malafablus al Vimo, ĉu ne? :^)

Nu, sciu bone, ke mi ne argumentas, ke Vimo estas malbona tekstilo! Oni povas akiri sperton sufiĉe facile, kaj per ĝi rapide verki; sed ĝia malkohereco iom malhelpas komencantojn. Malkiel Kakouno, kiu per sia simpleco kaj akordeco, faciligas onian klopodon spertiĝi.

Se vi estas Vim-amanto, mi proponus unutagan staĝon je Kakouno. Gustumo ĝin kun malferma menso kaj malfirma opinio, kaj vi eble eĉ ĝin ŝatos!

… kvankam ĝi estas tuŝita de ioma peko, kvankam ĝi malsanas pro iu manketo grava. Ĝi estas peka manketo, kiun Vimo ne suferas: Kakouno ne subtenas esperanton, nek ajnan alian lingvon neanglan. Ne jam oni aldonis subtenon da fasadtradukoj, kaj verŝajne mankas ajna intenco ĝustigi tiun eraron. Do, se vi ne amikas jam la anglan, mi forte bedaŭras, ke mia konvinkado estis eble senfrukta por vi. Provizore, do restu kun nia kara Vimo, ĝi sufiĉe similas! Eble, iutage, internaciecon ne kontraŭos Kakouno… sed mi ne estas esperema!

Notetoj


  1. Nu, kvin jaroj post ĉi tiu afiŝo fariĝis… Mi jam antaŭ proksimume tri jaroj forlasis Vimon kaj Kakounon, ekuzante Imakson. Kaj nun, mi estas fervora amiko de GNU Imakso! Mi ne vere plu tiom alte taksas reĝiman redaktadon; ne ĝenas min plu, premi la stirklavon! Kaj pro tio, mi nun estas multoble pli komforta kaj klera tesktredaktisto, danke al la GNUo. Eble mi devus skribi »Preter Kak: hoj, Imakso«, ĉu ne? :^)

💬 Comments

💬 Komentoj

Nobody here but us chickens! 🐔

Neniu kometo jam! 🌠

Komentu per via ✦federuja✦ konto! Respondu:

Comment with your ✦fediverse✦ account! Reply to:

Ne jam/Not yet