启动vim时脚本的加载顺序是什么?

dan*_*dan 23 vim

如果你用这样的东西启动vim:

vim -S myscript.vim file.txt
Run Code Online (Sandbox Code Playgroud)

脚本的加载顺序是什么?myscript.vim是否在〜/ .vimrc之后或之前加载.

如果直接在命令行上将vimscript命令传递给vim,它们何时相对于源和默认vimscripts执行?

Her*_*itz 33

我相信vimrc永远是第一位的.您可以运行:scriptnames以按照Vim实例中首次获取源脚本的顺序获取源脚本列表.

  • 为了方便起见,当使用[tpope/scriptease](https://github.com/tpope/vim-scriptease)时,你会得到`:Scriptnames`,它将`:scriptnames`加载到quickfix列表中. (2认同)

Ran*_*ris 27

帮助条目在这里发布的时间太长了,但它列出了vim在初始化时所做的所有事情的顺序.见:help initialization.


use*_*689 5

答案是myscript.vim最后加载。

vim-V选项在这里是一个救星。(大写-V,因为以模式-v开始vi。)在进一步搜索后,刚刚遇到它,因为尽管其他答案回答了您的问题,但它们没有显示未来源的内容,因为未找到它。如果我能及时将其发送回来,我就可以节省很多时间去思考输出strace

这不仅会向您显示它按顺序获取的所有脚本名称还会显示如果它们按顺序存在的话,它会获取的所有脚本名称。因此,您可以发现可以创建哪些文件以在适当的时间加载。

$ vim -V
Run Code Online (Sandbox Code Playgroud)

将它添加到你的 vim 参数中很容易回答这个问题。

$ vim -V -S myscript.vim file.txt
Run Code Online (Sandbox Code Playgroud)

它显示myscript.vim为最后一个。

它会打印大量内容,并最终出现“按 ENTER 或键入命令继续”提示,这使您可以逐步执行自动命令。