Linuxille on monia hyviä tekstieditoreja komentorivikäyttöön. Toiset pitävät nanosta, toiset emacsista, mutta mielestäni kenties parhain on kuitenkin vim. Tuo ohjelma, jonka ekaa kertaa käynnistäessäsi et tiennyt kuinka siitä pääsee pois. Myöhemmin viisaammat kertoivat ESC-:q -komennon ja kirosit koko ohjelman syvimpään hautaan. Jos ensimmäinen käyttökerta ei pelästyttänyt, kannattaa tutustua vimtutor -ohjelmaan ja oppia käyttämään vim:iä, sillä vim on pieni ja tehokas tekstieditori.
Vim on kehittyvä ohjelma ja uudet versiot tuovat uusia ominaisuuksia, joista kaikki eivät ole aina toivottuja. Jossain vaiheessa huomasin, että liittäessäni tekstiä vimissä auki olevaan tiedostoon, menivät kaikki liitetyn tekstin sisennykset aivan ketuilleen. Onneksi Google kertoi oikean vastauksen ongelmaan löytyvän vim.org -sivustolta. Kysymykseen oli annettu monia eri ratkaisuja, mutta itselle ja omaan tarkoitukseen kelpaava ratkaisu löytyi asettamalla kotihakemistoni .vimrc -tiedostoon rivit:
set nosmartindent set noautoindent
Nyt vim ei automaattisesti käytä edellisen rivin sisennystä liitettäessä tekstiä tai sisennä automaattisesti, kun kirjoitetaan koodia. Ei aivan täydellinen ratkaisu, sillä automaattinen sisennys koodatessa on kyllä kätevä.
Ohjeissa ehdotettiin myös lisäämään filetype off .vimrc -tiedostoon tai F11-napin määrittämistä :set paste -komennolle:
" Paste Mode On/Off map <F11> :call Paste_on_off()set pastetoggle=<F11> let paste_mode = 0 " 0 = normal, 1 = paste func! Paste_on_off() if g:paste_mode == 0 set paste let g:paste_mode = 1 else set nopaste let g:paste_mode = 0 endif return endfunc
Kyseinen funktio mahdollistaa paste-ominaisuuden päälle/pois -kytkemisen ja nyt myös voidaan käyttää autoindent ja smartindent -optioita koodauksen helpottamiseksi.