Come avviare vim senza eseguire / etc / vimrc?


103

Sul mio server Linux al lavoro, gli amministratori non hanno installato cscope e l'ho installato dal sorgente nella mia directory home e l'ho aggiunto a $ PATH. Il problema è che / etc / vimrc ha un riferimento a / usr / bin / cscope che non esiste e ogni volta che inizio vim, questo si lamenta e devo premere per far sparire quel messaggio.

È interessante che se rimuovo cscope dal mio $ PATH, non ottengo quel comportamento - quindi è possibile che vim stia testando che cscope esiste da qualche parte, e solo allora eseguendo la configurazione di cscope - ma poi sbaglia.

Quindi la mia domanda è: posso impostare qualcosa nel mio .vimrc in modo che non provenga dal globale / etc / vimrc? Non voglio spostare cscope fuori da PATH, poiché non voglio digitare il nome completo della directory ogni volta che lo eseguo dalla riga di comando.

Risposte:


77

Dalla pagina man di Vim :

-u {vimrc}

Use the commands in the file {vimrc} for initializations. All the other
initializations are skipped. Use this to edit a special kind of files.
It can also be used to skip all initializations by giving the name "NONE".
See ":help initialization" within vim for more details.

Se vuoi ancora che il tuo ~ / .vimrc sia processato, prova questo:

vim -u ~/.vimrc

Aggiungi la seguente riga a ~ / .bashrc (o al file equivalente della shell se non bash) per aggiungere automaticamente l'opzione -u:

alias vim="vim -u ~/.vimrc"

Non sarai in grado di aggiungere qualcosa a ~ / .vimrc per impedire la lettura di / etc / vimrc, perché il file di sistema viene elaborato prima del tuo file utente (vedi ": help init", sezione 3, "Esegui comandi Ex, da variabili di ambiente e / o file ").


Grazie! Questo finalmente mi ha permesso di modificare un file che (per qualche ragione) aveva migliaia di caratteri in una riga e che altrimenti avrebbe bloccato il mio Vim per sempre.
Hubro,

96

Dalla pagina man di Vim :

-u {vimrc}

Utilizzare i comandi nel file {vimrc} per le inizializzazioni. Tutte le altre inizializzazioni vengono ignorate. Usalo per modificare un tipo speciale di file. Può anche essere usato per saltare tutte le inizializzazioni dando il nome "NONE". Vedi ": aiuto inizializzazione" all'interno di vim per maggiori dettagli.

Quindi questo dovrebbe fare il lavoro:

vim -u NONE

Dovresti essere in grado di alias questo al tuo normale comando per l'uso quotidiano.


1
... ma voglio eseguire ~ / .vimrc, ma non / etc / vimrc
florin,

3
vim -u ~/.vimrc
pesantemente,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.