VIM 代码折叠插件发布

可能是第一个支持多分支多视图代码折叠的 VIM 插件。下载安装链接 正如上篇文章说的那样,可能是第一个支持同一文件在不同分支下保存不同折叠的视图的代码折叠插件。 和上篇的 0.0.1-beta 不同的是,现在的版本号已经是 0.0.7, 可以发现已经有很多的 bug 得到了解决: 文件名存在空格会报错 在不同的路径下对同一个文件修改,会出现不同的视图保存结果 在非 git 项目编辑文件时,会有报错信息出现(不影响使用) 语法高亮在特定的情况下,会失效 再打开新文件时,会报找不到文件错误 和 Tarbar 插件冲突 … 不过还是有些不完善的地方,比如,mkview 出来的自定义视图文件,是需要用 source 命令进行加载的,这个时候,很可能会和其他的插件冲突。我这边发现的就是有: rainbow airline 所以我这边做了临时的解决方案。就是在 rainbow 插件的最后加了这么几句: func rainbow#render() source <amatch> if (exists(‘g:rainbow_active’) && g:rainbow_active) call rainbow#clear() if exists(‘b:rainbow_conf’) call rainbow#load() else call rainbow#hook() endif endif endfunc au SourceCmd *.vim call…

VIM 中多分支视图保存

可能是第一个支持多分支多视图代码折叠的 VIM 插件。下载安装链接 起因 因为我前段时间,对 vimrc 做了一点调整发现了之前自己写的视图保存部分的配置十分的突兀,也就是比较冗长吧,就想到了如何精简 vimrc。首先感谢 k-vim,也是从他开始,我才从其他的编辑器转向了 vim。 过程 本来,视图的保存,也就是很简单的几行代码,随手 bing 一下就可以找到: set foldmethod=manual set viewdir=~/.vim/view au BufWinLeave * silent mkview au BufWinEnter * silent loadview 这样就达到了将上一次的打开的情况和代码折叠情况保存下来。并且第二次打开时自动加载。 但是,au 是什么意思,BufWinLeave 和 BufWinEnter 是什么意思,为什么是 *,基本没有文章单独讲述。这边可以按照找手册的方法,知道 au BufWinEnter * silent mkview 的意思是,在离开任意文件 Buffer 的时候自动触发 * silent mkview * 的命令,silent 表示无输出,mkview 则是将当前的视图进行保存。 所以,这边就可以看出问题了。那就是,无论什么文件,都会建立视图。比如说打开文件夹时,那个文件列表页也会被记录,事实是,这个页面其实并不需要。所以,这边我的建议是改成 *.* 然后问题就来了,这边很明显,这无法实现在多分支下的视图保存。因为,他是以文件名作为主键的(你可以查看下 .vim/view 目录下的文件,这就是保存的视图)。…