Jestem uzależniony od Vima, teraz jest to mój de facto sposób na edycję plików tekstowych.
Ponieważ jest to głównie edytor tekstu, a nie IDE, czy ktoś ma dla mnie jakieś sztuczki, które ułatwią mi tworzenie aplikacji Java?
Mam kilka pytań:
- Jak wywołać zadanie Maven bez opuszczania vi?
- Czy mogę uzyskać uzupełnienie kodu?
- Jak wygląda podświetlanie składni?
Czy jest coś jeszcze (poza „Nie rób tego!”), O czym powinienem wiedzieć?
Odpowiedzi:
Kilka porad:
Baw się dobrze :-)
źródło
Jestem użytkownikiem Vima od lat. Zaczynam od czasu do czasu uruchamiać Eclipse (używając wtyczki vi, która, muszę powiedzieć, ma wiele problemów). Głównym powodem jest to, że kompilacje Javy trwają dość długo ... i stają się coraz wolniejsze dzięki dodaniu wysoce skomponowanych struktur kompilacji, takich jak maven. Tak więc sprawdzanie poprawności twoich zmian zajmuje zwykle trochę czasu, co wydaje mi się często prowadzić do nagromadzenia wielu problemów z kompilacją, które muszę rozwiązać później, a filtrowanie komunikatów dotyczących zmian zajmuje trochę czasu.
Kiedy kolejka problemów z kompilacją jest zbyt duża, uruchamiam Eclipse. Pozwala mi na upiększanie zmian. Jest powolny, brutalny w użyciu i nie jest tak przyjemnym edytorem jak Vim (używam Vima od prawie dekady, więc jest to dla mnie druga natura). Uważam, że do precyzyjnej edycji - potrzebuję naprawić konkretny błąd, trzeba zmienić jakiś konkretny fragment logiki lub coś innego ... Po prostu nie mogę być tak wydajny w edycji w Eclipse, jak w Vimie.
Również wskazówka:
To sprawia, że
^wf
nazwa klasy jest bardzo przydatną funkcją do nawigacji w dużym projekcie.W każdym razie, chuda jest taka, że kiedy muszę dodać dużo nowego kodu, Vim wydaje się spowalniać mnie po prostu z powodu czasu spędzonego na ściganiu problemów z kompilacją i podobnych rzeczy. Kiedy jednak muszę znaleźć i edytować określone źródła, Eclipse czuje się jak młot kowalski. Wciąż czekam na magiczne IDE dla Vima. Znam trzy główne próby. Istnieje czysta wtyczka typu Viml IDE, która dodaje wiele funkcji, ale wydaje się niemożliwa w użyciu. Jest eclim, z którym miałem dużo problemów. Jest też wtyczka do Eclipse, która faktycznie osadza Vima. Ta ostatnia wydaje się najbardziej obiecująca dla naprawdę poważnych prac związanych z Java EE, ale wydaje się, że nie działa zbyt dobrze ani nie integruje wszystkich funkcji Eclipse z osadzonym Vimem.
Takie rzeczy, jak dodanie brakującego importu za pomocą naciśnięcia klawisza, kodu wysokiego poziomu z problemami z pisaniem itp., Wydają się być bezcenne z twojego IDE podczas pracy nad dużym projektem Java.
źródło
.java
nie jest potrzebne) pod kursorem w nowym podzielonym oknie, jeśli może znaleźć plik. Dlatego:set path=**
jest pomocny.:help ^wf
- podobnie jak inne vim helpJak wywołać zadanie Maven bez opuszczania vi?
Maven nie różni się od innych poleceń powłoki:
:!mvn
Możesz,
:set makeprg=mvn
jeśli masz już ulubione mapowanie klawiszy:make
.Czy mogę uzyskać uzupełnienie kodu?
Tak, eklim jest świetny, stanowi pomost między wydajnością edycji vima a świadomością języka Java Eclipse.
<C-n>
i<C-p>
nie są tak wspaniałe, ale niezwykle pomocne.Jak wygląda podświetlanie składni?
Więcej niż wystarczająco dobre dla wyróżnienia opartego na wyrażeniach regularnych.
Możesz rozważyć użycie narzędzi do innych celów vim + java, takich jak szablony kodu ( snippetEmu - domyślne fragmenty suck, ale dostosowywanie świeci), wyszukiwanie zastosowań i przechodzenie do deklaracji (eclim, grep, ctags), generowanie metod pobierających i ustawiających ( java_getset , lub eclim), import automatyczny (eclim). Do szybkich eksperymentów możesz również potrzebować powłoki Java ( BeanShell , aka
bsh
).źródło
Właśnie przesłałem tę wtyczkę Vima do tworzenia projektów Java Maven.
I nie zapomnij ustawić podświetlenia, jeśli jeszcze tego nie zrobiłeś:
https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting
źródło
Bardzo przydatne okazało się następujące podsumowanie: http://www.techrepublic.com/article/configure-vi-for-java-application-development/5054618 . Opis: make był dla mrówek nie maven, ale poza tym ładne podsumowanie.
źródło
Wiem, że minęło kilka lat, ale oto kilka interesujących wtyczek. Nie próbowałem jeszcze żadnego z nich, więc YMMV.
https://github.com/mikelue/vim-maven-plugin
https://github.com/vim-scripts/maven-ide
EDYCJA: Och, przy okazji, próbowałem eclim z wyłączaniem i włączaniem, ale powodem, dla którego lubię vim, jest jego lekkość. Wykonywanie zaćmienia nawet w trybie bezgłowym jest dla mnie zbyt dużym wysiłkiem umysłowym.
EDIT2: Ostatnio używam playframework i prawdopodobnie będzie to działać również z kompilacjami maven:
W przypadku kompilacji możesz skonfigurować make VIM-a, aby uruchamiał maven lub w moim przypadku uruchomić skrypt kompilacji i przesłać go do pliku.
„play_compile” to po prostu skrypt kompilujący. Używa SBT, więc Maven powinien tutaj działać dobrze. Nawet bezpośredni javac będzie działał. W ten sposób możesz użyć bufora quickfix VIM-a (: cnext,: clist: cprev, etc).
Do skakania po zajęciach używam ctrl-p . To jest piękne. Użyj tego. Szybszy niż zaćmienie podczas przeskakiwania plików.
Do skakania po metodach używam tagsearch z rozbudowanymi tagami c. Przejdź do deklaracji metod, używając ctrl-]. Wróć za pomocą Ctrl-o. Nie działa tak dobrze jak zaćmienie, ale działa wystarczająco dobrze.
Używam Supertab do uzupełniania kodu. Javacomplete jest dość powolne, więc trzymam się omni-complete. Ponownie, nie tak dokładne jak zaćmienie, ale jest szybkie i działa wystarczająco dobrze dla mnie.
źródło
Użyj vim. ^ - ^ (gVim, aby być precyzyjnym)
Będziesz mieć to wszystko (z kilkoma wtyczkami).
Btw, snippetsEmu to fajne narzędzie do kodowania z przydatnymi fragmentami (jak w TextMate). Możesz użyć (lub zmodyfikować) gotowy pakiet lub stworzyć własny.
źródło