3. huhtikuu 2012, 19:50

Vim-editointia suominäppäimistöllä

Vi ja Vim on suunniteltu ensisijaisesti käytettäväksi 104-näppäimisellä US -näppäimistölayoutilla. Pohjoismaalaiset 105-näppäilijät eivät välttämättä edes tiedosta, mitä menettävät käyttämällä Vimiä näillä epäoptimaalisilla leiskoilla.

Kun minä Filcoon ja US-leiskaan siirryin syyskuussa kuukausia takaperin, oli US-leiskassa hieman haastetta omaksua. Ääkkösille piti tuunata sopivat paikat, omaksua tehokkaat näppäinasetelmat. Mutta yllättävän nopeasti opin. Pidän pienestä enteristä, jonka yläpuolella on suhteellisen vähänkäytetty \|-nappi. Vim-käyttöni tehostui huomattavasti siinä alkukuukausien aikaan. Nyt en osaisi vanhalla leiskalla mitään tehdäkään. Mitä on uudistunut, ja mitä voin suomileiskojen käyttäjille neuvoa?

Haku on oleellinen osa tehokasta Vim-kokemusta!

Vimisti tietää kyllä, että / käynnistää haun eteenpäin ja ? taaksepäin. Case closed? No ei, sillä tehokkaassa tekstinkäsittelyssä on parasta liikkua paikasta toiseen hakemalla näkemiään asioita. [Yegge] Jos näet typon toisella puolella ruutua, niin onko tehokkainta naputella ylänuolta ja etsiä se kohta hitaasti. Vai olisiko sittenkin tehokkainta painaltaa ?tyop ja enteriä päälle. Pääset suoraan pääkallopaikalle.

Jos tässä kohtaa mietit, että “about yhtä työläitä vaihtoehtoja kumpikin”, niin sitten suomileiska on vetänyt sinua höplästä. Tympeän Shift-7:n sijaan kauttaviiva löytyy tavuviivan paikalta pikkurillin tavoiteltavissa, ja haun laukaiseminen tulille on salamannopeaa. Kysymysmerkki löytyy saman painikkeen takaa, shiftillä modattuna.

Saattaisin melkein ehdottaa, että suominäppisvimaaja tekee itselleen palveluksen ja mappaa näin:

nnoremap - /\v
nnoremap _ ?\v

Heitin kaupanpäälle very magic -asetuksen, joka tekee höpöä säännöllisten lausekkeiden säännöllisyydelle. Nämä bindaukset hävittävät entistä toiminnallisuutta (rivi taaksepäin/rivin ensimmäiseen epätyhjään merkkiin), joten varauksella siis eteenpäin. Emacs-henkiset bindaukset voinevat olla nekin varteenotettavia. Ctrl-s esimerkiksi eteenpäinhakuun. En mene lupailemaan mitään.

Dollari ja persereikä

Suomileiska antaa Shift-4:ssa jotain valuuttasymbolia, yleisemmin persereikänä tunnettua symboolia. Jos kirjoitat vähänkään enemmän PHP:ta tai vaikka Perliä, niin varmaan kannattaa tehdä siisti käännösmuunnos:

inoremap ¤ $

Tuskin rikot yhtään mitään. Ja perserei’än voi aina lisätä tekstiin <C-v><Shift-4> -yhdistelmällä kun siltä tuntuu.

Kenoviiva

Yksi kiusallisimpia sijoituksia koko suomileiskassa on AltGr-+, eli kenoviiva. Jos TeX tai LaTeX tai DOS-kehotteessa seikkailu on sydäntä lähellä, niin se on erittäin epäergonomisesti esillä. Sille ei itse asiassa ole sopivaa sijoitusta, paitsi å tietysti joutaa uusiokäyttöön. Itse olen usein pallotellut SnipMate-snippetillä tähän väliin, eli esimerkiksi LaTeXissa useintarvittu pari {} voidaan tuoda esille vaikkapa pistettä ja tabia painamalla (perätysten). SnipMate tekee paljon muutakin, mutta tämmöinen perusjuttu voisi olla.

Ja tuosta Å:sta tulikin mieleen, että jenkkileiskan Ctrl-[ tarkoittaa samaa kuin ESC. Ja ilahduttavasti tai rautateknisistä syistä Ctrl-å tarkoittaa samaa. Eli eskiä voit opetella painamaan ergonomisemminkin.

Ja sitten on tagien kanssa käytettävä tapaus Ctrl-]. Se on niin toivoton tapaus suomileiskassa, ettei mitään tule. Tähän annan neuvoksi: vaihtakaa jenkkileiskaan koodailujen ajaksi. Kim Schultz esittää kirjassaan muistaakseni joitain ideoita ja vaihtoehtoja. No, vimissä on funktionäppäimet vapaata riistaa. Ei niitä tageja niin usein tarvitse kaivella, etteikö jaksaisi sinne yläriville kurkotella.

HTML-tagien kirjoitus

<>-merkkien sijainti vain vasemman käden alla on erittäin epäergonomista pidemmässä juoksussa. Siihen en osaa muuta sanoa kuin SnipMaten ja sitten Vimin HTML-tukien ansiota oleva hieno kikka:

inoremap <C-e> </<C-x><C-o>

Eli sulje kaikkein tuorein HTML/XML-tagi Kontrol-Eellä. Säästyt ainakin kahdelta epäergonomiselta pinnistykseltä per tagi.

Muita ideoita?

Kommentoikaa, niin voin ehdotella. Mutta jenkkileiska ja vim, ne on luotu yhteen. Nämä ovat aika futiileja yrityksiä päästä siitä irti. Ja lisäksi kirjoitan sulavasti ääkkösiä jenkkileiskan kanssa nykyisin.

Tageja: ,

---
---

---

Aiheen vierestä