2012-03-31 20 views
11

Szukam wskazówek dotyczących używania VIM jako IDE. Generalnie koduję w wielu językach programowania, w tym C, C++, asembler, MATLAB, Maple, skrypty BASH, żeby wymienić tylko kilka.VIM jako IDE - Sugestie

Ogólnie rzecz biorąc, lubię używać jednego IDE dla większości moich projektów ze względu na konsystencję, i stwierdziłem, że wykonuję około 90% całego mojego kodowania w VIM i czasami używam Eclipse zamiast projekty w C/C++ (tj. projekty, które ludzie już przygotowali jako projekt Eclipse lub projekty PIC24/32 ze strony www.microchip.com).

Jestem już bardzo zaznajomiony z podstawową funkcjonalnością VIM (okna kontra bufory, manipulowanie tekstem, wykonywanie skryptów) i chciałbym używać go jako mojego podstawowego IDE. Mam już kilka wskazówek stąd: http://vim.wikia.com/wiki/Use_Vim_like_an_IDE#Writing_Code

już korzystać z wtyczki nerdTree do przeglądania katalogów w projekcie, etc, ale muszę coś zrobić uzupełnianie kodu i rozdzielczości symbolu, jak to są moje dwie największe obawy.

  1. rozdzielczości Symbol
    • Mam pewne ograniczone doświadczenie w stosowaniu C-tagów i chciał sugestię o tym, co powinno się używać, jeśli pracuję z bardzo dużej bazy kodu, które często się zmieniają. Projekty, nad którymi pracuję, zazwyczaj pobierają pliki nagłówkowe z co najmniej kilkunastu innych projektów i chciałbym móc przejść do pliku, w którym szybko definiowana jest funkcja, stała lub makro (np .: jak CTRL-G funkcja w Eclipse, "jump to definition"), jak również szybko uzyskać listę wszystkich wywołań/odwołań do funkcji/makro/stałej/etc (np .: jak CTRL-SHIFT-G w Eclipse, "Pokaż wszystkie odniesienia w projekcie lub bieżącym katalogu roboczym ").
  2. ukończenie Tab
    • Jedną z cech, bardzo podoba mi się w Visual Studio i Eclipse, na przykład, kiedy wpisać nazwę zmiennej (tj: wskaźnik do struct) i to rozwiązuje nazwy i typy wszystkich członków struktury i daje mi listę uzupełniającą kartę, aby wybrać odpowiedniego członka. Wskazują również, kiedy nieprawidłowo użyłem "." vs "->" dla dostępu członków. Próbowałem superTab w VIM, ale po prostu nie mogłem go uruchomić. Chcę również funkcja tab-completion używać tych samych C-tagów wygenerowane przez wtyczkę rozdzielczość symbol
  3. wyjście Posługiwanie build
    • Ostatnim problemem kopalni jest posiadanie automatycznie wygenerowane listę ostrzeżeń kompilacji i buduj błędy. Kiedy na przykład po prostu uruchom "make all" w wierszu poleceń, bolesne jest, aby czytać listy kodów, aby ręcznie znaleźć wszystkie ostrzeżenia dotyczące kompilacji.

Zdaję sobie sprawę, że jest to dużo pytać, i że mogę zawsze tylko spadać zwrotnie do Visual Studio lub Eclipse, ale naprawdę chcę tylko prosty wieloplatformowe konsoli zdolny edytor modalny dla wszystkich moje potrzeby rozwojowe i żadne z głównych IDE nie wypełnia tej potrzeby.

Dziękuję wszystkim z góry.

+0

możliwe duplikat [Jak mogę uczynić VIM pełnoprawnym IDE] (http://stackoverflow.com/questions/7206469/how-can-i-make-vim- a-full-fledged-ide) –

Odpowiedz

7

I myśleć (ale nie sprawdził), że Eclim spełnia # 1 i # 2, podczas gdy jestem pewien, że Syntastic spełnia # 3. Więcej rzeczy w okolicy:

I jesteś świadomy omnicompletion poprzez Ctrl -p i Ctrl-n (prev i next) w trybie wstawiania? To nie jest uzupełnianie kodu, ale często wykonuje to zadanie.

+0

+1: Używam eclim, to ** naprawdę ** zmienia życie. To zdecydowanie spełnia nr 1 i nr 2. Wspiera również refaktoryzację. (Używam eclim tylko dla Java teraz, dla C/C++ używam ctags + Indexer http://goo.gl/gkFPp, ale eclim może pracować również z innymi językami. Po prostu jeszcze tego nie przetestowałem.) –

3

Dla części autouzupełniania (punkt 2), jestem biegle używać clang_complete.

Na szybki setup i odniesienia, spróbuj tej strony: http://zwiener.org/vimautocomplete.html

EDIT: to jest dla C, C++ i Objective-C tylko.

2

używam następującą konfigurację w vim:

zipped file

To autouzupełnianie na podstawie listy znaczników, ctags, nerd komentującej i kilka innych wtyczek.

Nadzieja to pomaga .. :)

+0

Twój link jest martwy. – Bobby

+1

Przykro mi, to działa dla mnie. Próbowałem go również w innej przeglądarce. W każdym razie, spróbuj tego: [link j.mp] (http://j.mp/rajat_vim) lub [this] (https://www.evernote.com/shard/s134/sh/ffc9b220-54bc-42a0-8652 -a18b249a28aa/c706d140f6f00868ed1b5621028a308e) – prongs

+1

Twój ostatni link działa, dziękuję. Przestań też używać skracania adresów URL [mamy problemy] (http://meta.stackexchange.com/questions/99136/let-me-flag-that-for-you-url-shortener-cleanup) [pozbycie się ich] (http://meta.stackexchange.com/questions/64450/ban-url-shorting-services). – Bobby

0

używam vim jako IDE przez około rok. Całe moje dostosowanie to online at github.

To powiedziawszy, nie sądzę, że początkujący Vim powinien zacząć używać vima w ten sposób; raczej myślę, że początkujący Vim powinien uczyć się vim stopniowo. Jedyne zmiany, które moim zdaniem są tak istotne, by uczynić je od samego początku są:

  1. Zmień przypisanie ESC JK
  2. Przełącznik: i;
  3. Zestaw klucz liderem,
+0

Wystarczająco sprawiedliwe, ale zauważyłem, że używam go już w 90% moich projektów, więc nie kwalifikuję się jako początkujący. – DevNull

+0

@Dogbert przepraszam, nie przeczytałem tego pytania wystarczająco dokładnie! – jdg

+0

Bez potu. Twoje zdrowie! – DevNull