2012-11-19 17 views
13

Desidero impostare vim come IDE C++ in modo da poter eseguire tutto il lavoro da esso.Configurazione di vim come C++ IDE

Sto usando questi plugin per vim:

    • Clang completa - il completamento accurata
    • nerdtree - cercare file
    • snipmate - inserire snippet
    • AutoComplPop - omni-completamento
    • buffergator - buffer di gestione
    • vim-powerline - bella statusbar
    • vundle - per gestire i plugin

Ma mi mancano le cose come Vai a definizione e la compilazione di più file in un unico eseguibile , vista progetto ...

Sto usando

nmap <F8> :w % <bar> :!g++ -W -Wall -Wextra -pedantic -std=c++11 % -o %:t:r<CR> <bar> :!./%:t:r<CR> 

per compilare il file corrente, ma non funzionerà se ci sono più file che creano un eseguibile.

So che potrei semplicemente usare eclipse, netbeans, code :: blocks e così via, ma mi piace molto vim ... Se qualcosa come vim ide non è possibile devo imparare GNU build system o qualche altro metodo?

Qualsiasi consiglio è benvenuto.

+2

Se scrivi un makefile veloce (o ne hai generato uno) puoi semplicemente eseguire! Make – jozefg

+2

@jozefg, '! Make' eseguirà solo make esterno e il gioco è fatto. c'è un comando 'make' incorporato in vim che creerà anche una finestra' quickfix' con errori/avvertimenti. È molto più utile –

risposta

5

È necessario creare un makefile che gestisca il processo di compilazione.

Quindi da vim basta eseguire :make, verrà eseguita la compilazione e verranno visualizzati tutti gli errori nella finestra quickfix in cui è possibile navigare e passare alle posizioni di errore.

+0

Un modo per automatizzare la creazione di makefile? – RedSparrow

+2

So che questa discussione è vecchia ma puoi usare cmake. È relativamente facile da usare e il tuo codice può essere compilato su piattaforme diverse. – JohnJohn

1

In primo luogo, per saltare alle definizioni, si potrebbe provare questo:

non l'ho provato, quindi non posso dirvi se funziona.

Ora, per creare più progetti di file, potrebbe essere meglio per voi imparare come usare makefile e automake. Questi link possono aiutare:

Buona fortuna.

Edit: Una domanda simile è stato risposto su questo link: https://stackoverflow.com/a/563992/1820837

0

"Vai a definizione" è già lì, è <C-]> con il cursore su una parola chiave o :tag foo sulla riga di comando.

Affinché funzionino, è necessario un file tags generato da esuberanti ctags e comunicare a Vim dove trovarlo. Vedi :help tags e :help ctags.

Senza un file tags, gd passa alla definizione della parola chiave sotto il cursore se si trova nello stesso file. Ma non è così generalmente utile come <C-]>.

+0

Tutto è corretto, ma, come al solito, vorrei aggiungere lo stesso suggerimento: raccomando di non trattare manualmente i ctags, ma invece di utilizzare il plugin Indexer (http://goo.gl/Q744m), fa tutto il lavoro doloroso automaticamente : genera silenziosamente i tuoi tag, dice a Vim dove cercarli e mantiene i tag aggiornati. Tutto il lavoro viene svolto in background, quindi non è necessario attendere. –

0

Per "Jump to definition" posso raccomandare il plug YouCompleteMe, che è davvero facile da configurare con vundle.

Altrimenti c'è anche ctags, ma lo trovo meno utile.

Per utilizzare vim come IDE, trovo utile il post this.