Vim 插件管理器 - dein.vim

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vim 插件管理器 - dein.vim相关的知识,希望对你有一定的参考价值。

参考技术A

vim-plug 是一个非常优秀的 Vim 插件管理器,但是随着安装的插件越来越多,逐渐发现即使使用 vim-plug ,首次启动速度仍然很慢。

究其原因,虽然 vim-plug 本身提供了优秀的延迟加载机制,但是可用于延迟加载的选项相对较少,另一方面, vim-plug 对插件的延迟加载与配置无法进行统一,很多时候,我们想对插件进行延迟加载,但是插件配置项如果调用了插件功能,则加载的时候就会报错(因为插件此时还未加载)...

针对上述问题, dein.vim 都给出了更优秀的解决方案。

: vim-plug 是一款非常优秀的插件管理器,具备优秀的插件管理性能,同时操作及其简单,且具备优秀的 UI 显示,通常情况下,建议使用 vim-plug 。
但是如果当使用 vim-plug 后,启动速度仍然很慢,那就可以考虑下 dein.vim

: dein 本身只提供函数接口进行操作,没有提供命令与 UI 显示,对于用户相对不友好。
不过 Github 上面已经有人对其进行了再一次封装:

可以结合以上两个插件,简化 dein 使用。

:以上任何操作如果失败,一律进行如下操作,确保不受 dein 缓存机制影响:

在对 dein 进行详细介绍前,先了解下其提供的一些比较有用的操作/设置,方便理解与使用。

: dein#source 会直接加载插件,无论插件是否配置了懒加载。

:懒加载时 lazy 可忽略, dein 会自动根据其他选项自动判断是否启用懒加载。

以下是 dein.vim 内置的函数简介:

以下是 dein 提供的选项列表简介: dein-options

: sudo 模式启动后,dein.vim 的状态会变更,导致下一次非 sudo 会话时,普通插件无法触发加载,此时手动调用 call dein#clear_state() ,然后重启 Vim 即可。

dein 提供了一些钩子函数,对于插件的初始化操作很有用。

:函数类型的钩子函数( Function hooks)不会被缓存,必须手动初始化。
:对于非懒加载插件,钩子函数的加载顺序无法保证有序。
:钩子函数的字符串表达式以命令行模式(Ex commands)进行执行。
:钩子函数中涉及多个操作时,使用换行符进行分割。

以下是 dein 提供的钩子函数简介:

vim配置

vim 配置julia语法

找到这个vim插件 julia-vim(https://github.com/JuliaEditorSupport/julia-vim), 为了安装这个插件,需要安装额外的插件管理器, 这里我使用vim-plug插件管理器。

安装插件管理器

vim-plug (A minimalist Vim plugin manager.)
安装方式(https://github.com/junegunn/vim-plug)

  1. Download plug.vim and put it in ~/.vim/autoload
    在shell中写入代码:
         curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
         https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  2. edit your .vimrc
    (若没有vimrc配置文件,可以自己新建一个。如命令: vim ~/.vimrc)
    打开.vimrc文件,写入如下代码:

     call plug#begin('~/.vim/plugged')
    
     Plug 'JuliaEditorSupport/julia-vim'
    
     call plug#end()

    安装完插件管理器后,下面当然就是安装julia-vim插件了。

安装julia-vim插件

  1. 在.vimrc文件里,在plug#begin和plug#end代码行间写入
     Plug 'JuliaEditorSupport/julia-vim'
  2. 重新开启vim,运行代码
     :PlugInstall

等一片刻便成功安装了,可以用:PlugStatus查看已安装的插件

安装YouCompleteMe插件

ubuntu-linux-x64(https://github.com/Valloric/YouCompleteMe#ubuntu-linux-x64)

  1. 同上,先用vim-plug安装YCM插件,在.vimrc文件中添加 Plug 'Valloric/YouCompleteMe',然后执行   :PlugInstall
  2. Remember: YCM is a plugin with a compiled component. If you update YCM using Vundle and the ycm_core library APIs have changed (happens rarely), YCM will notify you to recompile it. You should then rerun the install process.
    • Install development tools and CMake:
        sudo apt-get install build-essential cmake
    • Make sure you have Python headers installed:
        sudo apt-get install python-dev python3-dev
    • 找到编译文件install.py所在目录:
      Compiling YCM with semantic support for C-family languages:
        cd ~/.vim/plugged/YouCompleteMe
        ./install.py --clang-completer
      Compiling YCM without semantic support for C-family languages:
        cd ~/.vim/plugged/YouCompleteMe
        ./install.py [--all]



以上是关于Vim 插件管理器 - dein.vim的主要内容,如果未能解决你的问题,请参考以下文章

vim-plug插件管理器安装使用

vim插件管理器vundle+python插件

Vim-plug:极简 Vim 插件管理器

Vim插件管理器Vundle使用

vim配置

vim配置