VIM

Allikas: Pingviini viki


Vim - Vi IMproved
Vim logo
Vim

Tüüp: Tekstiredaktor
Arendaja:
Litsents: GPL
Viimane versioon: 7.2
2008-08-09
Staatus: aktiivne
Eesti keel: {{{eesti_keel}}}
Koduleht: www.vim.org
Foorum:


VIM - Vi IMproved on tekstiredaktor, mis on edasiarendatud versioon programmist Vi. See on avatud lähtekoodiga ja multiplatvormne.


Õppimine

Uuele kasutajale võib Vim näida üle mõistuse käiv. Näiteks, et teksti sisestada tuleb aktiveerida sisestusrežiim (Insert Mode) ´Insert´- või ´i´-klahviga. Salvestamiseks tuleks aga sisestusrežiimist väljuda Esc-klahviga käsurežiimi ning sisestada ´:w´, programmist lahkumiseks ´:q´.

Põhilisemad asjad on võimalik kiiresti ära õppida käsurealt käivitades programmi vimtutor. Tuleks leppida sellega, et vimi ei saa kunagi lihtsalt lugedes selgeks. Kõik tuleb kirjutamise ja töö käigus.

Konfigueerimine

Vim-i saab konfigureerida meeletult. Peaaegu iga asi on muudetav. Kõik selleks, et lihtsustada ja kiirendada kirjutamist. Eriti kasutatakse neid võimalusi programmeerimisel.

Näiteks põhilisemad asjad, mida võiks ~/.vimrc faili sisse kirjutada. Need käivituvad seal automaatselt kui vim käivitada.

set nocompatible
set history=50    "ajalugu käsklustel
set nobk          "ei tee backup faili ülekirjutamisel
set ttyfast       "osadel terminalidel teeb töö kiiremaks
set smarttab      "smart tab
set title         "ilus terminali tiitel
set splitbelow    "juhul kui teise faili, siis see läheb praeguse alla
set shiftround    "< ja > nupud teksti liigutamiseks
set shiftwidth=2  "tabi pikkus tühikutes
set smartindent   "automaatsed tabid minnes järgmisele reale
set softtabstop=2 "tühikud tabide asemel
set tabstop=2     "number of spaces that a <Tab> in the file counts for
set modeline
set ruler         "rea ja veeru asukoht
filetype on       "failitüübi otsimine
syntax on         "värvid koodile
set confirm       "annab teate ülekirjutamisel, readonly faili muutmisel jne
set pastetoggle=<F11> "F11 klahvile vajutamisel Insert Modes minnakse Paste Modele, 
                      "mis tähendab, et millega kleepimisel ei kasutata automaatset <tab> süsteemi.

Juhul, kui otsite abi mõne käskluse kohta, siis trükkida vim-i käsurežiimis :help käsunimi. Nii antakse teile põhjalik info selle käsu kohta.

Skriptid

Töö lihtsustamiseks ja abistamiseks on loodud hulganisti skripte. Vim Scripts.

Mõned rohkesti kasutatavad skriptid:

  1. SnippetsEmu - Mingi kindla lühendi kirjutamisel ning Tabi vajutamisel ilmub selle asemele määratud tekst. Snippeteid on automaatselt kaasas üle 30 programeerimiskeelele. Samuti on väga lihtne neid ise juurde kirjutada.
  2. Rails.vim - Ruby on Railsi programeerijatele, mis annab hulgaliselt uusi võimalusi.
  3. SuperTab - Autocompletion. Kui juba sõna on korra kasutatud, siis sõna algust trükkides ja <Tab>i vajutades pakkub plugin sõna lõpetamise valikuid.

Trikke

Allikas: wiki.linux.ee

Tekstist otsimine

Vajutades normal modes klahvi "*" otsitakse järgnevast tekstist kursori all olevat sõna ja viiakse kursor sellele. Näiteks

foo = 10
/*
  99 rida koodi
*/
bar = foo

Kui nüüd kursor on esimesel real ja vajutatakse "*", siis liigub kursor reale bar = foo. Kui otsimisega jõutakse faili lõppu, siis alustatakse seda algusest uuesti. "#" teeb samasugust otsingut vastassuunas, s.t. kursori all olevat sõna otsitakse kursorile eelnevast tekstist.

Teksti saab leida ka järgnevalt:

Vajutada '/' märki, kirjutada otsingustring, vajutada enter. Näiteks:

/karu

Tekstis otsitakse kõik 'karu' sisaldavad kohad. Otsing toimub regulaaravaldistes.

Teksti asendamine

Kui on kiiresti teksti vaja asendada, siis saab selleks kasutada substitute käsku, ehk lühendina käsureal ':s' Näiteks:

:s/aaa/bbb/g

asendab real kõik 'aaa'-d 'bbb'-dega. '/g' ehk global lõpus näitab, et asendada tuleb kõik leitud otsingutulemused, mitte ainult esimene. Asendamine toimub regulaaravaldistega ning on suuresti sarnane Perlis kasutatavale süntaksile.

Kui on vaja ette anda teatud vahemikku, siis kogu faili puhul saab kasutada järgnevat:

:%s/aaa/bbb/g

mis asendab kogu failis/buffris 'aaa'-d 'bbb'-dega. Kui on näiteks vaja teksti muuta jooksval ja viiel järgneval real:

:.,+5s/aaa/bbb/g

Teksti krüpteerimine

Vim võimaldab ka faile krüpteerida, nii et avamiseks pead sisestama salasõna. Tekstifaili krüpteerimiseks kirjuta

:X

Nüüd palutakse sul kaks korda sisestada salasõna. Salvestamiseks nagu ikka

:w

Enam ei ole võimalik seda faili teiste tekstiredaktoritega vaadata. Faili parooli alt vabastamiseks

:set key=

Ja jällegi salvestada

Varia

Käskudega :set wrap ja :set nowrap saab valida, et kas pikad read murtakse ära või jäetakse osa ekraani serva taha

Uuemad vim-i versioonid ei näita dos-i faile redigeerides enam rea lõppu ^M-i, vaid fail avatakse dos-formaadis. Sellegipoolest mõned teised tekstiredaktorid näitavad sama faili iga rea lõppu endiselt ^M-i. Et nendest ^M-idest lahti saada, tuleb kirjutada

:set fileformat=unix

Lingid