Erinevus lehekülje "VIM" redaktsioonide vahel

Allikas: Pingviini viki
P (versiooni uuendus)
P (täpsustused)
 
(ei näidata ühe teise kasutaja üht vahepealset redaktsiooni)
16. rida: 16. rida:
  
  
'''VIM''' - '''Vi IMproved''' on [[tekstiredaktor]], mis on edasiarendatud versioon programmist [[Vi]]. See on avatud lähtekoodiga ning mitte platvorm spetsiifiline.
+
'''VIM''' - '''Vi IMproved''' on [[tekstiredaktor]], mis on edasiarendatud versioon programmist [[Vi]]. See on avatud lähtekoodiga ja multiplatvormne.
  
  
 
== Õppimine ==
 
== Õ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´.
+
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'''.
 
Põhilisemad asjad on võimalik kiiresti ära õppida käsurealt käivitades programmi '''vimtutor'''.
50. rida: 50. rida:
 
                       "mis tähendab, et millega kleepimisel ei kasutata automaatset <tab> süsteemi.
 
                       "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.
+
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 ==
 
== Skriptid ==
 
Töö lihtsustamiseks ja abistamiseks on loodud hulganisti skripte. [http://www.vim.org/scripts/index.php Vim Scripts].  
 
Töö lihtsustamiseks ja abistamiseks on loodud hulganisti skripte. [http://www.vim.org/scripts/index.php Vim Scripts].  
  
Ära tasuks mainida sellised skriptid:
+
Mõned rohkesti kasutatavad skriptid:
 
# [http://www.vim.org/scripts/script.php?script_id=1318 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.
 
# [http://www.vim.org/scripts/script.php?script_id=1318 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.
 
# [http://www.vim.org/scripts/script.php?script_id=1567 Rails.vim] - Ruby on Railsi programeerijatele, mis annab hulgaliselt uusi võimalusi.
 
# [http://www.vim.org/scripts/script.php?script_id=1567 Rails.vim] - Ruby on Railsi programeerijatele, mis annab hulgaliselt uusi võimalusi.
 +
# [http://www.vim.org/scripts/script.php?script_id=1643 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 ==
 
== Trikke ==

Viimane redaktsioon: 29. august 2009, kell 12:40


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