VIM

Allikas: Pingviini viki
Redaktsioon seisuga 20. veebruar 2008, kell 19:54 kasutajalt Mihkel (arutelu | kaastöö)


Vim - Vi IMproved
Vim logo
Vim

Tüüp: Tekstiredaktor
Arendaja:
Litsents: GPL
Viimane versioon: 7.1
12-05-2007
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 ning mitte platvorm spetsiifiline.


Õppimine

Uuele kasutajale võib Vim näida ülemõistuse käiv. Näiteks, et teksti sisestada tuleb kõige pealt liikuda Insert Modesse ´Insert´ Või ´I´ nupuga. Salvestamiseks tuleks aga trükkida ´:w´, ning 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 konfigueerida meeletult. Peaaegu iga asi on muudetav. Kõik selleks, et lihtsustada ja kiirendada kirjutamist. Eriti kasutatakse neid võimalusi programeerimisel.

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 vimi käsureale :help käsunimi. Nii antakse teile põhjalik info selle käsu kohta.

Skriptid

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

Ära tasuks mainida sellised 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.


Trikke

Allikas: wiki.linux.ee

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.

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

:s/aaa/bbb/g

asendab real kõik 'aaa'-d 'bbb'-dega. '/g' 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.

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