我在看Tim Pope的vim敏感插件,并在README中注意到了这一点。


有关权威性功能列表,请参见源。 (不用担心,主要是:set调用。)


当我查看源代码时,:set调用就像这样...

set autoindent


:之前没有set

我敢肯定,我在示例:set中也确实看到过.vimrc

什么是区别?

我应该在.vimrc中使用哪种表格?

#1 楼

“脚本”无非就是运行一系列ex命令。在Vim中使用:时,将键入“ ex命令”。例如:wq:set wrap:e file等都是ex命令。

:不属于命令;启动命令行模式仅仅是一个按键;您不必总是包含:,例如,当您将多个命令与|链接在一起时,您不需要重复多次:。例如,:write | quit可以正常工作。

为了方便起见,可以包括:。这有助于复制/粘贴等操作,但您不必这样做。没关系实际上,所有前导:都将被忽略。 :writewrite:::::::::write在功能方面都是等效的(尽管显然在理智上不是)。

:包含在文档中通常很有用,以阐明这是一个ex命令。例如,w可以引用:w或正常模式命令w转到下一个单词。

请注意,这适用于所有内容。诸如ifendif之类的控制结构也只是ex命令。您可以输入以下内容:在Vim命令行中输入

:if 1
:echo 'one'
:endif


很好;不需要“脚本”。 Vim脚本非常“神奇”和“非特殊”。从ex命令行可以在Vim脚本中执行的所有操作,反之亦然。

#2 楼

没有区别。如果vim在vimrc(或任何vimscript文件)中的命令之前看到:,它将忽略它。另外,如上所述,这不是set命令所特有的。

通常,:意味着该命令将由您运行,而不是放入vimrc(或其他vimscript文件)中,但这通常取决于上下文。我个人认为,最好不要将冒号放在vimscript文件中的命令之前,这似乎也是大多数人所做的。

有关更多信息,请参见:help script

评论


:h脚本或:h vim-script-intro(等效)

– VanLaser
16 Mar 5 '16 at 18:12