如何“获取” .vimrc文件中的内容?


98

我最近一直在扩展我的vim-foo,并且遇到了几个插件(例如autotag.vim),这些插件要求将它们“源”到我的.vimrc文件中。这到底是什么意思,我该怎么做?

Answers:


117

采购文件就是“执行”它。本质上,文件的每一行都被视为命令。其来源与按顺序键入每个命令相同。您可以使用命令:source(通常简称为:so)来获取信息。

因此,如果您采购 myStuff.vim

:so myStuff.vim

如果myStuff.vim包含这些行

set xx iI just intersted this<C-]>
set yy bbbb4dw

就像您在Vim中键入这些命令一样

:set xx iI just intersted this<C-]>
:set yy bbbb4dw

默认情况下唯一的源文件是.vimrc_vimrc在Windows上),因此您可以在此保留每次用来设置Vim的所有命令。

有趣的是,由于源文件只是一系列命令,而采购是命令,因此您可以从源文件中获取文件。所以插件使用,每次可以采购当您通过添加一行到你的启动Vim的.vimrc这样

 so myPlugin.vim

2
怎么so!办?我运行它是因为我认为它会强制使用我的资源,.vimrc并且它开始浏览我正在编辑的文件(my .vimrc),并以奇怪的方式缩进废话,并且发生了各种各样的奇怪的事情。
Alexej Magura

2
它以“普通”模式执行文件(即,如果不在前面添加“:”会发生什么)。
Andrew Miner

43

.vim / plugin目录中的文件是自动获取(加载)的。


7
另外,其文件名必须以.vim
瑕疵的2014年

是的,但是每次启动只能一次,对吧?启动终端/ powershell时,或者使用vim命令编辑某些文件时,它是什么?
3pitt

@ 3pitt AFAIK,这是每次运行vim命令时。
Thaddaeus Markle

12

总有:source file命令。我通常会写.vimrc一个包含自定义命令的内容,而不包含控制台应用程序的内容,然后写一个.gvimrc包含适用于窗口版本的其他功能的。我.gvimrc首先source $HOME/.vimrc要从控制台版本中提取所有内容,然后再添加新内容。


我的vim版本至少一直都在源.vimrc。您确定需要采购.vimrc吗?
达夫·克拉克

@DavClark:看来您可能是正确的。我已经做了很长时间了,从没想过。帮助文件明确指出这是不必要的...嗯。
D.Shawley 2011年

6

通常有两个vimrc文件,一个是_vimrc,另一个是_gvimrc(第一个是vim的东西,第二个是gvim的东西-图形的东西)-尽管我认识的大多数人都将所有内容都放在_vimrc中。

一个好的做法是将所有其他文件(插件,colorschemes,片段等)保存在单独的(自己的)vimfiles目录中(可以随身携带)。

如果你这样做

:help vimfiles

vim会告诉您应该位于vimfiles目录。这在某种程度上取决于平台(win,unix)。在Windows上,通常位于用户文件夹中(文档和设置,然后是用户...)。在vimfiles目录中,有几个子目录。其中包括“插件”子目录。放置在该目录中的插件将自动加载(插件也放置在“ plugin”的子目录中)。如果您不想自动加载它,只需将其放在“ vimfiles”或其他目录中,然后

:so plugin_name.vim (with the appropriate path)
(you can use the $vim, $vimfiles, and $home as shortcuts when defining path to plugin)
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.