How to start vim without executing /etc/vimrc

unixvimvimrc

On my Linux server at work, the admins did not install cscope, and I installed it from source in my home directory and added it to the $PATH. The trouble is, the /etc/vimrc has a reference to /usr/bin/cscope which does not exist and everytime I start vim, it complains about that and I have to press for that message to go away.

It is interesting that if I remove cscope from my $PATH, I don't get that behavior – so it is possible that vim is testing that cscope exists somewhere, and only then executing the cscope configuration – but then it gets it wrong!

So my question is: can I set something up in my .vimrc so it does not source the global /etc/vimrc? I don't want to move cscope out of PATH, as I don't want to type the full directory name every time I run it from the command line.

Best Answer

From the Vim man page:

-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.

If you still want your ~/.vimrc to be processed, try this:

vim -u ~/.vimrc

Add the following line to ~/.bashrc (or your shell's equivalent file if not bash) to have the -u switch added automatically:

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

You won't be able to add something to ~/.vimrc to prevent /etc/vimrc from being read, because the system file is processed before your user file (see ":help init", section 3, "Execute Ex commands, from environment variables and/or files").

Related Question