美文网首页闪耀旅途
Launch Vim as vanilla

Launch Vim as vanilla

作者: 闪耀旅途 | 来源:发表于2021-12-04 15:23 被阅读0次
    himg

    有时我们可能会需要 vim 加载任何插件进行启动, vim 在这方面也提供了充分的自定义选项, 根据不同需要, 可以通过不同的方式达到目的

    为了尽可能清楚详尽的剖析它们的区别, 我做了如下表格

    vim_rtp = /usr/share/vim/vimfiles, /usr/share/vim/vim82, /usr/share/vim/vimfiles/after

    user_rtp = /.vim,/.vim/after

    vim_defaults_load = /usr/share/vim/vim82/defaults.vim, /usr/share/vim/vim82/filetype.vim, /usr/share/vim/vim82/ftplugin.vim,
    /usr/share/vim/vim82/indent.vim, /usr/share/vim/vim82/syntax/*/.vim

    vim_user_load = ~/.vim/ftdetect/**/*.vim

    method &rtp load vim plugin(such as netrw) load user plugin
    vim -u NONE vim_rtp + user_rtp NONE NONE
    vim -u DEFAULTS vim_rtp + user_rtp vim_defaults_load vim_user_load
    vim -u NORC vim_rtp + user_rtp all all(no ~/.vimrc)
    vim --clean vim_rtp vim_defaults_load NONE
    vim --clean --cmd "set loadplugins" vim_rtp all NONE
    HOME=/tmp/vim_tmp vim vim_rtp + user_rtp all allfile under /tmp/vim_tmp

    以上结果可以使用 echo &rtp:scriptnames 进行输出验证

    单独测试某一插件

    如果我们要测试一个插件的 bug, 那么最好就是使用一个干净的 vim 环境, 然后只加载此插件, 这时就可以使用 HOME=~/vim_test_home vim 这种方式了.

    在这种方式下, 我们可以在 ~/vim_test_home 文件夹中只添加某一插件的相关配置, 不设任何自定义功能, 这样可以快速准确判断出该 bug 是否属于该插件

    快速验证 vim 的一个默认功能

    这时我们可以使用 vim --clean --cmd "set loadplugins". 为什么? 因为这样不仅可以不加载任何用户自定义的配置, 还能加载 vim 的默认插件 (比如 netrw)

    一些其他启动选项

    • vim [option] [files]
      • -N: nocompatible mode
      • -i NONE: without reading your viminfo file

    在 shell 环境中设置 alias

    另外为了方便, 可以在 ~/.zshrc 中设置如下 alias

    • alias vn='vim -u NONE -U NONE -N -i NONE'
    • alias vc='vim --clean --cmd "set loadplugins"'
    • alias vt='HOME=~/vim_test_home vim'

    load plugin at anytime

    我们可以使用 runtime! plugin/**/*.vim 来加载runtimepath 下所有子文件夹plugin 下的 vim 文件

    Ref

    相关文章

      网友评论

        本文标题:Launch Vim as vanilla

        本文链接:https://www.haomeiwen.com/subject/vsovxrtx.html