Questo articolo fa parte della serie di suggerimenti e trucchi Vi / Vim in corso. Come programmatore, puoi svolgere molte attività ripetitive durante la codifica come:
- Aggiunta dell'intestazione del file
- Aggiunta commento funzione/frame
- Compreso lo snippet di codice predefinito
- Esecuzione del controllo della sintassi
- Lettura della documentazione su una funzione
- Conversione di un blocco di codice in commento e viceversa
Il plug-in Vim C-Support offre il modo più semplice per fare tutto quanto sopra, risparmiando molto tempo e digitando i tasti per i programmatori C e C++.
Il plugin è stato scritto da Fritz Mehner, che spiega lo scopo del plugin come:“Scrivere ed eseguire programmi. Inserisci affermazioni, modi di dire, commenti”.
Evidenzia anche le seguenti caratteristiche:
- Modifica orientata alle istruzioni di programmi C / C++
- Velocizza notevolmente la scrittura di nuovo codice.
- Scrivi codice e commenti con un aspetto professionale fin dall'inizio.
- Usa frammenti di codice
Questo articolo spiega come installare il plug-in in 3 semplici passaggi e 7 potenti funzionalità del plug-in.
3 passaggi per installare il plug-in C.Vim
Passaggio 1:scarica il plug-in C Vim
Scarica il plugin dal sito web vim.org.
$ cd /usr/src $ wget http://www.vim.org/scripts/download_script.php?src_id=9679
Fase 2:installa il plug-in C Vim
$ mkdir ~/.vim $ cd ~/.vim $ unzip /usr/src/cvim.zip
Fase 3:abilita il plugin in ~/.vimrc
Aggiungi la seguente riga a ~/.vimrc per abilitare il plugin per l'editor Vim.
$ vim ~/.vimrc filetype plugin on
8 potenti funzionalità del plug-in C.Vim
Funzione 1:aggiungi intestazione automatica al file *.c
Quando si apre un file con estensione .c, si apre il file con l'intestazione come mostrato di seguito. Questo posizionerà anche il cursore nel campo Descrizione in modalità Inserisci.
$ vim myprogram.c /* * ================================================= * Filename: myprogram.c * * Description: * * Version: 1.0 * Created: 01/19/09 20:23:25 * Revision: none * Compiler: gcc * * Author: Dr. Fritz Mehner (mn), [email protected] * Company: FH Südwestfalen, Iserlohn * * ================================================= */
Per modificare il valore predefinito dell'AUTORE e della SOCIETÀ, modificare il valore predefinito in ~/.vim/c-support/templates/Templates
$ vim ~/.vim/c-support/templates/Templates |AUTHOR| = geekstuff |AUTHORREF| = gk |EMAIL| = subscribe@geekstuff |COMPANY| = thegeekstuff.com
Ora, quando crei un nuovo file c, mostrerà i valori modificati per AUTORE e AZIENDA come mostrato di seguito.
$ vim myprogram.c /* * ================================================= * * Filename: myprogram.c * * Description: * * Version: 1.0 * Created: 01/19/09 20:26:43 * Revision: none * Compiler: gcc * * Author: geekstuff (gk), subscribe@geekstuff * Company: thegeekstuff.com * * ================================================= */
Nota: Per aggiungere campi personalizzati all'intestazione, modifica il file ~/.vim/c-support/templates/file-description.template e aggiungi il tuo campo personalizzato.
Funzione 2:aggiunta della funzione C usando \if
Per scrivere una subroutine, digitare \if in modalità normale, che richiederà il nome della funzione (come mostrato in Fig1 sotto) e inserisce la subroutine con il contenuto della funzione di default (come mostrato in Fig2 sotto).

Fig1:Inserisci funzione C automaticamente
Fig 2:Inserisci automaticamente la funzione C
Funzione 3:inserisci l'intestazione della funzione principale usando \im
Per inserire la funzione principale, digita \im in modalità normale, che aggiungerà la funzione principale come mostrato di seguito.

Fig 3:Inserimento automatico della funzione principale C
Funzione 4:inserisci un'intestazione di funzione usando \cfu
Per inserire un'intestazione di funzione, digitare \cfu in modalità normale, che chiederà il nome della funzione come mostrato in Fig 4, e aggiungerà il commento come mostrato in Fig 5.

Fig 4:inserisci automaticamente l'intestazione della funzione C
Fig 5:inserire automaticamente l'intestazione della funzione C
Funzione 5:aggiungi un commento Frame usando \cfr
Per aggiungere un commento al frame, digita \cfr in modalità normale, che darà il seguente commento formattato.

Fig 6:inserire automaticamente un commento frame
Funzione 6:per includere il file di intestazione, usa \p<
Digita \p
Per salvare e compilare il file usa \rc.
Per eseguire usa \rr.
Il plugin viene fornito con alcuni snippet di codice predefiniti che puoi inserire nel tuo codice. Di seguito sono riportati i frammenti di codice predefiniti forniti con il plug-in.
Ad esempio, se si desidera creare una funzione che allocherà una matrice int dinamica di dimensioni righe*colonne; restituire un puntatore, puoi riutilizzarlo dai frammenti di codice esistenti. Di seguito è riportato il contenuto dei frammenti di codice predefiniti di calloc_int_matrix.c.
Di seguito sono riportati alcuni fantastici tutorial dell'editor Vi / Vim che potresti trovare utile.
Nota: Iscriviti a The Geek Stuff e non perdere nessun futuro Suggerimenti e trucchi per editor di Vi e Vim .Funzione 7:salva il file, compilalo ed eseguilo immediatamente.
Funzione 8:inserisci uno snippet di codice predefinito nel codice C usando \nr
$ ls ~/.vim/c-support/codesnippets
Makefile calloc_double_matrix.c main.c print_double_array.c.noindent
Makefile.multi-target.template calloc_int_matrix.c main.cc print_int_array.c.noindent
/*
* === FUNCTION ======================================================================
* Name: calloc_int_matrix
* Description: Allocate a dynamic int-matrix of size rows*columns; return a pointer.
* =====================================================================================
*/
int**
calloc_int_matrix ( int rows, int columns )
{
int i;
int **m;
m = calloc ( rows, sizeof(int*) ); /* allocate pointer array */
assert( m != NULL ); /* abort if allocation failed */
*m = calloc ( rows*columns, sizeof(int) ); /* allocate data array */
assert(*m != NULL ); /* abort if allocation failed */
for ( i=1; i
m[i] = m[i-1] + columns;
return m;
} /* ---------- end of function calloc_int_matrix ---------- */
Per inserirlo nel tuo programma c funzionante, digita \nr dalla modalità normale all'interno di vim, che richiederà "read snippet /home/ramesh/.vim/c-support/codesnippets/", digita calloc_int_matrix.c in alla fine e premi invio, che inserirà automaticamente il contenuto di ~/.vim/c-support/codesnippets/ calloc_int_matrix.c nel tuo file di lavoro.
Nota :puoi definire i tuoi frammenti di codice e inserirli in ~/.vim/c-support/codesnippets/. Puoi anche creare i tuoi frammenti di codice dal codice esistente:seleziona la parte di codice che deve essere creata come snippet di codice, premi \nw e assegnagli un nome file. La prossima volta, digita \nr e il nome del file per ottenere lo snippet di codice personalizzato.
Ci sono molte potenti funzionalità nel plug-in C-Support Vim. Leggi la documentazione per maggiori informazioni. La documentazione si trova nella seguente posizione sul tuo sistema.
Lettura consigliata
Vim 101 Hacks, di Ramesh Natarajan . Sono un drogato da riga di comando. Quindi, naturalmente sono un grande fan degli editor di Vi e Vim. Diversi anni fa, quando scrivevo molto codice C su Linux, leggevo tutti i suggerimenti e i trucchi disponibili per l'editor Vim. Sulla base della mia esperienza con l'editor Vim, ho scritto l'eBook Vim 101 Hacks che contiene 101 esempi pratici su varie funzionalità avanzate di Vim che ti renderanno veloce e produttivo nell'editor Vim. Anche se usi Vi e Vim Editor da diversi anni e non hai letto questo libro, per favore fatti un favore e leggi questo libro. Rimarrai stupito dalle capacità dell'editor Vim.
Fantastici articoli sull'editor di Vim