如何在不执行/ etc / vimrc的情况下启动vim?


103

在工作的Linux服务器上,管理员没有安装cscope,而是从源代码安装到主目录中并将其添加到$ PATH中的。麻烦的是,/ etc / vimrc有一个对/ usr / bin / cscope的引用,该引用不存在,并且每次我启动vim时,它都会抱怨这一点,我必须按一下以使该消息消失。

有趣的是,如果我从$ PATH中删除cscope,我不会得到这种行为-因此vim可能正在测试cscope是否存在于某处,然后才执行cscope配置-但这样做会出错!

所以我的问题是:我可以在.vimrc中设置某些内容,使其不获取全局/ etc / vimrc吗?我不想将cscope移出PATH,因为我不想每次从命令行运行它时都键入完整的目录名称。

Answers:


76

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.

如果仍然希望处理〜/ .vimrc,请尝试以下操作:

vim -u ~/.vimrc

将以下行添加到〜/ .bashrc(如果不是bash,则为shell的等效文件),以自动添加-u开关:

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

您将无法在〜/ .vimrc中添加内容以防止读取/ etc / vimrc,因为系统文件是在处理用户文件之前处理的(请参见“:help init”,第3节“执行Ex命令,来自环境变量和/或文件”)。


谢谢!最终,我可以编辑一个文件(由于某种原因),该文件在一行中包含数千个字符,否则将永远冻结我的Vim。
Hubro 2014年

95

Vim手册页中

-u {vimrc}

使用文件{vimrc}中的命令进行初始化。跳过所有其他初始化。使用它来编辑特殊类型的文件。通过使用名称“ NONE”,它也可以用于跳过所有初始化。有关更多详细信息,请参见vim中的“:help初始化”。

因此,这应该可以完成工作:

vim -u NONE

对于日常使用,您应该能够将此别名作为常规命令的别名。


1
...但是我要执行〜/ .vimrc,而不是/ etc / vimrc
florin 2010年

3
vim -u ~/.vimrc
重载2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.