VIM:覆盖系统 vimrc

lek*_*oif 2 vim overwrite

我在多个 MAC OS X 系统上工作,注销后不保存更改。如您所知,每台新 Mac 上都有 VIM,只需在终端中输入 vim 即可。我总是带着我的 vimrc 文件,问题是每次我启动 vim 时我都必须用:so命令加载它。

我想利用 vim 在每个 unix 上都可用的事实,但我也想利用与终端的巧妙集成来进行快速测试,我只是切换回终端,但为此我需要关闭 vim。当我重新打开它时,我必须再次加载 vimrc。而且我是新手,我什至还没有插件......

我想保持与终端的集成,只开发一种将我的更改引入 vim 的超级快速方法。把这些条件想象成就好像你坐在新安装的操作系统上一样。

谢谢 !

Mat*_*aum 5

不是直接针对您的问题,但您始终可以使用 调用 vim -u,这将让您指定 vimrc 文件,而不是启动 vim 然后运行:so.

您的.vimrc文件的默认位置是~/.vimrc(在 mac 上,~/Users/_you_,例如/Users/matt)。如果你可以在那里写你的文件,它会在每次 vim 启动时加载。

Mac 上的系统 vimrc 文件在/usr/share/vim/vimrc,但听起来这些系统不受您的控制,因此您将无法写入该文件。看看:如何vim 中覆盖 ~/.vim 和 ~/.vimrc 路径(但没有其他路径)?,它使用-u选项来更改 vim 在其下查找插件的路径。但是,在所有情况下,您必须能够将您.vimrc的主目录写入您的主目录(听起来您的系统不允许)或在运行时指定它的路径(如我上面提到的命令行选项,或者使用:so您当前使用的普通命令)。

根据您需要进行的测试类型,您始终可以在 vim 中使用!in normal 模式运行 shell 命令。例如,我经常对缓冲区中的 python 文件进行更改,然后(在正常模式下)!nosetests在 vim 中运行——将终端输出写入底部的临时缓冲区,并且不需要我离开或挂起 vim。我可以查看输出,任何按键都会带我回到我的缓冲区。