首页 新闻 会员 周边 捐助

用vimrc配vim和直接用vim插件配置vim的区别?

0
[待解决问题]

小白一个,问一下,Linux下用vimrc配置vim和直接用vim插件配置vim有什么区别吗?感谢

叶落丶尘埃定的主页 叶落丶尘埃定 | 菜鸟二级 | 园豆:202
提问于:2017-12-21 18:12
< >
分享
所有回答(1)
0

作者:SpaceVim 链接:https://www.zhihu.com/question/264253554/answer/278743982 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 其实很难说这有什么区别,在说他们区别之前,我觉得需要了解下什么是 Vim 插件,什么是 vimrc。简单来说,他们都是 Vim 脚本,只不过是在 不同的时间被 Vim 读取,并逐行执行。vimrc 是 vim 在不指定 -u 启动项是默认载入的,可以 在 :version 里面看到用户及系统的 vimrc 位置。而 vim 插件,就是按照一定的目录结构组织起来的 vim 脚本,可以阅读 :h runtimepath常用的目录 plugin 目录,是 vim启动时 默认会去读取的,autoload 目录即为延迟加在,在不调用相关方法的时候是不会被载入的。比如,当你执行 call foo#test()时,他会在 所有 rtp目录下的 autoload/ 甚至包括 plugin 目录下 找 foo.vim这个脚本,并在里面找 foo#test()这样的方法。 此外需要说明的还有一个目录,叫做 `ftplugin`, 这个目录中的文件比较特殊,会在打开相应文件的时候载入,比如,我打开一个 c文件,那么他就导入这个目录中的 c.vim c_*.vim等等,这就意味着,针对语言特殊的配置,可以用ftplugin,可以大大加快 vim 启动速度。但由于这种导入机制,导致每次打开 c 文件时都会去搜索相应文件,为了避免脚本重复载入浪费时间,可以用:if exist("g:c_pluginname_loaded") finish endif " 在这里写入脚本内容,该脚本不会被重复载入 let g:c_pluginname_loaded = 1 所以,如果 是为了提高启动速度,应将 vimrc 内容尽可能减少,丢到autoload里面,然后定义快捷键,或者命令,这样,这些脚本只有在调用其功能时才会被载入,可以大大提高启动速度。从你的问题可以看出,应该时新入门 Vim,在纠结对于一些简单的功能时使用插件好,还是在 Vimrc 里面自己实现的好,其实 毫无疑问是插件,原因有以下几点:你是vim 新手,对于脚本不熟悉,一旦出错,很难改,而插件有专门人在维护,有的老插件都很成熟,没有bug。全丢 vimrc 会降低 vim 启动速度

我只是慕名而来 | 园豆:303 (菜鸟二级) | 2017-12-21 19:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册