<jdz> darkjames@darkjames ~/cvs/ekg2/plugins/irc $ echo $EDITOR
<jdz> /usr/bin/vim
<consmash> lol
<consmash> dlaczego tu jest wiecej burakow niz na warsztacie
<jaro3000> mulander: niektorzy sie ze mna nabijaja zeby sobie jako shell ustawic /usr/local/bin/vim
<jaro3000> :-)
<@mulander> hehe :P
<zzang> set backspace=indent,eol,start =P
<@mulander> ja jako shell ustwaiam /usr/bin/perl jak tylko moge :P
<@mulander> zreszta nie tylko sobie :P
<dzon> zbok
<dzon> ;P
<defc0n> mulander spoko wyklad
<defc0n> przyda mi sie
<jaro3000> mulander: hehe :-)
<consmash> a to juz sie skonczyl?
<@mulander> kazdy doinstalowal vima ?
<jaro3000> ok, czekam na wyklad vima, pewnie znow cos nowego poznam :-)
<Annihilator> tym na windowsie
<@mulander> czekamy az zainstaluja vima na windzie :P
<jaro3000> vim mnie wciaz zadziwia :-)
<Annihilator> to ja bym polecał Microsoft Word
<DJ_cool_|code> consmash priv
<Annihilator> A nie jakiegoś vima
<dzon> emerge vim
<dzon> :)
<Annihilator> ;-]
<@mulander> jaro3000: od podstaw polece wiec sie nie nastawiaj.
<jaro3000> dzisiaj sie doksztalcilem jak robic zwijanie kodu np
<jaro3000> tak ze moge sobie implementacje funkcji zwinac, i nie zasmieca mi ona overwiev pogladu :-)
<@mulander> btw
<@mulander> dla tych wszystkich
<@mulander> co instaluja na windowsie
<@mulander> niech zaznacza opcje powiazania plikow batch
<@mulander> zeby moc vima z konsoli wywolywac.
<Annihilator> vim pod windows ma interfejs graficzny?
<@mulander> i graficzny i konsolowy
<consmash> ma, gvim
<Annihilator> Bo bez niego to lepiej worda
<Annihilator> ;-]
<dzon> :)
<phoenix__> Annihilator: wiesz jak kto konsolowiec
<DJ_cool_|code> ja lubie ziemniaki
<@mulander> umnie w pracy jest wojna vim vs joe :P
<dzon> ja sie ostatnio dowiedzialem
<DJ_cool_|code> i mcedita :D
<dzon> ze na windzie jest make
<dzon> nmake, z visual studio
<dzon> ;)
<Manyer> dobra ja juz mam :D
<phoenix__> mulander: vim lepszu
<consmash> a ssac nmak
<@mulander> wiem :P usunelismy joe na serwie firmy
<consmash> mingw32-make!
<@mulander> i dalismy ln -s pliku joe do vima :P
<@mulander> ale sie koles wkurzy :P
<Annihilator> fanatycy
<dzon> ;D
<Annihilator> jak chce uzywac cat > plik
<Annihilator> to mu dajcie
<@mulander> :P
<Annihilator> a nie vima wpychacie
<Annihilator> ;-]
<phoenix__> mulander: duzo osob woli joe ?
<@mulander> dobra kazdy ma vima ?
<Reqamst> tia
<dzon> taaaaak panie psorze
<@mulander> phoenix__: nie zbyt wiele znam :P ktorzy jeszcze zyja
<@mulander> :P
<phoenix__> heyhe
<Annihilator> http://mateusz.trzebinia.org/linux/gvim.png
<Annihilator> Moj vim
<Annihilator> ;-]
<phoenix__> hehe
<@mulander> to co zaczynamy ?
<dzon> nooo
<dzon> ;]
<Annihilator> jeden tu linuksa sciagal
<Annihilator> ;p
<@mulander> Witam wszystkich na pierwszym spontanicznym wykladzie vim'a :P mozecie juz wlaczac logowanie :P
<@mulander> Vim to bardzo popularny ( w niektorych kregach wrecz uwielbiany jak bostwo ) edytor tekstowy
<@mulander> posiada naprawde ogrom mozliwosci i opcji, a najwazniejsza z nich dla programisty zapewne jest podswietlanie skladni prkatycznie kazdego jezyka jaki sobie mozecie wymyslec
<@mulander> a jezeli vim niezna tego jezyka, to nie ma problemu by napisac reguly wlasnego podswietlania skladni ;)
<@mulander> zaczniemy od rzeczy podstawowej
<@mulander> rozumiem ze kazdy ma pod reka jakiegos shella czy to zdalnego czy na wlasnym systemie, tudziez dla windowsowcow cmd.exe
<@mulander> ( start->uruchom i wpisujemy cmd.exe )
<@mulander> zrobmy nasz pierwszy plik :P jako ze jestem niepoprawnym fanatykiem perla bedzie to plik skrypt.pl ;)
<@mulander> pliki w vimie mozemy otworzyc przy uruchomieniu programu i to nie tylko jeden na raz ale my lecimy podstawy
<@mulander> wiec wydajmy wszyscy teraz polecenie: vim skrypt.pl
<@mulander> i co sie stalo ? konsola nam sie troche zmienila
<@mulander> mamy niebieskie znaczki ~ ( chyba ze wasz terminal nie obsluguje kolorkow i podswietlania skladni :P )
<@mulander> znaczki moga byc szare jezeli podswietlanie nie jest jeszcze wlaczone ;)
<@mulander> zakladam ze przy otwarciu pliku nie bylo problemow ;)
<@mulander> wiec powiedzmy sobie jak dziala ten wynalazek hipisow :P
<Annihilator> -bash: vim: command not found
<Annihilator> ;p
<@mulander> ludzie ktorzy go robili musieli palic duzo trawy :P ale po chwili mozna sie przyzwyczaic
<@mulander> w Vimie odrozniamy 4 tryby pracy
<@mulander> 1) Tryb Nawigacji
<@mulander> 2) Wyszukiwania
<@mulander> 3) Polecen
<@mulander> 4) Edycji/Wprowadzania
<@mulander> W danym momencie mozna byc tylko w jednym trybie
<@mulander> a zaleznie od trybu literki/znaczki i kombinacje ktore bedziemy wklepywac beda mialy inne dzialanie.
<@mulander> jezeli zgubimy sie w trybach
<@mulander> mamy klawisz ESC ( Escape lewy gorny rog klawiatury :P to dla anniego )
<Annihilator> ja w tym rogu mam enter...
<Annihilator> :p
<@mulander> naciskamy ten klawisz do bolu az konsola zacznie piszczec ( no beepkac doslownie :P ) wtedy wiemy ze jestesmy w trybie nawigacyjnym
<@mulander> anni znow odwrociles klawe do gory nogami :P
<Annihilator> aaaa, fakt
<Annihilator> ;-
<phoenix__> to nie kabaret ;P
<@mulander> Jak uruchamiamy vim'a to startujemy odrazu w trybie nawigacyjnym
<@mulander> czyli w tym w ktorym teraz jestescie
<@mulander> a naciskanie klawisza escape jak juz mowilem pozwoli wam do tego trybu wrocic ( przy odrobinie szczescia :P )
<@mulander> pytania ?
<defc0n> nie
<E353PustyRejestr> tak
<Annihilator> ej, ale ja nie mam wciaz Esc
<Annihilator> Pisze mi Sce
<Annihilator> :p
<E353PustyRejestr> co znaczy E353: Pusty Rejestr ?
<@mulander> blad vima ;)
<Annihilator> Powiedziałem bratu by mi kupił tanią klawiaturę
<Annihilator> ;-]
<zzang> ze klawiatura multimedialna ;p
<@mulander> a raczej win shita
<zzang> ^^;;
<@mulander> jeszzcze jakies pytania ?
<consmash> do nawigacji mozna se jeszcze wejsc ^[
<jaro3000> no to jest kod escapea nie ? :-P
<consmash> no :]
<@mulander> dokladnie ;)
<consmash> tylko w niektorych terminalach mozna se jeszcze wyjsc - tylko ze z terminala
<Reqamst> lol
<Reqamst> wlaczylem pomoc
<Reqamst> i za cholere nie chce mi wyjsc z niej ;d
<@mulander> wpisz :q
<jaro3000> Reqamst: :q
<Annihilator> Reqamst, bo mulander tego jeszcze nie uczył
<consmash> :close
<Annihilator> ;p
<Reqamst> mhm
<Annihilator> wiec jak uruchomiles pomoc to siedz w niej
<Annihilator> ;-]
<@mulander> w sumie pomoc nam sie przyda
<@mulander> do nauki nawigacji
<@mulander> wiec kazdy niech wpisze :help
<jaro3000> mulander: bedzie o splitowania okien
<jaro3000> ?
<@mulander> razem ze znaczkiem ':'
<jaro3000> to jest b. przydatne
<@mulander> jaro3000 tak ale uproszczone
<Reqamst> albo F1 ;p
<jaro3000> ok, spoko
<@mulander> dobra kazdy otworzyl helpa ?
<phoenix__> mulander: _m
<phoenix__> +,
<Dale> daj
<Manyer> taaa
<phoenix__> +m
<Dale> +m
<@mulander> phoenix__: wiem kiedy mam dac +m
<@mulander> ;)
<Dale> ;p
<@mulander> ale wtedy by mi nie powiedzieli czy otworzyli :P
<Dale> nieeee ;p
<@mulander> Jezeli kazdy ma juz otwartego helpa
<@mulander> nalezy zwrocic uwage ze dalej jestesmy w trybie nawigacyjnym
<@mulander> poprostu otworzyl nam sie jakis 'pliczek'
<@mulander> ale to teraz malo wazne ;)
<@mulander> wazne jest to ze w trybie nawigacyjnym zawsze jestesmy na poczatku i zawsze ladujemy po niezliczonych sekwencjach ESC :P
<@mulander> klawisze strzalek zapewne dzialaja tak jak myslicie
<@mulander> kazda przesuwa kursor w danym kierunku
<@mulander> ( no u anniego to bedzie na odwrot bo ma klawe do gory nogami :P )
<Annihilator> mulander, u mnie wraca wpisane poprzednie polecenia
<Annihilator> :p
<@mulander> ale warto wspomniec ze w trybie nawigacyjnym nie musimy sie ograniczac do samych sztrzalek
<@mulander> mozemy uzywac liteerk h j k l
<@mulander> ktore beda dzialac jak strzalki
<@mulander> poprobojcie sobie chwilke
<@mulander> dobra starczy wam ;P
<@mulander> wypada wiedziec ze prawie kazde polecenie w vimie przyjmuje prefix w postaci liczby
<@mulander> dla przykladu zejdzcie gdzies w dol pomocy i wpiszcie 12k
<@mulander> kursor poleci wam 12 linijek do gory poniewaz k przesuwa o 1 linijke w gore a 12 powtorzy polecenie k 12 razy :P
<@mulander> bardzo przydtne jezeli mamy to wlasnie na mysli, gorzej jezeli zrobilismy to przypadkowo :P
<@mulander> kilka innych przydatnych przykladow polecen z trybu nawigacyjnego
<@mulander> gg jezeli wpiszemy to w trybie nawigacyjnym to kursor ucieknie nam na sam poczatek pliku ( a my wraz z nim, btw dla starcraftowcow gg to nie good game :P )
<@mulander> G duze g wyrzuci nas i kursor na sam koniec pliku ;)
<@mulander> jezeli najedziemy kursorem na jakas linijke
<@mulander> i wprowadzimy
<@mulander> yy
<@mulander> to ta linijka zostanie skopiowana do buffora vima
<@mulander> jezeli zas nacisniemy
<@mulander> dd
<@mulander> to linijka zostanie usunieta i skopiowana do buffora
<@mulander> mozemy oczywiscie kopiowac/usuwac wiele linijek naraz uzywajac prefiksu liczbowego
<@mulander> np. 666dd :P
<@mulander> jezeli chcemy cos wkleic ze schowka
<@mulander> wystarczy wprowadzic
<@mulander> p
<@mulander> czyli zwykla literke p jak paste :)
<@mulander> jezeli juz jestesmy przy linijkach
<@mulander> to znajdzcie sobie jakas dlugasna i umiesccie kursor na jej srodku ;)
<@mulander> a teraz sprobojcie wydac polecenie ^ ( shift + 6 )
<@mulander> kursor i wy pobiegniecie na poczatek lini
<@mulander> zas jezeli nacisniecie $ ( shift + 4 ) kursor i wy pojawicie sie na koncu linijki
<@mulander> dosc biegania :P teraz usuwanie, aby usunac znaczek
<@mulander> spod kursora
<@mulander> nalezy nacisnac literke x jednak jezeli jestescie w helpie to moze sie wam to nie udac ;)
<@mulander> jezeli nacisniecie zas kombinacje r a nastepnie jakas literke, to literka pod kursorem bedzie zastapiona przez literke wystepuajca po r
<@mulander> komenda ctrl + r cofnie nam zmiany ;) mozemy podac liczbowy prefix by cofnac o iles zmian w tyl
<@mulander> klawisz delete usunie linijke z pod kursora ( chyba ze ktos ustwail inaczej :P )
<@mulander> przepraszam
<@mulander> zapedzilem sie :P
<@mulander> delete usunie jeden ZNAK spod kursora :P
<@mulander> zas jezeli najedziemy na linijke i nacisniemy klawisz J ( duze j )
<@mulander> to linijke pod spodem zostanie polaczona z biezaca linijki ( czyli edytor usunie znaczek \n nowej lini )
<@mulander> dodam jeszcze, ze backspace nie bedzie dzialal tak jak myslicie w trybie nawigacyjnym
<@mulander> backspace bedzie cofal kursor w lewo :P
<@mulander> pytania ?
<jaro3000> ja chce tylko zaznaczyc, ze nie musimy sie ograniczac do jednego bufora: 4"2yy skopiuje 4 linie do drugiego bufora, teraz chcac te 4 linie wkleic 5 razy wpisujemy 5"2p. do cofniecia zmian jest takze komenda u ( jak undo - dla mnie osobiscie prosciej zapamietac niz ctrl-r )
<jaro3000> wiecej pytan nie mam :-)
<jdz> ta i podaj rozne typy obiektow
<jdz> nie tylko linie.
<@mulander> lecimy podstawy
<@mulander> a nie advanced ;)
<jaro3000> najczesciej uzywa sie linii i slowa przynajmniej jezeli chodzi o mnie :-)
<jaro3000> ale usuniecie slowa calego jest przydatne, a nie az tak advanced
<jdz> ja glownie uzywam $
<jaro3000> ok, juz nie przeszkadzam, tylko slucham z zaciekawieniem
<@mulander> ja omowie total podstawy ;)
<@mulander> a wy mozecie potem kontynuowac
<jdz> vimtutora niech odpalaja
<jdz> i robia.
<jdz> poca wyklad ?
<@mulander> bo wymusil namnie phoenix__ ( wiem mialem nie mowic ze wymusil :PPPP )
<jaro3000> nieno wyklad sie przyda
<jaro3000> nie wszystkim sie chce vimtutora przegladac, zresztaz wykladu latwiej sie uczy
<phoenix__> nyo
<jaro3000> zreszta jdz zauwaz na to, ze wszystko co jest wykladane mozna znalesc w necie ?
<jaro3000> po co wiec wyklady ?
<zzang> po co sie uczyc tego
<zzang> :P
<jdz> nie wiem ? :)
<phoenix__> a pozatym jest malo kursow vima
<jaro3000> wlasnie
<phoenix__> przynajkmniej ja nie znalaZlem
<zzang> O_O
<jaro3000> wlasnie
<jaro3000> ok, so jadz dalej mulander
<@mulander> dobra teraz tryb wyszukiwania
<@mulander> o nim tylko BARDZO krociutko
<@mulander> poniewaz to sa wyrazenia regularne
<@mulander> a o nich wiecej na jednym z wykladow perla by sie nie powtarzac ;)
<@mulander> Naciskajac / albo ? wskoczysz do trybu wyszukiwania
<@mulander> W lewym dolnym rogu pojawi sie wam znaczek / albo ? zaleznie co wcisneliscie.
<@mulander> i od teraz mozesz wpisac praktycznie dowolne wyrazenie regularne perla i nacisnac enter ( albo zwykly tekst dla tych co regexow nie znaja :P )
<@mulander> Nie potrzeba znacznika zamykajacego wyrazenie ( to dla perlowcow :P )
<@mulander> Po wpisaniu szukanego wyrazenia kursor nam przeskoczy do pierwszego pasujacego do wzorca ciagu znakow
<@mulander> naciskajac klawisz n przeskoczycie do nastepnej znalezionej pozycji a jezeli podasz liczbe przed n to przeszkoczysz o ta podana liczbe znalezionych dalej
<@mulander> czym sie rozni / od ? otoz / szuka w dol pliku a ? szuka do gory.
<@mulander> wiec w wypadku ? polecenie n przesunie nasz do poprzedniego znalezionego ciagu.
<@mulander> jak zawsze klawisz ESC przeniesie nas spowrotem do trybu nawigacyjnego
<@mulander> pytanka ?
<Manyer> ja nie mam
<@mulander> ktos inny ?
<jdz> zief tylko pierwszy parametr ?
<@mulander> jdz mowilem podstawy
<@mulander> chcesz to ty prowadz.
<@mulander> zreszta ja reszte omowie w jakies 15-20 minut jak nie mniej
<phoenix__> dalej
<@mulander> to mozesz przejac paleczke
<jdz> mulander, /me nie umie tlumaczyc ;]
<jdz> prowadz.
<phoenix__> jdz: to siedz cicho
<@mulander> teraz tryb polecen
<@mulander> Do trybu polecen wskakujemy poprzez wcisniecie SHIFT+: czyli shift i dwukropek nacisniete razem. Escape oczywiscie spowrotem wroci nas do trybu nawigacyjnego. W lewym dolnym rogu bedac w trybie polecen zauwazymy dwukropek, teraz mozemy wprowadzac rozne polecenia:
<@mulander> Uwaga podaje polecenia z dwukropkiem jednak nie nalezy go wprowadzac ponownie, podaje w wiekszosci skroty tych polecen rownie dobrze mozna pisac :write ale :w jest szybciej i wygodniej :p
<@mulander> jak juz wspomnialem :w - to skrot od polecenia :write czyli zapisz zmiany w pliku
<@mulander> mozemy podac nazwe pliku do ktorego chcemy zapisac
<@mulander> czyli :w nazwa.rozszerzenie ( nie obowiazkowe rozszezrenie :P )
<@mulander> :w! - znak ! wymusi zapisanie zmian nawet jezeli plik jest ustawiony jako plik tylko do odczytu
<@mulander> polecenie :q czyli skrot od :quit wychodzi z pliku
<@mulander> polecenie :q! wyjdzie z pliku ignorujac to ze nie zapisalismy wczesniej zmian
<@mulander> polecenie :wq to skrot dwoch poprzednich czyli zapisz zmiany i wyjdz
<@mulander> poleceine :wq! zapisz zmiany i wylaz cokolwiek by sie dzialo nie tal :P
<@mulander> rzecz wazna dla programistow
<@mulander> aby wlaczyc podswietlanie skladni
<@mulander> nalezy wydac polecenie :syntax on
<@mulander> to czy nam podswietli ladnie
<@mulander> zalezy od paru rzeczy
<@mulander> a) rozszerzenia pliku
<@mulander> b) ustawienia filetypes.vim
<@mulander> ( a dokladnie konfiguracji tego pliku )
<@mulander> c) tego czy mamy w ogole plik skladni dla tego rozszerzenia :P
<@mulander> komenda :split
<@mulander> pozwala nam ladnie podzielic okienka
<@mulander> nie bede podawal jej parametrow bo to podstawy ;P
<phoenix__> podaj
<@mulander> wiec piszac :split otworzycie nowe okno a piszac :split plik.txt stworzycie nowe okno z odrazu otwartym plikiem plik.txt
<@mulander> coz by otworzyc z podana szerokoscia wystarczy podac :split width=szerokosc
<@mulander> tfu
<@mulander> sorki :P
<@mulander> poprostu podzielcie okno za pomoca :split
<@mulander> a potem :set width=15
<@mulander> gdzie 15 to wielkosc okna
<@mulander> aby przeskakiwac pomiedzy otwartymi oknami
<@mulander> uzywamy kombinacji
<@mulander> ctrl+w a nastepnie strzalka kierunku w ktorym sie chcemy przemiescic
<@mulander> aby otworzyc plik do edycji bezposrednio z vima
<@mulander> wydajemy polecenie :edit plik
<@mulander> by otworzyc tylko do odczytu wpisujemy :view plik
<@mulander> oczywiscie :close zamknie nam jedno z podzielonych okien
<@mulander> ( to aktywne )
<@mulander> jezeli mamy wiecej niz jedno okno
<@mulander> to :only zamknie pozostale okna zostawiajac tylko te aktywne
<@mulander> jezeli ktos ma ochote wyskoczyc z vima do konsoil
<@mulander> by wydac jakies polecenie
<@mulander> np. odpalic interpreter perla :P
<@mulander> moze to zrobic na pare sposobow :P
<@mulander> wpisuajc :shell
<@mulander> uzywajac skrotu :!polecenie_ktore_chcemy_wydac
<@mulander> albo ( na linuksie tylko ) ctrl + z by wyskoczyc do shella
<@mulander> i potem fg by wrocic
<@mulander> pytanka ?
<jaro3000> zdziwisz sie
<jaro3000> :-)
<jaro3000> zadnych :-)
<@mulander> :P
<@mulander> no to lecimy dalej :P
<@mulander> Tryb edycji, ostatni ktory omowimy
<@mulander> i wiem ze wszystkie tryby i polecenia sa po krotce
<@mulander> polecam vimtutor dla niecierpliwych :P
<@mulander> i :help
<@mulander> a wracajac do kursu
<@mulander> do trybu edycji mozemy wejsc na 4 sposoby.
<@mulander> 1) naciskajac klawisz a -wchodzimy o jeden znak dalej niz kursor
<@mulander> 2) naciskajac A -wchodzimy na koniec biezacej linijki
<@mulander> 3) i - wchodzimy w tym miejscu co kursor
<@mulander> 4) I - wchodzimy na poczatek biezacej lini
<@mulander> mozna tez uzywac insert ale duzo osob pod niego binduje paste
<@mulander> W trybie wprowadzania kiedy wpisujesz rozne rzeczy pojawiaja sie one w miejscu kursora, strzalki dzialaja tutaj tak samo jak w trybie nawigacyjnym, czyli przesuwaja kursor.
<@mulander> h j k l oczywiscie nie bedzie tutaj dzialac poniewaz naciskanie tych literek bedzie wprowadzac odpowiedni tekst . Aby uzyc klawisz cofniecia zmian czyli u musimy nacisnac ESC by powrocic do trybu nawigacyjnego.
<@mulander> I mysle ze na tym skonczy sie basic vim tutorial :P
<@mulander> pytanka ?
<jdz> o !
<jdz> o 'o' zapomniales ;p
<@mulander> chodzi ci o open ?
<jdz> i wsumie duzym O tez jesli tak dzielisz.
<jdz> nie, nie o komende
<jdz> mulander, tak o open ;p
<@mulander> w vimie 6.4 jej nie ma ;)
<@mulander> chyba ze chodzi ci o tryb edycji :P
<@mulander> tfu
<@mulander> nawigacji
<@mulander> a raczej wskoczenie do edycji :P
<@mulander> no jeden pies :P fakt zapomnialem
<Manyer> dzieki za wyklad!
<Manyer> do zobaczenia...
<@mulander> nacisniecie o doda nowa linijke i spowoduje ze w niej zaczniecie pisac
<@mulander> i jest oczywiscie w nowym vimie ;)
<@mulander> mi sie zamieszalo
<@mulander> sorki za chaotyczny wyklad ale dostalem info w ostatniej chwili :P