Kako koristiti VIM
Select messages from
# through # FAQ
[/[Print]\]
Idite na 1, 2  Sljedeće  :| |:
Forum@DeGiorgi -> Programiranje 1 i 2

#1: Kako koristiti VIM Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 14:14 pet, 21. 4. 2006
    —
Dakle, za one koje namjeravaju pisati programe u C programskom jeziku (ili bilo cega drugog) , a nisu zadovoljni trenutacnim editorom, postoji savrsena opcija VIM ili VI iMproved (ili kako vec zelite) za vise informacija sto je to Vi http://web.math.hr/~veky/unix/vi.html a za VIM www.vim.org

Gdje na faksu imamo VIM ?
gvim ili (GUI VIM) mozete koristiti u pr1 (sasvim solidna verzija) i pr2 (prastara verzija) zasto ga nema u drugim pr (nemam pojma)

Dali na studentu imamo VIM?
ima (prastara verzija), ali po defaultu verzija nije u GUI, pa pocetnicima moze stvoriti dodatne poteskoce

Zasto uopce koristiti VIM ?
Koristu ga programeri (svega i svacega) po cijelom svijetu, i oni koji to nisu (Tex, HTML, perl, .. )
Relativno lako ga se nauci koristiti.
100% je prilagodljiv svim vasim potrebama
100% kompatibilan sa Vi
10000000% bolji od bilo kojeg drugog editora
Relativno se lako instalira, i ne treba bogzna kakve resurse.
Moze ali i nemora biti modalan editor,
Kod tj. sintaksu nekog programskog jezika mozemo posebno oznacavati bojama itd.
Enkripcija i dekripcija (verzija >= 6.0.0)
I jos bezbroj stvari koje mi se sada neda nabrajati.

...

Za pocetak ukucajte

gvim u shellu i pritisnite Enter

...

Svi su pozvani da sudjeluju u ovom topicu, molim *emacs, notepad, word, edit i ine druge fanove da topic strogo ignoriraju Smile

#2:  Autor/ica: ZELENIZUBNAPLANETIDO
SADE
Lokacija: hm? PostPostano: 14:29 pet, 21. 4. 2006
    —
Sa student.studenti.math.hr je dostupan sa komandom:

/var/tmp/bbozo/gnutils/bin/vim

Smile Dok ga gosp. Štalec ne obriše Smile Imao sam skriptu koja ga je automatski kompajlirala prilikom čišćenja /var/tmp-a ali je neki zlikovac izbrisao gdk librarye sa studenta Evil or Very Mad Ova verzija je kompajlirana za athena librarije, pozivaju se interesenti da naprave tarball binariesa za brzu instalaciju Smile

#3:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 14:44 pet, 21. 4. 2006
    —
Shocked Zaboravio napomenuti, ja koristim ovaj kod

#!/bin/sh
/student1/Local/others/sklaic/bin/gvim

jer nemam vremena eksperimentirati sa shell postavkama
Super, to je sluzbena najnovija verzija (6.4) ali je u tmp Uber-zabavno!

#4:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 16:48 pet, 21. 4. 2006
    —
Samo za one koji namjeravaju koristiti VIM na studentu i u Pr2

Kod:
#!/bin/sh
/student1/Local/others/sklaic/bin/gvim


Ovaj gore kod prepisite u nekakvu praznu tekstualnu datoteku i sacuvajte je pod imenom gvim, nadalje u shellu (terminal) izvrsite ovu naredbu

chmod +x gvim

sada ce te moci pokretati program ovom naredbom iz shella:

./gvim

ili dvoklikom misa na istoimenu datoteku ako koristite CDE ...

ako ne zelite tipkati znak ./ editirajte u .profile datoteci PATH ovako

PATH=$PATH:$HOME/:/student1/Local/bin/:/usr/bin/:/usr/local/bin:/bin/:/usr/sbin/:/sbin/:/opt/*/bin/

Off-topic Napraviti .tbz VIM za HP-UX Rolling Eyes , onda mozemo i u /var/tmp kompajlirati te izbrisane gdk libariye, i napraviti revoluciju Very Happy

#5:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 11:07 sri, 26. 4. 2006
    —
Jednostavnije, i brze smo istu stvar mogli napraviti tako da ovaj kod
Kod:
PATH=$PATH:/student1/Local/bin/:/student1/Local/others/sklaic/bin/:/usr/bin/:/usr/local/bin:/bin/:/usr/sbin/:/sbin/:/opt/*/bin/

ubacimo na pocetak datoteke .profile Smile

Evo nekoliko vrlo korisnih postavki

:set nocp // vim nece biti kompatibilan sa vi-jem

:syntax on // Cool vas ekran ce zivnuti (@)

boje je jednostavno mijenjati naredbom :highlight ; kako biste uocili kojem dijelu koda zelite promijeniti boju nakon sto otipkate u Normal modu :highlight<jedan razmak><Ctrl-d> // <Ctrl-d> drzi pritisnutu tipku Ctrl i pritisni tipku d ( umjesto :highlight mozete krace otipkati :hi )
onda nadopisite jednu od ponudjenih opcija i nakon nje ubacite jos jedan razmak i onda ovo: guibg=<ime boje npr. red, black, blue ili pak #< sesteroznamenkasti heksadecimalni broj> > guifg=<kod boje ili njeno ime> i opcionalno ako zelite gui=<bold, underline, italic, none; prvatri mogu i zajedno, naravno odvajamo ih jednim zarezom >

Sada ce ako otvorite datoteku sa ekstenzijom .c ce razlicita "vrsta" sintakse koda biti obojana drugacije

no vim nam omogucuje da namjestimo neke dodatne opcije bojanje sintakse koda za C

:let c_comment_strings=1 // sada ce vim obojati stringove i brojeve i unutar ovog /* i ovog */ znaka , kako biste to i vidjeli ponovite (@) naredbu.


***

Kako kompajlirati kod koji se nalazi u aktivnom prozoru vim-a, jedan od nacina je ovaj:

:!gcc % -ansi -pedantic-errors -o a.out // umjesto znaka % ce biti ubaceno puno ime otvorene datoteke

ako je vracen 0 kompajliranje je uspjesno zavrseno i onda pokrenemo program ovom naredbom:
:!./a.out

sve gornje naredbe nemoramo stalno tipkati vec mozemo koristiti ovu globalnu postavku:

:set history=<neki prirodan broj> // sada mozemo kursorskim tipkama <Up> i <Down> birati vec otipkane naredbe ( tj. kada u Normal modu utipkamo : ) no uopce nemoramo koristiti ovaj trik vec gornje naredbe mozemo mapirati sa nekim kodom od tastature npr. <F8> za kompajliranje : primjer :

:nmap <F8> :!gcc % -ansi -pedantic-errors -o a.out<CR> // sada kad bilo kada pritisnemo tipku <F8> u normal modu (nmap) vim ce kompajlirati aktivnu datoteku u a.out. U Insert modu to cemo napraviti na ovaj nacin

:imap <F8> <Ctrl-o>:!gcc % -ansi -pedantic-errors -o a.out<CR>

Prilikom izlaska iz editora sve postavke ce biti izgubljene, kako bi nam one uvijek bile pri ruci, upisemo ih u datoteku .gvimrc tocno onako kako smo ih ovdje vidjeli.

#6:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 18:57 pon, 1. 5. 2006
    —
Sada se vec javljaju problemi ako zelimo kompajlirati kod ali neuspjesno tj. gcc nam javlja greske

evo kako da doskocimo tom problemu na najbezboljniji nacin:

:set autowrite // vim ce automatski sacuvat datote prilikom kompajliranja

:setlocal makeprg=gcc\ -ansi\ -pedantic-errors\ -o\ a.out\ % // mogli smo samo :set tj. :setglobal ako ne namjeravamo kompajlirati nista drugo osim .c datoteke (pravi programeri koriste samo make zato je po defaultu makeprg=make)

sada mozemo kompajlirati kod jednostavnom naredbom :make , naravno u Normal modu

No to ocito nije sve jer ako se pojavi neka greska i kompajliranje prestane moci cemo "skakati" po linijama koda kod kojih je uocena nekakva greska.

naredba za listanje gresaka je :cw otvorit ce se poseban prozorcic pri dnu, sa misem sada mozemo odabrati koju gresku zelimo ispraviti

naredbe za odabir gresaka (osim koristenjem misa), među ostalim, su :cn i :cp (cnext odnosno cprevious)

Prakticnije je te naredbe "mapirati" sa npr <C-Up> i <C-Down> npr:

:nmap <C-Down> :cn<CR> // sada ce kursor skakati po greskama, pri tome uopce nemoramo koristit prozor naredbe :cw

Sada je ciklus kopajliranja koda i ispravljanje mozebitnih gresaka vrlo lagan

#7:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 14:25 pet, 19. 5. 2006
    —
Kako bi vase datoteke ljepse i preglednije izgledale, ova postavka ce vam mnogo koristiti

:set cindent

Sada ce Vim automatski dok pisete source kod programa pomjeriti linije (nemorate to raditi sa tabulatorom )

evo nekoliko korisnih naredbi iz Normal moda

gf // Vim ce otvoriti datoteku s imenom pod kojim se trenutacno nalazi kursor
Npr. #include <stdio.h> ako stavite kursor izmedju znakova < i > i otipkate gf vim ce poceti traziti datoteku po direktorijima koje ste naveli u 'path' opciji, po defaultu path=.,/usr/include,,

* // vim ce pomaknuti kursor sa rijeci na kojoj se trenutacno nalazi na sljedecu u datoteci (ako takve ime)
# // isto kao * ali unatrag

[d // vim ce pokazati definiciju
Npr. ako source kod sadrzi ovakvu liniju #define MAX 30 te ako sada kursor postavimo negdje drugdje u datoteci gdje se pojavljuje rijec MAX, vim ce prikazati njenu definiciju

[D // isto kao [d ali vim trazi i pod #include datotekama te prikazuje ne samo definiciju vec i ime datoteke gdje se definicija nalazi

no to ce samo prikazati definiciju ali ako istu zelimo promijeniti koristimo: [ Ctrl - D kombinaciju tipaka, no ako se ista nalazi u drugoj datoteci a ne zelimo se izgubiti u bespucu buffer liste koristimo: Ctrl - W d
sada ce vim otvoriti novi prozor Cool

analogno mozemo koristiti i ove naredbe

[i // vim ce prikazati prvu liniju koja sadrzi datu rijec pod kursorom
[I // isto kao gore ali sve linije
[ Ctrl - I // kao [i ali ce tamo skociti kursor
Ctrl-W i // otvorit ce se novi prozor i kursor ce biti na toj rijeci

slicno koristimo umjesto [ - znaka ovaj znak: ] – umjesto od pocetka prikazati ce se linija od kursora (ako takve ima), analogno tome ]I ]d ]D ..

Zamijetimo da smo prije bilo koje od ovih naredbi mogli utipkati neki prirodan broj n i onda ce se umjesto prve pronadjene koristiti n-ta pronadjena Cool

Sve su ove naredbe visestruko korisne (kao i ogromna vecina ostalih), jer su istodobno logicne i intuitivne.

#8:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 13:32 pet, 26. 5. 2006
    —
pbanicev (napisa):
Kod:
PATH=$PATH:/student1/Local/bin/:/student1/Local/others/sklaic/bin/:/usr/bin/:/usr/local/bin:/bin/:/usr/sbin/:/sbin/:/opt/*/bin/

ubacimo na pocetak datoteke .profile Smile


Embarassed zaboravih, po defaultu "CDE (Common Desktop Environment)" u Pr2 ne cita tu .profile datoteku vec moramo na kraj datoteke .dtprofile
ubaciti ovu liniju (tj. maknuti znak komentara)

DTSOURCEPROFILE=true

#9:  Autor/ica: alllliceLokacija: Zagreb PostPostano: 15:28 pet, 26. 5. 2006
    —
A ima i programcic pico koji sasvim lijepo radi i jednostavan je za koristenje Smile i da, ima ga na studentu.. samo upises pico ime_fajla i to je to.

#10:  Autor/ica: goranm PostPostano: 17:27 pet, 26. 5. 2006
    —
allllice (napisa):
A ima i programcic pico koji sasvim lijepo radi i jednostavan je za koristenje Smile i da, ima ga na studentu.. samo upises pico ime_fajla i to je to.


pbanicev (napisa):
Svi su pozvani da sudjeluju u ovom topicu, molim *emacs, notepad, word, edit i ine druge fanove da topic strogo ignoriraju Smile


Wink

#11:  Autor/ica: venovako PostPostano: 17:34 pet, 26. 5. 2006
    —
@allllice: (sorry na spamu, ali ne izdrzah)

A ima i na Windowsima jedan programcic koji jako lijepo radi i jos je jednostavniji za koristenje: samo upises notepad ime_fajla i divis se Wink

Ako itko misli na studentu pisati ista dulje od dvoliner mailova, bilo bi dobro da nauci koristiti vi(m).
Edit: tek sad primijetih da slavljenje Editora nije ovdje dobro doslo...

Mala preporuka: za Windowse takodjer postoji Vim i sasvim se lijepo uklapa u Prozorsku atmosferu.
Ako se nekome ne da snalaziti u vise editora na vise platformi, neka odabere onaj koji radi na svakoj Smile I to dobro.

#12:  Autor/ica: zrinkaLokacija: Grad Zagreb PostPostano: 20:34 čet, 10. 8. 2006
    —
Gdje se može nabaviti vim za Windows XP? Rolling Eyes Question
P.S. Koji od silnih vim-ova za PC da skinem?

#13:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 10:49 sri, 6. 9. 2006
    —
Naravno za winie Win logo korisnike postoji uvijek point and click opcija,
ukratko uopce nemorate (ako ne zelite) znati nista o vi-u ili vim-u

http://cream.sourceforge.net

Cream je ukratko, vim sa macroima; stoga trebate imat malo jace racunalo.

#14:  Autor/ica: pero PostPostano: 12:16 ned, 24. 9. 2006
    —
vim od svoje 7.0 verzije nudi i provjeru pravopisa

s ftp://ftp.vim.org/pub/vim/runtime/spell/ skinete *.spl i *.sug fajlove za svoj jezik, stavite ih u /usr/share/vim/vim70/spell/

utipkate
Kod:

:set spelllang=en,hr ili koji već
:set spell

ili još bolje to stavite u ~/.vimrc
Kod:

]s   baci te na sljedeću krivo napisanu riječ iza kursora
[s   na sljedeću krvo napisanu rijeć prije kursora
zG   doda riječ ispod kursora kao dobru riječ
zW   doda riječ ispod kursora kao krivo napisanu
zuG  undo zG
zuW  undo zW
z=   izbaci listu sugestija za riječ ispod kursora
...

#15:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 12:08 čet, 19. 10. 2006
    —
Ako ste pod domenom studenti.math.hr mozete koristiti i ovo racunalo, ako u Praktikumima 1 i 2 nema VIM editora

ssh -X -l student sturep2.studenti.math.hr
Password: student

#16:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 13:39 čet, 19. 10. 2006
    —
pbanicev (napisa):
ssh -X -l student sturep2.studenti.math.hr
Password: student


Nadam se da se shalis i da nisi ostavio full SSH javno dostupan bez autorizacije. Disaster!!!

Na studentu bi i tako uskoro trebao biti instaliran vim, prema Kruninoj najavi. Smile

#17:  Autor/ica: KrunoLokacija: RC PostPostano: 7:19 pet, 20. 10. 2006
    —
vsego (napisa):
pbanicev (napisa):
ssh -X -l student sturep2.studenti.math.hr
Password: student


Nadam se da se shalis i da nisi ostavio full SSH javno dostupan bez autorizacije. Disaster!!!


I ja se nadam da se sali.

vsego (napisa):

Na studentu bi i tako uskoro trebao biti instaliran vim, prema Kruninoj najavi. Smile


Vec ucinjeno Wink

#18:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 10:41 pon, 23. 10. 2006
    —
pbanicev (napisa):
Ako ste pod domenom studenti.math.hr mozete koristiti i ovo racunalo, ako u Praktikumima 1 i 2 nema VIM editora

ssh -X -l student sturep2.studenti.math.hr
Password: student


Crying or Very sad anonimni pristup je onemogucen

#19:  Autor/ica: mdokoLokacija: Heriot-Watt University, Edinburgh PostPostano: 11:01 pon, 23. 10. 2006
    —
pbanicev (napisa):

Crying or Very sad anonimni pristup je onemogucen

Pa to je dobra stvar.

#20:  Autor/ica: pbanicevLokacija: /dev/random V /dev/null V /dev/zero PostPostano: 10:26 pet, 27. 10. 2006
    —
Kruno (napisa):
vsego (napisa):

Na studentu bi i tako uskoro trebao biti instaliran vim, prema Kruninoj najavi. Smile


Vec ucinjeno Wink


U praktikumu 1 vim radi(stara verzija) dok na studentu, pod /usr/local/bin/ je vim(verzija 70) instaliran, sto i jest jer postoji direktorij /usr/local/share/vim70/

no ako se taj isti pokrene javlja nightmare gresku:

/usr/local/bin/vim
/usr/lib/hpux32/dld.so: Unable to find library 'libiconv.so'.
Killed Sad

Malo pojasnjenje:
ldd /usr/local/bin/vim
libgtk.so ⇒ /usr/local/lib/hpux32/libgtk.so
libgdk.so ⇒ /usr/local/lib/hpux32/libgdk.so
libgmodule.so ⇒ /usr/local/lib/hpux32/libgmodule.so
libglib.so ⇒ /usr/local/lib/hpux32/libglib.so
libintl.so ⇒ /usr/local/lib/hpux32/libintl.so
libXext.so.1 ⇒ /usr/lib/hpux32/libXext.so.1
libm.so.1 ⇒ /usr/lib/hpux32/libm.so.1
libXt.so.1 ⇒ /usr/lib/hpux32/libXt.so.1
libX11.so.1 ⇒ /usr/lib/hpux32/libX11.so.1
libncurses.so ⇒ /usr/local/lib/hpux32/libncurses.so
libc.so.1 ⇒ /usr/lib/hpux32/libc.so.1
Unable to find library 'libiconv.so'. Sad



Forum@DeGiorgi -> Programiranje 1 i 2


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Idite na 1, 2  Sljedeće  :| |:
Stranica 1 / 2.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin