level 2
荆棘的思念
楼主
如果你写vimscript的话那一定会觉得vimscript的没有命名空间啊,作用域啊真蛋疼。而且也不能像其他脚本语言的模块化的机制,多个文件suorce来suorce去的也不能保证命名空间不污染,并且!source真心不好管理……
好吧……既然vimscript原生没有,那我就实现一个好啦。于是就给vimscript实现了一个类似nodejs的require。用起来萌萌哒!
简介如下:
require.vimrc 是用纯粹的Vimscript在Vimscript中模拟了一套类似nodejs中的模块系统,支持模块(Module)和包(Packge)的概念,支持递归依赖,支持循环依赖(循环依赖会给出Warning,可以添加silent前缀忽略掉。毕竟循环依赖是不健康的……)等特性。动态加载,你可以选择你需要的时候加载。拥有模块缓存,同一个模块在VIM中只会被加载一次。
Github求加星: https://github.com/bramblex/BlxVimrc
现在我的vimrc 只有剩下这么多了看着真舒心

然后 config 是一个模块, utils 和 modules 都是包。因为支持递归require,所以看着真舒心





目录树如下:
BlxVimrc
├—— README.md
├—— bundle
│ .
│ .
│ .
├—— config.vimrc
├—— modules
│ ├—— base.vimrc
│ ├—— bundle.vimrc
│ ├—— head.vimrc
│ ├—— hotkeys
│ │ ├—— base.vimrc
│ │ ├—— conque.vimrc
│ │ ├—— ctrlp.vimrc
│ │ ├—— dict.vimrc
│ │ ├—— insert.vimrc
│ │ ├—— man.vimrc
│ │ └—— rails.vimrc
│ ├—— tail.vimrc
│ ├—— themes.vimrc
│ └—— type.vimrc
├—— require.vimrc
├—— utils
│ ├—— base.vimrc
│ ├—— dict.vimrc
│ ├—— file.vimrc
│ ├—— man.vimrc
│ └—— utils.vimrc
└—— vimrc
2015年04月18日 11点04分
1
好吧……既然vimscript原生没有,那我就实现一个好啦。于是就给vimscript实现了一个类似nodejs的require。用起来萌萌哒!
简介如下:
require.vimrc 是用纯粹的Vimscript在Vimscript中模拟了一套类似nodejs中的模块系统,支持模块(Module)和包(Packge)的概念,支持递归依赖,支持循环依赖(循环依赖会给出Warning,可以添加silent前缀忽略掉。毕竟循环依赖是不健康的……)等特性。动态加载,你可以选择你需要的时候加载。拥有模块缓存,同一个模块在VIM中只会被加载一次。
Github求加星: https://github.com/bramblex/BlxVimrc
现在我的vimrc 只有剩下这么多了看着真舒心

然后 config 是一个模块, utils 和 modules 都是包。因为支持递归require,所以看着真舒心




目录树如下:BlxVimrc
├—— README.md
├—— bundle
│ .
│ .
│ .
├—— config.vimrc
├—— modules
│ ├—— base.vimrc
│ ├—— bundle.vimrc
│ ├—— head.vimrc
│ ├—— hotkeys
│ │ ├—— base.vimrc
│ │ ├—— conque.vimrc
│ │ ├—— ctrlp.vimrc
│ │ ├—— dict.vimrc
│ │ ├—— insert.vimrc
│ │ ├—— man.vimrc
│ │ └—— rails.vimrc
│ ├—— tail.vimrc
│ ├—— themes.vimrc
│ └—— type.vimrc
├—— require.vimrc
├—— utils
│ ├—— base.vimrc
│ ├—— dict.vimrc
│ ├—— file.vimrc
│ ├—— man.vimrc
│ └—— utils.vimrc
└—— vimrc