2012-03-31 11 views
11

Sto cercando consigli sull'utilizzo di VIM come IDE. In genere codifico in un certo numero di linguaggi di programmazione, inclusi C, C++, assembler, MATLAB, Maple, script BASH, per citarne alcuni.VIM come IDE - Suggerimenti

In generale, mi piace utilizzare un singolo IDE per la maggior parte dei miei progetti per motivi di coerenza, e ho scoperto che eseguo circa il 90% di tutta la mia codifica in VIM, e occasionalmente uso Eclipse invece per alcuni progetti in C/C++ (es .: progetti già realizzati da persone come progetto Eclipse o progetti PIC24/32 da www.microchip.com).

Sono già molto familiare con le funzionalità di base di VIM (Windows vs buffer, manipolazione del testo, script) e vorrei utilizzarlo come IDE principale. Ho già preso un paio di consigli da qui: http://vim.wikia.com/wiki/Use_Vim_like_an_IDE#Writing_Code

ho già utilizzano il plug-nerdTree per la navigazione directory in un progetto, ecc, ma ho bisogno di fare qualcosa per il completamento del codice e la risoluzione simbolo, come quelli sono i miei due più grandi preoccupazioni.

  1. risoluzione Simbolo
    • Ho una certa esperienza limitata nell'uso di C-tag, e volevano un suggerimento su quello che dovrei usare se sto lavorando con una grande base di codice che cambia di frequente. I progetti su cui lavoro in genere stanno inserendo file di intestazione da almeno una dozzina di altri progetti e vorrei poter passare al file in cui una funzione, una costante o una macro viene definita rapidamente (ad esempio: come il CTRL-G funzione in Eclipse, "salta alla definizione"), così come ottenere rapidamente un elenco di tutte le chiamate/riferimenti a una funzione/macro/costante/etc (es .: come la funzione CTRL-SHIFT-G in Eclipse, "Mostra tutti i riferimenti nel progetto o nella directory di lavoro corrente ").
  2. completamento Tab
    • Una delle caratteristiche che mi piace davvero in Visual Studio ed Eclipse, per esempio, è quando si digita in un nome di variabile (ad esempio: puntatore a struct) e risolve i nomi ei tipi di tutti i membri della struttura e mi fornisce un elenco di completamento scheda per scegliere il membro appropriato. Segnalano anche quando ho usato in modo errato "." vs "->" per l'accesso dei membri. Ho provato il superTab in VIM, ma non riuscivo a farlo funzionare. Voglio anche la funzione di scheda di completamento per utilizzare le stesse C-tag come generato dal plugin risoluzione simbolo
  3. Uscita gestione accumulo
    • La preoccupazione finale di mine sta avendo una lista generata automaticamente delle avvertenze di compilazione e creare errori. Quando, ad esempio, eseguo semplicemente "make all" al prompt della riga di comando, è difficile leggere gli elenchi di codici per trovare manualmente tutti gli avvisi di compilazione.

Mi rendo conto che questo è un sacco di chiedere, e che avrei potuto sempre e solo cadere-back a Visual Studio o Eclipse, ma voglio davvero solo un editor modale semplice cross-platform console-capable per tutti il mio sviluppo ha bisogno, e nessuno dei principali IDE là fuori riempie questo bisogno.

Grazie a tutti in anticipo.

+0

possibile duplicato di [Come posso fare VIM un pieno titolo IDE] (http://stackoverflow.com/questions/7206469/how-can-i-make-vim- a-full-fledged-ide) –

risposta

7

Io penso (ma non ho controllato) che soddisfa Eclim # 1 e # 2 mentre sono sicuro che Syntastic soddisfa # 3. Altre cose di interesse:

E sono a conoscenza di omnicompletion via Ctrl -p e Ctrl-n (precedente e successivo) in modalità inserimento? Questo non è il completamento del codice, ma spesso fa il lavoro.

+0

+1: io uso eclim, questo è ** veramente ** che cambia la vita per me. Soddisfa sicuramente # 1 e # 2. Supporta anche il refactoring. (Io uso eclim per Java solo adesso, per C/C++ uso ctags + Indexer http://goo.gl/gkFPp, ma eclim può funzionare anche con altri linguaggi. Non l'ho ancora testato.) –

3

Per la parte di completamento automatico (punto 2), utilizzo correttamente clang_complete.

Per una rapida messa a punto e di riferimento, provare questa pagina: http://zwiener.org/vimautocomplete.html

EDIT: questo è per C, C++ e Objective-C solo.

2

Io uso la seguente configurazione in vim:

zipped file

E 'sulla base di completamento automatico lista di tag, ctags, nerd commentatore e qualche altro plugin.

Speranza che aiuta .. :)

+0

il collegamento è morto. – Bobby

+1

Mi dispiace, funziona per me. L'ho provato anche su un altro browser. Ad ogni modo, prova questo: [j.mp link] (http://j.mp/rajat_vim) o [this] (https://www.evernote.com/shard/s134/sh/ffc9b220-54bc-42a0-8652 -a18b249a28aa/c706d140f6f00868ed1b5621028a308e) – prongs

+1

Il tuo ultimo collegamento funziona, grazie. Inoltre, si prega di interrompere l'uso di URL-Shortener [stiamo avendo un momento difficile] (http://meta.stackexchange.com/questions/99136/let-me-flag-that-for-you-url-shortener-cleanup) [eliminandoli] (http://meta.stackexchange.com/questions/64450/ban-url-shorting-services). – Bobby

0

Sono stato con Vim come IDE per circa un anno. Tutta la mia personalizzazione è online at github.

Detto questo, non penso che un principiante Vim debba iniziare a utilizzare vim come questo; piuttosto penso che il principiante Vim dovrebbe imparare vim in modo incrementale. Le uniche modifiche che penso siano così essenziali li avrei fare fin dall'inizio sono:

  1. Remap ESC per JK
  2. Switch: e;
  3. tasto Set capo a,
+0

Abbastanza corretto, ma ho notato che lo uso già per il 90% dei miei progetti, quindi non mi definirei come principiante. – DevNull

+0

@Dogbert scusa, non ho letto abbastanza attentamente la domanda! – jdg

+0

Non c'è sudore. Saluti! – DevNull