2012-08-23 16 views
7

Prima di oggi stavo usando /etc/vim/vimrc per configurare il mio setup di vim. Oggi ho pensato di creare il file .vimrc. Così, ho usatoErrore durante l'apertura dei file dopo aver creato ~/.vimrc

touch .vimrc 
cat /etc/vim/vimrc > .vimrc 

Così, ora quando apro qualsiasi file con vim ottengo i seguenti errori:

Error detected while processing /home/ronnie/.vimrc: 
line 68: 
E122: Function SplitColors already exists, add ! to replace it 
line 77: 
E122: Function ChangeColors already exists, add ! to replace it 
line 171: 
E174: Command already exists: add ! to replace it 
line 174: 
E174: Command already exists: add ! to replace it 
Press ENTER or type command to continue 

Ho sia di file /etc/vim/vimrc e .vimrc situato nel mio sistema. Quindi, è questa la ragione per cui sto ricevendo questo errore perché d'ora in poi vorrei usare solo .vimrc per configurare il mio setup di vim.

risposta

11

si sta definendo le funzioni che hanno lo stesso nome come alcuni già definito. L'aggiunta di un punto esclamativo dopo function "sovrascrive" la definizione precedente e nel tuo caso non verrà più visualizzato il messaggio di errore.

3

Perché non aggiungere! alle definizioni della tua funzione come suggerito? farà smettere di lamentarsi.

In alternativa si potrebbe rimuovere quelli definizione da/etc/vim/vimrc

3

Il problema è che sia /etc/vim/vimrc sia .vimrc sono originati. Questo dipende da diversi fattori; guarda i dettagli allo :help .vimrc.

In generale, la configurazione Vim a livello di sistema deve risiedere nel file precedente e le personalizzazioni personali in quest'ultimo. Per i sistemi a utente singolo, non c'è molta differenza, ma hai fatto la cosa giusta spostando le cose nella tua home directory. Basta eliminare le funzioni duplicate ecc. Dal vecchio file o rimuoverlo completamente se hai spostato tutto sul tuo .vimrc.

+0

Questa è la vera risposta ... Soluzione: basta mettere contenuto di ~/.vimrc in/etc/vim/vimrc e togliere dal ~/.vimrc ... Fatto –

+1

@ ScottStensland: è pragmatico, ma non corretto. Il sistema e la configurazione personale devono essere tenuti separati, se non altro per evitare il lavoro o la perdita di dati agli aggiornamenti del sistema. –

4

Questa è la soluzione per esempio poiché la maggior parte delle risposte sono corrette sopra, ma non direttamente aiutano a risolvere il problema. Aree di interesse in grassetto.

"codice con ridefinizione emette

funzione CloseDuplicateTabs() endfunction

comando CloseDupTabs: chiamare CloseDuplicateTabs()

" codice fisso con le sostituzioni

funzione! CloseDuplicateTabs() endfunction

comando ! CloseDupTabs: chiamare CloseDuplicateTabs()

Problemi correlati