志以备忘。
- 下载新的 neocomplcache 压缩包
- 找到最近的关于 neocomplcache 的「移除 text mode 支持」和「允许使用 sudo」的补丁,依次删除之
- 找到最近一次的 neocomplcache 安装,删除之
-
解压新的 neocomplcache,并删除
vest
目录,重新检出README.md
- 提交
- cherry-pick 最后一次「允许使用 sudo」的提交
- cherry-pick 最后一次「移除 text mode 支持」的提交,解决冲突。在必要的时候搜索包含「is_text_mode」的代码并删除之。提交
- 2013年7月18日更新cherry-pick 最后一次「安装 neocomplcache 时对 ftplugin/snippet 的修改」的提交。Tab 大小非八个空格的都给我去死!
- 更新 Vim 文档的 tags 文件
- 测试没有问题后推送到远程仓库
附注:
「移除 text mode 支持」提交是为了在写一般文字(注释、git 提交信息、文章等)时依旧能够精确地按原大小写补全。因为我是中文用户,含有大写的单词是专有名词(如 Python、gVim、iOS、FreeBSD)的概率要远高于句首大写首字母单词。
「允许使用 sudo」。在使用 sudo 命令并且$HOME
环境变量被保持的时候不要显示错误信息并禁用 neocomplcache。在这种情况下继续使用 neocomplcache 可能造成生成的缓存文件无法被当前用户修改。我很少遇到这种情况,因为只有少数特定文件我才会使用 sudo 去编辑。作者给出了另外两种(对我来说不可行的)解决方案:
-
使用 sudo.vim 插件。这样将不会有备份文件,撒消文件的情况不清楚,交换文件亦可能有问题。没有备份文件将导致错误的配置无法被简单地撒消。sudo.vim 使用
tee
覆写文件,在文件还没写完时停机或者硬盘空间不足时将导致数据丢失,并且因为编辑的通常是重要系统文件而导致系统故障。(参见如何更安全地覆写数据文件。)就算没有遇到这种极端的情况,覆写文件亦将对正在使用此文件的其它进程造成不可预料的影响。 -
让 sudo 重置
$HOME
到相应用户的家目录。这样我自己的 Vim、zsh 等配置就用不了了。