RubyMine 50% taniej do 14 września

Ależ można porównywać różne edytory, trzeba tylko znaleźć metrykę która pozwoli wszystkie “zmierzyć”.
Ja mam bardzo prostą metrykę: ile naciśnięć klawiszy zajmują mi najczęstsze operacje (otwarcie pliku w projekcie, przełączanie się między otwartymi plikami, podzielenie ekranu celem oglądania 2-3 plików na raz, maksymalizacja okna). Jest to moim zdaniem jedyna słuszna metryka, bo ilość operacji na klawiaturze wprost wpływa na poziom frustracji (a więc i motywacji a więc i produktywności) oraz ewentualne problemy zdrowotne z dłońmi i nadgarstkami (chyba każdy zna co najmniej jednego programistę cierpiącego na zespół cieśni nadgarstka).
Według tej metryki Vim przegrywa z Sublime’em.
Być może da się go skonfigurować tak, żeby mógł nawiązać równą walkę, ale mój czas kosztuje trochę za dużo żeby spędzać godziny na konfigurowaniu narzędzia.[/quote]
Nauka vima jest w pewnym sensie jak nauka programowania. Te operacje, które wymieniłeś w vimie są bardzo szybkie. Fakt że trzeba dodać pluginy do tego najlepiej (na przykład command t i lusty explorer do szybkiego otwierania i przełączania), ale nie przesadzajmy, nie jest to aż takie bolesne (ja korzystam aktualnie z tego co pamiętam z chyba 5 pluginów, więc nie jest tak, że trzeba ich 20 zainstalować, żeby cokolwiek sensownego zrobić). Poza tym twoja metryka jest okrojona mocno, policz sobie ile razy przełączasz się i puszczasz testy dla pliku, który edytujesz, ile razy puszczasz test, który aktualnie edytujesz, ile razy wykonujesz komendy gita w konsoli, które można w vimie zrobić efektywniej za pomocą fugitive itp.

I wiesz nie mówię, że sublime text jest pod tym względem gorszy, bo go nie znam - może jest lepszy, ale ja tego nie odkryłem jeszcze ;). Tylko ja uważam, że warto spróbować z vimem, bo dla mnie to jest trochę tak: jeśli wybiorę sublime text to bardzo możliwe, że na początku będę szybszy, ale patrząc bardziej perspektywicznie - zatrzymam się na jakimś poziomie, na którym edytor będzie mnie ograniczał i choćbym chciał to nie podniosę poprzeczki wyżej. Z vimem jest chyba tak, że ciężko jest tę poprzeczkę podnieść do poziomu w którym nie możesz być lepszy.

P.S. Dodatkowo, tak jak pisałem wcześniej, jeśli w vimie na coś potrzebujesz dużo energii i naciśnięć klawiszy, to najprawdopodobniej robisz to źle. I wiem, że to jest trudniejsze, nie mówię, że nie - tylko nie należy moim zdaniem lekceważyć tego edytora tylko z powodu jego korzeni w latach 70tych i wysokiego progu wejścia.

Wracając trochę do tematu. Jeśli ktoś jest fanem IDE, to RubyMine jest najlepszym wyborem i nie ma co się bawić w nic innego.

Tutaj się zgodzę, bez żadnej konfiguracji Vim będzie w tych zadaniach obsysał.

Do najpopularniejszych rzeczy raczej nie więcej niż 10-60 minut (w zależności czy robisz to po raz pierwszy czy nie).

Tylko, że idąc tym tropem mogę powiedzieć, że bez sensu, że sobie kupujesz laptopa i instalujesz na nim ubuntu, bo zamiast szukać jakichś patchy do kart graficznych czy innych tego typu rzeczy mógłbś kupić maca, który będzie po prostu działał :wink:

Tak samo “tracę czas” na konfigurację linii poleceń (no dobra, większość po prostu ukradłem z dotfiles ryana batesa, ale dodaję czasami swoje rzeczy), jak i na naukę i konfigurację edytora, bo wbrew temu co niektórzy twierdzą jednak dość dużo linii kodu klepię/edytuję każdego dnia.

Oj tam oj tam :wink: Po prostu flamewar na zabicie nudy, nie wydaje mi się, żeby udało się kogoś tutaj przekonać do przesiadki.

Tak straszna bzdura że resztę posta przeczytałem tylko przez sympatię do Ciebie. Wrócimy do tej analogii jak ktoś wykaże że używanie Vima potrafi rozwiązać realne problemy, których nie rozwiąże jego nieużywanie. Póki co, bardzo proszę, nie rób tego więcej.

To ja poczekam aż poczuję to ograniczenie, albo ktoś z zewnątrz będzie w stanie mi je wykazać. Bo jak na razie to zgadzam się w pełni z tezą “your editor is not the bottleneck” z tekstu http://lateral.netmanagers.com.ar/weblog/posts/your-editor-is-not-the-bottleneck.html

Zapisanie pliku podczas edycji: esc, :w, i (powrót do edycji). pięć wciśnięć klawiszy (dwukropek to shift + ;/:). Powiedz, proszę, co robię źle i który Vim pozwala mi to zrobić prostym, dwuuderzeniowym ctrl-s?

A ja uważam że to jest dokładnie argument żeby Vima nie traktować poważnie. Od lat siedemdziesiątych software poczynił wielkie postępy na polu usability, czego vimowcy najwyraźniej nie chcą dostrzec.

Ależ zgadzam się z Tobą tutaj w 100%, biorąc pod uwagę tylko te kryteria Mac byłby dla mnie o wiele lepszym wyborem.

Tylko że jest jeszcze kilka innych powodów, zaczynając od najbardziej trywialnych (lubię sobie czasem zabootować na lapku łindołsy bo BĘDĘ GRAŁ W GRĘ) przez praktyczne (sporo softu *nix-owego się dość upierdliwie instaluje/kompiluje w OSX) aż po, hm, religijne (bycie entuzjastą open-source na zamkniętym, własnościowym systemie jakoś mi nigdy nie pasowało). Oczywiście YMMV. Widziałeś kiedyś żebym Cię przekonywał że dla Ciebie pecetowy laptop z Ubuntu będzie najlepszym możliwym rozwiązaniem?

Jeżeli takie rzeczy Cię bolą, to można używać macvim/gvim, gdzie to jest by default, albo sobie zremapować, nie widzę problemu :wink:

Nie, ale ja też nikogo nie przekonuję, żeby używał vima, każdy będzie używał tego co mu pasuje, włączyłem się do dyskusji, jak ktoś :wink: zaczął wołać, że vim to dramat i masochizm, co według mnie jest oparte o słabe przesłanki (2 losowe filmiki na sieci) i nie jest prawdą.

[quote]Ja mam bardzo prostą metrykę: ile naciśnięć klawiszy zajmują mi najczęstsze operacje (otwarcie pliku w projekcie, przełączanie się między otwartymi plikami, podzielenie ekranu celem oglądania 2-3 plików na raz, maksymalizacja okna). Jest to moim zdaniem jedyna słuszna metryka, bo ilość operacji na klawiaturze wprost wpływa na poziom frustracji (a więc i motywacji a więc i produktywności) oraz ewentualne problemy zdrowotne z dłońmi i nadgarstkami (chyba każdy zna co najmniej jednego programistę cierpiącego na zespół cieśni nadgarstka).
Według tej metryki Vim przegrywa z Sublime’em.
Być może da się go skonfigurować tak, żeby mógł nawiązać równą walkę, ale mój czas kosztuje trochę za dużo żeby spędzać godziny na konfigurowaniu narzędzia.[/quote]
Ależ oczywiście, że się da. Ba powiem, więcej - da się to zrobić tak, aby robił to zdecydowanie szybciej niz Sublime. Wymaga to oczywiście skonfigurowania, ale nie chcesz mi chyba powiedzieć, że jedziesz na Sublime bez pluginów i swoich plików konfiguracyjnych? Bo to największa siła Sublime’a (oprócz szybkości), że tak szybko powstała wokół niego społeczność która ambitnie tworzy nowe rozszerzenia. Zresztą sam swojego czasu jeden plugin do niego napisałem, właśnie ze względu na jego ograniczenia które zwyczajnie mnie denerwowały.

Jakie? Np.

  • Konieczność odrywania rąk od klawiatury aby nawigować po sidebarze, bo klawiaturą jest niewygodnie. Można zrobić bodajże focus na sidebarze przez CMD+Shift+0 (nie pamiętam, mogę się mylić), ale jest to strasznie nie wygodne.
  • Utwórz nowy plik w katalogu models, albo nowy view. Zrób ładny extract części kodu do nowego partiala (i utwórz go).
  • Wyszukiwanie w tekście - w VIM’ie mam zmapowany “ff” do wyszukiwania. Po wyszukaniu frazy skacze przez N lub Shift + N w przód tył. W Sublime to też działa tylko kursor ustawia mi się na końcu frazy (wyszukuje np. “bla” to kurso będę miał za a w Sublime, a nie np. na początku gdzie wciskam “cw” i zmieniam cały wyraz)
  • Dzielenie okna - CMD + ALT + [1…5], w VIM :sp lub :vsp w zależności co potrzebuję i ile razy potrzebuję je podzielić.
  • Bufory w VIM które IMHO są milion razy bardziej zaawansowane i przyjazne w pracy
  • Fugutive do GIT"a który jest znacznie bardziej rozbudowany niż Sublime’owy plugin GIT’a
  • Z VIM’a robię np :sp :e ścieżka do innego pliku w innym projekcie. W Sublime tego nie zrobię, muszę przełączyć się do terminala i otworzyć z jego poziomu plik.

Masa tego. Uwierz mi, bo próbowałem sobie bardzo intensywnie Sublime’a i dla mnie jest znacznie wolniej/mniej wygodnie.

Ja mam “:” skonfigurowane pod spacją w Normal Mode i zdecydowanie szybciej jestem wstanie zrobić kombinację “spacja + w enter” niż ctrl+s (i nie obciążam sobie małego palca sięgając do CTRL).

Ależ oczywiście. Ale to właśnie konfigurowalność VIM’a i możliwość doprowadzenia go do takiego stanu aby jego usability było najwyższe dla danego programisty z możliwych jest właśnie tą najważniejszą cechą. VIM czysty ma usability niskie, ale piękno w tym, że wszystko można zmienić i dopasować pod siebie. Dzięki temu postrzegane usability jest wyższe niż w innych edytorach, w których korzystasz tylko tak jak programista wymyślił.

Powiedz w którym miejsu usability Sublime’a jest większe?

[quote=belike81]nie chcesz mi chyba powiedzieć, że jedziesz na Sublime bez pluginów i swoich plików konfiguracyjnych?
(…)
Powiedz w którym miejsu usability Sublime’a jest większe?[/quote]
Zostawię Cię z tymi dwoma fragmentami Twojej wypowiedzi, podpowiem tylko że moja odpowiedź na oba pytania jest identyczna – powinieneś się więc domyślić jaka.

Tomash, ale Ty nie piszesz w notatniku, nie? :wink:

[quote=Tomash]Ależ można porównywać różne edytory, trzeba tylko znaleźć metrykę która pozwoli wszystkie “zmierzyć”.
Ja mam bardzo prostą metrykę: ile naciśnięć klawiszy zajmują mi najczęstsze operacje (otwarcie pliku w projekcie, przełączanie się między otwartymi plikami, podzielenie ekranu celem oglądania 2-3 plików na raz, maksymalizacja okna).[/quote]
fantastycznie! http://vimgolf.com/challenges/4fca701fd3a0d40001000074 najlepszy wynik 15(w tym zapis pliku i wyjście z edytora), jak w Sublimie?

Usability Sublime bez konfiguracji > VIM bez konfiguracji
Usability Sublime skonfigurowany < VIM skonfigurowany.

IMO skonfigurowanie edytora pod siebie jest normalną rzeczą. Tak samo dobieram sobie fotel, biurko, system operacyjny i sam komputer - aby możliwie najwygodniej mi się pracowało. Ale to tylko moja opinia :wink:

Po co skoro wyszukujesz pliki w projekcie poprzez ctrl + p ? Ja zawsze wylaczam sidebar bo zabiera niepotrzebnie miejsce.

Jest taki sam snippet jak w textmate ktory Ryan.B pokazywal kilkanascie razy na swoich screencastach

ctrl + f => wyszukuje
alt + f3 => zaznaczam kazdy znaleziony ciag znakow do multiedycji
escape + edytuje (mozna pozbyc sie tego escape)

Naprawde przeszkadza ci przelaczenie layoutu poprzez kombinacje alt + shift + numerek ?

Ciekawe czy kilka dziesiecioleci pracy nad edytorem przyczynilo sie do tego ?
Narazie mamy to https://github.com/colinta/SublimeClipboardManager

ok vim ma lepszy plugin do gita niz sublime tylko ze to i tak sa pluginy ktore rozni kilka lat rozwoju

Sublime ma wbudowany REPL wiec mozesz uzywac shella w nim czyli nic nie stoi na przeszkodzie zeby wpisac w edytorze nie wychodzac do konsoli

subl ~/.bash_profile

Ja wlaczylem sobie save_on_focus_lost": true i przestalem klikac ctrl+s. Mam gita wiec nie boje sie ze sobie cos popsuje

Uzywasz edytora najczesciej do pisania kodu czy parsowania plikow ? Rozumiem potege Vima i wiem ze w bardzo wielu przypadkach jest o wiele lepszy od Sublime ale uzywania takiej metryki jest co najmniej slabe

ps: http://www.sublimetext.com/docs/2/vintage.html

ps2: Piateczka tomash :wink:

[quote=rubytree][quote=Tomash]Ależ można porównywać różne edytory, trzeba tylko znaleźć metrykę która pozwoli wszystkie “zmierzyć”.
Ja mam bardzo prostą metrykę: ile naciśnięć klawiszy zajmują mi najczęstsze operacje (otwarcie pliku w projekcie, przełączanie się między otwartymi plikami, podzielenie ekranu celem oglądania 2-3 plików na raz, maksymalizacja okna).[/quote]
fantastycznie! http://vimgolf.com/challenges/4fca701fd3a0d40001000074 najlepszy wynik 15(w tym zapis pliku i wyjście z edytora), jak w Sublimie?[/quote]
To w zasadzie trochę cienki przykład, bo takie rzeczy się jednak rzadko robi, ale aż zsubmitowałem. Niestety jako, że nie jestem mastachem vimowym i nie poświęcam całych dni na naukę, to wyszło 17 znaków. I to tak na serio - ja nie jestem jakimś maniakiem, który nachrzania vima po godzinach - też nie mam czasu. Co jakiś czas nauczę się nowej rzeczy ale bez przesady - nawet jeszcze do końca się na hjkl nie przerzuciłem.

UPDATE: wciągające to, wrzuciłem 16 znaków, żeby odkryć te 15 znakowe i się nauczyłem, że zamiast dół + początek linijki można zrobić + :wink: Inna sprawa, że liczenie każdego znaku nie jest do końca sensowne, bo czasami łatwiej jest klepnąć więcej, ale łatwiej dostępnych. Co nie zmienia faktu, że zabawa przednia :slight_smile:

Po co skoro wyszukujesz pliki w projekcie poprzez ctrl + p ? Ja zawsze wylaczam sidebar bo zabiera niepotrzebnie miejsce.[/quote]
Bo jak otwieram nowy projekt który nie tworzyłem od początku to fajnie mieć strukturę plików i po niej nawigować, a tego Ctrl + p mi nie daje. Oprócz tego w ten sposób najczęściej przenoszę pliki i katalogi czego w Sublime bez oderwania rąk od klawiatury zwyczajnie nie zrobię.

Jest taki sam snippet jak w textmate ktory Ryan.B pokazywal kilkanascie razy na swoich screencastach[/quote]
Do utworzenia partial’a snippet? Prędzej plugin, ale osobiście nie znam, nie spotkałem się z żadnym który by to robił (nie używam już od jakiegoś czasu, więc może już jest). Jak znasz to zapodaj link. Co do tworzenia plików to również bez pluginów się nie obejdzie (inaczej tylko przez sidebar). Sam zresztą zrobiłem takowy do manipulacji plikami.

ctrl + f => wyszukuje
alt + f3 => zaznaczam kazdy znaleziony ciag znakow do multiedycji
escape + edytuje (mozna pozbyc sie tego escape)[/quote]
Tak. Działa. Ale ile kliknięć, dla mnie to za dużo (pozatym nie działa w Vintage Mode - sprawdziłem przed chwilą). Ja korzystam z wyszukiwania do szybkiego skakania po kodzie, dlatego takie działanie jego jak w VIM’ie ma dla mnie większy sens.

Naprawde przeszkadza ci przelaczenie layoutu poprzez kombinacje alt + shift + numerek ?[/quote]
Zwyczajnie wygodniejsze i bardziej intuicyjne jest dla mnie rozwiązanie z VIM’a. Co do kombinacji klawiszowej, to tak. Akurat Ją miałem zmienioną na “super+numerek”

Sublime ma wbudowany REPL wiec mozesz uzywac shella w nim czyli nic nie stoi na przeszkodzie zeby wpisac w edytorze nie wychodzac do konsoli

subl ~/.bash_profile

[/quote]
Tego nie znałem. Good tip.

Ja wlaczylem sobie save_on_focus_lost": true i przestalem klikac ctrl+s. Mam gita wiec nie boje sie ze sobie cos popsuje[/quote]
Też miałem, ale łapałem się na tym, że miałem później zapisywane zmiany których nie chciałem i traciłem czas na checkout’owanie plików.

Znam i korzystałem wyłącznie w tym trybie.

Teraz żeby nie było. Sublime to bardzo, bardzo dobry edytor. Szybki, ładny, bardzo konfigurowalny. Pluginy pisane w Pythonie, snippety z textmate’a. Wiem, że dla wielu osób jest znacznie wygodniejszy i przyjemniejszy w użytkowaniu. Ja również dałem mu sporo szansy używając na wyłączność, na szybko nawet napisałem plugin do niego (SublimeFileNavigator) bo korzystałem z niego na wyłączność przez sporo czasu. Ale… dla mnie VIM jest lepszy i zapewnia mi lepszy komfort pracy (powtarzam - DLA MNIE). Nie ma sensu ciągnąć flame’a, zwyczajnie zacząłem polemikę bo nie zgadzam się z Tomashem na temat Usability VIM’a. Na daną chwilę nie ma/nie znam edytora który był by bardziej użyteczny dla mnie niż skonfigurowany VIM.

No mozesz uzywac shella wiec daloby rade ale masz racje ze tamten sposob jest wygodniejszy

Masz racje w obu przypadkach mialem na mysli plugin
https://github.com/wesf90/rails-partial chociaz ja uzywam homemade 3 minutes script :wink:

I ja tez doskonale rozumiem czemu VIM jest tak dobry edytorem. Jednak o wiele latwiej jest mi namowic kogos do porzucenia Netbeans, RadRails itp na rzecz Sublime niz Vim. Pozostaje sie cieszyc ze w obecnych czasach mamy tak duzo edytorow :slight_smile:

DNS lookup failed. Pewnie hostowane też na vimie :stuck_out_tongue:

Ale z komentarzy reszty kolegów wnioskuję że wykonałeś jakąś operację którą się robi raz na ruski rok. Gratuluję! Być może dla Ciebie warto w imię wygody tej operacji męczyć się pozostałe 364 dni w edytorze o usability MS-DOSa.

I to biurko i fotel to sam strugasz z drewna, czy może kupujesz gotowe? Bo ja jednak wolę kupić gotowe i po prostu wziąć się do roboty. Co do konfiguracji systemu operacyjnego – już o tym pisałem. Jeśli Twój czas jest nic niewart, to i możesz sobie Gentoo na laptopie stawiać. Mój czas ma wartość niezerową.

Jeżeli już robimy analogie, to struganie z drewna było by analogiczne do napisania swojego własnego edytora. Ja natomiast lubię skonfigurować swoje narzędzia pracy pod siebie. Dotyczy to tak fotela (który dobieram tak, aby zapewniał mi jak największe możliwości dopasowania pozycji) jak i biurka (wygodne, najlepiej z regulacją wysokości i odpowiednimi schowkami). Robię to wszystko właśnie dlatego iż cenię swój czas i wolę poświęcić go na jednorazowe dopracowanie środowiska pracy, aby potem nie tracić swojego cennego czasu na rzeczy które ograniczają moją produktywność.

A co mi tam, spróbuję drugi raz, a nuż przeczytasz zanim powtórzysz argumenty które już tu zbijaliśmy:
http://lateral.netmanagers.com.ar/weblog/posts/your-editor-is-not-the-bottleneck.html

Przeczytałem, ale uważam, że kilka założeń tekstu jest błędnych.

  1. Zakłada, że praca programisty w edytorze to SLOC. Nie bierze pod uwagę ile razy zmieniamy kod, robimy refactoring, wracamy do tego samego kodu kasujemy, przesuwamy linie, zmieniamy sposób definicji metody itp. itd.

  2. Zgadzam się, że praca programisty to w 20% pisanie kodu (może nawet mniej). Problem w tym, że Ja nie chcę aby to pisanie szło mi opornie. Edytor ma mi w tym pomagać i uważam, że skonfigurowane środowisko mi w tym pomaga. Pomaga mi w płynnej pracy. Porównałbym to lekkiego truchtu po drodze. Nie chodzi o to, że dobiegne szybciej, ale o to, że dobiegne bez podstawiania nóg i ciąglęgo potykania. Wygodnie i w swoim tempie (dziwna analogia, ale myślę, że oddaje co mam na myśli).

Tutaj nie chodzi o zaoszczędzony czas, a wygodę. Podkreślam jeszcze raz, dla mnie praca nie wygodna wybija z rytmu, a jest to o wiele gorsze niż poświęcenie czasu na skonfigurowanie środowiska. Widzę, że ciężko Ci zrozumieć inne spojrzenie. Tobie może nie przeszkadza to, że pisząc odrywasz ręce od pisania kodu, sięgasz do strzałek, do myszki, robisz kombinacje ALT+CTRL+1 itp. itd. Mnie to zwyczajnie po czasie drażni i szukam rozwiązania które umożliwi mi wyeliminowanie tego… robię swój własny refactoring ;). Dzięki temu pracuje mi się lepiej, chętniej - wydajniej (co przekłada się na oszczędność czasowo/finansową jak do tego nawiązywałeś).

Możesz mi nie wkładać w gębę słów których nie powiedziałem (na przykład to o odrywaniu rąk i używaniu myszki podczas pracy z kodem)? Bo się pogniewamy.

Tak straszna bzdura że resztę posta przeczytałem tylko przez sympatię do Ciebie. Wrócimy do tej analogii jak ktoś wykaże że używanie Vima potrafi rozwiązać realne problemy, których nie rozwiąże jego nieużywanie. Póki co, bardzo proszę, nie rób tego więcej.[/quote]
Eeee, czytaj pan uważnie :slight_smile: “jest w pewnym sensie jak nauka programowania” nie oznacza “jest jak język programowania”. Mi chodzi o sam proces.

Poza tym starasz się ignorować sedno tego stwierdzenia - oczywiście nie napiszesz w vimie programu, ale możesz na bieżąco dostosowywać go do swoich potrzeb. I to jest super, bo jeśli widzisz, że coś Cię denerwuje, to definiujesz coś, co jest szybsze. Np. nie używam w ogóle ESC, kiedyś używałem ctrl-c, teraz po prostu jk. Jeśli esc Ci przeszkadza a chcesz mieć edytor out of the box - vim nie jest dla Ciebie i żadne argumenty Cię nie przekonają :).

RM, ST, vim, to super środowiska pracy i niezależnie od tego, które się wybierze, nie będzie to zły wybór - nie ma co nikogo na siłę przekonywać… ale jak ktoś pisze brednie o vimie, to się we mnie rodzi wewnętrzny sprzeciw :> A czy ktoś przejdzie na vima, czy nie, mniejsza o to.

Ktoś tu napisał, że nie ma tu co ciągnąć fejma. Panowie!! To jest najbardziej owocny flejm od czasów… hmmm… nigdy nie było owocniejszego ;). Zainstalowałem sobie w międzyczasie triala RubyMine, jednak dla mnie zdecydowanie za ciężki, teraz próbuję trochę w SublimeText2. To mnie dodatkowo zmotywowało, żeby przyjrzeć się dokładniej temu, jak edytuję pliki w vimie.