5
13
2013
4

我的 neocomplcache 升级步骤

志以备忘。

  1. 下载新的 neocomplcache 压缩包
  2. 找到最近的关于 neocomplcache 的「移除 text mode 支持」和「允许使用 sudo」的补丁,依次删除之
  3. 找到最近一次的 neocomplcache 安装,删除之
  4. 解压新的 neocomplcache,并删除vest目录,重新检出README.md
  5. 提交
  6. cherry-pick 最后一次「允许使用 sudo」的提交
  7. cherry-pick 最后一次「移除 text mode 支持」的提交,解决冲突。在必要的时候搜索包含「is_text_mode」的代码并删除之。提交
  8. 2013年7月18日更新cherry-pick 最后一次「安装 neocomplcache 时对 ftplugin/snippet 的修改」的提交。Tab 大小非八个空格的都给我去死!
  9. 更新 Vim 文档的 tags 文件
  10. 测试没有问题后推送到远程仓库

附注:

移除 text mode 支持」提交是为了在写一般文字(注释、git 提交信息、文章等)时依旧能够精确地按原大小写补全。因为我是中文用户,含有大写的单词是专有名词(如 Python、gVim、iOS、FreeBSD)的概率要远高于句首大写首字母单词。

允许使用 sudo」。在使用 sudo 命令并且$HOME环境变量被保持的时候不要显示错误信息并禁用 neocomplcache。在这种情况下继续使用 neocomplcache 可能造成生成的缓存文件无法被当前用户修改。我很少遇到这种情况,因为只有少数特定文件我才会使用 sudo 去编辑。作者给出了另外两种(对我来说不可行的)解决方案:

  1. 使用 sudo.vim 插件。这样将不会有备份文件,撒消文件的情况不清楚,交换文件亦可能有问题。没有备份文件将导致错误的配置无法被简单地撒消。sudo.vim 使用tee覆写文件,在文件还没写完时停机或者硬盘空间不足时将导致数据丢失,并且因为编辑的通常是重要系统文件而导致系统故障。(参见如何更安全地覆写数据文件。)就算没有遇到这种极端的情况,覆写文件亦将对正在使用此文件的其它进程造成不可预料的影响。

  2. 让 sudo 重置 $HOME 到相应用户的家目录。这样我自己的 Vim、zsh 等配置就用不了了。

Category: Vim | Tags: vim neocomplcache

| Theme: Aeros 2.0 by TheBuckmaker.com