Moja codzienna praca to programista Java / Web. Używam Eclipse przez ~ 5 lat. Myślę, że jest doskonały i używam również Webstorm dla javascript i HTML / jsp.
Czasami muszę ssh do serwera i bałagan z plikami konfiguracyjnymi; do tego używam vi i boli mnie to. Muszę otworzyć stronę z listą składni / poleceń: naciśnij klawisz Escape, a następnie Asterix, odwróć się trzy razy, a tekst zostanie wprowadzony dwie linie powyżej kursora . To dla mnie takie nieintuicyjne i wyobrażam sobie każdego, kto dorastał pod koniec lat dziewięćdziesiątych.
Oto główne powody, dla których uważam, że zaćmienie jest genialne (i zakładam inne IDE) i nie przełączam się na emacs i / lub vim.
- Błąd podświetlania bez potrzeby ponownej kompilacji projektu.
- Asystent kodu.
- Refaktoryzacja.
- Hiearchia połączeń otwierających / Deklaracja otwarcia.
- W pełni zintegrowany z kontrolą źródła.
- Debuger jest wliczony w cenę.
- dostępność wtyczek innych firm - np. findbugs / checkstyle.
Jednym z argumentów, które słyszę, jest to, że za pomocą emacsa / vima możesz tworzyć własne wtyczki - dobrze, ale możesz to zrobić także w środowisku eclipse. Ale nie musisz, ponieważ wszystko już jest! To tak, jakby powiedzieć, kup ten w połowie zbudowany samochód, resztę sam możesz zbudować.
Dlaczego ludzie używają emacsa / vima? Czy ludzie, którzy go używają, faktycznie pracują nad złożonymi projektami obiektowymi w dużych organizacjach?
Jakie są powody przejścia na vim / emacs. Jak zwiększyłaby się moja produktywność, gdybym zmienił?
nano
raczej niżvim
dlatego, że nie używam CLI wystarczająco często, aby nauczyć się wszystkichvim
poleceń. Jeśli użyjesz go tylko od czasu do czasu, pomyślałbym, że coś prostegonano
służyłoby ci lepiej ...Odpowiedzi:
Używaj dowolnego narzędzia, które odpowiada Twoim potrzebom. Znajomość VIM lub Emacsa jest dobra, jeśli kiedykolwiek będziesz musiał zalogować się do zdalnego serwera i edytować plik konfiguracyjny lub coś podobnego. Znam VIM dość dobrze, ale nie używałbym go do programowania w Javie. Do tego służą Eclipse, Netbeans itp.
źródło
Emacs i Vi wciąż mają swoje miejsce.
Są wszechobecne w środowiskach Unix i podobnych do Unixa i mogą być instalowane na większości innych popularnych platform.
Są popularne i stabilne, więc ich nauczenie się opłaca w dłuższej perspektywie.
Działają one nad terminalem tekstowym, dzięki czemu można ich używać w sesjach telnet i ssh.
Zapewniają tryby edycji i wyróżnianie składni dla wielu różnych języków, w tym bardzo nowych i bardzo rzadkich. (To jedna z moich ulubionych zalet.)
Kluczem do zrozumienia tych programów jest jednak wiedza, jakie problemy pierwotnie miały rozwiązać. Dla Vi była to edycja plików tekstowych przez połączenia terminalowe tak wolno, jak 300 Baud. W tym środowisku nie chcesz wyświetlać menu ani radykalnie zmieniać zawartości ekranu, jeśli możesz tego uniknąć.
Emacs miał być używany w szybszym środowisku. Jego siłą było to, że można go załadować raz i nigdy nie wychodzić. Użytkownik może wykonać dowolne inne zadanie od Emacsa bez wychodzenia, a często w bardziej przyjazny sposób, niż gdyby musiał to zrobić z wiersza poleceń. Ludzie nie mieli graficznego środowiska graficznego z otwartym oknem Emacsa. Emacs pozwala użytkownikowi wykonać prawie każde normalne zadanie (i wiele dziwnych) za pomocą kilku naciśnięć klawiszy. Wszystko, co nie jest wbudowane, może być skryptowane.
Oczywiście potrzeby ludzi bardzo się zmieniły od czasu wprowadzenia tych programów, ale wciąż mają one swoje mocne strony. Nauczyłem się podstaw obu z nich i korzystam z nich co tydzień. Mimo to uważam, że ich mocne strony są często zawyżone. Osiągnęli tak legendarny status, że ludzie nie przyznają się do swoich słabości i zamiast tego mają tendencję do myślenia, że robią coś złego, jeśli Emacs / Vi nie zwiększy ich produktywności niż Eclipse lub Visual Studio.
Teraz do rzeczy.
Java jest popularnym językiem z doskonałą obsługą Eclipse, a szanse na to, że rozwijasz kod na nowoczesnym systemie operacyjnym, który pozwala szybko wykonywać typowe zadania i pisać skrypty innych bez robienia tego przez IDE. Nie wydaje mi się, żeby zmiana się miała sens.
źródło
Używam emacsa od ponad 5 lat. Nie mogę już powiedzieć, jakich kombinacji klawiszy używam, moje palce po prostu je pamiętają i muszę patrzeć na klawiaturę, aby zobaczyć, co piszą moje dłonie.
Kilka lat temu zacząłem używać Eclipse i nie ma szans, że wrócę swobodnie do emacsa. Przepraszam, pamięć mięśni, chociaż tęsknisz za sobą
C-x r SPC 1
, Eclipse czyni mnie o wiele bardziej produktywnym i to się liczy.Nie, nie sądzę, że powinieneś się zmienić , ale powinieneś poświęcić kilka godzin na naukę podstaw vima, abyś nie musiał już więcej tego szukać.
źródło
Najprawdopodobniej nie powinieneś się zmieniać . Vim to doskonały, potężny edytor tekstu, ale nie zastępuje IDE i nie powinien! Zaćmienie jest bardzo dobre w swoim podzbiorze rzeczy specyficznych dla IDE, a vim jest bardzo dobry w swoim podzbiorze rzeczy specyficznych dla edycji tekstu. Każdy z nich ma swój własny, inny punkt skupienia.
Wiem, że istnieją wtyczki, które rozszerzają funkcjonalność vima, dzięki czemu może on wykonywać wiele takich samych rzeczy specyficznych dla IDE, jak IDE. Ale nadal nie jest to główna siła vima, a IDE prawie zawsze będzie w stanie to zrobić lepiej. Ponieważ na tym się skupiają.
W codziennej pracy używam zarówno Visual Studio, jak i vima do edycji C #. Działa to dla mnie bardzo dobrze i nigdy nie wyciąłbym jednego z nich, aby polegać wyłącznie na drugim.
Jeśli chodzi o emacsa, nie jestem ekspertem, ale nie sądzę, aby mógł konkurować z funkcjami IDE Eclipse, jeśli chodzi o Javę (popraw mnie, jeśli się mylę). Jeśli rozwijasz się w lisp, to z pewnością można go uznać za doskonałe IDE, ale nie sądzę, że ma taką samą obsługę Java.
Więc jeśli chcesz mieć bardziej zaawansowany edytor tekstu do korzystania z Eclipse, to zdecydowanie polecam nauczenie się vima lub emacsa. Ale jako uzupełnienie, a nie jako zamiennik . Na dłuższą metę może się naprawdę opłacić, chociaż żadna z nich nie ma szczególnie łatwej krzywej uczenia się:)
Oto ładna, długa lektura o mocach vima. A oto lista fajnych sztuczek, które możesz zrobić.
źródło
Zasadniczo przeczytaj to (PDF), aby zobaczyć, dlaczego Emacs jest potężny. Kiedy poznasz Lisp, napisanie dla niego rozszerzeń jest prawie banalnie proste (mam kilka przepływów pracy i wdrożeń kontroli źródła napisanych przez dodatek, który dla siebie napisałem
employer-mode
). Jeśli chodzi o to, co wymieniasz powyżej;REPLs
z nim wiele języków. Teraz, mamruby
,python
,haskell
,common lisp
,scheme
ierlang
wszystko podpięty do Emacsa. Nawiasem mówiąc, dodatek JavaScriptjs2-mode
ma pełną inkrementalną „kompilację”, więc podkreśla takie rzeczy, jak błędy składniowe, więc na pewno jest to możliwe, ale nie normaautocomplete.el
, jak sądzę, sprawdź wiki Emacsagit-mode
wbudowaną wersję Emacsa 22.3, nie jest pewien innej kontroli źródłaTo powiedziawszy, jeśli nie lubisz Lispa i nie zamierzasz się tego uczyć, nie mogę szczerze polecić Emacsa. Wygrana, którą z tego czerpiesz, to nauka tworzenia narzędzi i stosowanie tych zasad w celu zwiększenia własnej wydajności, a nie kupowanie gotowych modów i łączenie ich w całość.
źródło
Widzę tutaj dwie opcje:
nano somefile.conf
i masz ładny edytor. Możesz nawet dodać wyróżnianie składniMam nadzieję że to pomoże
źródło
Osobiście lubię Vima, ponieważ jest wyjątkowo dobry w edytowaniu tekstu, tj. Jest bardzo ergonomiczny (skróty klawiszowe nie obciążają moich rąk tak bardzo i nie muszę tak bardzo używać myszy), a także efektywny w użyciu, gdy tylko zrozumiesz to (co oczywiście wymaga czasu i cierpliwości, ponieważ nie jest to najbardziej intuicyjny edytor dla początkujących).
Wolę jednak Eclipse do programowania Java na dużą skalę ze względu na wiele łatwo dostępnych funkcji. Oczywiście istnieją pewne wtyczki, które mogą uczynić Eclipse nieco bardziej znośnym.
źródło
Jeśli jesteś zadowolony z Eclipse, nie przełączaj się.
Jeśli możesz używać Eclipse wszędzie, gdzie potrzebujesz, nie przełączaj się.
Jeśli twój projekt / firma używa wyłącznie Eclipse, nie przełączaj się.
Jeśli rzadko potrzebujesz czegoś innego, wydrukuj ściągę dla jednego z edytorów i wyciągnij ją z szuflady, gdy jest to potrzebne, a następnie wróć do korzystania z Eclipse.
Zobacz (to samo) pytanie na stronie SO: https://stackoverflow.com/questions/1346820/what-are-the-efficiencies-afforded-by-emacs-or-vim-vs-eclipse
Jeśli chodzi o odpowiedź: „Czy osoby, które go używają, faktycznie pracują nad złożonymi projektami obiektowymi w dużych organizacjach?” - Trzymaj swojego syna, kapelusza, ale odpowiedź brzmi „tak”. Pracowałem nad projektami z dziesiątkami milionów linii kodu wykorzystywanymi na krytycznej ścieżce projektowania samego procesora z komputerem, którego używasz do zadawania tego pytania. I ludzie próbowali Eclipse, ale stwierdzili, że jest zbyt wolny i niezgrabny (choć, co prawda, nie korzystaliśmy z Javy).
źródło
Zarówno emacs, jak i vim są bardzo konfigurowalnymi i potężnymi edytorami, i oba zapewniają duże wygrane produktywności po uchwyceniu podstawowych koncepcji.
Vi wygrywa z operacjami opartymi zasadniczo na zestawach. Na przykład zmiana wszystkich wystąpień „foo” na „bar” w definicji klasy jest jednowierszowa.
Emacs jest równie potężny, ale musisz nauczyć się Emacs Lisp, aby wykorzystać go w pełni.
W obu przypadkach warto to zmienić, jeśli planujesz używać emacsa lub vi do wszystkiego .
źródło
Najlepsze narzędzie (w krótkim okresie) to takie, z którym jesteś bardzo biegły.
Ludzie używają ponad 30-letniej technologii, ponieważ są w niej bardzo biegli. Skonstruowali przepływ pracy i nawyki wokół tych narzędzi. Jeśli jesteś zaznajomiony z nowoczesnym IDE, takim jak Eclipse, nie ma zbyt wiele powodów, by się przestawiać. Nauka efektywnego korzystania z Eclipse to lepsza inwestycja twojego czasu (np. Skorzystaj z Mylyn ).
źródło
Obecnie próbuję przejść z NetBeans na vim. Nauka vima wymaga czasu i praktyki, ale widzę jego zalety, nazwijmy je „edytorami GUI” w niektórych przypadkach.
Ale w przeciwieństwie do ciebie, koduję głównie Ruby i nie potrzebuję całej tej czarnej magii generującej kod, autouzupełniania, refaktoryzacji mojego kodu, którą oferują NetBeans i Eclipse. Gdybym kodował Javę lub C #, z pewnością nie próbowałbym w ogóle się przełączać.
źródło
Jako długoletni użytkownik emacsa uważam, że emacs jest całkiem wygodny jako środowisko edytorskie i programistyczne (i do pewnego stopnia integruje się również z procesem kompilacji, kontrolą wersji, szybkim wyszukiwaniem kontekstowym itp., Więc myślę, że to kwalifikuje się jako „IDE”).
Naprawdę jestem również bardzo wygodny w korzystaniu z edytorów vi i vi (zacząłem używać ed, ponieważ myślałem, że emacs jest zbyt skomplikowany; z perspektywy czasu jest to wstecz, ale dało mi to solidne podstawy do przyszłej nauki vi). Używam vi głównie do „małych szybkich edycji”, głównie na zdalnych komputerach, na których emacs nie jest zainstalowany.
Dla twojego scenariusza „Robię czasem ssh na serwerze i grzebię przy plikach konfiguracyjnych; w tym przypadku używam vi”, zaleciłbym mały zestaw poleceń i kilka ogólnych przemyśleń na temat vi:
Pobranie vi nie powinno zająć więcej niż godzinę lub dwie. „Mogę z pewnością edytować plik tekstowy, ale mogę nie być z nim wydajny” i to jest tak dobre, że prawdopodobnie będziesz musiał być . W przeciwnym razie każdy edytor, który nie ma ochoty na automatyczne konwertowanie tabulatorów i spacji, powinien być „wystarczająco dobry” do swoich celów. Jeśli Eclipse jest zainstalowany na wszystkich twoich zdalnych serwerach, tak naprawdę nie uważam tego za duży problem.
źródło
Jestem facetem z Emacsa. Używam go do całego programowania i aktywnie zachęcam moich współpracowników do korzystania z niego (i oni aktywnie mnie ignorują). Uważam, że jest o wiele bardziej produktywny niż jakiekolwiek IDE i nigdy bym się nie zmienił.
Chyba że piszę Java lub C # (i wyobrażam sobie, że w tej kategorii są inne języki). Mają tak dużych bibliotek rzeczy z długimi nazwami, że zyski mogę uzyskać z użyciem Emacs są całkowicie zagubiony w starając się zapamiętać wszystko.
Z pewnością zachęcam do wypróbowania vima i / lub Emacsa. Ale prawdopodobnie skończysz w Eclipse dla Java.
źródło
Nie mam problemu z różnymi dostępnymi edytorami UNIX, ale zawsze używam ich tylko w proteście. Nie, jak mówię, ponieważ mam z nimi problem, ale dlatego, że muszę z nich korzystać, oznacza to, że w pewnym stopniu brakuje nam procesu wdrażania.
To chyba zasługuje na nieco więcej kontekstu: pracuję nad wielkoskalowymi rozwiązaniami e-commerce, wszystko, co rządzi działaniem naszych systemów, jest generowane przez proces budowania / wdrażania jednym kliknięciem. Mamy szereg środowisk testowych, więc w każdej chwili mogę dokonać zmiany za pomocą Eclipse, sprawdzić ją w cvs i uruchomić kompilację / wdrożenie, aby udowodnić, że moja poprawka zadziałała. Więc, jeśli włamuję się do „vi”, to dlatego, że nie możemy czekać na 1-godzinny zwrot wdrożenia lub ponieważ wdrożenie nie obejmuje plików, które edytuję, i trzeba je rozszerzyć, aby zrobić więc (w przeciwnym razie włamię się do vi, kiedy następny plik będzie wymagał zmiany).
źródło
Osobiście oba programy doprowadzają mnie do szału. Problem z Eclipse polega na tym, że jest powolny jak smark, gdy pracujesz nad dużym projektem, i to wtedy, gdy nie wykonuje on „Indeksowania DGLP” ani nic takiego. chcesz odświeżyć swoje repozytorium? masz 15 minut? Aha, a co powiesz na tę sprytną sztuczkę, w której Ctrl-C jakiś tekst, a następnie Ctrl-P to gdzieś, ale zamiast iść tam, gdzie chciałeś, otwiera zupełnie inny plik i przeskakuje nad czymś innym, a ty zastanawiasz się, czy wtf tam był na pierwszym miejscu. Aha, czy wspominałem już o pracy z Eclipse przy dużym projekcie przez VPN? praktycznie niemożliwe.
Jeśli chodzi o vima, to jest ładny i szybki, zakładając, że znasz mnóstwo zupełnie bezsensownych kombinacji klawiszy, aby coś zrobić i powodzenia, jeśli znajdziesz się w nieznanym trybie przez przypadek. Również w vimie musisz właściwie znać całą strukturę katalogów projektów w swojej głowie, aby otwierać właściwe pliki. Główną zaletą Vima jest to, że teoretycznie możesz szybciej tworzyć kod, ponieważ wszystkie klucze, ale w rzeczywistości nie obchodzi mnie, ile piszę tekstu, to nie ilość tekstu ma znaczenie, ponieważ jest to jakość kodu i często jakość kod wymaga wpatrywania się w dziesiątki plików przez wiele godzin, dopóki nie znajdziesz właściwego wpisania (co zwykle jest bardzo krótkie).
Chciałbym, aby ktoś napisał program wiersza poleceń, taki jak vim, który faktycznie ma strukturę katalogów, taką jak zaćmienie z boku lub coś, z czego można rozwinąć / zwinąć i otworzyć pliki. Czy ktoś wie coś takiego?
źródło
Jeśli nie jesteś zadowolony z VIM lub EMACS, możesz poszukać na tym komputerze innych edytorów tekstu. Może być jakiś smak nedit lub gedit lub czegoś takiego, którego możesz użyć, co będzie zawierało bardziej znane polecenia (ctrl x, c, v i s rób to, czego można się spodziewać na przykład).
Prawdopodobnie masz więcej niż dwie możliwości dystrybucji, warto się przyjrzeć.
źródło