【问题标题】:Vim sourcing .vim files after .vimrcVim 在 .vimrc 之后采购 .vim 文件
【发布时间】:2020-09-01 19:29:40
【问题描述】:

这是scriptname的快照

  1: /etc/vimrc
  2: /usr/share/vim/vim72/syntax/syntax.vim
  3: /usr/share/vim/vim72/syntax/synload.vim
  4: /usr/share/vim/vim72/syntax/syncolor.vim
  5: /usr/share/vim/vim72/filetype.vim
  6: /usr/share/vim/vim72/ftplugin.vim
  7: /home/xxxxx/.vimrc
  8: /usr/share/vim/vim72/syntax/nosyntax.vim
  9: /usr/share/vim/vim72/indent.vim
 10: /usr/share/vim/vim72/colors/desert.vim
 11: /usr/share/vim/vim72/indoff.vim
 12: /usr/share/vim/vim72/ftplugof.vim
 13: /usr/share/vim/vim72/plugin/filetype.vim
 14: /usr/share/vim/vim72/plugin/getscriptPlugin.vim
 15: /usr/share/vim/vim72/plugin/gzip.vim
 16: /usr/share/vim/vim72/plugin/matchparen.vim
 17: /usr/share/vim/vim72/plugin/netrwPlugin.vim
 18: /usr/share/vim/vim72/plugin/rrhelper.vim
 19: /usr/share/vim/vim72/plugin/spellfile.vim
 20: /usr/share/vim/vim72/plugin/tarPlugin.vim
 21: /usr/share/vim/vim72/plugin/tohtml.vim
 22: /usr/share/vim/vim72/plugin/vimballPlugin.vim
 23: /usr/share/vim/vim72/plugin/zipPlugin.vim
 24: /usr/share/vim/vim72/syntax/cpp.vim
 25: /usr/share/vim/vim72/syntax/c.vim
 26: /home/xxxxx/.vim/after/syntax/cpp.vim

在 7 日,我的 vimrc 正在被获取,并且在这两个 .vim 文件被获取之后。

如何停止这些默认的 .vim 文件来源?

【问题讨论】:

  • 这些文件是由于~/.vimrcsyntax onfiletype plugin indent on 等中的命令而获得的。

标签: linux vim vi vim-plugin


【解决方案1】:

在启动 Vim 时使用 Noplugin 选项

请查看帮助文件:help starting。顺便说一句,:help initialization 部分也很不错。

--noplugin 部分描述了生成的选项行为:

--noplugin  Skip loading plugins.  Resets the 'loadplugins' option.

Note that the |-u| argument may also disable loading plugins:
    argument   load: vimrc files  plugins  defaults.vim ~
   (nothing)                 yes    yes   yes
    -u NONE                  no     no    no
    -u DEFAULTS              no     no    yes
    -u NORC                  no     yes   no
    --noplugin               yes    no    yes

因此,使用此选项启动 vim 将执行您的 vimrc,但不会执行源插件(尽管您将获得默认值...):

vim --noplugin

正如 phd 所指出的,您在 ~/.vimrc 文件中的设置也负责获取 *.vim 文件(例如文件类型设置、缩进、颜色方案)。

当我执行 ex 命令(Windows 10 上的 Vim 8.2):scriptname 时,我得到:

1: ~\_vimrc
2: C:\Program Files\Vim\vim82\vim82\filetype.vim
3: C:\Program Files\Vim\vim82\vim82\ftplugin.vim
4: C:\Program Files\Vim\vim82\vim82\indent.vim
5: C:\Program Files\Vim\vim82\vim82\syntax\syntax.vim
6: C:\Program Files\Vim\vim82\vim82\syntax\synload.vim
7: C:\Program Files\Vim\vim82\vim82\syntax\syncolor.vim
8: C:\Program Files\Vim\vim82\vim82\colors\murphy.vim
9: C:\Program Files\Vim\vim82\vim82\ftplugin\help.vim
10: C:\Program Files\Vim\vim82\vim82\syntax\help.vim
Press ENTER or type command to continue


Vim 详细日志可以提供插件采购的详细视角

在启动 Vim 时,您可以使用设置了 verbosefile 的 verbose 选项,您可以根据需要查看初始化过程的详细信息。

:help -V 条目:

    -V[N]           Verbose.  Sets the 'verbose' option to [N] (default: 10).                                                                                                                     
Messages will be given for each file that is ":source"d and                                                                                                                   
for reading or writing a viminfo file.  Can be used to find                                                                                                                   
out what is happening upon startup and exit.                                                                                                                                  
Example:                                                                                                                                                                              
vim -V8 foobar  

我用vim --noplugin -V6vim_logging6.txt 开始了我的vim 会话(这里N 可以是1 到10(10 是最多记录))。另外,我将日志文件 verbosefile 设置为“logging6.txt”。

出于查看采购的目的,我使用此 ex 命令抓取日志文件以仅查看采购:

:v/^line \d\+/d

然后我只能从日志文件中查看顺序采购:

  1 line 28: sourcing "/usr/local/share/vim/vim82/filetype.vim"
  2 line 28: sourcing "/usr/local/share/vim/vim82/ftplugin.vim"
  3 line 29: sourcing "/usr/local/share/vim/vim82/filetype.vim"
  4 line 29: sourcing "/usr/local/share/vim/vim82/ftplugin.vim"
  5 line 29: sourcing "/usr/local/share/vim/vim82/indent.vim"
  6 line 30: sourcing "/usr/local/share/vim/vim82/syntax/syntax.vim"
  7 line 19: sourcing "/usr/local/share/vim/vim82/syntax/synload.vim"
  8 line 21: sourcing "/usr/local/share/vim/vim82/syntax/syncolor.vim"
  9 line 66: sourcing "/usr/local/share/vim/vim82/colors/murphy.vim"
 10 line 7: sourcing "/usr/local/share/vim/vim82/syntax/syncolor.vim"
 11 line 8: sourcing "/usr/local/share/vim/vim82/syntax/syncolor.vim"
 12 line 10: sourcing "/usr/local/share/vim/vim82/syntax/syncolor.vim"
 13 line 119: sourcing "/home/pbacon/.vimrc.plug"
 14 line 1: sourcing "/home/pbacon/.vim/autoload/plug.vim"
 15 line 14: sourcing "/usr/local/share/vim/vim82/ftoff.vim"
 16 line 83: sourcing "/usr/local/share/vim/vim82/filetype.vim"
 17 line 83: sourcing "/usr/local/share/vim/vim82/ftplugin.vim"
 18 line 83: sourcing "/usr/local/share/vim/vim82/indent.vim"

【讨论】:

  • 一个小说明,采购的顺序是从上到下还是从下到上?对于我的脚本名 /home/xxxxx/.vim/after/syntax/cpp.vim ,这个终于有源了,对吧?
  • 嗨@am_an,顺序是从上到下(依次按照返回的数字顺序)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多