VIM:每个模块的动态运行时路径。VIM和慢速启动

VIM:每个模块的动态运行时路径。VIM和慢速启动,vim,Vim,我在Debian上使用VIM 7.1。我有9个插件,通过病原体.vim加载。加载大约需要8秒,这相当慢,因为这是在非GUI/xterm模式下。我运行了vim-V,它显示了在多个目录中搜索每个模块 最初,在~/.vim/中搜索ftoff.vim、debian.vim和其他与“系统”相关的.vim文件,然后在/usr/share/vim/vim/vim71/-I通过将我的.vimrc移动到.vim/vimrc和:export vim=/root/.vim,在.vimrc中,我做了一个设置的运行时路径

我在Debian上使用VIM 7.1。我有9个插件,通过病原体.vim加载。加载大约需要8秒,这相当慢,因为这是在非GUI/xterm模式下。我运行了vim-V,它显示了在多个目录中搜索每个模块

最初,在~/.vim/中搜索ftoff.vim、debian.vim和其他与“系统”相关的.vim文件,然后在/usr/share/vim/vim/vim71/-I通过将我的.vimrc移动到.vim/vimrc和:export vim=/root/.vim,在.vimrc中,我做了一个设置的运行时路径=/usr/share/vim/vim71来修复这个问题

但是现在,当模块加载时,它们会改变这个运行时路径,而当病原体加载时,情况会更糟。有没有一种方法可以将模块名的哈希指定给dirPath,从而避免这种容易出错的查找?还是在vimrc中以每个模块为基础手动指定运行时路径的方法

下面是我加载模块后的运行时路径示例。显然,模块的任何进一步加载都需要在找到正确的路径之前搜索所有这些路径名

运行时路径=~/.vim、~/.vim/bundle/Align294、~/.vim/bundle/minibufexpl.vim\uu-\u缓冲区\u浏览器、~/.vim/bu ndle/The_NERD_Commenter、~/.vim/bundle/The_NERD_tree、~/.vim/bundle/pathogen、~/.vim/bundle/vim addon mw utils、, /.vim/bundle/tlib、~/.vim/bundle/snipMate、~/.vim/bundle/SuperTab、~/.vim/bundle/surround、~/.vim/bundle/taglist ~/.vim/bundle/Align294、~/.vim/bundle/minibufexpl.vim\u-\u优雅的缓冲区\u浏览器、~/.vim/bundle/pathogen、~/.vim bundle/snipMate、~/.vim/bundle/SuperTab、~/.vim/bundle/surround、~/.vim/bundle/taglist、~/.vim/bundle/The_NERD\u C mCenter、~/.vim/bundle/The_NERD_树、~/.vim/bundle/tlib、~/.vim/bundle/vim插件管理器、~/.vim/bundle/vim add n-manager-known-repositories、~/.vim/bundle/vim addon mw utils、/var/lib/vim/addons、/usr/share/vim/vim文件、/u r/share/vim/vim71、/usr/share/vim/vimfiles/after、/var/lib/vim/addons/after、~/.vim/bundle/snipMate/after、~/.vi
/之后,~/.vim/bundle/snipMate/after

我使用vim插件管理器,在
rtp
中有33条路径,但是启动并立即关闭vim(使用
vim-c'qa!'
)大约需要0.7-0.8秒,因此问题要么是某个插件,要么是您的系统。要检查加载每个插件所需的时间,请尝试以下脚本:

vim --cmd 'profile start profile.log' \
    --cmd 'profile func *' \
    --cmd 'profile file *' \
    -c 'profdel func *' \
    -c 'profdel file *' \
    -c 'qa!'
您将在profile.log中获得所有计时。带有功能计时的表将被删除 在文件末尾显示,要获取每个脚本的计时,请使用以下命令 脚本:

这将打开一个新文件,其中包含的表与 profile.log,但1)对于脚本,而不是函数,2)未排序

如果系统出现问题,您可以尝试以下操作:

  • 当计算机启动时,创建一个ram磁盘并将其装载到~/.vim,然后将所有插件复制到那里
  • 尝试将插件合并到单个文件中,请参见
    :h scriptmanager2#mergepluginlines()
    (必须激活vim插件管理器)
  • 升级您的计算机
  • 尝试在~/.vim中创建指向所有插件的硬链接:

    cd ~/.vim/bundle;for d in *;do cd "$d";for f in **/*.vim;do t="$HOME/.vim/$(dirname "$f")";test -d "$t"||mkdir -p "$t";ln "$f" "$t";done;cd ..;done
    

  • 我使用vim插件管理器,在
    rtp
    中有33条路径,但启动并立即关闭vim(使用
    vim-c'qa!'
    )需要大约0.7-0.8秒,因此问题要么是插件之一,要么是您的系统。要检查加载每个插件所需的时间,请尝试以下脚本:

    vim --cmd 'profile start profile.log' \
        --cmd 'profile func *' \
        --cmd 'profile file *' \
        -c 'profdel func *' \
        -c 'profdel file *' \
        -c 'qa!'
    
    您将在profile.log中获得所有计时。带有功能计时的表将被删除 在文件末尾显示,要获取每个脚本的计时,请使用以下命令 脚本:

    这将打开一个新文件,其中包含的表与 profile.log,但1)对于脚本,而不是函数,2)未排序

    如果系统出现问题,您可以尝试以下操作:

  • 当计算机启动时,创建一个ram磁盘并将其装载到~/.vim,然后将所有插件复制到那里
  • 尝试将插件合并到单个文件中,请参见
    :h scriptmanager2#mergepluginlines()
    (必须激活vim插件管理器)
  • 升级您的计算机
  • 尝试在~/.vim中创建指向所有插件的硬链接:

    cd ~/.vim/bundle;for d in *;do cd "$d";for f in **/*.vim;do t="$HOME/.vim/$(dirname "$f")";test -d "$t"||mkdir -p "$t";ln "$f" "$t";done;cd ..;done
    

  • 这可能没有关系,但对我来说,变量显示在启动vim所需的时间上有很大的不同(即使我在没有gui的情况下编译vim)。 试一试


    看看你是否注意到了差异。

    这可能没有关系,但对我来说,变量显示在启动vim所需的时间上有很大的不同(即使我在没有gui的情况下编译了vim)。 试一试

    看看你是否注意到了差异。

    我已经将vim-V的输出粘贴到pastebin(应该有效1个月)。这是不言自明的。有数以百万计的搜索(414条搜索线——其中大部分都是无用的)。我需要减少错误搜索的数量。 1297651453.71068:搜索“/root/.vim/bundle/病原体/autoload/scriptmanager.vim”[J] 1297651453.71456:搜索“/root/.vim/bundle/snipMate/autoload/scriptmanager.vim”[J] 1297651453.71846:搜索“/root/.vim/bundle/SuperTab/autoload/scriptmanager.vim”[J] 1297651453.78737:搜索“/root/.vim/bundle/surround/autoload/scriptmanager.vim”[J] 1297651453.79179:搜索“/root/.vim/bundle/taglist/autoload/scriptmanager.vim”[J] 1297651453.79684:搜索“/root/.vim/bundle/The_NERD_Commenter/autoload/scriptmanager.vim”[J] 1297651453.80756:搜索“/root/.vim/bundle/The_NERD_tree/autoload/scriptmanager.vim”[J] 1297651453.83:搜索“/root/.vim/bundle/tlib/autoload/scriptmanager.vim”[J] 1297651453.86193:搜索“/root/.vim/bundle/vim插件管理器/autoload/scriptmanager.vim”[J] 1297651453.8662:第3行:寻源“/root/.vim/bundle/vim插件管理器/autoload/scriptmanager.vim”[J] 1297651453.88259:已完成寻源/root/.vim/bundle/vim插件管理器/autoload/scriptmanager.vim[J

    我已经将vim-V的输出粘贴到pastebin(有效期应为1个月)。这是不言自明的。有无数的搜索(414个搜索行,其中大多数都是无用的)。我需要减少不正确的搜索数量
    DISPLAY=:0 vim